@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Serif+Display:ital,wght@0,400;1,400&display=swap');
:root{--paper:#f6f3ed;--panel:#fdfbf7;--ink:#27362d;--muted:#788278;--line:#e6e5dc;--green:#365c49;--green-dark:#244535;--green-light:#e7eee7;--sand:#f2eadc;--peach:#f6ede5;--shadow:0 16px 60px rgba(36,55,41,.10)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Manrope,'DM Sans',sans-serif;background:var(--paper);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{height:100dvh;min-height:620px;display:flex;overflow:hidden}.sidebar{width:298px;flex:none;background:#f1eee7;border-right:1px solid #e3e0d8;padding:27px 17px 18px;display:flex;flex-direction:column;z-index:20}.brand-row{display:flex;align-items:center;gap:11px;padding:0 12px 29px}.brand-mark{height:38px;width:38px;flex:none;display:block}.brand{font-size:17px;line-height:19px;font-weight:800;letter-spacing:-.45px;max-width:190px;overflow-wrap:normal}.brand-caption{font-size:10px;color:#8d968a;letter-spacing:.01em;margin-top:5px}.add-client-primary{width:100%;border:0;border-radius:11px;padding:12px 14px;text-align:left;color:#fff;background:var(--green);font-size:13px;font-weight:700;box-shadow:0 5px 12px rgba(44,83,60,.13)}.add-client-primary span{font-size:18px;margin-right:8px;font-weight:400}.add-client-primary:hover,.send-button:hover{background:var(--green-dark)}.sidebar-section{margin-top:34px;min-height:0;overflow-y:auto}.section-label{font-size:10px;letter-spacing:.16em;font-weight:800;color:#8e948a;display:flex;justify-content:space-between;padding:0 9px 13px}.section-label span{letter-spacing:0}.search{height:36px;display:flex;align-items:center;gap:8px;border:1px solid #e2e0d7;background:#fbfaf6;border-radius:9px;padding:0 9px;color:#9ca298}.search span{font-size:23px;line-height:1}.search input{width:100%;min-width:0;outline:none;border:0;background:transparent;font-size:11px;color:var(--ink)}.search kbd{white-space:nowrap;font-size:9px;border:1px solid #e3e4dd;border-radius:4px;padding:2px 3px;color:#9fa69c}.client-list{margin-top:16px;display:grid;gap:5px}.client-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:transparent;border:0;border-radius:10px;padding:9px 10px;color:var(--ink)}.client-item:hover,.client-item.active{background:#e6e9df}.client-avatar{height:35px;width:35px;flex:none;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#546652;background:#d9e5d7}.client-avatar.gold{background:#eae3cf;color:#8b7950}.client-avatar.rose{background:#eaded8;color:#956d69}.client-meta{min-width:0;flex:1}.client-name{font-size:12px;font-weight:800;display:block}.client-date{font-size:10px;color:#9ba196;display:block;margin-top:2px}.client-chevron{color:#a3a99f}.sidebar-bottom{margin-top:auto}.sidebar-link{width:100%;border:0;background:transparent;padding:12px 10px;display:flex;gap:12px;align-items:center;text-align:left;font-size:12px;font-weight:700;color:#637165}.sidebar-link span:first-child{font-size:17px}.chevron{margin-left:auto;font-size:18px;color:#9ba59b}.demo-note{margin:12px 4px 0;padding:15px 13px;border:1px solid #e5e4dc;border-radius:10px;color:#667468;font-size:10px;font-weight:700;line-height:1.5}.demo-note small{font-size:10px;color:#9da59a;font-weight:500;margin-left:12px}.demo-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8eab87;margin-right:7px}.main-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--panel);position:relative}.topbar{height:79px;flex:none;border-bottom:1px solid #ebe9e3;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.top-title{display:flex;flex-direction:column;gap:4px}.eyebrow{font-size:9px;letter-spacing:.15em;font-weight:800;color:#a2a99c}.top-title strong{font-size:14px;letter-spacing:-.02em}.top-actions{display:flex;align-items:center;gap:16px}.approach-pill{border:1px solid #d8e3d8;border-radius:30px;background:#edf3eb;color:#4b7658;font-size:10px;font-weight:800;padding:7px 11px}.avatar{height:32px;width:32px;border:0;border-radius:50%;background:#e9dfcd;color:#6e6148;font-size:12px;font-weight:800}.conversation{flex:1;min-height:0;overflow:auto;padding:41px max(26px,calc((100% - 800px)/2)) 28px;scroll-behavior:smooth}.welcome{max-width:720px;margin:0 auto 34px}.hello-icon{width:42px;height:42px;display:block;margin-bottom:21px}.welcome h1{font-size:32px;line-height:1.2;letter-spacing:-.055em;margin:0 0 11px;font-weight:800}.welcome p{color:#7d887e;font-size:13px;line-height:1.7;margin:0;max-width:540px}.welcome p strong{color:#4c6051}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:27px}.quick-card{border:1px solid #e6e8df;background:#fff;border-radius:13px;text-align:left;padding:17px;min-height:114px;color:var(--ink);transition:.18s}.quick-card:hover{border-color:#a9c1a9;transform:translateY(-2px);box-shadow:0 9px 24px rgba(37,69,46,.07)}.quick-icon{font-size:19px;display:block;margin-bottom:13px}.quick-card strong{font-size:11px;display:block}.quick-card small{font-size:10px;color:#9ca49a;line-height:1.45;display:block;margin-top:4px}.date-divider{display:flex;align-items:center;gap:14px;font-size:10px;color:#a6ada3;margin:29px 0 24px}.date-divider:before,.date-divider:after{content:"";height:1px;background:#e9eae2;flex:1}.message-row{display:flex;gap:11px;margin:23px 0;max-width:760px}.message-row.user{justify-content:flex-end}.assistant-icon{flex:none;width:27px;height:27px;display:block;margin-top:1px}.message-content{min-width:0;flex:1}.message-author{font-size:10px;font-weight:800;margin:2px 0 10px;color:#6b796c}.bubble{border-radius:4px 15px 15px 15px;background:#fff;border:1px solid #e9ebe3;box-shadow:0 3px 14px rgba(29,52,35,.025);padding:17px 19px;font-size:12px;line-height:1.7}.bubble p{margin:0 0 11px}.bubble p:last-child{margin-bottom:0}.bubble strong{color:#314f3c}.message-row.user .bubble{max-width:540px;background:#e9f0e7;border-color:#e4ebe1;border-radius:15px 4px 15px 15px;padding:12px 17px}.card{background:#fff;border:1px solid #e7e9df;border-radius:15px;padding:20px;margin-top:11px;box-shadow:0 4px 18px rgba(29,52,35,.025);font-size:12px;line-height:1.55}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.card-kicker{color:#7d9a7e;letter-spacing:.13em;font-size:9px;font-weight:800;text-transform:uppercase}.card h3{font-size:16px;letter-spacing:-.03em;margin:5px 0 0}.status-tag{font-size:9px;color:#62816c;background:#eff5ec;border:1px solid #e0ebda;padding:5px 9px;border-radius:20px;font-weight:800;white-space:nowrap}.status-tag.draft{color:#9a7c4c;background:#faf4e8;border-color:#f1e7d5}.info-list{display:grid;gap:11px;margin:0;padding:0;list-style:none}.info-list li{display:grid;grid-template-columns:108px 1fr;gap:14px;border-bottom:1px solid #f0f0e9;padding-bottom:10px}.info-list li:last-child{border:0;padding-bottom:0}.info-list .label{font-size:10px;color:#98a196;font-weight:700}.info-list .value{font-size:11px;color:#3e4d42;line-height:1.55}.source-row{display:flex;gap:6px;margin-top:15px;flex-wrap:wrap}.source-chip{font-size:9px;color:#718674;border:1px solid #e1e9de;background:#f7faf5;border-radius:20px;padding:4px 8px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.action{border:1px solid #dce5d9;border-radius:8px;background:#f8fbf6;color:var(--green);font-weight:800;font-size:10px;padding:9px 12px}.action:hover{background:#eaf1e7}.action.primary{color:white;background:var(--green);border-color:var(--green)}.action.primary:hover{background:var(--green-dark)}.action.muted{border-color:#e6e8e0;color:#77857a;background:white}.draft-field{display:block;margin-top:13px}.draft-field span{display:block;font-size:10px;font-weight:800;color:#7c8b7e;margin-bottom:6px}.draft-field textarea{display:block;resize:vertical;min-height:54px;width:100%;border:1px solid #e2e7df;border-radius:8px;padding:10px;color:#344b39;background:#fdfefb;font-size:11px;line-height:1.55;outline:none}.draft-field textarea:focus{border-color:#91ac91}.note-box{background:#f7f4ec;border:1px solid #eee9db;border-radius:9px;padding:11px 12px;color:#7e765f;font-size:10px;line-height:1.6;margin-top:15px}.mode-card{background:#f7faf5;border:1px solid #e3ecdf;border-radius:12px;padding:15px 17px;margin-top:15px}.mode-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.mode-options button{border:1px solid #d8e3d6;border-radius:7px;background:white;color:#4d6c53;padding:8px 11px;font-size:11px;font-weight:800}.mode-options button:hover,.mode-options button.selected{background:var(--green);color:white}.composer-area{flex:none;background:linear-gradient(0deg,#fdfbf7 75%,rgba(253,251,247,0));padding:12px 28px 17px}.composer-wrap{max-width:800px;margin:auto}.composer-hint{font-size:10px;color:#92a092;margin:0 0 8px 5px}.composer{display:flex;align-items:flex-end;gap:10px;border:1px solid #dfe5dc;border-radius:15px;background:white;box-shadow:0 8px 35px rgba(42,65,45,.07);padding:9px}.composer:focus-within{border-color:#9eb69f}.mic-button{height:34px;width:34px;border:0;border-radius:10px;background:#edf3e9;color:var(--green);font-size:17px;flex:none}.mic-button:hover{background:#dfecdd}.composer textarea{flex:1;border:0;outline:0;resize:none;max-height:130px;min-height:34px;padding:8px 2px 4px;font-size:12px;line-height:1.5;color:var(--ink);background:transparent}.composer textarea::placeholder{color:#aab2a9}.send-button{width:34px;height:34px;flex:none;border:0;border-radius:10px;background:var(--green);color:white;font-size:20px;line-height:1}.composer-footer{display:flex;justify-content:space-between;color:#a8afa5;font-size:9px;padding:9px 5px 0}.icon-button{border:0;background:transparent;color:#566c59;font-size:20px;padding:5px}.menu-button,.close-sidebar{display:none}.scrim{display:none}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(29,44,33,.35);display:grid;place-items:center;padding:16px}.modal-backdrop.hidden{display:none}.modal{background:#fdfcf8;border-radius:18px;box-shadow:var(--shadow);width:min(100%,470px);padding:28px;position:relative}.modal-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:25px;color:#859187}.modal h2{font-size:20px;letter-spacing:-.04em;margin:0 25px 9px 0}.modal p{font-size:12px;line-height:1.65;color:#7a877c;margin:0 0 15px}.modal label{display:block;font-size:11px;font-weight:800;margin:13px 0 6px}.modal input{width:100%;border:1px solid #dce5dc;border-radius:9px;padding:11px;font-size:12px;outline:0}.modal .action{margin-top:16px}.toast{position:fixed;bottom:104px;left:50%;transform:translateX(-50%) translateY(15px);background:#2b4936;color:white;border-radius:9px;padding:10px 14px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:80}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.sidebar{width:250px}.topbar{padding:0 25px}.conversation{padding-left:25px;padding-right:25px}.quick-grid{gap:7px}.quick-card{padding:13px}}
.draft-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.draft-meta label{font-size:10px;color:#7c8b7e;font-weight:800}.draft-meta select,.draft-meta input{display:block;width:100%;margin-top:6px;border:1px solid #e2e7df;border-radius:8px;padding:9px;background:#fdfefb;color:#344b39;font-size:11px;outline:none}.draft-meta select:focus,.draft-meta input:focus{border-color:#91ac91}
.draft-subhead,.supervision-divider{font-size:9px;letter-spacing:.13em;font-weight:800;color:#78927d;margin:22px 0 12px;border-top:1px solid #edf0e9;padding-top:16px}.supervision-divider+.info-list li{grid-template-columns:140px 1fr}.supervision-divider+.info-list .label{max-width:160px}
.draft-field select{display:block;width:100%;border:1px solid #e2e7df;border-radius:8px;padding:10px;color:#344b39;background:#fdfefb;font-size:11px;outline:none}.draft-field select:focus{border-color:#91ac91}
@media(max-width:700px){.app-shell{min-height:0}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(82vw,310px);transform:translateX(-103%);transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.close-sidebar{display:block;margin-left:auto}.scrim.show{display:block;position:fixed;inset:0;background:rgba(22,43,28,.28);z-index:15}.topbar{height:65px;padding:0 18px;gap:12px}.menu-button{display:block}.top-title{flex:1}.top-title strong{font-size:12px}.eyebrow{font-size:8px}.top-actions{gap:8px}.approach-pill{font-size:9px;padding:6px 8px}.avatar{display:none}.conversation{padding:24px 17px 24px}.welcome h1{font-size:28px}.welcome p{font-size:12px}.quick-grid{grid-template-columns:1fr;gap:8px;margin-top:23px}.quick-card{min-height:0;display:grid;grid-template-columns:25px 1fr;column-gap:7px;align-items:center;padding:11px 13px}.quick-icon{grid-row:1/3;margin:0;font-size:18px}.quick-card small{margin-top:2px}.message-row{margin:19px 0;gap:8px}.bubble{padding:14px;font-size:11px}.card{padding:15px}.info-list li{grid-template-columns:1fr;gap:2px;padding-bottom:9px}.card h3{font-size:14px}.composer-area{padding:9px 12px max(12px,env(safe-area-inset-bottom))}.composer-footer span:last-child{display:none}.composer-hint{font-size:9px}.toast{bottom:90px;max-width:90vw;text-align:center}}
.brand-home{display:block;flex:1;min-width:0;padding:0;border:0;background:transparent;text-align:left}.brand-lockup{display:block;width:100%;max-width:252px;height:auto}.composer-area.hidden{display:none}.home-welcome{margin-top:48px}.home-welcome h1{font-size:48px;line-height:1.08;margin-bottom:20px}.home-welcome .home-lead{font-size:19px;line-height:1.6;color:#536459;max-width:670px}.client-workspace{max-width:780px;margin:0 auto}.back-link,.workflow-nav button{padding:0;border:0;background:none;color:#5b7862;font-size:11px;font-weight:800}.client-heading{display:flex;align-items:center;gap:16px;margin:25px 0 22px}.client-heading .client-avatar{width:58px;height:58px;border-radius:16px;font-size:21px}.client-heading h1{font-size:29px;line-height:1.2;margin:3px 0 2px}.client-heading p{font-size:11px;color:#879489;margin:0}.profile-card{border:1px solid #e4e8df;border-radius:15px;background:#fff;padding:22px}.profile-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.profile-head h2,.client-actions-heading h2{font-size:17px;margin:5px 0 0;letter-spacing:-.03em}.profile-hint{font-size:10px;color:#9ca69c}.profile-grid{display:grid;grid-template-columns:160px 1fr;gap:13px;margin:18px 0}.profile-grid label{display:block}.profile-grid label.wide{grid-column:1/-1}.profile-grid label span{display:block;color:#738476;font-size:10px;font-weight:800;margin-bottom:6px}.profile-grid input,.profile-grid textarea{width:100%;border:1px solid #dfe7df;background:#fdfefb;border-radius:9px;padding:10px 11px;color:#344b39;font-size:11px;line-height:1.5;outline:0}.profile-grid textarea{resize:vertical;min-height:58px}.profile-grid input:focus,.profile-grid textarea:focus{border-color:#91ac91}.client-actions-heading{margin-top:28px}.client-quick-grid{margin-top:14px}.client-history{margin-top:30px;border-top:1px solid #e8ece5;padding-top:18px}.client-history p{font-size:11px;color:#67786a;line-height:1.6;margin:12px 0 0}.workflow-nav{max-width:760px;display:flex;justify-content:space-between;gap:12px;color:#92a192;font-size:10px;font-weight:800}.workflow-nav+ .date-divider{margin-top:22px}
@media(max-width:700px){.brand-lockup{max-width:220px}.home-welcome{margin-top:26px}.home-welcome h1{font-size:36px}.home-welcome .home-lead{font-size:16px;line-height:1.55}.client-heading{margin:20px 0}.client-heading h1{font-size:24px}.profile-card{padding:17px}.profile-grid{grid-template-columns:1fr}.profile-grid label.wide{grid-column:auto}.profile-hint{display:none}.client-actions-heading{margin-top:25px}}
.topbar{display:none}.default-mode{margin:-4px 10px 2px 39px;font-size:10px;line-height:1.5;color:#8d988d}.profile-grid select,.modal select{width:100%;border:1px solid #dfe7df;background:#fdfefb;border-radius:9px;padding:10px 11px;color:#344b39;font-size:11px;line-height:1.5;outline:0}.profile-grid select:focus,.modal select:focus{border-color:#91ac91}
.draft-client-label{font-size:10px;color:#7c8b7e;font-weight:800}.draft-client-label strong{display:block;margin-top:6px;padding:10px 9px;border:1px solid #e2e7df;border-radius:8px;background:#fdfefb;color:#344b39;font-size:11px}
@media(max-width:700px){.topbar{display:flex;height:54px;justify-content:flex-start;padding:0 15px;border-bottom:0}.conversation{padding-top:10px}.home-welcome{margin-top:22px}}

@media(min-width:701px){.profile-grid{grid-template-columns:1fr 1fr}}
.home-welcome h1{font-family:'Noto Serif Display',Georgia,serif;font-style:italic;font-weight:400;font-size:82px;line-height:1;letter-spacing:-.075em;color:#315742;margin-bottom:25px}
@media(max-width:700px){.home-welcome h1{font-size:66px;margin-bottom:24px}}

/* Typography and colour follow the Дневник психолога wordmark. */
:root{--paper:#f4f1eb;--panel:#fcfaf6;--ink:#27362d;--green:#315742;--green-dark:#254735;--green-light:#e9efe8;--line:#e4e7de}
.sidebar{background:#f0eee7;border-color:#e4e3dc}
.brand-row{padding-bottom:32px}
.brand-lockup{max-width:250px}
.home-welcome h1{color:#27362d}
.client-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-quick-grid .quick-card{min-height:108px}
.live-note-content{white-space:pre-wrap;overflow-wrap:anywhere;color:#405447;line-height:1.7}
.live-note-empty{color:#879489;font-size:11px;margin:0}
.info-list .value{white-space:pre-wrap}
.action:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.client-quick-grid{grid-template-columns:1fr}.client-quick-grid .quick-card{min-height:0}}
.home-welcome .home-lead{color:#53695b}
.home-welcome{max-width:800px}
.home-welcome .home-lead{max-width:none}
.home-lead span{display:block}
[hidden]{display:none!important}
.auth-submit{width:100%;margin-top:23px;border:0;border-radius:9px;background:var(--green);color:white;padding:12px;font-size:12px;font-weight:800}
.auth-submit:hover{background:var(--green-dark)}
.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-error{font-size:11px;line-height:1.5;color:#a13f39;margin:12px 0 0}
.auth-note{font-size:10px;line-height:1.6;color:#8b998c;margin:18px 0 0}
.account-box{margin:12px 10px 0 39px;padding-top:12px;border-top:1px solid #dfe3dc}
.account-box span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d8b7e;font-size:10px}
.account-box button{display:block;padding:8px 0 0;border:0;background:none;color:#315742;font-size:11px;font-weight:800}
.account-box button:hover{text-decoration:underline}
.add-client-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:14px;min-height:70px;padding:10px 15px;border:1px solid #294d39;border-radius:13px;background:#315742;color:#fffefa;box-shadow:0 9px 20px rgba(40,73,51,.13);text-align:left;transition:background .16s,box-shadow .16s,transform .16s}
.add-client-button:hover{background:#254735;box-shadow:0 12px 24px rgba(40,73,51,.18);transform:translateY(-2px)}
.add-client-button:focus-visible{outline:3px solid #9db99f;outline-offset:3px}
.add-client-button:active{transform:translateY(0);box-shadow:0 4px 10px rgba(40,73,51,.13)}
.add-client-button .add-client-plus{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid rgba(244,241,235,.65);border-radius:50%;color:#f4f1eb}
.add-client-plus svg{width:20px;height:20px}
.add-client-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.add-client-title{font-family:Manrope,'DM Sans',sans-serif;font-size:15px;font-style:normal;font-weight:700;letter-spacing:-.015em;line-height:1.25;white-space:nowrap}
.add-client-caption{color:#d3e2d1;font-family:Manrope,'DM Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:0;line-height:1.35;white-space:nowrap}
@media(max-width:360px){.add-client-button{gap:10px;padding-right:11px;padding-left:11px}}
.sidebar-add-client,.sidebar-calendar-button{width:100%}
.sidebar-calendar-button{margin-bottom:10px;border-color:#cbd9c9;background:#e8efe6;color:#315742;box-shadow:none}
.sidebar-calendar-button:hover{border-color:#adbfaa;background:#dce9d9;box-shadow:0 5px 12px rgba(40,73,51,.07);transform:translateY(-1px)}
.sidebar-calendar-button:active{background:#d5e3d1;box-shadow:none;transform:translateY(0)}
.sidebar-calendar-button .add-client-plus{border-color:#afc2ae;color:#315742}
.sidebar-calendar-button .add-client-caption{color:#607765}
.profile-card,.quick-card,.card,.bubble{border-color:#e3e7df;background:#fffefa;box-shadow:none}
.profile-card,.quick-card,.card{border-radius:11px}
.add-client-primary,.action.primary,.send-button{background:#315742}
.add-client-primary:hover,.action.primary:hover,.send-button:hover{background:#254735}
.client-item:hover,.client-item.active{background:#e5eae1}
.client-heading h1,.profile-head h2,.client-actions-heading h2,.card h3,.modal h2{font-family:Manrope,'DM Sans',sans-serif;font-weight:700;letter-spacing:-.03em}
.client-heading h1{font-size:35px}
.profile-head h2,.client-actions-heading h2{font-size:21px}
.card h3{font-size:20px}
.message-author,.card-kicker,.section-label{letter-spacing:.15em;text-transform:uppercase}
.message-author{font-size:9px;color:#607a63}
.quick-card strong{font-size:12px}
@media(max-width:700px){.client-heading h1{font-size:28px}.profile-head h2,.client-actions-heading h2{font-size:19px}.card h3{font-size:18px}}

.home-next{margin-top:48px}
.home-next strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.025em;color:#315742}
.home-next p{max-width:none;margin:7px 0 0;font-size:14px;line-height:1.6;color:#708173}
@media(max-width:700px){.home-next{margin-top:36px}.home-next strong{font-size:17px}.home-next p{font-size:13px}}

.home-auth{max-width:450px;margin-top:42px;padding:25px 27px 27px;border:1px solid #e0e6dc;border-radius:14px;background:#fffefa;box-shadow:0 10px 30px rgba(39,54,45,.04)}
.home-auth h2{margin:0;color:#315742;font-size:20px;font-weight:700;letter-spacing:-.035em}
.home-auth>p{margin:7px 0 0;color:#708173;font-size:12px;line-height:1.55}
.home-auth-switch{display:flex;gap:6px;margin-top:22px;padding:4px;border-radius:10px;background:#f1f3ed}
.home-auth-switch button{flex:1;min-width:0;padding:10px 8px;border:0;border-radius:7px;background:transparent;color:#657669;font-size:11px;font-weight:800}
.home-auth-switch button.active{background:#fffefa;color:var(--green);box-shadow:0 1px 6px rgba(38,63,44,.07)}
.home-auth form label{display:block;margin:16px 0 6px;color:#59705e;font-size:11px;font-weight:800}
.home-auth form input{display:block;width:100%;padding:12px 13px;border:1px solid #dce4d9;border-radius:9px;background:#fff;color:var(--ink);font-size:13px;outline:0}
.home-auth form input:focus{border-color:#7c9c82;box-shadow:0 0 0 3px #e8efe6}
.home-auth .auth-note{margin-top:15px;font-size:10px}
@media(max-width:700px){.home-welcome h1{font-size:clamp(48px,13vw,66px)}.home-auth{margin-top:34px;padding:21px 19px 23px}}

.signed-out .sidebar-calendar-button,.signed-out .sidebar-add-client,.signed-out .sidebar-section,.signed-out .sidebar-bottom{display:none}
.mobile-guest-brand{display:none}
@media(max-width:700px){.signed-out .menu-button{display:none}.signed-out .mobile-guest-brand{display:block;width:130px;height:auto}.signed-out .topbar{height:62px}}

.sidebar-section{display:flex;flex:1;flex-direction:column;min-height:0;margin-top:19px;overflow:hidden}
.sidebar-section .search{flex:none}
.client-list{flex:1;min-height:0;margin-top:0;overflow-y:auto;align-content:start;grid-auto-rows:max-content;scrollbar-width:thin;scrollbar-color:#c9d3c7 transparent}
.sidebar-section.has-search .client-list{margin-top:12px}
.sidebar-bottom .account-box{margin-left:10px}
@media(min-width:901px){.home-lead span:first-child{white-space:nowrap}}

/* The calendar reads as a stitched paper spread within the psychologist's diary. */
.calendar-home{max-width:1000px;margin-top:5px}
.calendar-home .home-opening{margin:0 0 27px}
.calendar-eyebrow,.calendar-small{display:block;color:#997e5c;font-size:10px;font-weight:800;letter-spacing:.21em}
.calendar-home .home-opening h1{margin:7px 0 5px;font-size:clamp(45px,6vw,64px);font-style:italic;color:#304838}
.calendar-home .home-opening p{margin:0;color:#7f897c;font-size:13px}
.calendar-section{margin-top:12px}
.calendar-intro{display:flex;justify-content:space-between;align-items:end;margin:0 2px 16px}
.calendar-intro h2{font-family:'Noto Serif Display',Georgia,serif;font-style:italic;font-weight:400;font-size:31px;line-height:1.1;margin:7px 0 3px;color:#314936}
.calendar-intro p{font-size:12px;color:#8a9187;margin:0}
.calendar-flourish{font-family:Georgia,serif;color:#bfaa85;font-size:38px;line-height:1}
.calendar-paper{position:relative;padding:36px 29px 27px;border:1px solid #ded8c9;border-radius:3px 9px 9px 3px;background:repeating-linear-gradient(0deg,rgba(120,130,103,.025) 0,rgba(120,130,103,.025) 1px,transparent 1px,transparent 31px),#fffdf6;box-shadow:0 17px 35px rgba(56,49,33,.10),4px 5px 0 #ede7d8,7px 8px 0 #e6dfd0}
.calendar-paper:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:1px;background:#e6b5a7;opacity:.55}
.calendar-rings{position:absolute;top:-8px;left:5%;right:5%;display:flex;justify-content:space-between;pointer-events:none}
.calendar-rings i{width:12px;height:25px;border:3px solid #a6a098;border-radius:12px;background:transparent;box-shadow:1px 1px 2px rgba(0,0,0,.09)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}
.calendar-toolbar h3{font-family:'Noto Serif Display',Georgia,serif;font-size:37px;font-weight:400;text-transform:capitalize;line-height:1.1;margin:6px 0 0;color:#304938}
.calendar-controls{display:flex;gap:6px;align-items:center}
.calendar-controls button{min-width:34px;height:34px;border:1px solid #dcd9ca;border-radius:6px;background:#fbf8ef;color:#4a654d;font-size:14px}
.calendar-controls button:first-child{padding:0 11px;font-size:11px;font-weight:700}
.calendar-controls button:hover{background:#eaf0e5;border-color:#a8b99f}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays span{padding:0 7px 10px;color:#9a9d8d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.calendar-weekdays span:nth-last-child(-n+2){color:#bd9c85}
.calendar-grid{border-top:1px solid #e0decf;border-left:1px solid #e0decf}
.calendar-day,.calendar-blank{min-height:105px;border:0;border-right:1px solid #e0decf;border-bottom:1px solid #e0decf;background:rgba(255,253,247,.7);text-align:left;padding:9px 8px;color:#304938}
.calendar-blank{background:rgba(229,222,205,.19)}
.calendar-day{display:flex;flex-direction:column;gap:5px;transition:background .15s,box-shadow .15s}
.calendar-day:hover{background:#f1f1e5;box-shadow:inset 0 0 0 2px #c5d1b8}
.calendar-day.is-selected{background:#e9efe4;box-shadow:inset 0 0 0 2px #769477}
.calendar-day:focus-visible,.agenda-add:focus-visible,.calendar-controls button:focus-visible{outline:3px solid #7c9f80;outline-offset:-3px}
.calendar-number{display:grid;place-items:center;width:25px;height:25px;font-size:14px;font-weight:700}
.calendar-day.is-today .calendar-number{border-radius:50%;background:#365c49;color:#fff}
.calendar-mark,.calendar-record-mark{font-size:9px;font-weight:800;line-height:1.2;color:#805b42;background:#f4e4d6;padding:4px 5px;border-radius:4px;max-width:100%}
.calendar-record-mark{color:#6f836a;background:#e8eee3}
.calendar-snippets{display:grid;gap:2px;min-width:0}
.calendar-snippet{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#5d715f}
.calendar-snippet b{font-weight:800;color:#345540}
.calendar-agenda{margin-top:23px;padding:18px 20px 20px;border-left:3px solid #be9878;background:rgba(248,244,234,.78)}
.agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
.agenda-heading h4{font-family:'Noto Serif Display',Georgia,serif;font-size:22px;font-weight:400;text-transform:capitalize;margin:5px 0 0;color:#314936}
.agenda-add{border:1px solid #486c52;border-radius:7px;background:#365c49;color:white;padding:9px 12px;font-size:10px;font-weight:800;white-space:nowrap}
.agenda-add:hover{background:#254735}
.agenda-empty{font-size:11px;color:#8a9185;margin:5px 0}
.agenda-row{display:flex;gap:12px;align-items:center;border-top:1px solid #e7e0d1;padding:10px 0}
.agenda-time{font-family:Georgia,serif;font-size:19px;color:#365c49;min-width:58px}
.agenda-text{display:flex;flex:1;flex-direction:column;min-width:0;gap:2px;font-size:12px}
.agenda-text small{color:#8c9185;font-size:10px;overflow-wrap:anywhere}
.agenda-row>button{border:0;background:none;color:#758571;font-size:16px}
.agenda-history-list{border-top:1px solid #e7e0d1;padding-top:9px;margin-top:8px}
.agenda-history{width:100%;display:flex;gap:9px;align-items:center;border:0;background:none;text-align:left;padding:5px 0;color:#71826f;font-size:10px}
.agenda-history strong{color:#405d48}.agenda-history span:last-child{margin-left:auto}
.client-appointments{margin-top:22px;padding:20px 22px;background:#faf6eb;border:1px solid #e7dfcd;border-radius:10px}
.client-appointments-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.client-appointments h2{font-family:'Noto Serif Display',Georgia,serif;font-size:21px;font-weight:400;margin:4px 0 0}
.client-appointments p{font-size:11px;color:#849084;line-height:1.6;margin:0}
.client-appointment{width:100%;display:grid;grid-template-columns:1fr auto;gap:1px 9px;border:0;border-top:1px solid #e8e0d0;background:transparent;color:#35553f;text-align:left;padding:10px 1px}
.client-appointment span:first-child{font-size:12px;font-weight:800}.client-appointment small{grid-column:1;color:#8b9084;font-size:10px}.client-appointment span:last-child{grid-column:2;grid-row:1/3;align-self:center}
.appointment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appointment-modal-actions{display:flex;gap:9px;align-items:center}
.appointment-clock{display:flex;align-items:center;gap:5px}.appointment-clock select{min-width:0;flex:1;text-align:center}.appointment-clock span{font-size:16px;font-weight:800;color:#45694d}
.appointment-new-client{display:block;margin:9px 0 15px;padding:0;border:0;background:none;color:#315742;font-size:11px;font-weight:800;text-align:left}.appointment-new-client:hover{text-decoration:underline}
.new-client-schedule{margin-top:18px;padding-top:17px;border-top:1px solid #e3e3d8}.new-client-schedule .appointment-fields{margin-top:2px}
.modal{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:700px){.calendar-home{margin-top:5px}.calendar-home .home-opening h1{font-size:49px}.calendar-intro h2{font-size:27px}.calendar-paper{padding:30px 12px 15px}.calendar-paper:before{left:5px}.calendar-toolbar{align-items:flex-end;margin-bottom:18px}.calendar-toolbar h3{font-size:27px}.calendar-controls button{min-width:29px;height:29px}.calendar-controls button:first-child{padding:0 6px}.calendar-weekdays span{font-size:9px;padding:0 3px 8px}.calendar-day,.calendar-blank{min-height:62px;padding:4px 3px}.calendar-number{width:23px;height:23px;font-size:12px}.calendar-mark,.calendar-record-mark{font-size:0;padding:0;width:6px;height:6px;border-radius:50%;background:#b28f6e}.calendar-record-mark{background:#8da589}.calendar-snippets{display:none}.calendar-agenda{padding:14px 12px;margin-top:16px}.agenda-heading{align-items:flex-start}.agenda-heading h4{font-size:19px}.agenda-add{font-size:0;padding:8px}.agenda-add:before{content:"＋";font-size:17px}.client-appointments{padding:17px}}

/* Public page before sign-in. Its examples use the same fields as the client workspace. */
.guest-nav{display:none}
.signed-out .sidebar{display:none}
.signed-out .main-pane{background:#faf8f3}
.signed-out .topbar{display:flex;height:76px;padding:0 max(28px,calc((100% - 1200px)/2));border-bottom:1px solid #e8e7df;background:#faf8f3}
.signed-out .mobile-guest-brand{display:none}
.signed-out .guest-nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.guest-nav-brand img{display:block;width:155px;height:auto}
.guest-nav-links{display:flex;align-items:center;gap:30px}
.guest-nav-links a{color:#405c48;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.guest-nav-links a:hover,.landing-text-link:hover{text-decoration:underline}
.guest-nav-links .guest-nav-cta{padding:11px 17px;border-radius:8px;background:#315742;color:#fffefa}
.signed-out .conversation{padding:0;scroll-behavior:smooth}
.landing{max-width:1200px;margin:auto;padding:0 28px}
.landing h1,.landing h2,.landing h3,.landing p{max-width:none;margin:0}
.landing-eyebrow{display:block;color:#688671;font-size:10px;font-weight:800;letter-spacing:.19em;line-height:1.5}
.landing-hero{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:56px;align-items:center;padding:77px 0 96px}
.landing-hero-copy h1{margin:19px 0 22px;color:#273b2e;font-family:'Noto Serif Display',Georgia,serif;font-size:clamp(44px,4.5vw,67px);font-weight:400;letter-spacing:-.057em;line-height:1.09}
.landing-hero-copy h1 em{color:#53785c;font-weight:400}
.landing-hero-copy>p{max-width:510px;color:#586a5c;font-size:17px;line-height:1.7}
.landing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:29px}
.landing-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;border-radius:9px;background:#315742;color:#fffefa;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 9px 20px rgba(30,65,43,.14)}
.landing-button:hover{background:#254735}
.landing-button span{font-size:18px;font-weight:400}
.landing-text-link{color:#42644b;text-decoration:none;font-size:12px;font-weight:800}
.landing-hero-caption{margin-top:19px;color:#879489;font-size:10px;line-height:1.5}
.landing-preview{min-width:0;overflow:hidden;border:1px solid #d8e0d6;border-radius:16px;background:#fffefa;box-shadow:0 28px 70px rgba(42,61,45,.13)}
.preview-top{height:43px;display:flex;align-items:center;gap:8px;padding:0 17px;border-bottom:1px solid #e4e9e0;color:#385744;font-size:10px;font-weight:800}
.preview-dot{width:8px;height:8px;border-radius:50%;background:#8eaa8e}
.preview-top-right{margin-left:auto;color:#8b9a8b;font-size:8px;letter-spacing:.1em}
.preview-body{display:grid;grid-template-columns:133px minmax(0,1fr);min-height:400px}
.preview-rail{padding:22px 10px;background:#f3f1eb;border-right:1px solid #e3e5dc}
.preview-rail-title,.preview-kicker{color:#76907a;font-size:8px;font-weight:800;letter-spacing:.16em}
.preview-client{display:flex;gap:7px;align-items:center;margin-top:15px;padding:7px 6px;border-radius:8px;background:#e7ece3;color:#2e4836;font-size:10px;font-weight:800}
.preview-client b{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:#d7e4d4}
.preview-client small{display:block;margin-top:2px;color:#8e9c8e;font-size:7px;font-weight:500;white-space:nowrap}
.preview-rail-line{height:7px;margin:20px 8px 0;border-radius:4px;background:#e0e4dc}.preview-rail-line.short{width:60%;margin-top:10px}
.preview-work{min-width:0;padding:27px 23px 22px}
.preview-work h2{margin:7px 0 18px;color:#2d4434;font-size:21px;letter-spacing:-.035em}
.preview-note{padding:12px 14px;border:1px solid #e8e8df;border-radius:8px;background:#f9f8f3}
.preview-note span,.preview-grid span,.preview-question span{color:#78907d;font-size:8px;font-weight:800;letter-spacing:.12em}
.preview-note p,.preview-grid p,.preview-question p{margin:6px 0 0;color:#4d5f51;font-size:10px;line-height:1.6}
.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.preview-grid>div,.preview-question{padding:11px;border:1px solid #e7ebe3;border-radius:8px}
.preview-question{margin-top:10px;background:#f4f7f2}
.preview-review{display:flex;justify-content:space-between;gap:8px;margin-top:16px;color:#456b4e;font-size:9px;font-weight:800}
.preview-review span{color:#9b7f61;font-weight:600}
.preview-bottom{padding:11px 18px;border-top:1px solid #e7eae3;background:#f7f8f4;color:#849084;font-size:9px;line-height:1.5}
.landing-cycle{padding:75px 0 87px;border-top:1px solid #e5e7df}
.landing-section-head{max-width:720px}
.landing-section-head h2,.landing-details h2,.landing-trust h2,.landing-final h2{margin:13px 0 14px;color:#2e4736;font-family:'Noto Serif Display',Georgia,serif;font-size:clamp(34px,3.4vw,49px);font-weight:400;line-height:1.16;letter-spacing:-.04em}
.landing-section-head>p,.landing-details p,.landing-final>div>p{color:#657568;font-size:15px;line-height:1.7}
.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:39px}
.landing-steps article{display:flex;flex-direction:column;min-height:285px;padding:24px;border:1px solid #e0e6dc;border-radius:12px;background:#fffefa}
.landing-step-number{color:#8c977f;font-size:9px;font-weight:800;letter-spacing:.17em}
.landing-steps h3{margin:23px 0 10px;color:#2e4937;font-size:20px;letter-spacing:-.035em}
.landing-steps p{color:#69776b;font-size:12px;line-height:1.7}
.landing-mini{margin-top:auto;padding-top:22px;color:#587b5f;font-size:10px;font-weight:800}
.landing-details{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center;padding:74px 0;border-top:1px solid #e5e7df}
.landing-details p{max-width:550px}.landing-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.landing-detail-tags span{padding:8px 10px;border:1px solid #dfe8dc;border-radius:6px;background:#eff3ed;color:#52715a;font-size:10px;font-weight:700}
.landing-calendar{padding:26px 30px;border:1px solid #dfd8ca;border-radius:5px 12px 12px 5px;background:#fffdf6;box-shadow:5px 6px 0 #ebe5d8,0 18px 30px rgba(68,57,39,.09)}
.landing-cal-head span{display:block;color:#a08467;font-size:9px;font-weight:800;letter-spacing:.18em}.landing-cal-head strong{display:block;margin:9px 0 20px;color:#38513e;font-family:'Noto Serif Display',Georgia,serif;font-size:24px;font-weight:400}.landing-cal-row{display:flex;gap:20px;padding:13px 0;border-top:1px solid #e9e4d9;color:#3b5e45}.landing-cal-row b{font-family:Georgia,serif;font-size:19px;font-weight:400}.landing-cal-row span{font-size:12px;font-weight:800}.landing-cal-row small{display:block;margin-top:3px;color:#8a9588;font-size:10px;font-weight:400}.landing-cal-foot{padding-top:18px;color:#92998d;font-size:9px}
.landing-trust{padding:70px 0 78px;border-top:1px solid #e5e7df}.landing-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:27px}.landing-trust-grid p{padding-left:16px;border-left:2px solid #9fb49f;color:#657568;font-size:12px;line-height:1.75}
.landing-final{display:grid;grid-template-columns:1fr 440px;gap:70px;align-items:start;padding:70px 0 85px;border-top:1px solid #e5e7df}.landing-final>div:first-child{padding-top:20px}.landing-final .home-auth{max-width:none;margin:0}.landing-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 34px;border-top:1px solid #e5e7df;color:#9aa397;font-size:10px}.landing-footer img{width:130px}
@media(max-width:900px){.landing-hero{gap:25px}.landing-hero-copy h1{font-size:clamp(40px,5.3vw,52px)}.landing-details{gap:35px}.landing-final{grid-template-columns:1fr 390px;gap:30px}}
@media(max-width:700px){.signed-out .topbar{height:62px;padding:0 18px;border-bottom:1px solid #e8e7df}.guest-nav-brand img{width:126px}.guest-nav-links{gap:0}.guest-nav-links a{display:none}.guest-nav-links .guest-nav-cta{display:block;padding:9px 12px;font-size:10px}.landing{padding:0 18px}.landing-hero{grid-template-columns:1fr;gap:35px;padding:50px 0 65px}.landing-hero-copy h1{font-size:clamp(42px,10vw,57px)}.landing-hero-copy>p{font-size:15px}.landing-actions{align-items:flex-start;flex-direction:column;gap:16px}.landing-preview{max-width:580px}.landing-cycle{padding:58px 0}.landing-steps{grid-template-columns:1fr;margin-top:28px}.landing-steps article{min-height:0}.landing-mini{padding-top:24px}.landing-details{grid-template-columns:1fr;gap:28px;padding:58px 0}.landing-calendar{max-width:540px}.landing-trust{padding:58px 0}.landing-trust-grid{grid-template-columns:1fr;gap:17px}.landing-final{grid-template-columns:1fr;gap:26px;padding:58px 0}.landing-final>div:first-child{padding:0}.landing-footer{align-items:flex-start;flex-direction:column;gap:8px}.landing .home-auth{padding:22px 19px}}
@media(max-width:430px){.preview-body{grid-template-columns:78px minmax(0,1fr)}.preview-rail{padding:17px 5px}.preview-client{gap:4px;padding:5px 3px;font-size:8px}.preview-client b{width:17px;height:18px;font-size:8px}.preview-client small{display:none}.preview-work{padding:20px 11px 17px}.preview-work h2{font-size:17px}.preview-grid{grid-template-columns:1fr}.preview-grid>div:last-child{display:none}.preview-review{flex-direction:column}.preview-note p,.preview-grid p,.preview-question p{font-size:9px}.landing-button{font-size:11px}.landing-section-head h2,.landing-details h2,.landing-trust h2,.landing-final h2{font-size:36px}}
