/* Habitus product UI: quiet surfaces, clear hierarchy, deliberate states. */
:root{--bg:#f5f6f3;--surface:#fff;--ink:#202c30;--muted:#5e6d71;--line:#dce3df;--green:#244b43;--green-soft:#eaf2ed;--accent:#d97b57;--warm:#fbefe6;--danger:#a32929;--shadow:0 8px 30px #233c3210;--radius:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}button:disabled{opacity:.48;cursor:not-allowed}[hidden],.hidden{display:none!important}:focus-visible{outline:3px solid #427d6b;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(32px,4.2vw,52px);font-weight:550;line-height:1.12;letter-spacing:-.045em}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:600}h3{font-size:17px;letter-spacing:-.015em}.lede{font-size:16px;color:var(--muted);max-width:54ch;margin-top:18px}.hint{color:var(--muted);font-size:13px;line-height:1.6;margin:10px 0 18px}.eyebrow{display:block;color:var(--green);font-size:11px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}.brand{display:inline-flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-weight:650;font-size:23px;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:var(--green);font-family:Georgia,serif;font-size:25px;font-weight:400}.brand small{font-size:10px;letter-spacing:.06em;color:var(--muted);font-weight:500}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:100px;padding:5px 11px;color:var(--muted);font-size:11px;font-weight:550;white-space:nowrap}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:12px}.app-header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1160px;margin:auto;padding:0 28px;border-bottom:1px solid var(--line)}.header-meta{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:11px;background:var(--green);color:#fff;font-size:14px;font-weight:600;line-height:1.45;text-decoration:none;transition:background .16s,box-shadow .16s;white-space:normal}.btn:hover:not(:disabled){background:#163b32;box-shadow:0 4px 10px #1d3d3220}.btn.ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn.ghost:hover:not(:disabled){background:var(--bg)}.btn.text{color:var(--green);background:transparent;padding:10px 6px}.btn.text:hover:not(:disabled){background:var(--green-soft);box-shadow:none}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);margin-bottom:20px;min-width:0}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:20px}.privacy{display:flex;gap:11px;align-items:start;padding:16px 18px;background:var(--green-soft);border:1px solid #d7e5db;border-radius:12px;font-size:12.5px;line-height:1.65;color:#365a4d}.dot{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--green);margin-top:7px}.err{padding:14px 18px;background:#fff0ee;border:1px solid #ecc4bd;border-radius:12px;color:var(--danger);font-size:14px;margin-bottom:20px}.patient .err{display:none}.patient .err.on{display:block}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #c9d4cd;border-radius:10px;background:#fff;color:var(--ink);min-height:48px;min-width:0}input::placeholder,textarea::placeholder{color:#78857e}label{display:block;font-size:13px;font-weight:550}label input,label select,label textarea{margin-top:7px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green)}
.patient-layout{max-width:1120px;margin:50px auto 0;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:68px;padding:0 28px}.patient-story{padding-top:18px;align-self:start;position:sticky;top:32px}.patient-story h1{max-width:9ch}.patient-story .lede{max-width:32ch}.story-note{border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:13px;color:var(--muted);max-width:34ch}.story-note strong{color:var(--ink);display:block;margin-bottom:5px}.journey{display:flex;list-style:none;margin:0 0 24px;padding:0;gap:6px;counter-reset:journey}.journey li{flex:1;position:relative;font-size:11px;color:var(--muted);padding-top:12px;border-top:3px solid #dce3de}.journey li[aria-current=step]{border-color:var(--green);color:var(--green);font-weight:650}.journey li.complete{border-color:#9ab7a4}.journey li b{display:inline;font-weight:inherit;margin-right:5px}.step{display:none}.step.on{display:block;animation:arrive .25s ease}.intro-art{margin:-30px -30px 28px;padding:24px;background:#edf1e8;border-radius:19px 19px 0 0;min-height:154px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.intro-art svg{width:100%;height:135px;color:#53745f}.intro-art .art-label{position:absolute;bottom:14px;left:18px;padding:4px 9px;background:#ffffffc9;border-radius:6px;font-size:10px;letter-spacing:.03em}.intro-points{list-style:none;padding:0;margin:24px 0;display:grid;gap:18px;counter-reset:item}.intro-points li{display:grid;grid-template-columns:30px 1fr;column-gap:13px;font-size:13px;color:var(--muted)}.intro-points li::before{counter-increment:item;content:counter(item);width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:12px}.intro-points strong{display:block;color:var(--ink);font-size:14px;font-weight:600;margin-bottom:3px}.full-width{width:100%}.patient-footer{max-width:1120px;margin:40px auto 24px;padding:22px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.patient-footer p{max-width:65ch}.support-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:20px}.support-note summary{cursor:pointer;color:var(--green);font-weight:600}.support-note p{margin:10px 0}.subtle{color:var(--muted);font-size:12px}
.identity-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.identity-symbol{width:48px;height:48px;border:1px solid #c7d9ce;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.identity-symbol svg{width:25px;height:25px}.identity-intro{color:var(--muted);font-size:14px;line-height:1.65;margin:12px 0 20px;max-width:60ch}.identity-state{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:15px 17px;font-size:13px;margin:20px 0}.identity-state[data-state=pending]{background:#fff7e8;border-color:#ead7ad;color:#785c20}.identity-state[data-state=approved]{background:var(--green-soft);border-color:#c5dbc9;color:var(--green)}.identity-state[data-state=error]{background:#fff0ee;border-color:#ecc4bd;color:var(--danger)}.identity-actions{display:grid;gap:10px}.identity-register{padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.identity-register label{margin:16px 0}.identity-register .btn{width:100%}.identity-data{margin-top:22px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.identity-data summary{cursor:pointer;font-weight:550;color:var(--green)}.identity-data p{margin-top:10px}.identity-lock{margin-top:15px;font-size:11px;color:var(--muted);text-align:center}.question-top{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:12px}.question-top .eyebrow{margin:0}progress{display:block;appearance:none;height:4px;border:0;width:100%;background:#e7ede8;border-radius:10px;overflow:hidden;margin-bottom:25px}progress::-webkit-progress-bar{background:#e7ede8}progress::-webkit-progress-value{background:#4d7860;border-radius:10px}progress::-moz-progress-bar{background:#4d7860}.q{padding:22px 0;border-bottom:1px solid #e8ede9;scroll-margin-top:30px}.q:last-child{border-bottom:0}.q .main{font-size:14px;line-height:1.55;font-weight:550;margin-bottom:10px}.q .help{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 12px}.seg,.chips{display:flex;gap:8px;flex-wrap:wrap}.seg button,.chips button{min-height:44px;background:#fff;border:1px solid #cfd8d1;border-radius:9px;padding:10px 18px;font-size:13px;color:var(--ink);text-align:left}.seg button{min-width:95px;text-align:center}.seg button[aria-pressed=true],.chips button[aria-pressed=true]{background:var(--green-soft);color:#1d4936;border-color:#49755c;box-shadow:inset 0 0 0 1px #49755c}.field-error{font-size:12px;color:var(--danger);margin-top:8px}.field-error:empty{display:none}.q.missing{padding:18px;border:1px solid #e4b2a9;border-radius:12px;background:#fff8f5;margin:12px -18px}.form-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.howto{list-style:none;padding:0;counter-reset:setup;display:grid;gap:18px;margin:22px 0 0}.howto li{counter-increment:setup;position:relative;padding-left:38px;color:var(--muted);font-size:13px;line-height:1.6}.howto li::before{content:counter(setup);position:absolute;left:0;top:0;width:25px;height:25px;background:var(--green-soft);color:var(--green);border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:600}.howto b{color:var(--ink)}.cam{position:relative;border-radius:16px;overflow:hidden;background:#182b26;aspect-ratio:3/4;max-width:360px;margin:22px auto 16px}.cam video{width:100%;height:100%;object-fit:cover;display:block}.cam .guide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(180deg,#2b514425,transparent)}.cam .guide div{width:44%;height:84%;border:1.5px dashed #c3d8c87a;border-radius:46% 46% 40% 40%}.cam .bar{position:absolute;bottom:12px;left:12px;right:12px;padding:12px;border:1px solid #66836b66;border-radius:10px;background:#142a23e6;color:#f5f8f3;font-size:12px;text-align:center;line-height:1.5}.cam .count{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:96px;color:#fff;text-shadow:0 2px 24px #0008}.cam .count.on{display:flex}.capture-controls{display:grid;gap:10px}.checks{list-style:none;padding:0;margin:16px 0;color:var(--muted);font-size:13px}.checks li{display:flex;gap:10px;margin-bottom:9px}.checks .tick{display:grid;place-items:center;flex:none;width:21px;height:21px;border:1px solid var(--line);border-radius:50%;color:transparent}.checks li.ok{color:var(--green)}.checks li.ok .tick{background:var(--green);color:#fff}.checks .hint{display:block;font-size:12px;margin:4px 0}.progress{height:5px;background:#e7ede8;margin:14px 0}.progress i{display:block;height:100%;background:var(--green)}.done{padding:12px 15px;margin:10px 0;background:var(--green-soft);border:1px solid #c9dccd;border-radius:10px;font-size:13px;color:var(--green)}.outcome{background:var(--green-soft);padding:22px;border:1px solid #c9dccd;border-radius:14px;line-height:1.65;font-size:14px}.outcome.review,.outcome.review_first,.outcome.unlikely{background:#fff7e8;border-color:#ead7ad}.outcome.decline,.outcome.not_suitable,.outcome.incomplete{background:#fff0ee;border-color:#ecc4bd}.outcome h3{margin-bottom:8px}.completion-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:26px;margin-bottom:22px}.result-reference{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:16px 0}.reasons{padding-left:20px;color:var(--muted);font-size:13px}.reasons cite{display:block;font-size:11px;font-style:normal;margin:3px 0 10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:20px}.stat{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:26px;font-weight:600;letter-spacing:-.04em}.stat .u{font-size:12px;font-weight:400;margin-left:5px}
.workspace{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.sidebar .brand{margin:0 12px 32px}.sidebar-label{font-size:10px;letter-spacing:.13em;color:#708079;text-transform:uppercase;margin:0 13px 12px}.workspace-nav{display:grid;gap:6px}.workspace-nav button{display:flex;gap:12px;align-items:center;text-align:left;background:transparent;border:0;min-height:46px;padding:12px;border-radius:10px;color:var(--muted);font-size:13px}.workspace-nav button[aria-selected=true]{color:var(--green);background:var(--green-soft);font-weight:600}.nav-icon{font-size:17px;width:23px;text-align:center}.nav-count{margin-left:auto;background:#e1ebe3;padding:0 7px;border-radius:5px;font-size:11px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.workspace-main{padding:0 42px;min-width:0;max-width:1320px;width:100%;margin:auto;align-self:start}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:15px;height:84px;border-bottom:1px solid var(--line);font-size:13px}.workspace-top strong{font-weight:550}.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:36px 0 26px}.workspace-heading h1{font-size:34px}.workspace-heading p{color:var(--muted);font-size:13px;margin-top:8px}.workspace-heading .eyebrow{margin-bottom:10px}.workspace-body{max-width:1000px;padding-bottom:40px}.workspace-panel>.card{box-shadow:none}.consultation-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:20px;align-items:start}.consultation-layout .card{padding:24px}.consultation-layout #identityCard{grid-column:1/-1}.consultation-layout #questions{grid-row:span 2}.consultation-layout #assessmentCard{grid-column:1/-1}.section-heading{display:flex;align-items:center;gap:11px}.section-number{display:grid;place-items:center;width:25px;height:25px;background:var(--green-soft);color:var(--green);border-radius:7px;font-size:11px}.workspace .card h2{font-size:21px}.workspace .identity-actions{grid-template-columns:1fr 1fr}.workspace .identity-intro{max-width:70ch}.workspace .identity-data{max-width:75ch}.workspace .identity-register{max-width:500px}.workspace .cam{margin-top:15px}.workspace-footer{border-top:1px solid var(--line);padding:22px 0;font-size:11px;color:var(--muted)}.overview-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.overview-stat{background:#fff;border:1px solid var(--line);padding:21px 24px;border-radius:14px;display:flex;flex-direction:column;gap:7px}.overview-stat span{font-size:12px;color:var(--muted)}.overview-stat strong{font-weight:550;font-size:30px;line-height:1;letter-spacing:-.04em}.overview-stat:first-child{background:var(--green);color:#fff;border-color:var(--green)}.overview-stat:first-child span{color:#d0e0d6}.queue-toolbar{display:flex;gap:12px;align-items:center;margin:22px 0}.queue-toolbar input{flex:1}.queue-toolbar select{width:auto;max-width:175px}.invitation{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--bg);padding:13px 16px;border-radius:11px;margin:20px 0}.invitation a{font-size:12px;min-width:0;flex:1;overflow-wrap:anywhere}.invitation .btn{font-size:12px;padding:8px 12px;min-height:38px;flex:none}.queue-item{border:1px solid var(--line);border-radius:12px;margin-top:12px;background:#fff;overflow:hidden}.queue-item summary{padding:18px;display:flex;gap:13px;align-items:center;cursor:pointer;list-style:none}.queue-item summary::-webkit-details-marker{display:none}.avatar{width:36px;height:36px;border-radius:11px;background:#edf0ea;display:grid;place-items:center;color:var(--green);font-size:12px;font-weight:650;flex:none}.patient-name{font-size:14px;font-weight:600;overflow-wrap:anywhere}.patient-contact{font-size:12px;color:var(--muted);font-weight:400}.patient-summary{flex:1;min-width:0}.status-pill{border-radius:6px;padding:4px 8px;font-size:10px;font-weight:650;letter-spacing:.02em;background:#f2f3f0;color:var(--muted);white-space:nowrap}.status-pill.pending{background:#fbefcf;color:#77591c}.status-pill.approved{background:#e9f2e9;color:#346247}.status-pill.rejected,.status-pill.revoked{background:#f9eae5;color:#933f34}.queue-review{border-top:1px solid var(--line);padding:22px;display:grid;gap:17px}.queue-review .hint{margin:0}.review-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.queue-review .decision-note{background:var(--bg);border-radius:9px;padding:13px;font-size:12px;color:var(--muted)}.empty-state{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px;background:#fafbf9;border:1px dashed var(--line);border-radius:12px;margin:18px 0}.empty-state strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid label{margin:12px 0}.settings-section{padding:24px 0;border-bottom:1px solid var(--line)}.settings-section:first-child{padding-top:0}.settings-section:last-child{border-bottom:0}.settings-section h3{margin-bottom:8px}.inline-status{font-size:12px;color:var(--green);margin:12px 0;min-height:18px}.panel-heading{margin-bottom:26px}.panel-heading p{color:var(--muted);font-size:14px;margin-top:8px}.settings-advanced{margin-top:18px;color:var(--muted);font-size:13px}.settings-advanced summary{cursor:pointer;font-weight:600}.settings-advanced>div{margin-top:14px}
.card-head{flex-wrap:wrap}.patient-contact{overflow-wrap:anywhere}#pharmacyName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-meta{min-width:0}.staff-access{max-width:460px;margin:80px auto;padding:0 22px}.staff-access>.brand{margin-bottom:32px}.staff-access h1{font-size:34px}.staff-access .card{margin:0 0 20px}.staff-access .hint{margin:18px 0 24px}.staff-access .inline-status{min-height:20px;margin:15px 0}.patient noscript .err{display:block}
@keyframes arrive{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1450px){.workspace-main{padding:0 58px}.patient-layout{margin-top:70px}}
@media(max-width:1100px){.workspace{grid-template-columns:195px 1fr}.sidebar{padding:25px 12px}.workspace-main{padding:0 26px}.consultation-layout{grid-template-columns:1fr}.consultation-layout #questions{grid-row:auto}.workspace .identity-actions{grid-template-columns:1fr}.patient-layout{gap:38px}.patient-story h1{font-size:42px}}
@media(max-width:760px){.app-header{height:70px;padding:0 20px}.header-meta .badge{display:none}.patient-layout{grid-template-columns:1fr;gap:24px;margin:28px auto 0;padding:0 18px;max-width:580px}.patient-story{position:static;padding:0}.patient-story h1{font-size:34px;max-width:17ch}.patient-story .lede{max-width:100%;margin-top:10px;font-size:14px}.story-note{display:none}.patient-footer{margin-top:26px;padding:20px;flex-direction:column;gap:10px}.card{padding:24px;border-radius:16px}.intro-art{margin:-24px -24px 24px;border-radius:15px 15px 0 0}.journey{margin-bottom:20px}.workspace{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:17px 18px 10px}.sidebar .brand{margin:0 0 16px}.sidebar-label,.sidebar-bottom{display:none}.workspace-nav{display:flex;gap:5px}.workspace-nav button{flex:1;justify-content:center;padding:10px 5px;font-size:12px;min-height:44px}.nav-icon{display:none}.workspace-main{padding:0 18px}.workspace-top{height:60px;font-size:12px}.workspace-top .badge{font-size:10px}.workspace-heading{margin:26px 0 24px;align-items:start}.workspace-heading h1{font-size:29px}.workspace-heading>.btn{padding:10px;min-height:42px;font-size:11px}.overview-strip{gap:8px}.overview-stat{padding:16px 12px}.overview-stat span{font-size:10px}.overview-stat strong{font-size:25px}.settings-grid,.review-fields{grid-template-columns:1fr}.queue-toolbar{flex-wrap:wrap}.queue-toolbar input{flex-basis:100%}.queue-toolbar select{max-width:none;flex:1}.invitation{align-items:start}.question-top{gap:8px;font-size:10px}.question-top .eyebrow{font-size:10px;letter-spacing:.08em}.queue-item summary{padding:14px;gap:10px}.queue-review{padding:18px}.patient-contact{font-size:11px}.status-pill{font-size:9px}.workspace .card{padding:22px}.consultation-layout{gap:0}}
@media(max-width:380px){.journey li{font-size:10px}.journey li b{display:block}.card,.workspace .card{padding:18px}.intro-art{margin:-18px -18px 20px}.btn{padding:12px 14px}.brand{font-size:21px}.header-meta{font-size:10px}.workspace-nav button{font-size:11px}.nav-count{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
