:root{--surface:#fdf9f4;--surface-container-low:#f7f3ee;--surface-container:#f1ede8;--surface-container-high:#ebe8e3;--surface-container-highest:#e6e2dd;--color-primary:#765928;--color-primary-container:#e1bb80;--color-on-primary-container:#654a1a;--color-on-surface:#1c1c19;--color-on-surface-variant:#4e453a;--color-secondary:#765278;--color-secondary-container:#ffd1fe;--color-on-secondary-container:#7b567c;--color-tertiary:#006c53;--color-tertiary-container:#65d4af;--color-on-tertiary-container:#005a44;--color-error:#ba1a1a;--color-error-container:#ffdad6;--color-on-error-container:#93000a;--color-outline-variant:#d1c5b5;--mood-terrible:#ffcac8;--mood-bad:#fbcfb5;--mood-okay:#efd5ad;--mood-good:#e2dbad;--mood-great:#d2e0b4;--text:var(--color-on-surface-variant);--text-h:var(--color-on-surface);--bg:var(--surface);--border:var(--color-outline-variant);--code-bg:var(--surface-container);--accent:var(--color-primary);--accent-bg:color-mix(in srgb, var(--color-primary) 14%, transparent);--accent-border:color-mix(in srgb, var(--color-primary) 45%, transparent);--social-bg:color-mix(in srgb, var(--surface-container-low) 70%, transparent);--gradient-primary:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-container) 100%);--shadow:#1c1c190f 0 12px 32px 0;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:700}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 var(--space-sm);font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);border-radius:var(--radius-sm);color:var(--text-h);display:inline-flex}code{padding:var(--space-xs) var(--space-sm);background:var(--code-bg);font-size:15px;line-height:135%}.ds-glass{background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.12);border:1px solid color-mix(in srgb, white 55%, var(--border));box-shadow:var(--shadow), inset 0 0 0 1px #fff3;border-radius:var(--radius-lg)}.index-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 20px 48px;display:flex;position:relative}.index-title{margin:0 0 24px}.therapist-login-btn,.patient-login-btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;color:var(--accent);background:var(--accent-bg);border:2px solid #0000;padding:10px 22px;font-size:16px;transition:border-color .2s}.therapist-login-btn:hover,.patient-login-btn:hover{border-color:var(--accent-border)}.therapist-login-btn:focus-visible,.patient-login-btn:focus-visible,.patient-login-submit-btn:focus-visible,.patient-login-cancel-btn:focus-visible,.register-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.register-link{color:var(--accent);text-underline-offset:3px;margin-top:12px;text-decoration:underline}.index-error-message{color:var(--color-on-error-container);margin-top:10px}.patient-login-modal{background:color-mix(in srgb, var(--color-on-surface) 45%, transparent);z-index:10;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.patient-login-card{width:min(100%,420px);padding:var(--space-xl);text-align:left}.patient-login-title{margin:0 0 16px}.patient-login-form{flex-direction:column;gap:16px;display:flex}.patient-login-field{color:var(--text-h);flex-direction:column;gap:8px;display:flex}.patient-login-field input{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-container-low);color:var(--text-h);padding:12px 14px}.patient-login-actions{flex-wrap:wrap;gap:12px;display:flex}.patient-login-submit-btn,.patient-login-cancel-btn{font:inherit;cursor:pointer;border-radius:999px;padding:12px 18px}.patient-login-submit-btn{background:var(--accent);color:#fff;border:none}.patient-login-submit-btn:disabled{opacity:.6;cursor:wait}.patient-login-cancel-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent)}.patients-page{text-align:center;flex-direction:column;flex:1;align-items:center;padding:32px 20px 48px;display:flex}.patients-page input[type=text]{width:min(100%,700px);margin-bottom:var(--space-lg);font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-container-low);color:var(--text-h);box-sizing:border-box;padding:12px 14px}.patients-title{text-align:center;flex:1;margin:0}.patients-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:100%;max-width:700px;margin-bottom:24px;display:grid}.patients-logout-btn{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;grid-column:3;justify-self:end;padding:10px 18px}.patients-title{grid-column:2}.patients-logout-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.patient-list{text-align:left;width:100%;max-width:700px;margin:0;padding:0;list-style:none;overflow:hidden}.patient-list.ds-glass{border-radius:var(--radius-md)}.patient-item{border-bottom:1px solid var(--border);padding:14px 18px}.patient-item:last-child{border-bottom:none}.patient-field{grid-template-columns:2fr 2fr 1fr;align-items:center;gap:16px;padding:14px 18px;display:grid}.patient-label{color:var(--text);font-size:14px}.patient-value{color:var(--text-h);word-break:break-word}.patient-name-link{white-space:nowrap;text-overflow:ellipsis;width:100%;line-height:1.5;text-decoration:none;display:block;overflow:hidden}.patient-name-link:hover{background-color:color-mix(in srgb, var(--surface-container-high) 80%, transparent);border-radius:var(--radius-sm)}.patient-show-page{box-sizing:border-box;flex-direction:column;flex:1;align-items:stretch;width:100%;max-width:480px;margin:0 auto;padding:32px 20px 48px;display:flex}.patient-show-back{color:var(--accent);align-self:flex-start;margin-bottom:20px;font-size:16px;text-decoration:none}.patient-show-back:hover{text-decoration:underline}.patient-show-title{text-align:left;margin:0 0 24px}.patient-show-details{text-align:left;margin:0}.patient-show-row{border-bottom:1px solid var(--border);grid-template-columns:6rem 1fr;gap:8px 16px;padding:12px 0;display:grid}.patient-show-row:last-child{border-bottom:none}.patient-show-row dt{color:var(--text);margin:0;font-size:14px;font-weight:400}.patient-show-row dd{color:var(--text-h);margin:0}.patient-dashboard-page{gap:var(--space-xl);box-sizing:border-box;flex-direction:column;flex:1;padding:32px 20px 48px;display:flex}.patient-hero{text-align:left;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px;display:flex}.patient-hero.ds-glass{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 18%, transparent), transparent), linear-gradient(180deg, var(--surface), var(--surface-container-low)), color-mix(in srgb, var(--surface) 72%, transparent)}.patient-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-primary-container);margin-bottom:var(--space-sm);font-size:13px;font-weight:600}.patient-dashboard-title{margin:0 0 var(--space-md)}.patient-summary{max-width:60ch}.patient-logout-btn,.patient-profile-btn,.patient-toggle-btn,.check-in-secondary-btn{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:10px 18px}.patient-hero-actions{gap:var(--space-md);flex-direction:column;align-items:stretch;display:flex}.patient-overview-grid,.patient-content-grid{gap:20px;display:grid}.patient-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-card,.patient-panel{text-align:left;padding:22px}.patient-card-emphasis.ds-glass{background:linear-gradient(180deg, var(--accent-bg), color-mix(in srgb, var(--surface) 74%, transparent)), color-mix(in srgb, var(--surface) 72%, transparent)}.patient-card h2,.patient-panel h2{margin-bottom:14px}.patient-card-value{color:var(--text-h);margin-bottom:6px;font-size:22px}.patient-card-meta,.patient-list-meta{color:var(--text);font-size:14px}.patient-dashboard-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.patient-dashboard-list li{justify-content:space-between;align-items:flex-start;gap:var(--space-md);color:var(--text-h);display:flex}.patient-dashboard-list li:before{content:"•";color:var(--accent);margin-right:var(--space-sm)}.patient-dashboard-list li>span:first-child{flex:1}.patient-dashboard-list li.is-complete{opacity:.7}.patient-mood-trend{justify-content:space-between;align-items:end;gap:var(--space-md);min-height:140px;display:flex}.patient-mood-bar-group{align-items:center;gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.patient-mood-bar{background:var(--gradient-primary);border-radius:999px 999px 10px 10px;width:100%;max-width:40px;min-height:18px}.patient-panel-wide{grid-column:1/-1}.patient-panel-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.patient-panel-heading h2,.patient-log-card h3{margin:0}.patient-panel-copy,.patient-empty-state,.check-in-status{color:var(--text)}.patient-checkin-pill{min-width:72px;padding:6px var(--space-md);background:var(--accent-bg);color:var(--accent);border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.patient-checkin-pill-complete{background:color-mix(in srgb, var(--color-tertiary-container) 45%, transparent);color:var(--color-on-tertiary-container)}.check-in-form{flex-direction:column;gap:18px;display:flex}.check-in-field{gap:var(--space-sm);flex-direction:column;display:flex}.check-in-field label,.check-in-fieldset legend{color:var(--text-h);font-weight:500}.check-in-field input,.check-in-field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-container-low);color:var(--text-h);padding:12px 14px}.check-in-field textarea{resize:vertical;min-height:124px}.check-in-fieldset{border:none;margin:0;padding:0}.check-in-mood-options{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:10px;display:grid}.check-in-mood-option{border:1px solid var(--border);cursor:pointer;background:var(--surface-container-low);border-radius:14px;align-items:center;gap:10px;padding:12px;transition:border-color .15s,background .15s;display:flex}.check-in-mood-option:has(input:checked){border-color:var(--accent)}.check-in-mood-option[data-mood=GREAT]:has(input:checked){background:var(--mood-great);border-color:color-mix(in srgb, var(--mood-great) 50%, var(--color-on-surface))}.check-in-mood-option[data-mood=GOOD]:has(input:checked){background:var(--mood-good);border-color:color-mix(in srgb, var(--mood-good) 50%, var(--color-on-surface))}.check-in-mood-option[data-mood=OKAY]:has(input:checked){background:var(--mood-okay);border-color:color-mix(in srgb, var(--mood-okay) 50%, var(--color-on-surface))}.check-in-mood-option[data-mood=SAD]:has(input:checked){background:var(--mood-bad);border-color:color-mix(in srgb, var(--mood-bad) 50%, var(--color-on-surface))}.check-in-mood-option[data-mood=TERRIBLE]:has(input:checked){background:var(--mood-terrible);border-color:color-mix(in srgb, var(--mood-terrible) 50%, var(--color-on-surface))}.check-in-mood-option input{margin:0}.check-in-mood-emoji,.patient-log-emoji{font-size:20px}.check-in-error{color:var(--color-on-error-container)}.check-in-submit-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 18px}.check-in-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.check-in-secondary-btn{padding:12px 18px}.check-in-submit-btn:disabled{opacity:.6;cursor:wait}.patient-log-list{flex-direction:column;gap:14px;display:flex}.patient-log-card{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-container) 55%, transparent), color-mix(in srgb, var(--surface) 72%, transparent)), color-mix(in srgb, var(--surface) 72%, transparent);padding:18px}.patient-log-card.ds-glass{border-radius:var(--radius-md)}.patient-log-header{justify-content:space-between;gap:var(--space-md);margin-bottom:10px;display:flex}.patient-log-mood{align-items:center;gap:var(--space-sm);color:var(--text-h);font-weight:500;display:inline-flex}@media (width<=900px){.patient-hero{flex-direction:column}.patient-hero-actions{width:100%}.patient-overview-grid,.patient-content-grid{grid-template-columns:1fr}.patient-panel-wide{grid-column:auto}.patient-panel-heading,.patient-log-header{flex-direction:column}}.patient-profile-page{box-sizing:border-box;flex:1;justify-content:center;align-items:center;padding:32px 20px 48px;display:flex}.patient-profile-card{text-align:left;width:100%;max-width:460px;padding:28px}.patient-profile-back{color:var(--accent);margin-bottom:18px;text-decoration:none;display:inline-block}.patient-profile-back:hover{text-decoration:underline}.patient-profile-title{margin:0 0 12px}.patient-profile-copy{margin-bottom:20px}.patient-profile-form{flex-direction:column;gap:16px;display:flex}.patient-profile-field{color:var(--text-h);flex-direction:column;gap:8px;display:flex}.patient-profile-field input,.patient-profile-field select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-container-low);color:var(--text-h);padding:12px 14px}.patient-profile-field input:disabled,.patient-profile-field select:disabled{opacity:.75}.patient-profile-message{margin:0}.patient-profile-message-error{color:var(--color-on-error-container)}.patient-profile-message-success{color:var(--color-on-tertiary-container)}.patient-profile-submit-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 18px}.patient-profile-submit-btn:disabled{opacity:.6;cursor:wait}.register-page{box-sizing:border-box;flex:1;justify-content:center;align-items:center;padding:32px 20px 48px;display:flex}.register-card{text-align:left;width:100%;max-width:420px;padding:28px}.register-back-link{color:var(--accent);margin-bottom:18px;text-decoration:none;display:inline-block}.register-back-link:hover{text-decoration:underline}.register-title{margin:0 0 12px}.register-copy{margin-bottom:20px}.register-form{flex-direction:column;gap:16px;display:flex}.register-field{color:var(--text-h);flex-direction:column;gap:8px;display:flex}.register-field input,.register-field select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-container-low);color:var(--text-h);padding:12px 14px}.register-message{margin:0}.register-message-error{color:var(--color-on-error-container)}.register-message-success{color:var(--color-on-tertiary-container)}.register-submit-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 18px}.register-submit-btn:disabled{opacity:.6;cursor:wait}
