:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;color:#241f1c;background:#f5f0e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:#167b57}h1,h2{font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;margin-top:0}h1{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:.5rem}h2{font-size:1rem}.muted{color:#726b63}.reading{max-width:72ch;line-height:1.7;white-space:pre-wrap}.public-portal-page{min-height:100vh;display:flex;flex-direction:column}.app-shell{min-height:100vh;display:flex;align-items:stretch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{flex:1;display:grid;place-items:center;padding:24px;background:#f8f7f5}.login-card{width:min(100%,520px);background:#fff;border:1px solid #e2dace;border-radius:8px;padding:40px;box-shadow:0 18px 50px #241f1c14}.login-card h1{overflow-wrap:anywhere}.patient-login-card{border-color:#e2dace}.patient-login-card h1{margin:24px 0 10px;font-size:2rem}.patient-login-card>.muted{margin:0;font-size:1rem;line-height:1.5}.auth-brand{min-height:48px}.auth-brand img{width:auto;height:48px;max-width:190px}.clinic-choice-list{display:grid;gap:10px;margin-top:22px}.clinic-choice{min-height:68px;width:100%;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:12px;padding:10px 12px;border:1px solid #d5dfda;border-radius:6px;background:#fff;color:#17211d;text-align:left;cursor:pointer}.clinic-choice:hover{border-color:#5aa889;background:#f3faf7}.clinic-choice img,.clinic-choice-mark{width:42px;height:42px;display:grid;place-items:center;-o-object-fit:contain;object-fit:contain;border-radius:4px;background:#e6f3ed;color:#167b57}.clinic-choice>span:nth-child(2){min-width:0;display:grid;gap:4px}.clinic-choice strong{overflow-wrap:anywhere}.clinic-choice small{color:#66736d}.clinic-choice>svg{width:18px}.patient-login-card .form-stack{gap:10px;margin-top:28px}.patient-login-card .primary{gap:9px;min-height:46px;margin-top:12px;border-radius:6px}.patient-login-card .primary svg{width:18px;height:18px}.patient-login-card input{min-height:46px;margin-bottom:8px;border-radius:6px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.field-label-row label{display:block}.field-label-row .link-button{padding:0;font-size:.82rem}.registration-block{margin-top:28px;padding-top:22px;border-top:1px solid #eee8df}.registration-prompt{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:5px;color:#726b63;font-size:.9rem}.registration-prompt .link-button{padding:0}.notice.neutral{color:#4d4741;background:#faf8f3;border:1px solid #e2dace;line-height:1.5}.brand{display:flex;align-items:center;gap:10px;font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;font-weight:700}.brand>span:last-child{overflow-wrap:anywhere}.brand img{height:40px;max-width:180px;-o-object-fit:contain;object-fit:contain}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;background:#1fa070}.eyebrow{color:#167b57;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:28px}.form-stack{display:grid;gap:16px;margin-top:22px}label{display:grid;gap:7px;font-weight:600;font-size:.9rem}input,textarea,select{width:100%;border:1px solid #d4cbc0;border-radius:10px;padding:11px 12px;color:#241f1c;background:#fff}textarea{resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(31,160,112,.25);outline-offset:2px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;text-decoration:none}.primary{border:0;color:#fff;background:#1fa070}.primary:disabled{opacity:.6;cursor:wait}.secondary{border:1px solid #d4cbc0;color:#241f1c;background:#fff}.danger{color:#b42318}.ghost,.link-button{border:0;background:transparent;color:#167b57;cursor:pointer;font-weight:600}.support{margin-top:22px;color:#726b63;font-size:.84rem}.login-switch{margin-top:16px;padding:4px 0}.notice{border-radius:10px;padding:12px;margin:14px 0;font-size:.9rem}.notice.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.notice.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.notice.warning{color:#7c4a03;background:#fdf6ea;border:1px solid #f0dcb4;border-left:4px solid #e0a83e;line-height:1.5}.portal-sidebar{position:sticky;top:0;width:232px;height:100vh;flex:0 0 232px;display:flex;flex-direction:column;border-right:1px solid #e2dace;background:#fff;z-index:30}.sidebar-brand{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #e2dace}.sidebar-brand .brand{min-width:0}.sidebar-brand .brand img{height:auto;max-height:34px;max-width:168px}.sidebar-brand .brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.sidebar-close{display:none;width:38px;height:38px;place-items:center;flex:0 0 auto;border:0;border-radius:50%;color:#726b63;background:transparent;cursor:pointer}.sidebar-close svg{width:19px;height:19px}.sidebar-label{margin:16px 20px 7px;color:#726b63;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.portal-sidebar nav{flex:1;display:grid;align-content:start;gap:4px;overflow-y:auto;padding:0 10px 16px}.portal-sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#726b63;text-decoration:none;font-size:.82rem;font-weight:650;transition:color .15s ease,background .15s ease}.portal-sidebar nav a:hover{color:#241f1c;background:#f5f0e7}.portal-sidebar nav a[aria-current=page]{color:#fff;background:#1fa070}.portal-sidebar nav svg{width:17px;height:17px;flex:0 0 auto}.sidebar-patient{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid #e2dace}.sidebar-patient>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#167b57;background:#e7f6f0;font-weight:800}.sidebar-patient div{min-width:0;display:grid;gap:2px}.sidebar-patient strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.sidebar-patient small{color:#726b63;font-size:.68rem}.sidebar-scrim{display:none}.portal-main{min-width:0;flex:1;display:flex;flex-direction:column}.mobile-topbar{display:none;min-height:64px;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #e2dace;background:#fff}.mobile-topbar .brand{min-width:0}.mobile-topbar .brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.mobile-topbar .brand img{height:auto;max-height:32px;max-width:150px}.menu-button{display:inline-flex;gap:7px;padding:8px 13px}.menu-button svg{width:17px;height:17px}.workspace{width:min(100%,1248px);flex:1;margin:0 auto;padding:28px 24px 56px}.page-heading{margin-bottom:22px}.page-heading .eyebrow{margin-top:0}.card{background:#fff;border:1px solid #e2dace;border-radius:14px;padding:20px;box-shadow:0 2px 8px #241f1c0a}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{display:grid;gap:12px;color:#726b63}.stat strong{font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;color:#167b57;font-size:1.8rem}.attention-section,.shortcut-section{margin-bottom:24px}.attention-section>h2,.shortcut-section>h2{font-size:1.1rem;margin-bottom:12px}.attention-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,380px));gap:14px}.action-card{display:grid;gap:7px;color:#241f1c;text-decoration:none;position:relative;padding-right:44px;transition:border-color .15s ease,transform .15s ease}.action-card:hover{border-color:#8fcdb6;transform:translateY(-1px)}.action-card strong{font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;font-size:1.05rem}.action-card>span:last-of-type{color:#726b63;font-size:.88rem}.card-arrow{position:absolute;top:20px;right:16px;width:18px;height:18px;color:#b8ad9c;transition:transform .15s ease,color .15s ease}.action-card:hover .card-arrow{color:#1fa070;transform:translate(2px)}.action-kicker{color:#167b57;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.all-caught-up{padding-block:28px}.all-caught-up p{margin-bottom:0}.shortcut-list{display:flex;flex-wrap:wrap;gap:10px}.large{font-size:1.2rem;font-weight:700}.list{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.row h2{margin-bottom:5px}.empty,.loading{padding:34px;text-align:center;color:#726b63}.upload{display:flex;align-items:end;gap:14px;margin-bottom:18px}.upload label{flex:1}.upload-manager{display:grid;gap:16px;margin-bottom:24px}.upload-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.upload-heading h2{margin-bottom:5px;font-size:1.05rem}.upload-heading p{margin:0;font-size:.86rem}.patient-dropzone{display:grid;justify-items:center;gap:8px;padding:28px 18px;border:2px dashed #d4cbc0;border-radius:14px;color:#4d4741;background:#faf8f3;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.patient-dropzone:hover,.patient-dropzone.drag-over{border-color:#1fa070;background:#eef8f4}.patient-dropzone>svg{width:30px;height:30px;color:#1fa070}.patient-dropzone>span{color:#726b63;font-size:.76rem}.patient-upload-queue{display:grid;gap:9px}.patient-upload-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:11px;padding:12px;border:1px solid #e2dace;border-radius:12px;background:#fff}.patient-upload-item>svg{width:20px;height:20px;margin-top:2px;color:#1fa070}.patient-upload-item.failed{border-color:#fecaca;background:snow}.patient-upload-item.failed>svg,.patient-upload-item.failed small{color:#b42318}.patient-upload-item>div:nth-child(2){min-width:0;display:grid;gap:3px}.patient-upload-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.patient-upload-item span,.patient-upload-item small{color:#726b63;font-size:.74rem}.upload-item-actions{display:flex;gap:2px}.icon-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#4d4741;background:transparent;cursor:pointer}.icon-button:hover{background:#f5f0e7}.icon-button svg{width:17px;height:17px}.upload-actions{display:flex;justify-content:flex-end}.upload-actions .primary{gap:8px;min-width:140px}.upload-actions svg{width:17px;height:17px}.spin{animation:spin .8s linear infinite}.appointment-card>p{margin:7px 0}.appointment-instructions{margin-top:18px;border-top:1px solid #e2dace;padding-top:16px}.appointment-instructions p{line-height:1.6}.questionnaire{display:grid;gap:18px;max-width:760px}.checkbox{display:flex;align-items:center;gap:10px;font-weight:500}.checkbox input{width:18px;height:18px}.terms-checkbox{align-items:flex-start;line-height:1.45}.terms-checkbox input{margin-top:2px;flex:0 0 auto}.terms-checkbox a,.legal-page a{color:#087b59;font-weight:700;text-underline-offset:3px}.legal-page{width:min(100% - 32px,860px);margin:0 auto;padding:48px 0 64px;line-height:1.7}.legal-page h1{margin:8px 0;font-size:clamp(2rem,5vw,3rem);line-height:1.12}.legal-page section{margin-top:30px}.legal-page h2{margin-bottom:8px;font-size:1.2rem}.legal-page p{margin:0;color:#514b46}.legal-back{display:inline-block;margin-bottom:28px}.legal-callout{margin:28px 0;padding:16px 18px;border:1px solid #e0b866;border-radius:8px;background:#fff8e8;color:#5d471a}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.chat-panel{min-height:min(760px,calc(100vh - 112px));display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-header{min-height:60px;display:flex;align-items:center;gap:11px;padding:10px 16px;border-bottom:1px solid #e2dace;background:#fff}.care-team-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:#1fa070;font-size:.72rem;font-weight:800}.chat-header h1{margin:0;font-size:1rem}.live-status{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:#726b63;font-size:.72rem;white-space:nowrap}.live-status i{width:8px;height:8px;border-radius:50%;background:#1fa070;box-shadow:0 0 0 3px #1fa0701f}.messages{flex:1;min-height:340px;max-height:calc(100vh - 250px);display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:18px 20px;background:#faf8f3;scroll-behavior:smooth}.message-row{display:flex}.message-row.outbound{justify-content:flex-end}.bubble{max-width:min(72%,620px);padding:9px 12px 8px;border:1px solid #e2dace;border-radius:14px 14px 14px 4px;background:#fff;box-shadow:0 1px 2px #241f1c0a}.message-row.outbound .bubble{border-color:#c5e6d9;border-radius:14px 14px 4px;background:#e7f6f0}.bubble strong{color:#167b57;font-size:.72rem}.message-row.outbound .bubble strong{color:#116344}.bubble p{margin:4px 0 5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.bubble span{display:block;color:#726b63;font-size:.66rem;text-align:right}.chat-system-event{width:-moz-fit-content;width:fit-content;max-width:min(88%,520px);align-self:center;padding:6px 11px;border:1px solid #e2dace;border-radius:10px;color:#5f5851;background:#f3efe7;text-align:center}.chat-system-event p{display:inline;margin:0;font-size:.72rem;line-height:1.35}.chat-system-event time{margin-left:7px;color:#817970;font-size:.64rem;white-space:nowrap}.composer{display:grid;gap:7px;padding:10px 14px 12px;border-top:1px solid #e2dace;background:#fff}.composer-row{min-height:54px;display:flex;align-items:flex-end;gap:3px;padding:4px;border:1px solid #d4cbc0;border-radius:28px;background:#faf8f3;transition:border-color .15s ease,box-shadow .15s ease}.composer-row:focus-within{border-color:#6db99c;box-shadow:0 0 0 3px #1fa07024}.composer textarea{min-height:44px;max-height:112px;field-sizing:content;flex:1;resize:none;padding:11px 8px 9px;border:0;outline:0;background:transparent;line-height:1.4}.composer textarea:focus{outline:0}.attach-button{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:50%;color:#4d4741;background:transparent;cursor:pointer}.attach-button:hover{color:#167b57;background:#e9f3ee}.attach-button:disabled{opacity:.55;cursor:wait}.attach-button svg{width:21px;height:21px}.send-button{width:44px;height:44px;flex:0 0 auto;padding:0;border-radius:50%}.send-button svg{width:19px;height:19px}.send-button:disabled{color:#817970;background:#e4ded4;opacity:1;cursor:not-allowed}.sending-dot{width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.composer>p{margin:0 4px;color:#726b63;font-size:.7rem}.load-older-chat{align-self:center;margin-bottom:8px}.chat-event-card{width:min(76%,520px);padding:13px 15px;border:1px solid #d8d0c5;border-radius:14px;background:#fff;box-shadow:0 1px 3px #241f1c0d;text-align:left}.chat-event-card.care-team-origin{align-self:flex-start;border-radius:14px 14px 14px 4px}.chat-event-card.patient-origin{align-self:flex-end;border-radius:14px 14px 4px}.chat-event-card.assessment{border-color:#b8ddcf;background:#f2fbf7}.chat-event-card.appointment{border-color:#cbdbe8;background:#f5f9fc}.chat-event-card.care-plan{border-color:#dfcfaa;background:#fffaf0}.chat-event-card h3{margin:2px 0 5px;font-size:.94rem}.chat-event-card>p:not(.action-kicker){margin:0 0 11px;color:#5f5851;font-size:.76rem;line-height:1.4}.chat-event-card .secondary{display:inline-flex;padding:7px 11px;font-size:.74rem;text-decoration:none}.chat-event-card time{display:block;margin-top:9px;color:#817970;font-size:.66rem}@keyframes spin{to{transform:rotate(360deg)}}.assessment-overview{display:grid;grid-template-columns:120px minmax(220px,1fr) minmax(220px,1fr);gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid #e2dace;border-radius:14px;background:#e2dace}.assessment-overview>div{display:grid;gap:4px;padding:13px 16px;background:#fff}.assessment-overview span{color:#726b63;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.assessment-overview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.assessment-overview>div:first-child strong{color:#167b57;font-size:1.4rem}.assessment-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px}.assessment-list{display:grid;gap:7px}.assessment-list h2{margin:2px 6px 8px}.assessment-list h3{margin:16px 6px 4px;padding-top:14px;border-top:1px solid #e2dace;color:#726b63;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.assessment-list-empty{margin:0 6px;color:#726b63;font-size:.8rem}.assessment-list button{display:grid;gap:5px;width:100%;padding:13px;text-align:left;border:1px solid transparent;border-radius:11px;color:#241f1c;background:transparent;cursor:pointer}.assessment-list button:hover,.assessment-list button.selected{border-color:#b8ddcf;background:#e7f6f0}.assessment-list button span{font-weight:700}.assessment-list button small{color:#726b63;text-transform:capitalize}.assessment-selector{display:none;gap:6px;margin-bottom:12px;font-size:.86rem;font-weight:700}.assessment-selector select{width:100%;border:1px solid #d4cbc0;border-radius:12px;padding:10px 12px;font:inherit;background:#fff}.assessment-chat{min-height:590px;padding:0;overflow:visible}.ai-intake-conversation{display:flex;min-height:590px;flex-direction:column}.intake-feed{display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:18px 20px;background:#faf8f3}.intake-message{max-width:min(82%,680px);padding:12px 14px;border:1px solid #e2dace;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 1px 2px #29231c0a}.intake-message.patient{align-self:flex-end;border-color:#b8dfd0;border-radius:16px 16px 4px;background:#eaf7f1}.intake-message strong{display:block;margin-bottom:4px;color:#167b57;font-size:.72rem}.intake-message p{margin:0;white-space:pre-wrap;line-height:1.55}.intake-composer{position:sticky;bottom:0}.acknowledgement{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:.9rem;line-height:1.45}.acknowledgement input{width:18px;height:18px;margin-top:2px}.assessment-intro,.assessment-finished{max-width:600px;margin:0 auto;padding:54px 34px;text-align:center}.assessment-intro ul{display:inline-grid;gap:8px;margin:16px auto;padding-left:22px;text-align:left}.assessment-intro .eyebrow{margin-top:0}.assessment-finished p{line-height:1.6}.completion-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:50%;color:#fff;background:#1fa070;font-size:1.6rem}.assessment-chat-header{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 20px;padding:18px 22px 13px;border-bottom:1px solid #e2dace;background:#fff;border-radius:14px 14px 0 0}.assessment-chat-header .eyebrow{margin:0 0 4px}.assessment-chat-header h2{margin:0;font-size:1.15rem}.assessment-chat-header>span{color:#167b57;font-size:.82rem;font-weight:700}.assessment-purpose{max-width:70ch;margin:5px 0 0;color:#726b63;font-size:.84rem;line-height:1.45}.assessment-due{margin:5px 0 0;color:#4d4741;font-size:.75rem;font-weight:700}.progress-track{grid-column:1 / -1;margin-top:4px;height:7px;overflow:hidden;border-radius:999px;background:#e6ddce}.progress-track i{display:block;height:100%;border-radius:inherit;background:#1fa070;transition:width .2s ease}.quick-answer-panel{border-top:1px solid #e2dace;padding:10px 22px}.quick-question-list{display:grid;gap:14px;padding:12px 0}.quick-question-list fieldset{padding:0;border:0}.quick-question-list legend{margin-bottom:8px;font-size:.88rem;font-weight:650;line-height:1.4}.quick-question-list legend span{color:#726b63;font-size:.72rem;font-weight:500}.quick-question-list fieldset div{display:flex;flex-wrap:wrap;gap:7px}.quick-question-list fieldset button{padding:7px 12px;border:1px solid #d4cbc0;border-radius:999px;background:#fff;cursor:pointer}.quick-question-list fieldset button.answer-selected{border-color:#1fa070;color:#116344;background:#e7f6f0;box-shadow:inset 0 0 0 1px #1fa070}.confirm-answers{justify-self:start}.quick-question-list>p{margin:-5px 0 0;font-size:.78rem}.partial-toggle{justify-self:start;padding:2px 0;font-size:.8rem}.partial-submit{display:grid;gap:9px;padding:12px;border:1px solid #ead29b;border-radius:10px;background:#fbf3e0}.partial-submit .secondary{justify-self:start}.partial-submit p{margin:0;font-size:.76rem}.structured-assessment{padding:22px;background:#faf8f3}.structured-step{display:grid;gap:16px;max-width:960px;margin:0 auto}.structured-step h3{margin:0;font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;font-size:1.15rem}.structured-step ul{margin:0;padding-left:22px;line-height:1.7}.notice.subtle{border-color:#b8ddcf;color:#116344;background:#e7f6f0}.structured-step fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.structured-step legend{font-weight:700;line-height:1.4}.structured-options{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:620px){.structured-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.structured-options>button{position:relative;display:flex;align-items:center;width:100%;min-height:54px;padding:13px 46px 13px 16px;border:1.5px solid #ddd5c9;border-radius:14px;color:#241f1c;background:#fff;font-size:.95rem;font-weight:600;text-align:left;line-height:1.35;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.structured-options>button:hover:not(:disabled){border-color:#8fcdb6;background:#f7fbf9}.structured-options>button.answer-selected{border-color:#1fa070;color:#116344;background:#eaf7f1;box-shadow:inset 0 0 0 1px #1fa070}.structured-options>button:disabled{cursor:not-allowed;opacity:.5}.structured-options:not(.decline-options)>button.answer-selected:after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#1fa070;font-size:.7rem;font-weight:900}.checkbox-options label{display:flex;align-items:center;gap:13px;width:100%;min-height:54px;padding:12px 16px;border:1.5px solid #ddd5c9;border-radius:14px;background:#fff;color:#241f1c;font-size:.95rem;font-weight:500;text-align:left;line-height:1.35;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.decline-options>button{min-height:0;padding:8px 15px;border:1px solid #d4cbc0;border-radius:999px;background:#fff;color:#726b63;font-size:.84rem;font-weight:600}.decline-options>button:hover:not(:disabled){border-color:#b8ad9c;color:#4d4741;background:#fff}.decline-options>button.answer-selected{border-color:#1fa070;color:#116344;background:#e7f6f0;box-shadow:inset 0 0 0 1px #1fa070}.structured-section-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.structured-section-header p{margin:4px 0 0}.empty.compact{padding:24px}.structured-card-list{display:grid;gap:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.family-history-matrix-wrap{overflow-x:auto;border:1px solid #e2dace;border-radius:14px;background:#fff}.family-history-matrix-wrap:focus-visible{outline:3px solid rgba(31,160,112,.24);outline-offset:2px}.family-history-matrix{width:100%;min-width:610px;border-spacing:0;font-size:.88rem}.family-history-matrix th,.family-history-matrix td{padding:11px 10px;border-bottom:1px solid #eee8de;text-align:center}.family-history-matrix thead th{position:sticky;top:0;z-index:1;color:#4d4741;background:#f7f3ec;font-size:.78rem}.family-history-matrix th:first-child{width:38%;min-width:190px;text-align:left}.family-history-matrix tbody th{color:#241f1c;font-weight:650}.family-history-matrix tbody th span,.family-history-matrix tbody th small{display:block}.family-history-matrix tbody th small{margin-top:3px;color:#8a5a16;font-size:.7rem;font-weight:600}.family-history-matrix tbody tr:last-child th,.family-history-matrix tbody tr:last-child td{border-bottom:0}.family-history-matrix tbody tr:has(input:checked){background:#f1faf6}.family-history-matrix td label{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}.family-history-matrix input{width:22px;height:22px;accent-color:#167b57;cursor:pointer}.family-additional-information{margin-top:2px}.structured-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #e2dace;border-radius:14px;background:#fff}.structured-entry label,.structured-step label{display:grid;gap:6px;color:#241f1c;font-size:.86rem;font-weight:700}.structured-entry input,.structured-entry select,.structured-entry textarea,.structured-step textarea{width:100%;border:1px solid #d4cbc0;border-radius:12px;padding:10px 12px;font:inherit;font-weight:500;background:#fff}.structured-entry .wide{grid-column:1 / -1}.legacy-checkins{display:grid;gap:14px;margin-bottom:24px}.legacy-checkins>h3{margin:0}.question-group{display:grid;gap:12px;margin:0;padding:14px;border:1px solid #e2dace;border-radius:12px}.question-group>legend{padding:0 6px;font-weight:700}.remove-entry{justify-self:start}.structured-review{padding:14px 16px;border:1px solid #b8ddcf;border-radius:14px;background:#e7f6f0}.structured-review p{margin:4px 0 0;color:#116344}.generic-field{display:grid;gap:14px;margin:0;padding:20px 22px;border:1px solid #e7e0d4;border-radius:16px;background:#fff;box-shadow:0 1px 3px #241f1c08}.generic-field>legend{float:left;width:100%;margin-bottom:2px;font-family:Plus Jakarta Sans,Segoe UI,Roboto,system-ui,sans-serif;font-size:1.04rem;font-weight:700;line-height:1.4;color:#241f1c}.generic-field>legend span{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;color:#7a736a;background:#f1ece2;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.generic-field>.muted{margin:-4px 0 2px;font-size:.88rem;line-height:1.5}.generic-field input:not([type=checkbox]),.generic-field textarea{width:100%;border:1px solid #d4cbc0;border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.inline-field span{color:#726b63;font-weight:600}.generic-field .structured-options:not(.decline-options){display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:620px){.generic-field .structured-options:not(.decline-options){grid-template-columns:repeat(2,minmax(0,1fr))}}.generic-field .structured-options:not(.decline-options)>button{position:relative;display:flex;align-items:center;width:100%;min-height:56px;padding:13px 46px 13px 16px;border:1.5px solid #ddd5c9;border-radius:14px;color:#241f1c;background:#fff;font-size:.95rem;font-weight:600;text-align:left;line-height:1.35;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.generic-field .structured-options:not(.decline-options)>button:hover{border-color:#8fcdb6;background:#f7fbf9}.generic-field .structured-options:not(.decline-options)>button.answer-selected{border-color:#1fa070;color:#116344;background:#eaf7f1;box-shadow:inset 0 0 0 1px #1fa070}.generic-field .structured-options:not(.decline-options)>button.answer-selected:after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#1fa070;font-size:.7rem;font-weight:900}.checkbox-options label{display:flex;align-items:center;gap:13px;width:100%;min-height:56px;padding:12px 16px;border:1.5px solid #ddd5c9;border-radius:14px;background:#fff;color:#241f1c;font-size:.95rem;font-weight:500;text-align:left;line-height:1.35;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.checkbox-options label:hover{border-color:#8fcdb6;background:#f7fbf9}.checkbox-options input[type=checkbox]{flex:0 0 auto;width:22px;height:22px;accent-color:#1fa070;cursor:pointer}.checkbox-options label:has(input:checked){border-color:#1fa070;background:#eaf7f1;box-shadow:inset 0 0 0 1px #1fa070;color:#116344;font-weight:600}.decline-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;padding-top:13px;border-top:1px dashed #e2dace}.decline-options button{padding:8px 15px;border:1px solid #d4cbc0;border-radius:999px;background:#fff;color:#726b63;font-size:.84rem;font-weight:600;cursor:pointer}.decline-options button:hover{border-color:#b8ad9c;color:#4d4741}.decline-options button.answer-selected{border-color:#1fa070;color:#116344;background:#e7f6f0;box-shadow:inset 0 0 0 1px #1fa070}.structured-review-list{display:grid;gap:12px;margin-top:14px;text-align:left}.structured-review-block{display:grid;gap:8px;padding:14px;border:1px solid #e2dace;border-radius:12px;background:#fff}.structured-review-block h4{margin:0;font-size:.92rem}.structured-review-block p{display:grid;gap:3px;margin:0;font-size:.84rem}.structured-review-block span{color:#726b63}.submitted-summary{display:grid;gap:10px;justify-items:center;margin-top:12px}.structured-footer{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid #e2dace;background:#fff;border-radius:0 0 14px 14px;box-shadow:0 -6px 16px #241f1c0f}.structured-footer.simple-submit{justify-content:flex-end}.structured-footer .primary,.structured-footer .secondary{min-height:46px}.single-panel-assessment .structured-step{gap:18px}.single-panel-assessment .assessment-purpose{font-size:.9rem}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account-section{margin-top:14px}.account-details{display:grid;gap:12px;margin:18px 0}.account-details div{display:grid;gap:3px}.account-details dt{color:#726b63;font-size:.78rem;font-weight:700}.account-details dd{margin:0;overflow-wrap:anywhere}.compact-form{margin-top:12px}.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(24px,calc((100% - 1248px)/2 + 24px));border-top:1px solid #e2dace;background:#fff;color:#726b63;font-size:.75rem}.footer-clinic{display:flex;flex-direction:column;gap:2px;min-width:0}.footer-clinic strong{color:#241f1c;font-size:.82rem}.footer-assurance{color:#5f6c66;line-height:1.4}.footer-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-style:normal;line-height:1.45}.footer-meta>*+*:before{content:"·";margin-right:8px;color:#c9bfae}.footer-meta a{color:#1fa070;text-decoration:none}.footer-meta a:hover{text-decoration:underline}.powered-by{display:inline-flex;align-items:center;gap:8px;color:#726b63;text-decoration:none;white-space:nowrap}.powered-by img{width:auto;height:20px}.loading-list{display:grid;gap:12px}.skeleton-card{display:grid;gap:10px;padding:18px;border:1px solid #e2dace;border-radius:14px;background:#fff}.skeleton-line{height:12px;border-radius:999px;background:linear-gradient(90deg,#efe9dd 25%,#f6f2ea 37%,#efe9dd 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}.skeleton-line-sm{width:32%;height:10px}.skeleton-line-lg{width:68%;height:16px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none}}@media(max-width:760px){.login-page{align-items:start;padding:18px 14px}.login-card{padding:28px 22px}.patient-login-card h1{font-size:1.75rem}.portal-sidebar{position:fixed;left:0;transform:translate(-100%);width:min(86vw,290px);flex-basis:auto;box-shadow:16px 0 44px #241f1c29;transition:transform .18s ease}.portal-sidebar.open{transform:translate(0)}.sidebar-close{display:grid}.sidebar-scrim{position:fixed;inset:0;display:block;border:0;background:#241f1c57;z-index:20}.mobile-topbar{display:flex}.workspace{padding:22px 16px 44px}.stat-grid{grid-template-columns:repeat(2,1fr)}.upload,.row{align-items:stretch;flex-direction:column}.upload-heading{align-items:start}.patient-upload-item{grid-template-columns:22px minmax(0,1fr)}.upload-item-actions{grid-column:2;justify-content:flex-end}.upload-actions .primary{width:100%;min-height:48px}.row .secondary{width:100%}.chat-panel{min-height:calc(100vh - 104px)}.messages{max-height:none;padding:14px 12px}.bubble{max-width:88%}.chat-event-card{width:min(88%,520px)}.live-status{font-size:0}.live-status:after{content:"Live";font-size:.7rem}.composer{padding:9px 10px 11px}.chat-system-event{max-width:94%}.chat-system-event time{display:block;margin:3px 0 0}.composer>p{font-size:.66rem}.assessment-overview{grid-template-columns:78px 1fr}.assessment-overview>div:last-child{display:none}.assessment-layout{grid-template-columns:1fr}.assessment-selector{display:grid}.assessment-list{display:none}.assessment-chat{min-height:0}.ai-intake-conversation{min-height:calc(100dvh - 180px)}.intake-feed{padding:14px 12px}.intake-message{max-width:92%}.assessment-chat-header{padding:14px 16px 11px}.assessment-chat-header h2{font-size:1.05rem}.structured-assessment{padding:16px}.structured-section-header,.structured-footer{align-items:stretch;flex-direction:column}.structured-footer{padding:12px 14px;gap:10px}.structured-footer .primary,.structured-footer .secondary{width:100%;min-height:50px}.quick-answer-panel{padding:8px 16px}.structured-entry{grid-template-columns:1fr}.structured-entry .wide{grid-column:auto}.account-grid{grid-template-columns:1fr}.portal-footer{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
