/* MGN Discharge and Transfer Planner — visual layer v5. Aptos, semantic colour, quiet layers. */
:root{
  color-scheme:light;
  --teal-900:#042a25;--teal-800:#063b34;--teal-700:#075a4b;--teal-600:#0a6e5c;--teal-500:#12836d;--teal-300:#9adfd4;--teal-100:#dff1ec;--teal-50:#f0f7f5;
  --jade:#2ba889;--jade-100:#e2f3ea;--jade-50:#f1f8f4;
  --aqua:#1f7c8c;--aqua-100:#e0f0f3;--aqua-50:#f1f8f9;
  --violet:#7357a6;--violet-100:#ebe4f3;--violet-50:#f6f2fa;
  --amber:#4f6d8f;--amber-100:#e3eaf3;--amber-50:#eef2f7;
  --crimson:#bf4646;--crimson-100:#f9e3e3;--crimson-50:#fdf2f2;
  --slate:#5b6b7c;--slate-100:#e9eef3;--slate-50:#f4f6f9;
  --ink:#0e1215;--ink-2:#232b32;--ink-3:#3f4a54;--ink-4:#6a7681;--ink-5:#aeb7bf;
  --line:#e5e9ec;--line-2:#d7dee3;--grey-50:#f9fafb;--grey-100:#f2f4f6;
  --r:8px;--r-sm:6px;--field-h:42px;--bar-h:62px;
  --ring:0 0 0 3px rgba(7,90,75,.14);
  --spectrum:linear-gradient(90deg,#9adfd4 0%,#075a4b 52%,#7357a6 100%);
  --font:Aptos,"Aptos Display","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--font);
}
*,*::before,*::after{box-sizing:border-box}
html{background:#fff;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.2;color:var(--ink);letter-spacing:-.012em}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--aqua-100)}
.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}
input[type=number],input[type=date],input[type=tel]{font-variant-numeric:tabular-nums}
*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}

/* Fields */
label{display:grid;gap:7px;color:var(--ink-2);font-size:.8125rem;font-weight:600;letter-spacing:.006em}
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;min-height:var(--field-h);padding:9px 13px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink);font-size:.9375rem;font-weight:400;letter-spacing:.002em;outline:none;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#7f8b96;font-weight:400}
input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#c4ccd3}
input:focus,select:focus,textarea:focus{border-color:var(--teal-500);box-shadow:var(--ring)}
textarea{min-height:92px;resize:vertical;line-height:1.5}
.compact-textarea{min-height:68px}
select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366737f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
select:has(option[value=""]:checked){color:#7f8b96}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
input[type=checkbox],input[type=radio]{width:17px;height:17px;min-height:17px;margin:0;padding:0;flex:0 0 auto;accent-color:var(--teal-700);cursor:pointer}
.inline-fields{display:flex;gap:12px;align-items:center}
.unit-field{position:relative;flex:1 1 0;min-width:0}
.unit-field input{padding-right:44px}
.unit-field .unit{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:.8125rem;pointer-events:none}

/* Buttons */
.primary-button,.secondary-button,.ghost-button,.icon-button,.filter-button,.problem-prompts button,.prompt-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;border-radius:var(--r);font-size:.875rem;font-weight:500;letter-spacing:.002em;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.primary-button{position:relative;overflow:hidden;color:#fff;background:var(--teal-700)}
.primary-button::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--spectrum);opacity:.9}
.primary-button:hover{background:var(--teal-800)}
.primary-button.with-arrow::after{content:"→";font-weight:400;opacity:.85}
.secondary-button,.problem-prompts button,.prompt-actions button{color:var(--ink-2);background:#fff;border:1px solid var(--line-2)}
.secondary-button:hover,.problem-prompts button:hover,.prompt-actions button:hover{border-color:#b9c2ca;color:var(--ink)}
.ghost-button{color:var(--ink-2);padding:8px 12px}.ghost-button:hover{color:var(--ink);background:var(--grey-100)}
.icon-button{width:40px;min-height:40px;padding:0;color:var(--ink-3);border-radius:var(--r);font-size:1.05rem}.icon-button:hover{background:var(--grey-100);color:var(--ink)}
:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}
.compact-button,.field-action-button{min-height:36px;padding:7px 14px;font-size:.8125rem}
.field-action-button{justify-self:start;color:var(--teal-700);border-color:var(--line-2);background:#fff}
.field-action-button:hover{border-color:var(--teal-500)}

/* Landing page — mobile first */
.landing{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr;background:#f7f8f6}
.landing-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;gap:44px;padding:28px 24px 40px;color:#fff;background:#063b34;isolation:isolate}
.landing-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(48% 42% at 82% 12%,rgba(154,223,212,.28),transparent 70%),
  radial-gradient(52% 48% at 8% 92%,rgba(43,168,137,.30),transparent 70%),
  radial-gradient(34% 30% at 70% 78%,rgba(115,87,166,.32),transparent 70%),
  linear-gradient(160deg,#075a4b 0%,#063b34 48%,#042a25 100%)}
.landing-hero::after{content:"";position:absolute;z-index:-1;right:-14%;top:-22%;width:64%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(154,223,212,.18);background:radial-gradient(circle at 40% 40%,rgba(154,223,212,.09),transparent 62%);box-shadow:inset 0 0 0 40px rgba(255,255,255,.015)}
.landing-brand{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:600;letter-spacing:.015em;color:rgba(255,255,255,.95)}
.landing-brand img{width:36px;height:36px;border-radius:50%;object-fit:cover;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.landing-copy{max-width:36rem}
.landing-eyebrow{margin:0 0 14px;color:#9adfd4;font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.landing-copy h1{color:#fff;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:600;letter-spacing:-.022em;line-height:1.08;text-wrap:balance}
.landing-sub{margin:12px 0 0;color:rgba(255,255,255,.94);font-size:1rem;font-weight:400}
.landing-message{margin:34px 0 0;color:#fff;font-size:clamp(1.25rem,2.6vw,1.625rem);font-weight:400;letter-spacing:-.012em;line-height:1.25}
.landing-support{margin:30px 0 0;max-width:34rem;color:rgba(255,255,255,.92);font-size:.9375rem;line-height:1.55}
.landing-author{display:grid;gap:2px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(154,223,212,.22);font-size:1rem;color:rgba(255,255,255,.92);line-height:1.5}
.landing-author .author-label{margin-bottom:4px;color:#9adfd4;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.landing-author strong{color:#fff;font-size:1.0625rem;font-weight:600;letter-spacing:-.008em}
.landing-author .author-date{margin-top:6px;color:rgba(255,255,255,.75);font-size:.8125rem}
.landing-entry{display:flex;align-items:flex-start;justify-content:center;padding:36px 24px 56px}
.password-card{width:min(100%,400px);padding:0}
.password-card h2{margin-bottom:8px;font-size:1.375rem;font-weight:600;letter-spacing:-.018em}
.password-card .byline{margin-bottom:26px;font-size:.9375rem;color:var(--ink-2)}
.password-card label{margin-bottom:16px}
.password-card .primary-button{width:100%;min-height:46px;margin-top:6px;font-size:.9375rem}
.demo-button{width:100%;margin-top:10px;min-height:42px;color:var(--teal-700);font-weight:500}
.demo-button:hover{background:var(--teal-50)}
.eyebrow{margin:0;color:var(--teal-700);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.password-error,.safety-error{margin:0;color:var(--crimson);font-size:.875rem;font-weight:500}
.password-error:not(:empty){margin-top:12px}
.safety-error{display:flex;align-items:flex-start;gap:9px;margin-top:8px;padding:11px 14px;border-radius:var(--r);background:var(--crimson-50);line-height:1.45}
.safety-error::before{content:"";width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--crimson);flex:0 0 auto}
@media(min-width:720px){.landing-hero{padding:40px 48px 52px}.landing-entry{padding:48px}}
@media(min-width:960px){.landing{grid-template-columns:58fr 42fr}.landing-hero{min-height:100dvh;padding:44px 56px 56px;gap:60px}.landing-entry{padding:140px 48px 56px}.password-card{width:min(100%,380px)}}
@media(min-width:1400px){.landing-hero{padding:52px 80px 72px}.landing-entry{padding-top:148px}.landing-copy{max-width:40rem}}

/* Header */
.app-bar{position:sticky;top:0;z-index:40;height:var(--bar-h);display:flex;align-items:center;gap:24px;padding:0 40px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.app-bar-brand{display:flex;align-items:center;gap:12px;min-width:0}
.app-bar-mark{width:34px;height:34px;flex:0 0 auto;border-radius:50%;overflow:hidden}
.app-bar-mark img{width:100%;height:100%;object-fit:cover;display:block}
.app-bar-titles{line-height:1.15}
.app-bar-titles span{display:none}
.app-bar-titles strong{display:block;font-size:1.0625rem;font-weight:600;letter-spacing:-.014em;white-space:nowrap}
.app-bar-titles span.sub{display:block;color:var(--ink-3);font-size:.8125rem;font-weight:400;margin-top:2px;letter-spacing:.005em}
.app-bar-tagline{display:none}
.app-bar-spacer{flex:1 1 auto}
.app-bar-actions{display:flex;align-items:center;gap:10px}
.user-pill{display:inline-flex;align-items:center;gap:9px;margin-right:8px;color:var(--ink-2);font-size:.875rem;font-weight:400}
.user-avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--violet-100);color:var(--violet);font-size:.625rem;font-weight:600;letter-spacing:.05em}

/* Workspace */
.app-shell{display:grid;grid-template-columns:200px minmax(0,1fr) 272px;gap:56px;width:100%;max-width:1400px;margin:0 auto;padding:36px 40px 120px}
.panel{border:0;background:transparent;box-shadow:none}
.patient-panel{min-width:0}

/* Patient context — typographic */
.context-card{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;padding:0 0 26px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.context-card.is-empty{display:none}
.ctx-who{display:flex;align-items:baseline;gap:12px;font-size:1.5rem;font-weight:600;letter-spacing:-.018em;line-height:1.15}
.ctx-who svg{display:none}
.ctx-who .placeholder{color:var(--ink-4);font-size:1.25rem;font-weight:400;letter-spacing:0}
.ctx-facts{display:flex;flex-wrap:wrap;align-items:baseline;margin-left:18px;color:var(--slate);font-size:.875rem}
.context-item{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.context-item+.context-item:not([hidden])::before{content:"";width:3px;height:3px;margin:0 11px;border-radius:50%;background:var(--ink-5);align-self:center}
.context-item b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.context-tier{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 9px;border-radius:99px;font-size:.8125rem;font-weight:500;letter-spacing:.005em}
.context-tier::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.context-tier.is-high,.context-tier.is-flag{color:var(--crimson);background:var(--crimson-50)}
.context-tier.is-medium{color:var(--amber);background:var(--amber-50)}
.context-tier.is-routine{color:var(--jade);background:var(--jade-50)}
.section-head,.stat-strip,.hero-art,.brand-mark{display:none}

/* Left rail — quiet */
.nav-rail{position:sticky;top:calc(var(--bar-h) + 36px);align-self:start;max-height:calc(100vh - var(--bar-h) - 72px);display:flex;flex-direction:column;overflow:auto;padding-top:4px}
.nav-progress{margin-bottom:20px}
.nav-progress-text{display:block;margin-bottom:10px;color:var(--ink);font-size:.8125rem;font-weight:600;letter-spacing:.005em}
.nav-progress-bar{display:block;height:3px;border-radius:2px;background:var(--slate-100);overflow:hidden}
.nav-progress-bar i{display:block;height:100%;width:calc(var(--pct,0)*1%);border-radius:2px;background:var(--spectrum);background-size:calc(10000% / max(var(--pct,0),1)) 100%;transition:width .35s ease}
.nav-list{list-style:none;margin:0;padding:0;position:relative}
.nav-list::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:rgba(91,107,124,.11)}
.nav-link{position:relative;display:flex;align-items:center;gap:12px;width:calc(100% + 6px);margin:0 0 0 -6px;padding:6px 10px 6px 6px;border-radius:var(--r-sm);color:var(--ink-2);font-size:.875rem;font-weight:400;text-align:left;line-height:1.35;letter-spacing:.004em;transition:background .13s,color .13s}
.nav-link:hover{color:var(--ink)}
.nav-dot{position:relative;z-index:1;width:15px;height:15px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#fff}
.nav-dot::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-5)}
.nav-link.is-active{color:var(--teal-800);font-weight:600;background:linear-gradient(90deg,rgba(15,77,64,.075),rgba(79,179,196,.045))}
.nav-link.is-active .nav-dot::before{width:7px;height:7px;background:var(--teal-700);box-shadow:0 0 0 3px rgba(15,77,64,.12)}
.nav-link.is-filled{background:rgba(30,138,95,.045)}
.nav-link.is-filled.is-active{background:linear-gradient(90deg,rgba(15,77,64,.075),rgba(79,179,196,.045))}
.nav-link.is-filled .nav-dot::before{width:8px;height:4.5px;border-radius:0;background:none;box-shadow:none;border-left:1.5px solid var(--jade);border-bottom:1.5px solid var(--jade);transform:translateY(-1px) rotate(-45deg)}
.nav-link.is-partial .nav-dot::before{width:6px;height:6px;border-radius:50%;border:0;background:var(--amber);box-shadow:none;transform:none}
.nav-link.is-alert .nav-dot::before{width:6px;height:6px;border-radius:50%;border:0;background:var(--crimson);box-shadow:0 0 0 3px rgba(191,70,70,.12);transform:none}
.nav-link.is-alert{color:var(--crimson)}
.nav-tagline,.nav-rail-title,.nav-rail-foot{display:none}

/* Form — document */
.patient-form{display:block}
.form-group{position:relative;padding:36px 0 42px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--bar-h) + 24px)}
.form-group:last-child{border-bottom:0}
.form-group-head{display:flex;align-items:flex-start;gap:14px;cursor:pointer;user-select:none}
.step-num{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;margin-top:3px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums}
.form-group[data-tone="violet"] .step-num{background:var(--violet-100);color:var(--violet)}
.form-group-head>div{flex:1 1 auto;min-width:0}
.form-section-title{margin:0;padding:0;border:0;background:none;color:var(--ink);font-size:1.375rem;font-weight:600;letter-spacing:-.016em;text-transform:none;line-height:1.25}
.form-group-caption{margin:4px 0 0;color:var(--ink-3);font-size:.9375rem;font-weight:400}
.group-toggle{width:28px;height:28px;flex:0 0 auto;align-self:center;border-radius:4px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398a3ad' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .18s,background-color .15s}
.group-toggle:hover{background-color:var(--grey-100)}
.form-group.is-collapsed .group-toggle{transform:rotate(180deg)}
.form-group.is-collapsed .form-group-body{display:none}
.form-group-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:start;margin-top:24px;padding-left:40px}
.form-group-body>.split,.form-group-body>.checkbox-panel,.form-group-body>.clinical-prompt,.form-group-body>.problem-list-fields,.form-group-body>.problem-list-auto,.form-group-body>.problem-prompts,.form-group-body>.field-hint,.form-group-body>.field-action-button,.form-group-body>.calculated-field,.form-group-body>.calc-row,.form-group-body>.safety-error,.form-group-body>.high-risk-popup,.form-group-body>.conditional-section,.form-group-body>.caregiver-education-dates,.form-group-body>details,.form-group-body>label:has(textarea){grid-column:1/-1}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px 28px;align-items:start}
#ropSection{display:grid;gap:22px 28px}
.field-hint{margin:-8px 0 0;color:var(--ink-4);font-size:.8125rem;line-height:1.5}
.clinical-note,.save-status,.share-status,.task-meta,.byline{color:var(--ink-3);font-size:.875rem;line-height:1.5}
.save-status:not(:empty){color:var(--jade);font-weight:500}
.panel-foot{display:grid;gap:6px;padding:20px 0 0;color:var(--ink-4);font-size:.8125rem}
.panel-foot:empty{display:none}
.about-line{color:var(--ink-4);font-size:.75rem;line-height:1.5}

/* Calculated outputs — informational aqua */
.calc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px}
.calculated-field{display:grid;gap:3px;padding:14px 18px;border:0;border-left:2px solid var(--aqua);border-radius:0 var(--r) var(--r) 0;background:var(--aqua-50);color:var(--aqua);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.calculated-field strong{order:1;color:var(--teal-800);font-size:1.5rem;font-weight:500;letter-spacing:-.016em;line-height:1.15;font-variant-numeric:tabular-nums;text-transform:none}
.calculated-field .calc-caption{order:2;color:var(--ink-3);font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none}

/* Problem list */
.problem-list-auto{display:grid;gap:8px;padding:14px 18px;border-left:2px solid var(--aqua);border-radius:0 var(--r) var(--r) 0;background:var(--aqua-50)}
.problem-list-auto-title{color:var(--aqua);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.auto-problem-list{margin:0;padding-left:18px;color:var(--ink);font-size:.9375rem;font-weight:400;line-height:1.55}
.auto-problem-list li::marker{color:var(--aqua)}
.auto-problem-list.is-empty{list-style:none;padding-left:0;color:var(--ink-4);font-style:italic;font-size:.875rem}
.problem-list-fields{display:grid;gap:12px}
.problem-field-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.problem-field-title{color:var(--ink-3);font-size:.78125rem;font-weight:500;letter-spacing:.012em}
.problem-remove-button{min-width:26px;height:26px;padding:0 8px;border-radius:4px;color:var(--ink-4);font-size:.8125rem}
.problem-remove-button:hover{background:var(--crimson-50);color:var(--crimson)}
.problem-prompts,.prompt-actions,.summary-actions{display:flex;flex-wrap:wrap;gap:8px}
.problem-prompts button,.prompt-actions button{min-height:32px;padding:5px 13px;border-radius:99px;font-size:.8125rem;font-weight:400;color:var(--ink-2)}
.problem-prompts button:hover{color:var(--teal-800);border-color:var(--teal-500);background:var(--teal-50)}

/* Prompts — attention amber, information aqua */
.clinical-prompt{display:grid;gap:12px;padding:14px 18px;border:0;border-left:2px solid var(--amber);border-radius:0 var(--r) var(--r) 0;background:var(--amber-50)}
.clinical-prompt>strong{display:flex;align-items:center;gap:8px;color:var(--amber);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.clinical-prompt .prompt-actions button{background:#fff}
.caregiver-education-dates{border-left-color:var(--aqua);background:var(--aqua-50)}
.caregiver-education-dates>strong{color:var(--aqua)}

/* Checkbox / radio rows */
.checkbox-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0;border:0;background:none}
.checkbox-panel-title{grid-column:1/-1;color:var(--ink);font-size:.9375rem;font-weight:500;margin-bottom:6px}
.checkbox-panel .high-risk-item,.checkbox-panel>label,.choice-row label{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;color:var(--ink-2);font-size:.9375rem;font-weight:400;letter-spacing:0;line-height:1.4;cursor:pointer}
.checkbox-panel .high-risk-item label{flex:1;display:block;min-height:0;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.checkbox-panel .high-risk-item.high-risk-selected,.checkbox-panel>label.high-risk-selected{color:var(--crimson);font-weight:500}
.checkbox-panel .high-risk-item.medium-risk-selected,.checkbox-panel>label.medium-risk-selected{color:var(--amber);font-weight:500}
.checkbox-panel .high-risk-item.risk-disabled,.checkbox-panel>label.risk-disabled{opacity:.4;cursor:not-allowed}
.caregiver-education-panel>label:has(input:checked){color:var(--jade);font-weight:500}
.choice-row{display:flex;flex-wrap:wrap;gap:0 24px}
.choice-row label{width:auto;min-height:40px;padding:6px 0;border:0}
.choice-row label:has(input:checked){color:var(--ink);font-weight:500}
.stored-select{position:absolute;width:1px;height:1px;min-height:1px;opacity:0;pointer-events:none}

/* Risk panels */
.collapsible-risk-panel{display:block;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.collapsible-risk-panel+.collapsible-risk-panel{border-top:0}
.collapsible-risk-panel summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 0;color:var(--ink);font-size:1rem;font-weight:500;cursor:pointer;list-style:none;background:none;border-bottom:1px solid var(--line)}
.collapsible-risk-panel summary::-webkit-details-marker{display:none}
.collapsible-risk-panel summary::before{content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.high-risk-panel summary::before{background:var(--crimson)}
.medium-risk-panel summary::before{background:var(--amber)}
.collapsible-risk-panel summary::after{content:"";margin-left:auto;width:16px;height:16px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398a3ad' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .18s}
.collapsible-risk-panel[open] summary::after{transform:rotate(180deg)}
.collapsible-risk-panel[open]{display:block;padding-bottom:8px}
.collapsible-risk-panel .risk-count{margin-left:2px;color:var(--ink-4);font-size:.8125rem;font-weight:400}
.collapsible-risk-panel .high-risk-item{padding-left:19px}

/* Calculated follow-up blocks (app.js output) */
.high-risk-popup{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:20px 22px;border:0;border-radius:var(--r);background:var(--slate-50);color:var(--ink-2);font-size:.9375rem;line-height:1.5;animation:rise .25s ease}
@keyframes rise{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.high-risk-popup-shell{width:100%;display:grid;gap:10px}
.high-risk-popup-title{margin:0;padding:0;border:0;background:none;color:var(--ink);font-size:1.0625rem;font-weight:600;letter-spacing:-.012em}
.high-risk-popup-subtext{margin:0;color:var(--ink-3)}
.high-risk-popup-question{margin:0;color:var(--ink);font-weight:500}
.high-risk-popup p,.high-risk-popup-line,.high-risk-popup-text{margin:0}
.medium-risk-location-fields,.medium-risk-popup #mediumRiskMouField{width:100%}
.high-risk-popup-steps{display:grid;gap:10px;width:100%}
.high-risk-followup-grid{display:grid;gap:12px;grid-template-columns:1fr;width:100%}
.high-risk-followup-panel,.high-risk-popup-step-panel{display:grid;gap:6px;padding:14px 16px;border:0;border-radius:var(--r-sm);background:#fff;box-shadow:none}
.high-risk-followup-panel-title,.high-risk-popup-step-title{margin:0 0 2px;color:var(--ink);font-size:.9375rem;font-weight:500}
.high-risk-popup-step-panel-lines{display:grid;gap:3px}
.high-risk-popup-step-panel-line,.high-risk-popup-line{margin:0;padding:0;color:var(--ink-2);font-size:.9375rem}
.high-risk-popup-line-label{display:inline-block;min-width:120px;margin-right:8px;color:var(--ink-4);font-size:.8125rem}
.high-risk-popup-step{margin:0;padding:0;border:0;background:none}
.high-risk-popup-step-chosen{color:var(--ink);font-weight:500}
.high-risk-popup-date-line{margin:2px 0;color:var(--teal-800);font-weight:500}
.high-risk-popup-date-row,.high-risk-popup-parent-row{display:grid;gap:6px;width:100%;color:var(--ink-3);font-size:.78125rem;font-weight:500;letter-spacing:.012em}
.high-risk-popup-parent-label{display:block;width:100%;margin:0}
.high-risk-popup-date-input{max-width:240px}.high-risk-popup-parent-input{max-width:340px}
.high-risk-step-status{color:var(--jade);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.high-risk-step-status.pending{color:var(--amber)}
.high-risk-popup-actions,.high-risk-popup-action-row{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.high-risk-popup-actions button,.high-risk-popup-action-row button{flex:1 1 auto;min-width:0;min-height:40px;padding:8px 14px;border-radius:var(--r);font-size:.875rem;text-align:center}
.high-risk-popup-actions button.high-risk-popup-action.secondary-button,.high-risk-popup-action-row .high-risk-popup-action.secondary-button{color:var(--ink-2);background:#fff;border:1px solid var(--line-2);font-weight:500}
.high-risk-popup-actions button.high-risk-popup-action.primary-button,.high-risk-popup-action-row .high-risk-popup-action.primary-button{color:#fff;background:var(--teal-700);border:0;font-weight:500}
.high-risk-popup .primary-button::before{display:none}
@media(min-width:860px){.high-risk-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.high-risk-popup-action-row{flex-wrap:nowrap}}

/* Right column — clinical status, quiet */
.side-col{position:sticky;top:calc(var(--bar-h) + 36px);align-self:start;max-height:calc(100vh - var(--bar-h) - 72px);display:flex;flex-direction:column;gap:28px;overflow:auto;padding-top:4px}
.side-card{padding:0;border-radius:0;background:none;box-shadow:none}
.side-card h2,.checklist-panel .sticky-head h2{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.readiness-wrap{display:flex;align-items:center;gap:14px}
.readiness-ring{--pct:0;position:relative;width:54px;height:54px;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--jade) calc(var(--pct)*1%),var(--slate-100) 0);transition:background .4s}
.readiness-ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.readiness-nums{display:grid;gap:4px}
.readiness-big{font-size:.9375rem;font-weight:500;letter-spacing:-.005em;color:var(--ink);font-variant-numeric:tabular-nums}
.readiness-label{display:none}
.readiness-legend{display:flex;gap:12px;color:var(--ink-3);font-size:.8125rem}
.readiness-legend span{display:flex;align-items:center;gap:6px}
.readiness-legend i{width:6px;height:6px;border-radius:50%;background:var(--ink-5)}
.readiness-legend .l-done i{background:var(--jade)}.readiness-legend .l-due i{background:var(--amber)}
.checklist-panel{position:static;transform:none;width:auto;box-shadow:none;border-radius:0;background:none;display:flex;flex-direction:column;overflow:visible}
.checklist-panel .sticky-head{position:static;display:block;padding:0;border:0;background:none}
.checklist-panel .sticky-head .eyebrow,.checklist-panel .sticky-head #exportButton,.drawer-head-actions{display:none}
.toolbar{display:flex;gap:16px;margin:0;padding:0;border:0;border-bottom:1px solid var(--line);background:none}
.filter-button{min-height:30px;padding:2px 0;margin-bottom:-1px;border-radius:0;color:var(--ink-4);font-size:.8125rem;font-weight:400;border-bottom:1.5px solid transparent}
.filter-button.active{color:var(--ink);border-bottom-color:var(--teal-700)}
.checklist{display:block;padding:0;max-height:40vh;overflow:auto}
.task-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.task-card>input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:16px;border-radius:50%;border:1.5px solid var(--amber);background:#fff;display:grid;place-items:center}
.task-card>input[type=checkbox]:checked{border-color:var(--jade);background:var(--jade)}
.task-card>input[type=checkbox]:checked::before{content:"";width:7px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.task-card>div{min-width:0;cursor:pointer}
.task-title{margin:0;font-size:.9375rem;font-weight:400;letter-spacing:.002em;line-height:1.35;color:var(--ink)}
.task-card.done .task-title{color:var(--ink-4)}
.task-meta{display:none;margin:5px 0 0;font-size:.8125rem}
.task-card.is-open .task-meta{display:block}
.badge{min-width:0;padding:0;border:0;background:none;font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.badge.due{color:var(--amber)}.badge.done{color:var(--jade)}
.empty{padding:20px 0;color:var(--ink-4);text-align:left;font-size:.875rem;border:0}
.cta-card{padding:22px 0 0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.cta-card .cta-copy{display:block;margin-bottom:14px;color:var(--ink-3);font-size:.8125rem;line-height:1.5}
.cta-card .cta-copy svg{display:none}
.cta-card .primary-button{width:100%;min-height:46px;font-size:.9375rem}
.side-foot{display:none}

/* Summary */
.summary-panel{display:none;gap:14px;margin:18px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--line);background:none;max-height:none;overflow:visible}
.summary-panel.visible{display:grid;align-content:start}
.handoff-link{font-size:.78125rem}
.summary-actions button{flex:1 1 auto;min-width:104px;font-size:.8125rem;padding:8px 12px}
.summary-actions .primary-button::before{display:none}
.caregiver-prompt{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r);background:var(--violet-50)}
.caregiver-prompt strong{color:var(--violet);font-size:.9375rem;font-weight:500}
.caregiver-prompt p{color:var(--ink-3);font-size:.8125rem}
.summary-raw{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.summary-preview{display:grid;gap:14px;padding:18px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink);font-size:.875rem}
.summary-preview-card{padding:0 0 14px;border:0;border-bottom:1px solid var(--line);background:none}
.summary-preview-card:last-of-type{border-bottom:0;padding-bottom:0}
.summary-preview-card h3,.summary-preview-card h4{margin:0 0 10px}
.summary-preview-card h3{font-size:1.25rem;font-weight:600;letter-spacing:-.014em}
.summary-preview-card h4{color:var(--ink-4);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:0;border:0}
.summary-preview-id-card{padding:0 0 14px;border-radius:0;background:none;border-bottom:1px solid var(--line)}
.summary-preview-id-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.summary-preview-kicker{margin:0 0 6px;color:var(--teal-700);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.summary-preview-lines{display:grid;gap:6px}
.summary-preview p{display:flex;gap:8px;margin:0;line-height:1.5;font-size:.84375rem}
.summary-preview p strong{flex:0 0 auto;color:var(--ink-3);font-weight:500}
.summary-preview p span{min-width:0;font-variant-numeric:tabular-nums}
.summary-preview p.numbered{align-items:flex-start}
.summary-number{width:20px;height:20px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--teal-100);color:var(--teal-700);font-size:.6875rem;font-weight:500}
.summary-preview-credit{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--ink-4);font-size:.75rem}
.summary-preview-credit strong{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--teal-800);color:#fff;font-size:.6875rem;font-weight:500}

/* Handoff / print */
.handoff-view{min-height:100vh;padding:48px 24px;background:#fff}
.handoff-sheet{width:min(820px,100%);margin:0 auto;padding:0}
.handoff-sheet h1{margin-bottom:6px;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}
.handoff-summary{margin-top:26px;padding:0;border:0}
.handoff-sheet pre{padding:18px;border-radius:var(--r);background:var(--grey-100);white-space:pre-wrap;overflow-wrap:anywhere}
.handoff-sheet .summary-actions{margin-top:22px}

/* Responsive */
@media(max-width:1280px){.app-shell{grid-template-columns:170px minmax(0,1fr) 248px;gap:40px;padding:32px 28px 100px}}
@media(max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr) 248px}.nav-rail{display:none}}
@media(max-width:860px){.app-shell{grid-template-columns:minmax(0,1fr)}.side-col{position:static;max-height:none;overflow:visible}.checklist{max-height:none}}
@media(max-width:760px){:root{--bar-h:58px}.app-bar{padding:0 18px;gap:12px}.app-bar-titles strong{font-size:1rem}.app-bar-titles span.sub{display:none}.user-pill{display:none}.app-shell{padding:20px 18px 60px}.form-group{padding:28px 0 32px}.form-group-body{padding-left:0;grid-template-columns:1fr}.checkbox-panel{grid-template-columns:1fr}.ctx-who{font-size:1.25rem}.ctx-facts{margin-left:0;width:100%}.context-tier{margin-left:0}.summary-actions{display:grid;grid-template-columns:1fr}.summary-preview-id-grid{grid-template-columns:1fr}.summary-preview p{display:block}.summary-preview p strong{display:inline}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media print{
  html,body{background:#fff;color:#000;font-size:11pt}
  .password-gate,.app-shell,.app-bar{display:none!important}
  .handoff-view{display:block!important;min-height:0;padding:0;background:#fff}
  .handoff-sheet{width:100%;padding:0}
  .summary-actions,.eyebrow{display:none!important}
  .summary-preview{padding:0;gap:10pt;border:0}
  .summary-preview-card{padding:0 0 8pt;border-bottom:1px solid #ddd;break-inside:avoid}
  .summary-number{background:#eee;color:#333;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a[href]::after{content:""}
}

/* Landing — subtle current */
.landing-hero>*{position:relative;z-index:1}
.landing-current{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.landing-current .trace path{fill:none;stroke:#9adfd4;stroke-opacity:.13;stroke-width:1}
.landing-current .pulse path{fill:none;stroke:url(#pulseA);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:110 890;stroke-dashoffset:1000;animation:current 11s linear infinite}
.landing-current .nodes circle{fill:#9adfd4;fill-opacity:.55;animation:node-breathe 6s ease-in-out infinite}
@keyframes current{to{stroke-dashoffset:-1000}}
@keyframes node-breathe{0%,100%{fill-opacity:.25;r:2.5}50%{fill-opacity:.8;r:3.5}}
.landing-hero::before{animation:glow-drift 22s ease-in-out infinite alternate}
@keyframes glow-drift{from{background-position:0 0,0 0,0 0,0 0}to{background-position:-40px 30px,30px -40px,-30px -20px,0 0}}
@media(prefers-reduced-motion:reduce){.landing-current .pulse path,.landing-current .nodes circle,.landing-hero::before{animation:none}}

/* Mobile header */
@media(max-width:760px){
  .app-bar{gap:10px}
  .app-bar-brand{flex:1 1 auto;min-width:0}
  .app-bar-titles{min-width:0}
  .app-bar-titles strong{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app-bar-mark{width:30px;height:30px}
  #resetButton{display:none}
  .app-bar-actions{gap:4px;flex:0 0 auto}
  .app-bar-actions .ghost-button{padding:8px 8px}
  .app-bar-actions .primary-button{padding:8px 12px;font-size:.8125rem;min-height:36px}
  .context-card{padding-bottom:18px}
  .ctx-facts{font-size:.8125rem}
}
.landing-brand img{box-shadow:0 0 0 2px rgba(255,255,255,.85),0 4px 16px rgba(0,0,0,.28)}

/* Right panel v14 — compact clinical action rows */
.side-card h2,.checklist-panel .sticky-head h2{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.readiness-compact{display:grid;gap:8px}
.readiness-line{font-size:.9375rem;font-weight:500;color:var(--ink)}
.readiness-line b{font-weight:600;font-variant-numeric:tabular-nums}
.readiness-track{display:block;height:4px;border-radius:2px;background:var(--slate-100);overflow:hidden}
.readiness-track i{display:block;height:100%;width:calc(var(--pct,0)*1%);border-radius:2px;background:var(--teal-700);transition:width .35s}
.readiness-remaining{color:var(--ink-3);font-size:.8125rem}
.side-card.is-ready .readiness-line{color:var(--teal-700)}
.side-card.is-ready .readiness-track i{background:var(--teal-700)}
.side-card.is-ready .readiness-remaining{color:var(--teal-700);font-weight:600}
.side-card.is-ready .readiness-remaining::before{content:"✓ ";}
.toolbar{display:none}
.checklist{max-height:none;overflow:visible}
.task-card{display:grid;grid-template-columns:18px minmax(0,1fr) 52px 14px;grid-template-areas:"icon title status chev" "detail detail detail detail";column-gap:10px;row-gap:0;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer}
.task-card>input[type=checkbox]{grid-area:icon;appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:16px;border-radius:50%;border:1.5px solid var(--ink-5);background:#fff;display:grid;place-items:center;cursor:pointer}
.task-card[data-status=review]>input[type=checkbox]{border-color:var(--crimson)}
.task-card[data-status=review]>input[type=checkbox]::before{content:"!";color:var(--crimson);font-size:.6875rem;font-weight:700;line-height:1}
.task-card>input[type=checkbox]:checked{border-color:var(--teal-700);background:var(--teal-700)}
.task-card>input[type=checkbox]:checked::before{content:"";width:7px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.task-card>div:not(.task-detail){grid-area:title;min-width:0}
.task-title{margin:0;font-size:.9062rem;font-weight:500;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-card.done .task-title{color:var(--ink-3);font-weight:400}
.badge{grid-area:status;justify-self:end;min-width:0;padding:0;border:0;background:none;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:none}
.badge.due{color:var(--slate)}
.badge.done{color:var(--teal-700)}
.task-card[data-status=review] .badge{color:var(--crimson)}
.task-chevron{grid-area:chev;width:14px;height:14px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236a7681' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s}
.task-card.is-open .task-chevron{transform:rotate(90deg)}
.task-detail{grid-area:detail;display:none;padding:8px 0 4px 28px}
.task-card.is-open .task-detail{display:grid;gap:8px}
.task-why,.task-action{display:grid;gap:2px}
.task-why span,.task-action span{color:var(--ink-4);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.task-why p{margin:0;color:var(--ink-2);font-size:.8125rem;line-height:1.4}
.task-go{justify-self:start;color:var(--teal-700);font-size:.8125rem;font-weight:600;text-align:left;line-height:1.4;cursor:pointer}
.task-go:hover{text-decoration:underline}
.cta-card .cta-copy{font-size:.875rem;color:var(--ink-2);margin-bottom:12px}

/* Landing header bar */
.landing{grid-template-rows:auto 1fr}
.landing-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:0 24px;background:#042a25;color:#fff;border-bottom:1px solid rgba(154,223,212,.16)}
.landing-bar-brand{display:flex;align-items:center;gap:12px;min-width:0}
.landing-bar-brand img{width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.landing-bar-brand span{display:grid;line-height:1.2;min-width:0}
.landing-bar-brand strong{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.landing-bar-brand small{color:rgba(255,255,255,.72);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.landing-bar-link{flex:0 0 auto;color:#9adfd4;font-size:.875rem;font-weight:600;padding:8px 0}
.landing-bar-link:hover{color:#fff}
.landing-hero{padding-top:36px}
@media(min-width:960px){.landing-bar{padding:0 56px}.landing-hero{padding-top:56px}.landing-entry{padding-top:56px}}
@media(min-width:1400px){.landing-bar{padding:0 80px}.landing-entry{padding-top:64px}}
@media(max-width:600px){.landing-bar-brand small{display:none}.landing-bar-link{display:none}}
.app-bar-actions .secondary-button{min-height:36px;padding:6px 14px}

/* Dark green application header */
.app-bar{background:#063b34;border-bottom:0;box-shadow:0 1px 0 rgba(154,223,212,.18)}
.app-bar-titles strong{color:#fff}
.app-bar-titles span.sub{color:rgba(255,255,255,.72)}
.app-bar-mark img{box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.app-bar-mark{overflow:visible;border-radius:50%}
.user-pill{color:rgba(255,255,255,.9)}
.user-avatar{background:rgba(255,255,255,.14);color:#fff}
.app-bar .icon-button{color:rgba(255,255,255,.8)}.app-bar .icon-button:hover{background:rgba(255,255,255,.1);color:#fff}
.app-bar .secondary-button{color:#fff;background:transparent;border-color:rgba(255,255,255,.35)}
.app-bar .secondary-button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);color:#fff}
.app-bar .primary-button{color:#063b34;background:#fff}
.app-bar .primary-button:hover{background:#e6f3f0}
.app-bar .save-status{color:#9adfd4}
.context-card{padding-top:4px}
.task-why span,.task-action span{display:none}
.task-card.is-open .task-detail{gap:6px}
.nav-dot::before{background:transparent}
.nav-list::before{display:none}

/* More deep green — structural accents */
.step-num{background:var(--teal-700);color:#fff}
.form-group[data-tone="violet"] .step-num{background:var(--violet);color:#fff}
.calculated-field{border-left-color:var(--teal-700);background:var(--teal-50);color:var(--teal-700)}
.calculated-field strong{color:var(--teal-800)}
.problem-list-auto{border-left-color:var(--teal-700);background:var(--teal-50)}
.problem-list-auto-title{color:var(--teal-700)}
.side-card h2,.checklist-panel .sticky-head h2{color:var(--teal-700)}
.nav-progress-text{color:var(--teal-800)}
.nav-progress-bar i{background:var(--teal-700)}
.nav-link.is-active{background:rgba(7,90,75,.09)}
.nav-link.is-active .nav-dot::before{background:var(--teal-700);box-shadow:0 0 0 3px rgba(7,90,75,.14)}
.nav-link.is-filled .nav-dot::before{border-color:var(--teal-700)}
.badge.done{color:var(--teal-700)}
.context-tier.is-routine{color:var(--teal-700);background:var(--teal-50)}
.form-section-title{color:var(--teal-900)}
.collapsible-risk-panel summary{color:var(--teal-900)}
.high-risk-popup{background:var(--teal-50);border-left:2px solid var(--teal-700);border-radius:0 var(--r) var(--r) 0}
.summary-preview-id-card{border-left:2px solid var(--teal-700);padding-left:14px}
.password-card h2{color:var(--teal-900)}
.app-bar-mark img{border-radius:50%}

/* Assistant widget */
.bot-widget{position:fixed;right:20px;bottom:20px;z-index:80}
.bot-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px 10px 14px;border-radius:99px;background:#063b34;color:#fff;font-size:.875rem;font-weight:600;box-shadow:0 8px 24px rgba(4,42,37,.28);transition:transform .15s,box-shadow .15s}
.bot-toggle svg{width:18px;height:18px}
.bot-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(4,42,37,.34)}
body.bot-open .bot-toggle{display:none}
.bot-panel{position:fixed;right:20px;bottom:20px;width:min(400px,calc(100vw - 40px));height:min(620px,calc(100vh - 40px));display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 24px 64px rgba(4,42,37,.28);overflow:hidden;animation:rise .2s ease}
.bot-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;background:#063b34;color:#fff;font-size:.9375rem;font-weight:600}
.bot-close{width:32px;height:32px;border-radius:8px;color:rgba(255,255,255,.85);font-size:.9375rem}
.bot-close:hover{background:rgba(255,255,255,.12);color:#fff}
.bot-panel iframe{flex:1 1 auto;width:100%;border:0;background:#fff}
@media(max-width:600px){.bot-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}.bot-widget{right:14px;bottom:14px}}
@media print{.bot-widget{display:none!important}}

/* Header: two-line institution, responsive, no wrapping */
.app-bar{height:auto;min-height:var(--bar-h);padding-top:10px;padding-bottom:10px;gap:16px}
.app-bar-brand{flex:1 1 auto;min-width:0}
.app-bar-titles{min-width:0;line-height:1.2}
.app-bar-titles strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-titles span.sub,.app-bar-titles span.sub2{display:block;color:rgba(255,255,255,.72);font-size:.8125rem;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-actions{flex:0 0 auto}
.user-pill{display:none}
@media(max-width:1100px){.app-bar-titles span.sub2{display:none}}
@media(max-width:760px){
  html{font-size:14px}
  body{font-size:14px}
  .app-bar{padding:8px 14px;gap:8px}
  .app-bar-titles strong{font-size:.9375rem}
  .app-bar-titles span.sub,.app-bar-titles span.sub2{display:none}
  .form-section-title{font-size:1.125rem}
  .form-group-caption{font-size:.875rem}
  .ctx-who{font-size:1.125rem}
  .calculated-field strong{font-size:1.25rem}
  .form-group{padding:22px 0 26px}
  .form-group-body{margin-top:16px;gap:14px}
  :root{--field-h:40px}
}

/* Account control */
.user-menu{position:relative}
.user-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin:0;padding:4px 10px 4px 4px;border-radius:99px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}
.user-pill:hover,.user-pill[aria-expanded="true"]{background:rgba(255,255,255,.1)}
.user-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.04em}
.user-caret{font-size:.6875rem;color:rgba(255,255,255,.7)}
.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:240px;padding:6px;border-radius:10px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(4,42,37,.18);animation:rise .15s ease}
.user-dropdown-id{display:grid;gap:2px;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.user-dropdown-id strong{color:var(--teal-900);font-size:.9375rem;font-weight:600}
.user-dropdown-id span{color:var(--ink-3);font-size:.8125rem}
.user-dropdown-item{display:block;width:100%;padding:9px 12px;border-radius:6px;color:var(--ink);font-size:.875rem;font-weight:500;text-align:left}
.user-dropdown-item:hover{background:var(--teal-50);color:var(--teal-800)}
#menuLogout{color:var(--crimson)}#menuLogout:hover{background:var(--crimson-50);color:var(--crimson)}
.dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(4,42,37,.35)}
.dialog{width:min(100%,380px);padding:22px 22px 18px;border-radius:12px;background:#fff;box-shadow:0 24px 64px rgba(4,42,37,.3)}
.dialog h3{font-size:1.0625rem;font-weight:600;color:var(--teal-900);margin-bottom:6px}
.dialog p{color:var(--ink-2);font-size:.9375rem;margin-bottom:18px}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px}
.dialog-actions .primary-button{background:var(--crimson)}.dialog-actions .primary-button:hover{background:#a53a3a}.dialog-actions .primary-button::before{display:none}
@media(max-width:760px){.user-pill{display:inline-flex;padding:4px}.user-name{display:none}.user-pill .user-caret{display:inline}.app-bar-actions{gap:6px}.app-bar-actions .secondary-button{padding:6px 10px}}

/* NeoBuddy in the header */
.bot-widget{position:static}
.app-bar .bot-toggle{position:static;min-height:36px;padding:6px 12px 6px 10px;border-radius:99px;background:rgba(255,255,255,.12);color:#fff;font-size:.8125rem;font-weight:500;box-shadow:none}
.app-bar .bot-toggle:hover{background:rgba(255,255,255,.2);transform:none;box-shadow:none}
.app-bar .bot-toggle svg{width:16px;height:16px}
body.bot-open .bot-toggle{display:inline-flex;background:rgba(255,255,255,.24)}
.bot-panel{z-index:85}
@media(max-width:760px){.app-bar .bot-toggle span{display:none}.app-bar .bot-toggle{padding:6px 8px}}

/* Header v24 — UCT-style title block + responsive actions */
.app-bar{display:flex;align-items:center;gap:20px;min-height:66px;padding:10px 32px}
.app-bar-brand{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.app-bar-mark{width:36px;height:36px;flex:0 0 auto}
.app-bar-titles{position:relative;min-width:0;padding-left:14px;line-height:1.2}
.app-bar-titles::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;background:#9adfd4;border-radius:2px}
.app-bar-titles .eyebrow-line{display:block;color:#9adfd4;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}
.app-bar-titles strong{display:block;color:#fff;font-size:1.125rem;font-weight:600;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-titles span.sub,.app-bar-titles span.sub2{display:none}
.title-short,.btn-short{display:none}
.app-bar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.app-bar-spacer{display:none}
@media(max-width:1100px){
  .app-bar-titles .eyebrow-line{font-size:.625rem;letter-spacing:.1em}
  .app-bar-titles strong{font-size:1rem}
  .title-long{display:none}.title-short{display:inline}
  .btn-long{display:none}.btn-short{display:inline}
  .user-name{display:none}
  .app-bar .bot-toggle span{display:none}
}
@media(max-width:760px){
  .app-bar{padding:8px 14px;gap:10px;min-height:58px}
  .app-bar-mark{width:32px;height:32px}
  .app-bar-titles{padding-left:10px}
  .app-bar-titles .eyebrow-line{display:none}
  #resetButton{display:none}
  .app-bar-actions{gap:6px}
  .app-bar .secondary-button{padding:6px 10px;min-height:34px;font-size:.8125rem}
  .app-bar .primary-button{padding:6px 10px;min-height:34px;font-size:.8125rem}
  .app-bar .bot-toggle{padding:6px 7px;min-height:34px}
  .user-pill{padding:3px}
}
@media(max-width:420px){.app-bar-titles{display:none}}
.app-bar-titles strong span.title-long{display:inline}
.app-bar-titles strong span.title-short{display:none}
@media(max-width:1100px){.app-bar-titles strong span.title-long{display:none}.app-bar-titles strong span.title-short{display:inline}}
@media(max-width:760px){.user-dropdown{position:fixed;right:12px;left:auto;top:64px;min-width:250px}}
.app-bar-titles::before{background:rgba(255,255,255,.55)}
.app-bar-titles .eyebrow-line{color:rgba(255,255,255,.72);font-weight:500;letter-spacing:.1em}
.app-bar .bot-toggle svg{width:18px;height:18px}
.form-group[data-tone="violet"] .step-num{background:var(--teal-700);color:#fff}
.user-avatar{background:rgba(255,255,255,.16);color:#fff}
.caregiver-prompt{background:var(--teal-50)}.caregiver-prompt strong{color:var(--teal-800)}

/* Header v29 — simple */
.app-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:8px 28px}
.app-bar-brand{gap:14px}
.app-bar-mark{width:38px;height:38px}
.app-bar-titles{padding-left:14px;line-height:1.2}
.app-bar-titles::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;background:#c8a24a;border-radius:2px}
.app-bar-titles strong{font-size:1.1875rem;font-weight:600;letter-spacing:-.012em;color:#fff}
.app-bar-titles .unit-line{display:block;margin-top:2px;color:rgba(255,255,255,.72);font-size:.8125rem;font-weight:400;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-titles .eyebrow-line{display:none}
.app-bar .bot-toggle{width:40px;min-height:40px;padding:0;border-radius:50%;background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18)}
.app-bar .bot-toggle:hover{background:rgba(255,255,255,.2)}
.app-bar .bot-toggle svg{width:22px;height:22px}
.app-bar .bot-toggle span{display:none}
.user-dropdown-item#resetButton{color:var(--ink)}
@media(max-width:1100px){.app-bar .bot-toggle span{display:none}}
@media(max-width:760px){.app-bar{padding:8px 14px}.app-bar-titles .unit-line{display:none}.app-bar-titles strong{font-size:1rem}.app-bar-titles{padding-left:10px}.app-bar .bot-toggle{width:36px;min-height:36px}}
@media(max-width:420px){.app-bar-titles{display:block}}

/* Mobile side strip */
.side-toggle{display:none}
@media(max-width:860px){
  .app-shell{display:flex;flex-direction:column}
  .side-col{order:-1;position:sticky;top:58px;z-index:30;margin:0 -18px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);gap:0}
  .side-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 0;color:var(--teal-800);font-size:.875rem;font-weight:600;text-align:left}
  .side-toggle-caret{transition:transform .15s;color:var(--ink-4)}
  .side-col.is-open .side-toggle-caret{transform:rotate(180deg)}
  .side-col .side-card,.side-col .checklist-panel,.side-col .cta-card{display:none}
  .side-col.is-open .side-card{display:block;padding:6px 0 12px}
  .side-col.is-open .checklist-panel{display:flex;padding-bottom:12px}
  .side-col.is-open .cta-card{display:block;padding:12px 0 16px}
  .side-col.is-open{max-height:80vh;overflow:auto}
  .patient-panel{order:0}
}
@media(max-width:760px){.side-col{top:58px}}

/* Header buttons smaller, Generate in green */
.app-bar .secondary-button{min-height:32px;padding:5px 12px;font-size:.8125rem}
.app-bar .primary-button{min-height:32px;padding:5px 12px;font-size:.8125rem;color:#fff;background:#12836d}
.app-bar .primary-button:hover{background:#0f7160}
.app-bar .primary-button::before{display:none}
.user-pill{min-height:32px}
.user-avatar{width:26px;height:26px}
/* Electronic bot */
.app-bar .bot-toggle{position:relative;width:38px;min-height:38px;border:1px solid rgba(154,223,212,.45);background:radial-gradient(circle at 50% 40%,rgba(154,223,212,.22),rgba(255,255,255,.04));color:#9adfd4;box-shadow:0 0 0 0 rgba(154,223,212,.35);animation:bot-pulse 2.8s ease-out infinite}
.app-bar .bot-toggle svg{width:21px;height:21px}
.app-bar .bot-toggle svg circle[fill]{animation:bot-blink 4.5s infinite}
.app-bar .bot-toggle svg circle[fill]:nth-of-type(2){animation-delay:.06s}
.app-bar .bot-toggle::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:#9adfd4;box-shadow:0 0 6px #9adfd4;animation:bot-led 1.6s ease-in-out infinite}
@keyframes bot-pulse{0%{box-shadow:0 0 0 0 rgba(154,223,212,.35)}70%{box-shadow:0 0 0 9px rgba(154,223,212,0)}100%{box-shadow:0 0 0 0 rgba(154,223,212,0)}}
@keyframes bot-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.app-bar .bot-toggle svg circle[fill]{transform-box:fill-box;transform-origin:center}
@keyframes bot-led{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.app-bar .bot-toggle,.app-bar .bot-toggle::after,.app-bar .bot-toggle svg circle[fill]{animation:none}}

/* Prompts as elegant text links */
.prompt-actions{gap:4px 18px}
.prompt-actions button,.problem-prompts button{min-height:0;padding:2px 0;border:0;border-radius:0;background:none;color:var(--teal-700);font-size:.875rem;font-weight:500;text-decoration:underline;text-decoration-color:rgba(7,90,75,.3);text-underline-offset:3px}
.prompt-actions button:hover,.problem-prompts button:hover{background:none;border:0;color:var(--teal-900);text-decoration-color:var(--teal-700)}
.problem-prompts{gap:4px 18px}
.problem-prompts button::before{content:"+ ";color:var(--teal-400);font-weight:500}
.field-action-button{border:0;background:none;padding:2px 0;min-height:0;color:var(--teal-700);font-weight:500;text-decoration:underline;text-decoration-color:rgba(7,90,75,.3);text-underline-offset:3px}
.field-action-button:hover{background:none;color:var(--teal-900)}
/* Centre bot icon */
.app-bar .bot-toggle{display:inline-grid;place-items:center}
.app-bar .bot-toggle svg{display:block;transform:translateY(.5px)}
/* Attention prompts in green */
.clinical-prompt{border-left-color:var(--teal-700);background:var(--teal-50)}
.clinical-prompt>strong{color:var(--teal-700)}
.badge.due,.task-card>input[type=checkbox]{color:var(--teal-700);border-color:var(--teal-300)}
.readiness-legend .l-due i{background:var(--teal-300)}
.nav-link.is-partial .nav-dot::before{background:var(--teal-400)}
.context-tier.is-medium{color:var(--teal-700);background:var(--teal-50)}
.medium-risk-panel summary::before{background:var(--teal-500)}
.checkbox-panel .high-risk-item.medium-risk-selected,.checkbox-panel>label.medium-risk-selected{color:var(--teal-800)}
.high-risk-step-status.pending{color:var(--teal-700)}
.app-bar .bot-toggle svg{width:22px;height:22px;transform:none;color:#fff}
.app-bar .bot-toggle{border-color:rgba(154,223,212,.5);background:radial-gradient(circle at 50% 35%,rgba(154,223,212,.26),rgba(255,255,255,.03))}
.app-bar .bot-toggle svg .eye{fill:#9adfd4;animation:bot-blink 4.5s infinite;transform-box:fill-box;transform-origin:center}
.app-bar .bot-toggle svg .eye:nth-of-type(2){animation-delay:.05s}
.app-bar .bot-toggle svg circle[fill]:not(.eye){animation:none}
/* Bot icon v35 */
.app-bar .bot-toggle{width:40px;min-height:40px;border:0;background:rgba(255,255,255,.08);box-shadow:0 0 0 0 rgba(154,223,212,.35);animation:bot-pulse 3s ease-out infinite}
.app-bar .bot-toggle:hover{background:rgba(255,255,255,.16)}
.app-bar .bot-toggle::after{display:none}
.app-bar .bot-toggle svg{width:26px;height:26px;transform:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.app-bar .bot-toggle svg .eye{animation:bot-blink 4.5s infinite;transform-box:fill-box;transform-origin:center}
.app-bar .bot-toggle svg .eye:nth-of-type(2){animation-delay:.05s}
.app-bar .bot-toggle svg .ant{animation:bot-led 1.6s ease-in-out infinite}
@media(max-width:760px){.app-bar .bot-toggle{width:36px;min-height:36px}.app-bar .bot-toggle svg{width:23px;height:23px}}
.scan-link{width:100%;margin-top:10px;min-height:42px;color:var(--teal-700);font-weight:500;text-decoration:none}
.scan-link:hover{background:var(--teal-50)}
a.user-dropdown-item{text-decoration:none}
a.secondary-button{text-decoration:none}
/* v3 — discharge episode bar in the summary panel */
.episode-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.8125rem}
.episode-label{color:var(--ink-3);font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem}
.episode-bar b{font-weight:600;color:var(--teal-900);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.episode-status{color:var(--ink-4)}.episode-status.is-ok{color:var(--teal-700)}.episode-status.is-warn{color:var(--ink-3)}
.episode-link{margin-left:auto;color:var(--teal-700);font-weight:500;text-decoration:none}.episode-link:hover{text-decoration:underline}
/* v3 — AI blocks */
.ai-block{grid-column:1/-1;display:grid;gap:10px}
.ai-link{justify-self:start;color:var(--teal-700);font-weight:500;text-decoration:underline;text-decoration-color:rgba(7,90,75,.3);text-underline-offset:3px;font-size:.9375rem}
.ai-link:hover{color:var(--teal-900)}
.ai-panel{display:grid;gap:10px;padding:14px 16px;border-left:2px solid var(--teal-700);background:var(--teal-50);border-radius:0 8px 8px 0}
.ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ai-status{color:var(--ink-3);font-size:.8125rem}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.ai-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--line-2);border-radius:99px;background:#fff;color:var(--ink);font-size:.875rem;font-weight:500}
.ai-chip small{color:var(--ink-4);font-size:.75rem}
.ai-chip:hover{border-color:var(--teal-700)}
.ai-chip.is-added{border-color:var(--teal-700);background:var(--teal-100);color:var(--teal-900)}
.ai-lang{padding:4px 10px;border:1px solid var(--line-2);border-radius:99px;font-size:.8125rem;font-weight:500;color:var(--ink-2)}
.ai-lang.is-on{background:var(--teal-700);border-color:var(--teal-700);color:#fff}
.card-block{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.card-out{padding:14px 16px;border-radius:8px;background:var(--grey-100);font-size:.9375rem;line-height:1.5}
.card-out h4{font-size:1rem;font-weight:600;color:var(--teal-900);margin-bottom:6px}
.card-out ul{margin:6px 0;padding-left:18px}
.card-out p{margin:6px 0}
.card-danger{color:var(--crimson);font-weight:500}
.bot-ask{padding:12px;border-bottom:1px solid var(--line);background:#fff;display:grid;gap:10px}
.bot-ask-row{display:flex;gap:8px}.bot-ask-row input{flex:1;min-height:38px}
.bot-ask-out{font-size:.875rem;line-height:1.5;max-height:200px;overflow:auto}
.bot-q{color:var(--ink-3);margin-bottom:4px}.bot-a{color:var(--ink)}.bot-note{color:var(--ink-4)}.bot-next{color:var(--teal-700);margin-top:6px;font-weight:500}
.cal-list{display:grid;gap:0}
.cal-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.cal-row:last-child{border-bottom:0}
.cal-row b{font-weight:500;color:var(--teal-900);font-variant-numeric:tabular-nums}
.cal-row a{color:var(--teal-700);font-weight:500;text-decoration:none}.cal-row a:hover{text-decoration:underline}
.cal-row em{font-style:normal;color:var(--ink-4)}
@media(max-width:600px){.cal-row{grid-template-columns:1fr auto}.cal-row a,.cal-row em{grid-column:1/-1}}

/* ===== Direction 1 — Glass: frosted layers, soft depth ===== */
:root{--glass-bg:#f3f6f5;--glass-card:rgba(255,255,255,.74);--glass-line:rgba(6,59,52,.09);--glass-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 10px 34px rgba(6,59,52,.08);--glass-r:14px}
html,body{background:var(--glass-bg)}
body{background:radial-gradient(70% 45% at 85% -10%,rgba(154,223,212,.28),transparent 70%),radial-gradient(60% 40% at -10% 100%,rgba(115,87,166,.10),transparent 70%),var(--glass-bg);background-attachment:fixed}
.app-bar{background:rgba(6,59,52,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 6px 24px rgba(6,59,52,.18)}
.form-group{padding:22px 24px 26px;border:1px solid var(--glass-line);border-radius:var(--glass-r);background:var(--glass-card);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom:16px}
.form-group:last-child{border-bottom:1px solid var(--glass-line)}
.form-group-body{padding-left:0;margin-top:18px}
.patient-form{display:grid;gap:0}
.context-card{border-bottom:0;padding:6px 4px 20px}
.nav-rail{padding:16px 16px 14px;border:1px solid var(--glass-line);border-radius:var(--glass-r);background:var(--glass-card);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-link.is-active{background:rgba(7,90,75,.10)}
.side-col{gap:16px}
.side-card,.checklist-panel,.cta-card{padding:16px 18px;border:1px solid var(--glass-line);border-radius:var(--glass-r);background:var(--glass-card);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cta-card{border-top:1px solid var(--glass-line)}
.checklist-panel .sticky-head{padding:0 0 8px}
.side-card h2,.checklist-panel .sticky-head h2{margin-bottom:10px}
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{background:rgba(255,255,255,.9);border-color:rgba(6,59,52,.14);box-shadow:0 1px 2px rgba(6,59,52,.04)}
input:focus,select:focus,textarea:focus{background:#fff}
.calculated-field,.problem-list-auto,.clinical-prompt,.caregiver-education-dates,.high-risk-popup{border-radius:0 10px 10px 0;background:rgba(7,90,75,.06)}
.collapsible-risk-panel{border-radius:10px;background:rgba(255,255,255,.5)}
.card-block,.episode-bar,.summary-preview,.caregiver-prompt{background:rgba(255,255,255,.8);border-color:var(--glass-line)}
.summary-panel{background:transparent}
.primary-button{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 18px rgba(7,90,75,.22)}
.app-bar .primary-button{box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 4px 14px rgba(0,0,0,.18)}
.landing-entry{background:linear-gradient(180deg,#f7f9f8,#eef3f1)}
.password-card{padding:34px 32px;border:1px solid var(--glass-line);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:860px){.side-col{border:0;background:rgba(255,255,255,.85);backdrop-filter:blur(14px)}.side-card,.checklist-panel,.cta-card{border:0;box-shadow:none;background:transparent;backdrop-filter:none;padding:0}.form-group{padding:18px 16px 20px}}
@media print{.form-group,.nav-rail,.side-card{background:#fff;box-shadow:none;backdrop-filter:none}}

/* ===== Landing — glass hero ===== */
.landing{background:#063b34}
.landing-hero{background:#063b34;padding-bottom:48px}
.landing-hero::before{background:
  radial-gradient(42% 38% at 78% 8%,rgba(154,223,212,.34),transparent 70%),
  radial-gradient(48% 44% at 6% 96%,rgba(43,168,137,.36),transparent 70%),
  radial-gradient(30% 28% at 68% 74%,rgba(115,87,166,.38),transparent 70%),
  linear-gradient(160deg,#0a5a4b 0%,#063b34 46%,#04241f 100%);
  animation:orbs 26s ease-in-out infinite alternate;background-size:130% 130%}
@keyframes orbs{from{background-position:0% 0%,100% 100%,50% 50%,0 0}to{background-position:100% 30%,0% 60%,30% 80%,0 0}}
.landing-hero::after{border:1px solid rgba(154,223,212,.22);background:radial-gradient(circle at 40% 40%,rgba(154,223,212,.12),transparent 62%);box-shadow:inset 0 0 0 46px rgba(255,255,255,.02),0 40px 120px rgba(0,0,0,.25);backdrop-filter:blur(2px);animation:ring-float 12s ease-in-out infinite alternate}
@keyframes ring-float{from{transform:translateY(0)}to{transform:translateY(-18px)}}
.landing-copy h1{font-size:clamp(2rem,4.6vw,3.25rem);letter-spacing:-.028em;line-height:1.04;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.landing-eyebrow{color:#9adfd4}
.landing-sub{font-size:1.0625rem}
.landing-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px}
.tile{position:relative;padding:16px 16px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 14px 40px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:tile-float 9s ease-in-out infinite}
.tile:nth-child(2){animation-delay:-3s}.tile:nth-child(3){animation-delay:-6s}
@keyframes tile-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.tile-k{display:block;color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile-l{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:.8125rem;line-height:1.4}
.landing-author{border-top-color:rgba(255,255,255,.14)}
.landing-entry{position:relative;background:linear-gradient(180deg,#0b4a3f 0%,#063b34 100%);overflow:hidden}
.landing-entry::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 30% 20%,rgba(154,223,212,.22),transparent 70%),radial-gradient(50% 40% at 90% 90%,rgba(115,87,166,.25),transparent 70%);pointer-events:none}
.password-card{position:relative;width:min(100%,400px);padding:32px 30px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.90);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.password-card h2{color:var(--teal-900)}
.password-card .primary-button{background:#075a4b;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 10px 26px rgba(7,90,75,.35)}
.password-card .primary-button::before{display:none}
.landing-bar{background:rgba(4,42,37,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(154,223,212,.14)}
.landing-current .pulse path{stroke-width:1.8}
.landing-current .trace path{stroke-opacity:.16}
@media(max-width:960px){.landing-tiles{grid-template-columns:1fr 1fr}.tile:nth-child(3){grid-column:1/-1}.landing-entry{padding-top:36px}}
@media(max-width:600px){.landing-tiles{grid-template-columns:1fr}.tile{animation:none}.password-card{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){.landing-hero::before,.landing-hero::after,.tile{animation:none}}
input.is-invalid,input.is-invalid:focus{border-color:var(--crimson);box-shadow:0 0 0 3px rgba(191,70,70,.14)}
.app-bar .save-status:not(:empty){color:#ffd6d6}
.landing-bar{position:sticky;top:0;z-index:50}
.landing-author{margin-top:40px}

/* ===== Landing motion ===== */
.landing{--mx:0;--my:0;--dx:0;--dy:0}
.landing-hero::before{will-change:transform;transform:translate3d(calc(var(--mx) * -28px + var(--dx) * 10px),calc(var(--my) * -22px + var(--dy) * 8px),0) scale(1.06)}
.landing-hero::after{will-change:transform;transform:translate3d(calc(var(--mx) * 46px + var(--dx) * 14px),calc(var(--my) * 36px + var(--dy) * -12px),0);animation:none}
.landing-current{will-change:transform;transform:translate3d(calc(var(--mx) * 18px),calc(var(--my) * 14px),0)}
.landing-copy{transform:translate3d(calc(var(--mx) * 6px),calc(var(--my) * 4px),0)}
.tile{transition:transform .25s ease,box-shadow .25s ease;will-change:transform;animation:none}
.tile::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(220px circle at var(--gx,50%) var(--gy,50%),rgba(154,223,212,.22),transparent 60%);opacity:0;transition:opacity .25s ease;pointer-events:none}
.tile:hover::after{opacity:1}
.tile:hover{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 24px 60px rgba(0,0,0,.28)}
.password-card{will-change:transform;transform:translate3d(calc(var(--mx) * -10px),calc(var(--my) * -8px + var(--dy) * 4px),0)}
.landing-entry::before{transform:translate3d(calc(var(--mx) * 30px),calc(var(--my) * 24px),0)}
@media(hover:none){.tile::after{display:none}}
@media(prefers-reduced-motion:reduce){.landing-hero::before,.landing-hero::after,.landing-current,.landing-copy,.password-card,.landing-entry::before{transform:none}}
@media(max-width:960px){.landing-entry{flex-direction:column;align-items:stretch;gap:26px}.landing-entry .landing-author{position:relative;margin:0 auto;width:min(100%,400px);padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}.landing-hero{padding-bottom:36px}}

/* ===== Hero visual: living planner preview ===== */
.landing-tiles{display:none}
.hero-visual{position:relative;margin-top:34px;max-width:560px;perspective:1200px}
.hv-glow{position:absolute;inset:8% -6% -12% -6%;border-radius:40px;background:radial-gradient(60% 60% at 50% 60%,rgba(154,223,212,.28),transparent 70%);filter:blur(22px);z-index:0}
.hv-card{position:relative;z-index:1;padding:18px 20px 16px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff;font-size:.8125rem;transform:rotateX(calc(var(--my) * -6deg)) rotateY(calc(var(--mx) * 8deg)) translateY(calc(var(--dy) * -6px));transition:transform .15s ease-out;will-change:transform}
.hv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hv-name{font-size:1.125rem;font-weight:600;letter-spacing:-.016em}
.hv-tier{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:99px;background:rgba(154,223,212,.14);color:#9adfd4;font-size:.75rem;font-weight:600;transition:background .5s,color .5s}
.hv-tier i{width:7px;height:7px;border-radius:50%;background:currentColor}
.hv-tier.is-high{background:rgba(255,120,120,.16);color:#ffb3b3}
.hv-facts{display:flex;gap:14px;margin-top:6px;color:rgba(255,255,255,.7);font-size:.75rem}.hv-facts b{color:#fff;font-weight:500}
.hv-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;margin-top:16px}
.hv-calc{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.08);border-left:2px solid #9adfd4}
.hv-calc small,.hv-side small{display:block;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:#9adfd4;margin-bottom:4px}
.hv-calc b{display:block;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hv-calc em{display:block;font-style:normal;color:rgba(255,255,255,.6);font-size:.6875rem;margin-top:2px}
.hv-side b{display:block;font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}
.hv-bar{display:block;height:3px;border-radius:2px;background:rgba(255,255,255,.14);margin:6px 0 10px;overflow:hidden}.hv-bar i{display:block;height:100%;width:0;border-radius:2px;background:linear-gradient(90deg,#9adfd4,#2ba889);transition:width .6s ease}
.hv-items div{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.75rem;color:rgba(255,255,255,.75)}
.hv-items i{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);flex:0 0 auto;transition:background .3s,border-color .3s}
.hv-items div.done{color:#fff}.hv-items div.done i{background:#2ba889;border-color:#2ba889;position:relative}
.hv-items div.done i::after{content:"";position:absolute;left:3px;top:2px;width:5px;height:3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.hv-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.hv-ep{font-size:.6875rem;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.hv-btn{padding:7px 12px;border-radius:8px;background:#2ba889;color:#fff;font-size:.75rem;font-weight:600;box-shadow:0 8px 20px rgba(43,168,137,.35)}
@media(max-width:960px){.hero-visual{max-width:none;margin-top:28px}.hv-grid{grid-template-columns:1fr}.hv-card{transform:none}}
@media(max-width:420px){.hv-facts{flex-wrap:wrap;gap:8px}}

/* ===== Hero atmosphere as the visual ===== */
.landing-hero::after{right:-10%;top:-18%;width:72%;box-shadow:inset 0 0 0 56px rgba(255,255,255,.025),inset 0 0 0 120px rgba(154,223,212,.03),0 40px 140px rgba(0,0,0,.28);border-color:rgba(154,223,212,.3)}
.landing-copy{margin-top:8px}
.landing-author{margin-top:56px}
.landing-current{opacity:1}
.landing-current .trace path{stroke-opacity:.2;stroke-width:1.2}
.landing-current .pulse path{stroke-width:2.2;stroke-dasharray:140 860;animation-duration:9s}
.landing-current .nodes circle{fill-opacity:.7}
.hero-signal{position:absolute;left:62%;top:58%;width:14px;height:14px;border-radius:50%;background:#9adfd4;box-shadow:0 0 18px #9adfd4;z-index:0;pointer-events:none;transform:translate3d(calc(var(--mx) * 40px),calc(var(--my) * 30px),0)}
.hero-signal::before,.hero-signal::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(154,223,212,.55);animation:signal 4.5s ease-out infinite}
.hero-signal::after{animation-delay:-2.25s}
@keyframes signal{0%{transform:scale(1);opacity:.8}100%{transform:scale(16);opacity:0}}
@media(max-width:960px){.hero-signal{left:76%;top:34%}.landing-hero::after{inset:-10% -20% auto auto;width:90%}}
@media(prefers-reduced-motion:reduce){.hero-signal::before,.hero-signal::after{animation:none}}
input.needs-confirm,select.needs-confirm,textarea.needs-confirm{border-color:#c8a24a;box-shadow:0 0 0 3px rgba(200,162,74,.18);background:#fffdf5}

/* ===== Subtle ===== */
.hero-signal{width:8px;height:8px;box-shadow:0 0 10px rgba(154,223,212,.6);opacity:.7}
.hero-signal::before,.hero-signal::after{border-color:rgba(154,223,212,.28);animation-duration:7s}
@keyframes signal{0%{transform:scale(1);opacity:.5}100%{transform:scale(12);opacity:0}}
.landing-hero::after{border-color:rgba(154,223,212,.16);box-shadow:inset 0 0 0 56px rgba(255,255,255,.015),0 40px 140px rgba(0,0,0,.18);background:radial-gradient(circle at 40% 40%,rgba(154,223,212,.06),transparent 62%)}
.landing-current{opacity:.7}
.landing-current .trace path{stroke-opacity:.11;stroke-width:1}
.landing-current .pulse path{stroke-width:1.4;stroke-dasharray:90 910;animation-duration:14s}
.landing-current .nodes circle{fill-opacity:.35}
.landing-hero::before{transform:translate3d(calc(var(--mx) * -14px + var(--dx) * 6px),calc(var(--my) * -10px + var(--dy) * 5px),0) scale(1.04);animation-duration:40s}
.landing-hero::after{transform:translate3d(calc(var(--mx) * 20px + var(--dx) * 8px),calc(var(--my) * 16px + var(--dy) * -6px),0)}
.landing-current{transform:translate3d(calc(var(--mx) * 8px),calc(var(--my) * 6px),0)}
.landing-copy{transform:none}
.password-card{transform:translate3d(calc(var(--mx) * -5px),calc(var(--my) * -4px),0)}
.landing-entry::before{transform:translate3d(calc(var(--mx) * 14px),calc(var(--my) * 10px),0)}

/* ===== Workflow strip — glass tint ===== */
.flow{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:34px 0 0;padding:0;max-width:560px;counter-reset:step}
.flow::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(154,223,212,.35),rgba(154,223,212,.35),transparent);z-index:0}
.flow-step{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 10px 30px rgba(0,0,0,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:rgba(255,255,255,.78);font-size:.875rem;font-weight:500;letter-spacing:-.005em;transition:background .6s ease,color .6s ease,box-shadow .6s ease,border-color .6s ease}
.flow-step::before{counter-increment:step;content:counter(step);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:.6875rem;font-weight:600;transition:background .6s ease,color .6s ease}
.flow-step.is-on{background:rgba(154,223,212,.16);border-color:rgba(154,223,212,.45);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 14px 36px rgba(154,223,212,.14)}
.flow-step.is-on::before{background:#9adfd4;color:#063b34}
@media(max-width:600px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.flow::before{display:none}}
@media(prefers-reduced-motion:reduce){.flow-step{transition:none}}

/* ===== Timeline (replaces the glass strip) ===== */
.flow{display:none}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:38px 0 0;max-width:560px;padding-top:6px}
.tl-line{position:absolute;left:12.5%;right:12.5%;top:11px;height:1px;background:rgba(154,223,212,.28)}
.tl-glow{position:absolute;top:50%;left:0;width:64px;height:2px;margin:-1px 0 0 -32px;border-radius:2px;background:linear-gradient(90deg,transparent,#9adfd4,transparent);filter:drop-shadow(0 0 6px rgba(154,223,212,.9));transition:left 1.4s cubic-bezier(.4,0,.2,1)}
.tl-node{display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.62);font-size:.8125rem;font-weight:500;letter-spacing:.005em;transition:color .6s ease}
.tl-node b{width:11px;height:11px;border-radius:50%;background:#063b34;border:1.5px solid rgba(154,223,212,.5);box-shadow:0 0 0 0 rgba(154,223,212,0);transition:background .6s ease,box-shadow .6s ease,border-color .6s ease}
.tl-node.is-on{color:#fff}
.tl-node.is-on b{background:#9adfd4;border-color:#9adfd4;box-shadow:0 0 0 5px rgba(154,223,212,.14),0 0 18px rgba(154,223,212,.7)}
@media(max-width:600px){.timeline{max-width:none}.tl-node{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.tl-glow{display:none}.tl-node,.tl-node b{transition:none}}

/* App header — same green as the landing bar */
.app-bar{background:rgba(4,42,37,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 rgba(154,223,212,.14)}

/* ===== Timeline comet ===== */
.tl-line{overflow:visible}
.tl-trail{position:absolute;left:0;top:0;height:1px;width:0;background:linear-gradient(90deg,rgba(154,223,212,.05),rgba(154,223,212,.9));box-shadow:0 0 8px rgba(154,223,212,.5)}
.tl-glow{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff,0 0 18px #9adfd4,0 0 40px rgba(154,223,212,.9),0 0 80px rgba(154,223,212,.5);transition:none;filter:none}
.tl-halo{position:absolute;top:50%;left:0;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:radial-gradient(circle,rgba(154,223,212,.28),rgba(154,223,212,.08) 40%,transparent 70%);pointer-events:none;mix-blend-mode:screen}
.tl-node b{transition:background .35s ease,box-shadow .35s ease,border-color .35s ease,transform .35s ease}
.tl-node.is-passed b{background:rgba(154,223,212,.55);border-color:rgba(154,223,212,.8)}
.tl-node.is-on b{background:#fff;border-color:#fff;transform:scale(1.35);box-shadow:0 0 0 6px rgba(154,223,212,.18),0 0 24px rgba(154,223,212,.95)}
.tl-node.is-on{color:#fff;text-shadow:0 0 12px rgba(154,223,212,.6)}
.tl-node.is-passed{color:rgba(255,255,255,.8)}
@media(prefers-reduced-motion:reduce){.tl-glow,.tl-halo,.tl-trail{display:none}}

/* ===== Key Items / Discharge Readiness — responsive (this pass only) ===== */
/* Rows: never truncate a clinical label */
.task-card{grid-template-columns:20px minmax(0,1fr) auto 16px;grid-template-areas:"icon title status chev" "detail detail detail detail";column-gap:10px;align-items:start}
.task-title{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.task-card>input[type=checkbox]{margin-top:2px}
.badge{white-space:nowrap;align-self:start;margin-top:3px}
.task-chevron{align-self:start;margin-top:3px}
.side-toggle,.side-close,.side-backdrop{display:none}
/* Wide: fixed 320px column */
@media(min-width:1280px){.app-shell{grid-template-columns:200px minmax(0,1fr) 320px;gap:48px}}
/* Medium: no squeezed column — compact sticky control + right drawer */
@media(max-width:1279px){
  .app-shell{grid-template-columns:200px minmax(0,1fr);gap:40px}
  .side-col{position:fixed;top:0;right:0;bottom:0;z-index:70;width:340px;max-width:100%;max-height:none;margin:0;padding:64px 20px 24px;overflow:auto;background:#fff;box-shadow:-16px 0 48px rgba(6,59,52,.16);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1);order:0;border:0;backdrop-filter:none}
  .side-col.is-open{transform:none}
  .side-close{display:grid;position:absolute;top:14px;right:14px;z-index:1}
  .side-backdrop{display:block;position:fixed;inset:0;z-index:60;background:rgba(6,59,52,.22)}
  .side-toggle{display:inline-flex;align-items:center;gap:6px;position:fixed;top:calc(var(--bar-h) + 12px);right:18px;z-index:55;min-height:40px;padding:8px 14px;border-radius:99px;background:#063b34;color:#fff;font-size:.875rem;font-weight:600;box-shadow:0 10px 28px rgba(6,59,52,.28);white-space:nowrap}
  .side-toggle .side-toggle-cta{display:none}
  .side-toggle::after{content:"→";opacity:.8;margin-left:2px}
  body.side-open .side-toggle{display:none}
  .side-col .side-card,.side-col .checklist-panel,.side-col .cta-card{display:block;padding:0 0 18px;border:0;background:none;box-shadow:none;backdrop-filter:none}
  .side-col .checklist-panel{display:flex}
  .side-col .checklist{max-height:none;overflow:visible}
}
@media(max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr)}}
/* Mobile: sticky bottom bar + full-width bottom sheet */
@media(max-width:860px){
  .app-shell{display:grid;padding-bottom:110px}
  .side-toggle{top:auto;bottom:0;left:0;right:0;border-radius:0;justify-content:space-between;min-height:56px;padding:10px 18px;padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(6,59,52,.18)}
  .side-toggle .side-toggle-pre{display:none}
  .side-toggle::after{content:none}
  .side-toggle .side-toggle-cta{display:inline;font-weight:600;color:#9adfd4}
  .side-col{top:auto;left:0;right:0;bottom:0;width:100%;max-height:82vh;border-radius:16px 16px 0 0;padding:56px 20px 28px;transform:translateY(100%)}
  .side-col.is-open{transform:none}
  .patient-panel{order:0}
}
/* App header — solid landing green (no translucency over white) */
.app-bar{background:#063b34;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 rgba(154,223,212,.16)}

/* ===== Landing — quiet, elegant, one slow movement ===== */
.landing-current,.hero-signal,.landing-hero::after{display:none}
.landing-hero::before{background:
  radial-gradient(55% 48% at 78% 20%,rgba(154,223,212,.20),transparent 70%),
  radial-gradient(60% 55% at 12% 92%,rgba(43,168,137,.20),transparent 70%),
  linear-gradient(165deg,#0a4f43 0%,#063b34 50%,#04241f 100%);
  background-size:130% 130%;animation:orbs 48s ease-in-out infinite alternate;transform:none}
.landing-hero{padding-top:64px;gap:56px}
.landing-eyebrow{font-size:.625rem;letter-spacing:.2em;color:rgba(154,223,212,.85);margin-bottom:18px}
.landing-copy h1{font-size:clamp(2.2rem,4.8vw,3.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.02;text-shadow:none}
.landing-sub{margin-top:16px;font-size:1.0625rem;color:rgba(255,255,255,.78)}
.landing-support{margin-top:26px;font-size:.9375rem;color:rgba(255,255,255,.62);max-width:38rem}
.timeline{margin-top:48px;max-width:520px}
.tl-line{background:rgba(255,255,255,.14)}
.tl-trail{background:linear-gradient(90deg,rgba(154,223,212,0),rgba(154,223,212,.5));box-shadow:none}
.tl-glow{width:8px;height:8px;margin:-4px 0 0 -4px;box-shadow:0 0 6px #fff,0 0 16px rgba(154,223,212,.7)}
.tl-halo{width:160px;height:160px;margin:-80px 0 0 -80px;background:radial-gradient(circle,rgba(154,223,212,.14),transparent 65%)}
.tl-node{font-size:.75rem;font-weight:400;color:rgba(255,255,255,.5);letter-spacing:.02em}
.tl-node b{width:8px;height:8px;background:#063b34;border-color:rgba(255,255,255,.35)}
.tl-node.is-passed b{background:rgba(154,223,212,.4);border-color:rgba(154,223,212,.5)}
.tl-node.is-on b{transform:scale(1.2);box-shadow:0 0 0 4px rgba(154,223,212,.12),0 0 14px rgba(154,223,212,.6)}
.tl-node.is-on{text-shadow:none;color:#fff}
.landing-author{margin-top:64px;border-top-color:rgba(255,255,255,.1);font-size:.875rem;color:rgba(255,255,255,.62)}
.landing-author strong{font-weight:500}
.landing-author .author-label{letter-spacing:.18em;color:rgba(154,223,212,.75)}
.landing-entry{background:linear-gradient(180deg,#0b4a3f 0%,#063b34 100%)}
.landing-entry::before{background:radial-gradient(60% 50% at 40% 30%,rgba(154,223,212,.12),transparent 70%);transform:none}
.password-card{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.3);box-shadow:0 30px 80px rgba(0,0,0,.28);transform:none;padding:34px 32px;border-radius:18px}
.password-card h2{font-weight:500;font-size:1.25rem}
.password-card .primary-button{box-shadow:none}
.landing-bar{background:rgba(4,42,37,.72)}
.landing-copy,.tile{transform:none}
@media(prefers-reduced-motion:reduce){.landing-hero::before{animation:none}}
/* NeoBuddy panel anchored under its header button */
.bot-widget{position:relative}
.bot-panel{position:fixed;top:calc(var(--bar-h) + 10px);right:20px;bottom:auto;left:auto;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - var(--bar-h) - 24px));border-radius:14px;animation:none;transform-origin:top right}
@media(max-width:600px){.bot-panel{right:0;top:var(--bar-h);width:100vw;height:calc(100dvh - var(--bar-h));border-radius:0}}

/* ===== Landing hero: Scattered light (option 20) ===== */
.landing-hero::before{background:
  radial-gradient(circle at 76% 38%,rgba(255,255,255,.10) 0 2px,transparent 3px),
  radial-gradient(circle at 61% 66%,rgba(255,255,255,.07) 0 1.5px,transparent 2.5px),
  radial-gradient(circle at 88% 74%,rgba(154,223,212,.22) 0 2px,transparent 3px),
  radial-gradient(circle at 52% 24%,rgba(154,223,212,.16) 0 1.5px,transparent 2.5px),
  radial-gradient(circle at 69% 14%,rgba(255,255,255,.12) 0 1px,transparent 2px),
  radial-gradient(circle at 83% 52%,rgba(255,255,255,.08) 0 1.5px,transparent 2.5px),
  radial-gradient(circle at 44% 82%,rgba(154,223,212,.12) 0 1px,transparent 2px),
  radial-gradient(circle at 93% 22%,rgba(154,223,212,.18) 0 1.5px,transparent 2.5px),
  radial-gradient(60% 50% at 80% 30%,rgba(154,223,212,.10),transparent 70%),
  linear-gradient(165deg,#0b4a3f,#063b34 60%,#05302a);
  background-size:100% 100%;animation:none}
.landing-hero .hero-dust{position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(circle at 20% 60%,rgba(255,255,255,.06) 0 1px,transparent 2px),
  radial-gradient(circle at 34% 40%,rgba(154,223,212,.10) 0 1.2px,transparent 2.2px),
  radial-gradient(circle at 12% 28%,rgba(255,255,255,.05) 0 1px,transparent 2px),
  radial-gradient(circle at 28% 88%,rgba(154,223,212,.08) 0 1px,transparent 2px);
  animation:dust 18s ease-in-out infinite alternate}
@keyframes dust{from{transform:translate3d(0,0,0)}to{transform:translate3d(-14px,10px,0)}}
@media(prefers-reduced-motion:reduce){.landing-hero .hero-dust{animation:none}}

/* ===== Landing hero: illustrated ribbons converging to light (image takes over if assets/login-art.png exists) ===== */
.landing-hero::before{background:url("assets/login-art.png") center/cover no-repeat,linear-gradient(165deg,#0b4a3f 0%,#063b34 55%,#04241f 100%);animation:none;transform:none}
.landing-hero .hero-dust,.hero-signal,.landing-current{display:none}
.hero-illus{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.95;display:block}
.landing.has-art .hero-illus{display:none}
.art-ribbons{transform-origin:50% 60%;animation:ribbons 16s ease-in-out infinite alternate}
@keyframes ribbons{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-14px,0)}}
.hero-illus .r{stroke-dasharray:1800;stroke-dashoffset:0}
.hero-illus .r1{animation:flow 14s linear infinite}.hero-illus .r2{animation:flow 18s linear infinite}.hero-illus .r3{animation:flow 22s linear infinite}
@keyframes flow{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
.art-nodes circle{animation:node-breathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.art-nodes circle:nth-child(2n){animation-delay:-1.6s}.art-nodes circle:nth-child(3n){animation-delay:-3.2s}
.art-sun{animation:sun-breathe 9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes sun-breathe{from{transform:scale(1);opacity:.9}to{transform:scale(1.12);opacity:1}}
.landing-copy{position:relative;z-index:2}
.landing-copy h1{text-shadow:0 2px 30px rgba(4,36,31,.6)}
.landing-copy p,.landing-author{text-shadow:0 1px 16px rgba(4,36,31,.6)}
.timeline{display:none}
@media(max-width:960px){.hero-illus{opacity:.8}}
@media(prefers-reduced-motion:reduce){.art-ribbons,.hero-illus .r,.art-nodes circle,.art-sun{animation:none}}

/* Problem words — elegant boxed chips */
.problem-prompts{gap:8px}
.problem-prompts button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 13px;border:1px solid var(--line-2);border-radius:9px;background:#fff;color:var(--ink);font-size:.875rem;font-weight:450;letter-spacing:.002em;text-decoration:none;box-shadow:0 1px 2px rgba(6,59,52,.04);transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.problem-prompts button::before{content:"+";color:var(--teal-500);font-weight:500;margin-right:2px}
.problem-prompts button:hover{border-color:var(--teal-500);background:var(--teal-50);color:var(--teal-900);box-shadow:0 4px 12px rgba(6,59,52,.08)}
.ai-chip{border-radius:9px;min-height:36px;padding:7px 13px;box-shadow:0 1px 2px rgba(6,59,52,.04)}
.problem-item{border-radius:9px}
#notesDictate.is-live{border-color:var(--crimson);color:var(--crimson)}
#notesDictate.is-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--crimson);animation:bot-led 1s ease-in-out infinite}
/* Landing hero: clean gradient until a real image is supplied (assets/login-art.png) */
.hero-illus{display:none}
.landing-hero::before{background:url("assets/login-art.png") center/cover no-repeat,radial-gradient(60% 50% at 80% 20%,rgba(154,223,212,.14),transparent 70%),linear-gradient(165deg,#0b4a3f 0%,#063b34 55%,#04241f 100%)}
/* Problem chips — dark green boxes */
.problem-prompts button{background:#063b34;border-color:#063b34;color:#fff;box-shadow:0 2px 8px rgba(6,59,52,.18)}
.problem-prompts button::before{color:#9adfd4}
.problem-prompts button:hover{background:#0a4f43;border-color:#0a4f43;color:#fff;box-shadow:0 6px 16px rgba(6,59,52,.28)}
.ai-chip{background:#063b34;border-color:#063b34;color:#fff}.ai-chip small{color:#9adfd4}.ai-chip:hover{background:#0a4f43}.ai-chip.is-added{background:#2ba889;border-color:#2ba889;color:#fff}
.problem-prompts button{position:relative;padding-right:30px}
.chip-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.55);font-size:13px;line-height:1;transition:background .15s,color .15s}
.chip-x:hover{background:rgba(255,255,255,.18);color:#fff}
.chip-restore{margin-top:-4px;font-size:.8125rem}
.problem-clear{position:absolute;right:8px;top:30px;width:24px;height:24px;border-radius:50%;background:var(--grey-100);color:var(--ink-3);font-size:15px;line-height:1;display:grid;place-items:center}
.problem-clear:hover{background:var(--crimson-50);color:var(--crimson)}
#problemListFields textarea{padding-right:40px}

/* ===== Problem index — typeset directory, no boxes ===== */
.problem-prompts.problem-index{display:block;columns:4;column-gap:36px;margin-top:6px}
.pl-group{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:0 0 18px;padding:0}
.pl-letter{font-size:.6875rem;font-weight:600;letter-spacing:.14em;color:var(--teal-500);padding:0 0 6px 2px;border-bottom:1px solid rgba(7,90,75,.14);margin-bottom:6px}
.problem-index .pl-item{display:flex;align-items:baseline;gap:8px;width:100%;min-height:0;margin:0;padding:6px 6px 6px 4px;border:0;border-radius:6px;background:none;box-shadow:none;color:var(--ink);font-size:.9375rem;font-weight:400;line-height:1.35;text-align:left;text-decoration:none;letter-spacing:.002em;transition:background .12s,color .12s}
.problem-index .pl-item::before{content:"+";flex:0 0 12px;color:var(--teal-400);font-weight:500;margin:0}
.problem-index .pl-item:hover{background:rgba(154,223,212,.18);color:var(--teal-900);box-shadow:none;border:0}
.problem-index .pl-item.is-on{color:var(--teal-700);font-weight:500}
.problem-index .pl-item.is-on::before{content:"✓";color:var(--jade)}
.problem-index .chip-x,.chip-restore{display:none}
@media(max-width:1400px){.problem-prompts.problem-index{columns:3}}
@media(max-width:900px){.problem-prompts.problem-index{columns:2;column-gap:28px}}
@media(max-width:560px){.problem-prompts.problem-index{columns:1}}
/* Embedded MOU locator */
.mou-embed{grid-column:1/-1;width:100%;margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(6,59,52,.08)}
.mou-embed-head{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;background:#063b34;color:#fff;font-size:.875rem;font-weight:600}
.mou-embed-hint{flex:1;color:rgba(255,255,255,.7);font-weight:400;font-size:.8125rem}
.mou-embed-head .icon-button{color:#fff}
.mou-embed iframe{display:block;width:100%;height:min(640px,70vh);border:0;background:#fff}

/* ===== Problem options — calm selectable grid ===== */
.problem-prompts.problem-index,.problem-prompts.problem-grid{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}
.pl-group,.pl-letter{display:none}
.problem-grid .pg-item{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;margin:0;padding:10px 16px;border:1px solid rgba(7,90,75,.16);border-radius:9px;background:#f3f7f6;color:var(--teal-900);font-size:.9375rem;font-weight:450;line-height:1.35;text-align:left;text-decoration:none;box-shadow:none;letter-spacing:.002em;white-space:normal;transition:background .12s,border-color .12s}
.problem-grid .pg-item::before{content:"+";flex:0 0 12px;color:var(--teal-500);font-weight:500;margin:0}
.problem-grid .pg-item:hover{background:#e6f2ef;border-color:rgba(7,90,75,.3);color:var(--teal-900);box-shadow:none}
.problem-grid .pg-item.is-on{background:#e1f3ec;border-color:var(--teal-700);color:var(--teal-900);font-weight:500}
.problem-grid .pg-item.is-on::before{content:"✓";color:var(--jade)}
.problem-grid .chip-x{display:none}
@media(max-width:1180px){.problem-prompts.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.problem-prompts.problem-grid{grid-template-columns:1fr}}
/* Problem options — petite, left-aligned */
.problem-prompts.problem-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.problem-grid .pg-item{justify-content:flex-start;align-items:flex-start;min-height:0;padding:6px 10px;gap:7px;font-size:.84375rem;line-height:1.3;border-radius:7px}
.problem-grid .pg-item::before{flex:0 0 10px;margin-top:1px;font-size:.8125rem}
@media(max-width:560px){.problem-prompts.problem-grid{grid-template-columns:1fr}}
/* Dose calculator inside the LBW prompt */
.dose-calc{display:grid;gap:8px;margin-top:4px;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.85);border:1px solid rgba(7,90,75,.12)}
.dose-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:2px 12px;align-items:baseline;font-size:.875rem}
.dose-k{color:var(--teal-700);font-weight:600;font-size:.8125rem;letter-spacing:.02em}
.dose-row b{color:var(--teal-900);font-weight:600;font-variant-numeric:tabular-nums}
.dose-note{grid-column:2;color:var(--ink-3);font-size:.8125rem}
.dose-form{display:inline;color:var(--ink-3);font-weight:400}
.dose-form select{display:inline-block;width:auto;min-height:26px;padding:2px 26px 2px 8px;font-size:.8125rem;margin-left:4px;background-position:right 8px center}
/* Tablet/phone: authorship aligns with the sign-in card */
@media(max-width:960px){
  .landing-entry{align-items:center}
  .landing-entry .password-card{width:min(100%,440px)}
  .landing-entry .landing-author{width:min(100%,440px);margin:6px auto 0;padding:22px 0 0;text-align:left}
  .landing-hero{min-height:0;padding-bottom:44px}
}

/* ===== Landing: floating glass spheres, slow and subtle ===== */
.hero-orbs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-orbs i{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.28),rgba(154,223,212,.10) 45%,rgba(154,223,212,.03) 70%,transparent 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 30px 80px rgba(0,0,0,.18);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:orb-float var(--d,26s) ease-in-out infinite alternate;will-change:transform}
.hero-orbs i:nth-child(1){width:260px;height:260px;right:6%;top:8%;--d:28s}
.hero-orbs i:nth-child(2){width:150px;height:150px;right:30%;top:48%;--d:22s;animation-delay:-8s}
.hero-orbs i:nth-child(3){width:90px;height:90px;right:14%;top:66%;--d:19s;animation-delay:-4s}
.hero-orbs i:nth-child(4){width:46px;height:46px;right:42%;top:22%;--d:16s;animation-delay:-11s;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.5),rgba(154,223,212,.18) 50%,transparent 72%)}
.hero-orbs i:nth-child(5){width:24px;height:24px;right:22%;top:36%;--d:14s;animation-delay:-6s;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(154,223,212,.5) 40%,transparent 70%);box-shadow:0 0 24px rgba(154,223,212,.6)}
@keyframes orb-float{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-14px,18px,0)}100%{transform:translate3d(10px,-16px,0)}}
@media(max-width:960px){.hero-orbs i:nth-child(1){width:180px;height:180px;right:-6%;top:4%}.hero-orbs i:nth-child(2){right:18%;top:58%}}
@media(prefers-reduced-motion:reduce){.hero-orbs i{animation:none}}
/* Key items — petite, darker green */
.task-card{grid-template-columns:14px minmax(0,1fr) auto 12px;column-gap:8px;padding:7px 0}
.task-card>input[type=checkbox]{width:14px;height:14px;min-height:14px;border:1.5px solid var(--teal-700);background:#fff;margin-top:2px}
.task-card>input[type=checkbox]:checked{border-color:var(--teal-800);background:var(--teal-800)}
.task-card>input[type=checkbox]:checked::before{width:6px;height:3px}
.task-card[data-status=review]>input[type=checkbox]{border-color:var(--crimson)}
.task-title{font-size:.8125rem;color:var(--teal-900);line-height:1.3}
.badge{font-size:.625rem;margin-top:2px}
.badge.due{color:var(--teal-700)}.badge.done{color:var(--teal-800)}
.task-chevron{width:12px;height:12px;margin-top:2px}
.task-meta{font-size:.75rem}
.task-detail{padding:6px 0 2px 22px}
.side-card h2,.checklist-panel .sticky-head h2{font-size:.6875rem;color:var(--teal-800)}
.readiness-line{font-size:.875rem;color:var(--teal-900)}
.readiness-remaining{font-size:.75rem}
.readiness-track i{background:var(--teal-800)}

/* Suggested medication panel — one clean flow */
#lowBirthWeightMedicationPrompt{gap:8px}
#lowBirthWeightMedicationPrompt>strong.sugg-title{font-size:.9375rem;letter-spacing:0;text-transform:none;color:var(--teal-900)}
#lowBirthWeightMedicationPrompt>strong.sugg-title::before{display:none}
.sugg-reason{margin:-4px 0 4px;color:var(--ink-3);font-size:.8125rem}
.sugg-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid rgba(7,90,75,.12)}
.sugg-name{font-weight:600;color:var(--teal-900);font-size:.875rem}
.sugg-dose{color:var(--ink-2);font-size:.875rem;font-variant-numeric:tabular-nums}
.sugg-add{min-height:30px;padding:4px 12px;border:1px solid var(--teal-700);border-radius:7px;background:#fff;color:var(--teal-700);font-size:.8125rem;font-weight:600;white-space:nowrap}
.sugg-add:hover{background:var(--teal-50)}
.sugg-add.is-added{border-color:transparent;background:transparent;color:var(--jade);cursor:default}
.sugg-foot{color:var(--ink-3);font-size:.75rem;padding-top:4px}
.sugg-foot select{display:inline-block;width:auto;min-height:24px;padding:1px 24px 1px 8px;font-size:.75rem;margin-left:4px;background-position:right 7px center}
@media(max-width:560px){.sugg-row{grid-template-columns:1fr auto}.sugg-name{grid-column:1/-1}}

/* MOU side sheet — a small clinical utility inside MGN */
.mou-embed{display:none}
.mou-backdrop{position:fixed;inset:0;z-index:80;background:rgba(6,59,52,.22)}
.mou-sheet{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(380px,100%);padding:28px 26px;background:#fff;box-shadow:-16px 0 48px rgba(6,59,52,.16);display:flex;flex-direction:column;gap:14px;overflow:auto}
.mou-close{position:absolute;top:12px;right:12px}
.mou-sheet h3{font-size:1.125rem;font-weight:600;color:var(--teal-900);letter-spacing:-.014em;margin:6px 0 4px}
.mou-result{display:grid;gap:4px;padding:14px 16px;border:1px solid rgba(7,90,75,.16);border-radius:9px;background:#f3f7f6;margin-top:6px}
.mou-k{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-700)}
.mou-result b{font-size:1rem;font-weight:600;color:var(--teal-900)}
.mou-when{color:var(--ink-2);font-size:.875rem}.mou-area{color:var(--ink-4);font-size:.8125rem}
.mou-result .primary-button{margin-top:10px}
.mou-none{color:var(--ink-3);font-size:.875rem}
.mou-external{margin-top:auto;color:var(--teal-700);font-size:.875rem;font-weight:500;text-decoration:none}.mou-external:hover{text-decoration:underline}
@media(max-width:560px){.mou-sheet{width:100%;top:auto;max-height:86vh;border-radius:14px 14px 0 0}}

/* Tablet: authorship left-aligned with the hero heading rather than centred under the card */
@media(min-width:561px) and (max-width:960px){.landing-entry{align-items:stretch}.landing-entry .landing-author{width:100%;margin:6px 0 0;text-align:left}}

/* Problem boxes: dark forest green, petite, left-aligned; selected state lifts to jade with a tick */
.problem-grid .pg-item{background:#075a4b;border-color:#075a4b;color:#fff;font-weight:450}
.problem-grid .pg-item::before{color:rgba(154,223,212,.9)}
.problem-grid .pg-item:hover{background:#063b34;border-color:#063b34;color:#fff}
.problem-grid .pg-item.is-on{background:#2ba889;border-color:#2ba889;color:#063b34;font-weight:500}
.problem-grid .pg-item.is-on::before{color:#063b34}
.problem-grid .pg-item:focus-visible{outline:2px solid #9adfd4;outline-offset:2px}

/* Landing hero: slow aurora silk — jade/aqua/violet ribbons drifting over the forest green */
.hero-orbs{display:none}
.hero-aurora{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;opacity:.95}
.aurora-layer{transform-box:fill-box;transform-origin:center;will-change:transform}
.aurora-1{animation:aurora-drift-a 34s ease-in-out infinite alternate}
.aurora-2{animation:aurora-drift-b 42s ease-in-out infinite alternate;animation-delay:-12s}
.aurora-3{animation:aurora-drift-c 26s ease-in-out infinite alternate;animation-delay:-6s}
@keyframes aurora-drift-a{from{transform:translate3d(-30px,10px,0) rotate(-1.2deg)}to{transform:translate3d(40px,-26px,0) rotate(1.4deg)}}
@keyframes aurora-drift-b{from{transform:translate3d(30px,-14px,0) rotate(1deg)}to{transform:translate3d(-46px,22px,0) rotate(-1.6deg)}}
@keyframes aurora-drift-c{from{transform:translate3d(-20px,18px,0)}to{transform:translate3d(36px,-18px,0)}}
.aurora-stars circle{fill:#fff;opacity:.35;animation:aurora-twinkle 5.5s ease-in-out infinite}
.aurora-stars circle:nth-child(2n){animation-delay:-2.2s}.aurora-stars circle:nth-child(3n){animation-delay:-3.7s;animation-duration:7s}
@keyframes aurora-twinkle{0%,100%{opacity:.18}50%{opacity:.85}}
@media(max-width:960px){.hero-aurora{opacity:.8}}
@media(prefers-reduced-motion:reduce){.aurora-layer,.aurora-stars circle{animation:none}}

/* MOU side sheet refinements */
.mou-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mou-head h3{margin:0}
.mou-close{position:static}
.mou-sub{color:var(--ink-3);font-size:.875rem;margin:-4px 0 4px}
.mou-status{min-height:1.3em;color:var(--ink-3);font-size:.8125rem;margin:0}
.mou-status.is-error{color:var(--crimson)}
.mou-status.is-busy::before{content:"";display:inline-block;width:11px;height:11px;margin-right:8px;border-radius:50%;border:2px solid var(--teal-300);border-top-color:var(--teal-700);vertical-align:-1px;animation:mou-spin .8s linear infinite}
@keyframes mou-spin{to{transform:rotate(360deg)}}
.mou-results{display:grid;gap:10px}
.mou-chosen{display:block;margin-top:6px;color:var(--teal-700);font-size:.8125rem}

/* Landing: glass lenses drifting over the aurora light */
.hero-orbs{display:block;z-index:1}
.hero-orbs i{backdrop-filter:blur(6px) saturate(1.3);-webkit-backdrop-filter:blur(6px) saturate(1.3);background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.34),rgba(154,223,212,.12) 45%,rgba(154,223,212,.04) 70%,transparent 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset -18px -18px 40px rgba(154,223,212,.08),0 30px 80px rgba(0,0,0,.2)}
.hero-aurora{opacity:1}
.mou-status.is-ok{color:var(--teal-700);font-weight:500}
.mou-problems{margin:10px 0 0;padding-left:18px;color:var(--crimson);font-size:.8125rem;line-height:1.45;display:grid;gap:4px}
.mou-result.has-problems{border-color:rgba(176,32,48,.35)}
.mou-result.is-added{border-color:var(--teal-700);background:#e9f4f0}

/* Landing hero: one translucent glass ribbon flowing diagonally through the left half — slow breathing, pointer parallax, travelling specular */
.hero-aurora,.hero-orbs,.landing-eyebrow{display:none}
.hero-ribbon{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;transform:translate3d(calc(var(--mx,0) * 14px),calc(var(--my,0) * 10px),0);transition:transform .9s cubic-bezier(.2,.7,.2,1);will-change:transform}
.rb-breathe{position:absolute;inset:-6%;animation:rb-breathe 24s ease-in-out infinite alternate;transform-origin:30% 40%;will-change:transform}
.rb-svg{width:100%;height:100%;display:block}
.rb-core{transform:translate3d(calc(var(--mx,0) * -9px),calc(var(--my,0) * -7px),0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);will-change:transform;mix-blend-mode:screen}
.rb-body{mix-blend-mode:screen}
.rb-edges{opacity:.9}
@keyframes rb-breathe{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(6px,-14px,0) scale(1.03)}}
@media(max-width:960px){.hero-ribbon{opacity:.75}.hero-ribbon,.rb-core{transform:none}}
@media(prefers-reduced-motion:reduce){.rb-breathe{animation:none}.hero-ribbon,.rb-core{transform:none;transition:none}.rb-spec{display:none}}
.mou-embed-frame{width:100%;height:min(420px,52vh);border:1px solid rgba(7,90,75,.16);border-radius:9px;background:#fff}
.mou-sheet.is-embed label,.mou-sheet.is-embed #mouSearch,.mou-sheet.is-embed .mou-sub{display:none}
.mou-sheet{width:min(460px,100%)}
.mou-embed-frame{height:min(440px,56vh)}
.mou-sheet.is-embed .mou-sub{display:block}
.mou-sheet.is-embed label,.mou-sheet.is-embed #mouSearch{display:none}

/* Landing hero: frosted glass panes with a slow shaft of light passing through them (options 13 + 9) */
.hero-ribbon,.hero-aurora,.hero-orbs{display:none}
.hero-glass{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;transform:translate3d(calc(var(--mx,0) * 10px),calc(var(--my,0) * 8px),0);transition:transform 1s cubic-bezier(.2,.7,.2,1);will-change:transform}
.hg-leak{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.hg-leak-a{left:-28%;top:-36%;background:radial-gradient(circle,#2ba889,transparent 62%);animation:hg-leak-a 28s ease-in-out infinite alternate}
.hg-leak-b{left:14%;bottom:-48%;background:radial-gradient(circle,#7357a6,transparent 60%);opacity:.32;animation:hg-leak-b 34s ease-in-out infinite alternate}
@keyframes hg-leak-a{to{transform:translate3d(14%,12%,0)}}@keyframes hg-leak-b{to{transform:translate3d(-10%,-14%,0)}}
.hg-shaft{position:absolute;left:-26%;top:-45%;width:18%;height:190%;background:linear-gradient(90deg,transparent,rgba(154,223,212,.22) 40%,rgba(255,255,255,.16) 52%,rgba(154,223,212,.2) 64%,transparent);filter:blur(14px);transform:rotate(22deg);animation:hg-shaft 18s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}
@keyframes hg-shaft{to{transform:rotate(22deg) translateX(420%)}}
.hg-panes{position:absolute;inset:0}
.hg-pane{position:absolute;display:block;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(154,223,212,.07) 55%,rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset -1px -1px 0 rgba(154,223,212,.18),0 40px 90px rgba(0,0,0,.22);backdrop-filter:blur(10px) saturate(1.4) brightness(1.08);-webkit-backdrop-filter:blur(10px) saturate(1.4) brightness(1.08);will-change:transform}
.hg-p1{left:4%;top:10%;width:26%;height:66%;transform:rotate(-9deg);animation:hg-p1 26s ease-in-out infinite alternate}
.hg-p2{left:20%;top:20%;width:22%;height:60%;transform:rotate(5deg);animation:hg-p2 30s ease-in-out infinite alternate;animation-delay:-9s;border-color:rgba(155,132,207,.3)}
.hg-p3{left:38%;top:6%;width:18%;height:56%;transform:rotate(15deg);animation:hg-p3 22s ease-in-out infinite alternate;animation-delay:-15s}
@keyframes hg-p1{to{transform:translate3d(14px,-10px,0) rotate(-6deg)}}
@keyframes hg-p2{to{transform:translate3d(-10px,12px,0) rotate(2deg)}}
@keyframes hg-p3{to{transform:translate3d(10px,8px,0) rotate(12deg)}}
.hg-spec{position:absolute;left:10%;top:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.5),transparent);opacity:.35;transform:rotate(22deg);animation:hg-shaft 18s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}
.landing-copy{z-index:2}
@media(max-width:960px){.hero-glass{transform:none;opacity:.85}.hg-p1{left:-6%;width:34%}.hg-p3{left:44%}}
@media(prefers-reduced-motion:reduce){.hg-leak,.hg-shaft,.hg-pane,.hg-spec{animation:none}.hero-glass{transform:none;transition:none}}

/* Landing hero: light only — two slow shafts, soft leaks, a few bokeh discs low-left; nothing solid behind the title */
.hg-panes,.hg-spec{display:none}
.hg-shaft{width:22%;opacity:.9;background:linear-gradient(90deg,transparent,rgba(154,223,212,.16) 38%,rgba(255,255,255,.14) 50%,rgba(154,223,212,.14) 62%,transparent);filter:blur(22px)}
.hg-shaft-2{left:-40%;width:12%;animation-duration:26s;animation-delay:-11s;opacity:.55;background:linear-gradient(90deg,transparent,rgba(155,132,207,.16) 45%,rgba(255,255,255,.08) 55%,transparent)}
.hg-leak-a{opacity:.5}.hg-leak-b{opacity:.28}
.hg-bokeh i{position:absolute;border-radius:50%;background:radial-gradient(circle at 38% 36%,rgba(255,255,255,.34),rgba(154,223,212,.14) 45%,rgba(154,223,212,.03) 68%,transparent 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);filter:blur(.6px);animation:hg-bokeh var(--d,26s) ease-in-out infinite alternate;will-change:transform,opacity}
.hg-bokeh i:nth-child(1){left:6%;bottom:8%;width:220px;height:220px;--d:30s}
.hg-bokeh i:nth-child(2){left:26%;bottom:20%;width:120px;height:120px;--d:24s;animation-delay:-9s}
.hg-bokeh i:nth-child(3){left:40%;bottom:6%;width:70px;height:70px;--d:20s;animation-delay:-5s}
.hg-bokeh i:nth-child(4){left:18%;bottom:34%;width:34px;height:34px;--d:18s;animation-delay:-13s;background:radial-gradient(circle,rgba(255,255,255,.7),rgba(154,223,212,.3) 45%,transparent 70%)}
.hg-bokeh i:nth-child(5){left:47%;bottom:30%;width:18px;height:18px;--d:16s;animation-delay:-3s;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(154,223,212,.4) 40%,transparent 70%);box-shadow:0 0 24px rgba(154,223,212,.5)}
@keyframes hg-bokeh{from{transform:translate3d(0,0,0) scale(1);opacity:.55}to{transform:translate3d(28px,-36px,0) scale(1.08);opacity:.95}}
@media(max-width:960px){.hg-bokeh i:nth-child(1){width:150px;height:150px;left:-4%}.hg-bokeh i:nth-child(2){left:40%}}
@media(prefers-reduced-motion:reduce){.hg-bokeh i{animation:none}}

/* Landing hero: cinematic mesh gradient with film grain — four deep colour fields drifting over 40–60 s, nothing solid behind the title */
.hero-glass,.hero-ribbon,.hero-aurora,.hero-orbs{display:none}
.landing-hero{background:#052f2a}
.hero-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;transform:translate3d(calc(var(--mx,0) * 8px),calc(var(--my,0) * 6px),0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hm{position:absolute;display:block;border-radius:50%;filter:blur(90px);will-change:transform;mix-blend-mode:screen}
.hm-1{left:-18%;top:-30%;width:70%;aspect-ratio:1;background:radial-gradient(circle,#0f7a63 0%,rgba(15,122,99,.55) 35%,transparent 68%);animation:hm-1 46s ease-in-out infinite alternate}
.hm-2{left:14%;bottom:-38%;width:64%;aspect-ratio:1;background:radial-gradient(circle,#2ba889 0%,rgba(43,168,137,.5) 32%,transparent 66%);opacity:.75;animation:hm-2 58s ease-in-out infinite alternate;animation-delay:-20s}
.hm-3{left:36%;top:-16%;width:44%;aspect-ratio:1;background:radial-gradient(circle,#5b4694 0%,rgba(91,70,148,.45) 32%,transparent 66%);opacity:.55;animation:hm-3 52s ease-in-out infinite alternate;animation-delay:-33s}
.hm-4{left:2%;top:34%;width:30%;aspect-ratio:1;background:radial-gradient(circle,#9adfd4 0%,rgba(154,223,212,.35) 30%,transparent 64%);opacity:.32;filter:blur(60px);animation:hm-4 38s ease-in-out infinite alternate;animation-delay:-9s}
@keyframes hm-1{to{transform:translate3d(12%,10%,0) scale(1.12)}}
@keyframes hm-2{to{transform:translate3d(-14%,-12%,0) scale(1.08)}}
@keyframes hm-3{to{transform:translate3d(-10%,14%,0) scale(1.15)}}
@keyframes hm-4{to{transform:translate3d(16%,-12%,0) scale(1.2)}}
.hm-grain{position:absolute;inset:0;width:100%;height:100%;opacity:.55;mix-blend-mode:overlay}
.landing-copy{z-index:2}
@media(max-width:960px){.hero-mesh{transform:none}.hm{filter:blur(60px)}}
@media(prefers-reduced-motion:reduce){.hm{animation:none}.hero-mesh{transform:none;transition:none}}

/* Landing hero: liquid glass — one frosted form refracting the colour field, growing and settling over 24 s, with faint growth rings */
.hero-liquid{position:absolute;left:33%;top:50%;width:26%;aspect-ratio:1;pointer-events:none}
.hl-blob{position:absolute;inset:0;display:block;border-radius:56% 44% 52% 48%/50% 58% 42% 50%;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(154,223,212,.06) 50%,rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset -14px -18px 40px rgba(154,223,212,.12),inset 12px 10px 30px rgba(255,255,255,.06),0 40px 100px rgba(0,0,0,.22);backdrop-filter:blur(14px) saturate(1.5) brightness(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.5) brightness(1.1);animation:hl-grow 24s ease-in-out infinite alternate;transform:translate3d(calc(var(--mx,0) * -10px),calc(var(--my,0) * -8px),0);will-change:transform,border-radius}
@keyframes hl-grow{0%{border-radius:56% 44% 52% 48%/50% 58% 42% 50%;scale:.94}100%{border-radius:46% 54% 44% 56%/58% 44% 56% 42%;scale:1.06}}
.hl-ring{position:absolute;inset:0;display:block;border-radius:50%;border:1px solid rgba(154,223,212,.35);opacity:0;animation:hl-ring 12s ease-out infinite}
.hl-ring:nth-child(2){animation-delay:-4s}.hl-ring:nth-child(3){animation-delay:-8s}
@keyframes hl-ring{0%{transform:scale(.9);opacity:0}15%{opacity:.5}100%{transform:scale(1.9);opacity:0}}
@media(max-width:960px){.hero-liquid{left:auto;right:-6%;top:auto;bottom:-4%;width:46%}}
@media(prefers-reduced-motion:reduce){.hl-blob,.hl-ring{animation:none}.hl-ring{opacity:0}}

/* Sign-in card: quieter, more precise */
.password-card{padding:36px 36px 34px;border-radius:14px;background:#fbfcfb;border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 70px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.6) inset}
.password-card h2{font-size:1.25rem;font-weight:600;letter-spacing:-.016em;color:var(--teal-900);margin:0 0 4px}
.password-card .byline{color:var(--ink-3);font-size:.875rem;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid rgba(7,90,75,.1)}
.password-card label{display:block;font-size:.8125rem;font-weight:500;color:var(--ink-2);margin-bottom:14px}
.password-card select,.password-card input{margin-top:6px;min-height:46px;border-radius:9px;border:1px solid rgba(7,90,75,.22);background:#fff;font-size:.9375rem;padding:0 12px;box-shadow:none}
.password-card select:focus,.password-card input:focus{outline:none;border-color:var(--teal-700);box-shadow:0 0 0 3px rgba(43,168,137,.22)}
.password-card .primary-button{margin-top:10px;min-height:48px;border-radius:10px;background:#075a4b;font-weight:500;letter-spacing:.005em;box-shadow:0 10px 24px rgba(7,90,75,.28)}
.password-card .primary-button:hover{background:#063b34}

/* Landing hero: glass balls drifting through the colour field, plus one subtle travelling light */
.hero-liquid{display:none}
.hm-light{position:absolute;left:-30%;top:-40%;width:16%;height:180%;background:linear-gradient(90deg,transparent,rgba(154,223,212,.12) 40%,rgba(255,255,255,.10) 50%,rgba(154,223,212,.10) 60%,transparent);filter:blur(24px);transform:rotate(22deg);animation:hm-light 30s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform;opacity:.8}
@keyframes hm-light{to{transform:rotate(22deg) translateX(520%)}}
.hm-balls i{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.42),rgba(154,223,212,.14) 42%,rgba(154,223,212,.04) 66%,transparent 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset -10px -14px 30px rgba(154,223,212,.10),0 30px 70px rgba(0,0,0,.18);backdrop-filter:blur(6px) saturate(1.4);-webkit-backdrop-filter:blur(6px) saturate(1.4);animation:hm-ball var(--d,28s) ease-in-out infinite alternate;transform:translate3d(calc(var(--mx,0) * var(--px,-8px)),calc(var(--my,0) * var(--py,-6px)),0);will-change:transform}
.hm-balls i:nth-child(1){left:2%;bottom:6%;width:240px;height:240px;--d:34s;--px:-14px;--py:-10px}
.hm-balls i:nth-child(2){left:24%;bottom:20%;width:130px;height:130px;--d:26s;animation-delay:-9s;--px:-8px;--py:-6px}
.hm-balls i:nth-child(3){left:41%;bottom:4%;width:82px;height:82px;--d:22s;animation-delay:-5s;--px:-5px;--py:-4px}
.hm-balls i:nth-child(4){left:17%;bottom:38%;width:40px;height:40px;--d:19s;animation-delay:-13s;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.7),rgba(154,223,212,.3) 45%,transparent 70%)}
.hm-balls i:nth-child(5){left:47%;bottom:34%;width:20px;height:20px;--d:16s;animation-delay:-3s;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(154,223,212,.45) 40%,transparent 70%);box-shadow:0 0 26px rgba(154,223,212,.55)}
.hm-balls i:nth-child(6){left:52%;top:10%;width:56px;height:56px;--d:24s;animation-delay:-17s;opacity:.7}
@keyframes hm-ball{from{translate:0 0;scale:1}to{translate:26px -34px;scale:1.06}}
@media(max-width:960px){.hm-balls i:nth-child(1){width:160px;height:160px;left:-8%}.hm-balls i:nth-child(2){left:52%}.hm-balls i:nth-child(6){display:none}.hm-balls i{transform:none}}
@media(prefers-reduced-motion:reduce){.hm-balls i,.hm-light{animation:none}}

/* Landing: green in the title; liquid-glass green form and jade-tinted glass balls; tuned for phones */
.landing-copy h1 .t-mgn{font-weight:600;background:linear-gradient(90deg,#9adfd4,#2ba889);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-copy h1 .t-green{color:#9adfd4}
.hero-liquid{display:block;left:30%;top:48%;width:28%}
.hl-blob{background:linear-gradient(135deg,rgba(154,223,212,.28),rgba(43,168,137,.10) 50%,rgba(154,223,212,.04));border-color:rgba(154,223,212,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset -16px -20px 44px rgba(43,168,137,.22),inset 12px 10px 30px rgba(255,255,255,.08),0 40px 100px rgba(0,0,0,.24)}
.hl-ring{border-color:rgba(43,168,137,.45)}
.hm-balls i{background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.4),rgba(154,223,212,.2) 40%,rgba(43,168,137,.08) 66%,transparent 70%);box-shadow:inset 0 0 0 1px rgba(154,223,212,.3),inset -10px -14px 30px rgba(43,168,137,.16),0 30px 70px rgba(0,0,0,.18)}
@media(max-width:960px){.hero-liquid{left:auto;right:-8%;top:auto;bottom:-6%;width:52%}.hm-balls i:nth-child(1){left:-10%;bottom:-4%;width:150px;height:150px}.hm-balls i:nth-child(2){left:38%;bottom:26%;width:90px;height:90px}.hm-balls i:nth-child(3){left:70%;bottom:44%;width:52px;height:52px}}
@media(max-width:560px){.landing-copy h1{font-size:2.1rem}.hero-liquid{width:64%;right:-14%;bottom:-8%}}

/* Balls: smaller and subtler */
.hm-balls i{opacity:.55;box-shadow:inset 0 0 0 1px rgba(154,223,212,.18),inset -8px -10px 22px rgba(43,168,137,.12),0 20px 50px rgba(0,0,0,.14)}
.hm-balls i:nth-child(1){width:130px;height:130px;left:6%;bottom:8%}
.hm-balls i:nth-child(2){width:72px;height:72px;left:27%;bottom:22%}
.hm-balls i:nth-child(3){width:44px;height:44px;left:42%;bottom:8%}
.hm-balls i:nth-child(4){width:22px;height:22px}
.hm-balls i:nth-child(5){width:12px;height:12px;box-shadow:0 0 16px rgba(154,223,212,.4)}
.hm-balls i:nth-child(6){width:34px;height:34px;opacity:.45}
.hero-liquid{width:22%;left:33%;top:52%;opacity:.8}
.hm-light{opacity:.55}
@media(max-width:960px){.hm-balls i:nth-child(1){width:96px;height:96px}.hm-balls i:nth-child(2){width:56px;height:56px}.hm-balls i:nth-child(3){width:32px;height:32px}.hero-liquid{width:40%}}

/* Balls: the cluster turns slowly and each sphere grows from a seed, like cells dividing */
.hm-balls{position:absolute;left:0;bottom:0;width:60%;height:70%;transform-origin:40% 60%;animation:hm-turn 150s linear infinite;will-change:transform}
@keyframes hm-turn{to{transform:rotate(360deg)}}
.hm-balls i{animation:hm-grow var(--d,28s) ease-in-out infinite alternate,hm-counter 150s linear infinite;transform:none}
@keyframes hm-grow{from{scale:.5;opacity:.15;translate:0 0}to{scale:1.06;opacity:.6;translate:18px -22px}}
@keyframes hm-counter{to{rotate:-360deg}}
.hm-balls i:nth-child(1){left:8%;bottom:14%}.hm-balls i:nth-child(2){left:34%;bottom:36%}.hm-balls i:nth-child(3){left:52%;bottom:16%}.hm-balls i:nth-child(4){left:22%;bottom:56%}.hm-balls i:nth-child(5){left:60%;bottom:50%}.hm-balls i:nth-child(6){left:44%;bottom:70%;top:auto}
.hero-liquid{animation:hm-turn 200s linear infinite reverse}
@media(prefers-reduced-motion:reduce){.hm-balls,.hm-balls i,.hero-liquid{animation:none}.hm-balls i{opacity:.4}}

/* Subtle organic growth: small budding spheres, faint, low-left; the liquid form recedes */
.hm-balls i:nth-child(1){width:64px;height:64px}
.hm-balls i:nth-child(2){width:42px;height:42px}
.hm-balls i:nth-child(3){width:28px;height:28px}
.hm-balls i:nth-child(4){width:16px;height:16px}
.hm-balls i:nth-child(5){width:9px;height:9px;box-shadow:0 0 12px rgba(154,223,212,.35)}
.hm-balls i:nth-child(6){width:22px;height:22px}
@keyframes hm-grow{from{scale:.45;opacity:.1;translate:0 0}to{scale:1;opacity:.42;translate:12px -16px}}
.hero-liquid{width:16%;left:36%;top:56%;opacity:.45}
.hl-ring{border-color:rgba(43,168,137,.25)}
.hm-light{opacity:.4}
@media(max-width:960px){.hm-balls i:nth-child(1){width:48px;height:48px}.hm-balls i:nth-child(2){width:32px;height:32px}.hm-balls i:nth-child(3){width:20px;height:20px}.hero-liquid{width:28%;opacity:.4}}

/* Landing title: DM Sans — bold MGN, light title (study 6) */
.landing-copy h1{font-family:"DM Sans",Aptos,"Segoe UI",system-ui,sans-serif;font-weight:300;letter-spacing:-.035em;font-size:clamp(2.3rem,5vw,3.7rem);line-height:1}
.landing-copy h1 .t-mgn{font-weight:700;letter-spacing:-.04em}
.landing-copy h1 .t-green{font-weight:300}

/* Title back to white (as before), set in DM Sans */
.landing-copy h1 .t-mgn{background:none;-webkit-background-clip:initial;background-clip:initial;color:#fff;font-weight:700}
.landing-copy h1 .t-green{color:#fff}

/* Landing: a growth chart in light — three faint percentile curves draw themselves, weights plot along the median, a soft light travels the line */
.hm-balls{display:none}
.hero-liquid{opacity:.3;width:14%;left:44%;top:30%}
.hero-growth{position:absolute;left:0;bottom:0;width:62%;height:44%;overflow:visible}
.gw-p{fill:none;stroke:rgba(154,223,212,.22);stroke-width:1;stroke-dasharray:1200;stroke-dashoffset:1200;animation:gw-draw 9s cubic-bezier(.4,0,.2,1) forwards}
.gw-p.gw-mid{stroke:rgba(154,223,212,.45);animation-delay:.6s}
.gw-p:nth-child(3){animation-delay:1.2s}
@keyframes gw-draw{to{stroke-dashoffset:0}}
.gw-light{fill:none;stroke:url(#gwLight);stroke-width:2;stroke-linecap:round;opacity:.8;filter:drop-shadow(0 0 6px rgba(154,223,212,.6))}
.gw-dots circle{fill:#fff;opacity:0;transform-box:fill-box;transform-origin:center;animation:gw-bud 1.6s cubic-bezier(.2,.8,.2,1) forwards;filter:drop-shadow(0 0 6px rgba(154,223,212,.7))}
.gw-dots circle:nth-child(1){animation-delay:2s}.gw-dots circle:nth-child(2){animation-delay:3s}.gw-dots circle:nth-child(3){animation-delay:4s}.gw-dots circle:nth-child(4){animation-delay:5s}.gw-dots circle:nth-child(5){animation-delay:6s}.gw-dots circle:nth-child(6){animation-delay:7s}.gw-dots circle:nth-child(7){animation-delay:8s}
@keyframes gw-bud{from{opacity:0;scale:.2}to{opacity:.85;scale:1}}
@media(max-width:960px){.hero-growth{width:100%;height:30%}}
@media(prefers-reduced-motion:reduce){.gw-p{animation:none;stroke-dashoffset:0}.gw-dots circle{animation:none;opacity:.8}}

/* Liquid glass is the motif: one green glass form, properly sized, refracting the colour field; growth chart stays faint beneath */
.hero-liquid{display:block;opacity:1;width:26%;left:31%;top:44%}
.hl-blob{backdrop-filter:blur(18px) saturate(1.6) brightness(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.6) brightness(1.12);background:linear-gradient(135deg,rgba(154,223,212,.30),rgba(43,168,137,.10) 50%,rgba(154,223,212,.05));border-color:rgba(154,223,212,.55)}
.hl-ring{border-color:rgba(154,223,212,.28)}
.hero-growth{opacity:.7}
.hm-light{opacity:.5}
@media(max-width:960px){.hero-liquid{left:auto;right:-8%;top:auto;bottom:-6%;width:50%}}

/* Landing: pathways of planning — three hairline routes from one point, small lights travelling along them; subtle */
.hero-growth{display:none}
.hero-paths{position:absolute;left:0;bottom:0;width:64%;height:46%;overflow:visible;opacity:.9}
.pw{fill:none;stroke:rgba(154,223,212,.16);stroke-width:1}
.pw-node{fill:rgba(154,223,212,.6)}
.pw-dot{fill:#fff;opacity:.85;filter:drop-shadow(0 0 5px rgba(154,223,212,.9)) drop-shadow(0 0 14px rgba(154,223,212,.5))}
.pw-dot-2{opacity:.45}
.hero-liquid{width:22%;left:38%;top:36%;opacity:.9}
@media(max-width:960px){.hero-paths{width:100%;height:34%}}
@media(prefers-reduced-motion:reduce){.pw-dot{display:none}}

/* Landing: back to the earlier version — electric current traces with travelling pulses; all later imagery off */
.hero-mesh,.hero-illus,.hero-ribbon,.hero-aurora,.hero-orbs,.hero-glass,.hero-liquid,.hero-paths,.hero-growth,.hm-balls,.hm-light{display:none}
.landing-hero{background:#063b34}
.landing-current{display:block;opacity:.85;transform:translate3d(calc(var(--mx,0) * 8px),calc(var(--my,0) * 6px),0)}
.landing-hero .hero-signal{display:block}

/* Title as on the live site: Aptos semibold, eyebrow and sub-line restored */
.landing-copy h1{font-family:Aptos,"Segoe UI",system-ui,-apple-system,sans-serif;font-weight:600;letter-spacing:-.03em;font-size:clamp(2.2rem,4.8vw,3.5rem);line-height:1.04}
.landing-copy h1 .t-mgn,.landing-copy h1 .t-green{font-weight:600;color:#fff}
.landing-eyebrow{display:block}
.landing-sub{display:block}

/* On the current-trace landing: add one subtle travelling light and one liquid-glass form */
.hero-mesh{display:block}
.hero-mesh .hm,.hm-grain,.hm-balls,.hero-paths,.hero-growth{display:none}
.hm-light{display:block;opacity:.45}
.hero-liquid{display:block;opacity:.9;width:22%;left:40%;top:38%}
.hl-blob{backdrop-filter:blur(16px) saturate(1.5) brightness(1.12);-webkit-backdrop-filter:blur(16px) saturate(1.5) brightness(1.12)}
@media(max-width:960px){.hero-liquid{left:auto;right:-8%;top:auto;bottom:-6%;width:46%}}

/* ===== Landing: atmospheric light only. Deep mineral forest green; one silk-light field; nothing that reads as an object. ===== */
.landing-current,.landing-hero .hero-signal,.landing-hero .hero-dust,.hero-illus,.hero-mesh,.hero-liquid,.hm-light,.hm-balls,.hero-paths,.hero-growth,.hero-ribbon,.hero-aurora,.hero-orbs,.hero-glass,.timeline,.landing-eyebrow{display:none!important}
.landing-hero{background:#04302a;background-image:radial-gradient(120% 90% at 20% 10%,#063b34 0%,#04302a 55%,#042a25 100%)}
.hero-silk{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;transform:translate3d(calc(var(--mx,0) * 5px),calc(var(--my,0) * 4px),0);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.sk{position:absolute;display:block;border-radius:50%;filter:blur(110px);will-change:transform;opacity:.5}
.sk-1{left:-20%;top:-30%;width:75%;aspect-ratio:1.3;background:radial-gradient(ellipse,rgba(154,223,212,.55),rgba(154,223,212,.12) 45%,transparent 70%);animation:sk-1 22s ease-in-out infinite alternate}
.sk-2{left:22%;bottom:-40%;width:70%;aspect-ratio:1.2;background:radial-gradient(ellipse,rgba(43,168,137,.5),rgba(43,168,137,.1) 45%,transparent 70%);opacity:.4;animation:sk-2 25s ease-in-out infinite alternate;animation-delay:-9s}
.sk-3{left:40%;top:-20%;width:46%;aspect-ratio:1;background:radial-gradient(circle,rgba(115,87,166,.42),rgba(115,87,166,.08) 45%,transparent 70%);opacity:.3;animation:sk-3 19s ease-in-out infinite alternate;animation-delay:-14s}
@keyframes sk-1{to{transform:translate3d(7%,6%,0) scale(1.06)}}
@keyframes sk-2{to{transform:translate3d(-8%,-7%,0) scale(1.05)}}
@keyframes sk-3{to{transform:translate3d(-6%,8%,0) scale(1.08)}}
.sk-veil{position:absolute;inset:-10%;width:120%;height:120%;opacity:.7;mix-blend-mode:screen}
.sk-band{transform-box:fill-box;transform-origin:center;animation:sk-band 21s ease-in-out infinite alternate;will-change:transform}
@keyframes sk-band{from{transform:translate3d(-24px,10px,0) rotate(-.6deg)}to{transform:translate3d(26px,-18px,0) rotate(.7deg)}}
@media(prefers-reduced-motion:reduce){.sk,.sk-band{animation:none}.hero-silk{transform:none;transition:none}}

/* Composition: 60/40, generous inset, product block centred, authorship low and quiet */
@media(min-width:960px){.landing{grid-template-columns:60fr 40fr}.landing-hero{padding:56px clamp(48px,7vw,112px) 56px clamp(56px,8vw,128px);justify-content:center;gap:0}.landing-copy{max-width:36rem}}
.landing-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;margin:0}
.landing-copy h1{font-family:Aptos,"Segoe UI",system-ui,-apple-system,sans-serif;font-weight:600;font-size:clamp(1.6rem,2.4vw,2.15rem);letter-spacing:-.022em;line-height:1.12;text-shadow:none;margin:0}
.landing-copy h1 .t-mgn,.landing-copy h1 .t-green{font-weight:600;color:#fff}
.landing-sub{display:block;margin:14px 0 0;font-size:1.0625rem;font-weight:400;color:rgba(255,255,255,.92);letter-spacing:-.005em}
.landing-support{margin:10px 0 0;font-size:.9375rem;color:rgba(255,255,255,.6);max-width:44ch;line-height:1.55}
.landing-copy p,.landing-author{text-shadow:none}
.landing-author{margin-top:clamp(56px,12vh,120px);padding:0;border:0;font-size:.8125rem;color:rgba(255,255,255,.5);line-height:1.6}
.landing-author .author-label{display:none}
.landing-author strong{display:block;font-weight:500;font-size:.9375rem;color:rgba(255,255,255,.85);margin-bottom:2px}
.landing-author span{display:block}
.landing-author .author-date{margin-top:4px;color:rgba(255,255,255,.38)}

/* Login: translucent warm off-white, blurred, quiet */
.landing-entry{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0b4a3f 0%,#063b34 100%)}
.landing-entry::before{transform:none}
.landing-entry .password-card{width:min(100%,360px);padding:30px 30px 28px;border-radius:13px;background:rgba(250,248,244,.9);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.45);box-shadow:0 8px 30px rgba(0,0,0,.14);transform:none}
.password-card h2{font-size:1.125rem;margin:0 0 2px}
.password-card .byline{font-size:.8125rem;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid rgba(7,90,75,.1)}
.password-card select,.password-card input{background:rgba(255,255,255,.85);border-color:rgba(7,90,75,.18);min-height:44px}
.password-card .primary-button{min-height:46px;box-shadow:none}
@media(min-width:960px){.landing-entry{padding:56px 40px}.landing-entry .landing-author{display:none}}
@media(max-width:960px){.landing-hero{padding:40px 28px 44px;justify-content:flex-start}.landing-author{margin-top:40px}}

/* NeoBuddy wrapper: title + one-line role, then the bot itself. No MGN input above the bot. */
.bot-ask{display:none!important}
.bot-title{display:flex;flex-direction:column;line-height:1.2}
.bot-title small{font-size:.75rem;font-weight:400;color:rgba(255,255,255,.7);letter-spacing:0;text-transform:none}

/* MOU drawer: the existing locator app, embedded as-is. Wide on desktop, ~75% on tablet, full-screen on phones. */
.mou-sheet{width:min(600px,100%);padding:0;gap:0;display:flex;flex-direction:column;background:#fff}
.mou-sheet .mou-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(7,90,75,.12)}
.mou-sheet .mou-head h3{margin:0;font-size:1.0625rem;font-weight:600;color:var(--teal-900);letter-spacing:-.012em}
.mou-sheet .mou-sub,.mou-sheet label,.mou-sheet #mouSearch,.mou-sheet .mou-status,.mou-sheet .mou-results{display:none!important}
.mou-body{flex:1;min-height:0;display:flex}
.mou-sheet .mou-embed-frame{flex:1;width:100%;height:100%;min-height:0;border:0;border-radius:0;background:#f8f9fa}
.mou-fallback{padding:14px 20px 18px;border-top:1px solid rgba(7,90,75,.12);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--ink-3)}
.mou-fallback p{margin:0}
.mou-fallback .mou-external{margin:0;white-space:nowrap}
body.mou-open{overflow:hidden}
@media(max-width:1024px){.mou-sheet{width:76%}}
@media(max-width:640px){.mou-sheet{width:100%;top:0;max-height:none;border-radius:0}}

/* Landing support line: fluid width and size by screen */
.landing-support{max-width:min(62ch,100%);font-size:clamp(.875rem,.55rem + .6vw,1.0625rem);line-height:1.55}
.landing-copy h1{font-size:clamp(1.5rem,1rem + 1.6vw,2.4rem)}
@media(max-width:600px){.landing-support{max-width:100%}}
.mou-chosen{display:block;margin-top:6px;color:var(--teal-700);font-size:.8125rem}
.mou-chosen.is-warn{color:var(--crimson)}

/* ===== Landing: signal-path artwork. Fine care-pathway lines with one small travelling light each; nothing else. ===== */
.hero-silk,.hero-mesh{display:none!important}
.landing-hero{background:#063b34;background-image:radial-gradient(120% 90% at 20% 10%,#074237 0%,#063b34 50%,#052f2a 100%)}
.hero-signal-paths{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.sp-depth{transition:transform 1.4s cubic-bezier(.2,.7,.2,1);will-change:transform}
.sp-depth-1{transform:translate3d(calc(var(--mx,0) * 6px),calc(var(--my,0) * 4px),0)}
.sp-depth-2{transform:translate3d(calc(var(--mx,0) * 3px),calc(var(--my,0) * 2px),0)}
.sp-depth-3{transform:translate3d(calc(var(--mx,0) * 9px),calc(var(--my,0) * 6px),0)}
.sp-line{fill:none;stroke:rgba(154,223,212,.16);stroke-width:1;vector-effect:non-scaling-stroke}
.sp-line-violet{stroke:rgba(155,132,207,.14)}
.sp-trail{fill:none;stroke:rgba(214,255,248,.55);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:30 970;vector-effect:non-scaling-stroke;filter:url(#spSoft)}
.sp-trail-violet{stroke:rgba(200,184,240,.5)}
.sp-dot{fill:#f2fffc;filter:drop-shadow(0 0 3px rgba(154,223,212,.9))}
.sp-dot-violet{fill:#e6dcff;filter:drop-shadow(0 0 3px rgba(190,170,240,.9))}
.sp-node{fill:#eafffb;filter:drop-shadow(0 0 6px rgba(154,223,212,.9))}
.landing-copy{z-index:2}
@media(max-width:960px){.sp-depth{transform:none}.hero-signal-paths{opacity:.85}}
@media(prefers-reduced-motion:reduce){.sp-depth{transform:none;transition:none}}

/* High-risk prompt: recommended date reads as the decision; the duplicate stored-date field below is not shown (one stored date) */
.high-risk-popup-date{margin:2px 0 8px;font-size:1.125rem;font-weight:600;color:var(--teal-900);letter-spacing:-.01em}
#neurodevelopmentClinicField{display:none!important}

/* Medium-risk: read-only MOU result line and link-style change action */
.mou-readonly{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.mou-readonly .mou-k{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-700)}
.mou-readonly b{font-weight:600;color:var(--teal-900)}
.mou-readonly .tick{color:var(--jade);font-weight:600}
.mou-readonly .dot{color:var(--ink-4)}
.link-button{background:none;border:0;padding:0;margin:0;font:inherit;font-size:.8125rem;font-weight:500;color:var(--teal-700);text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none;min-height:0}
.link-button:hover{color:var(--teal-900)}
#mediumRiskActions:empty{display:none}
.hiv-sugg{margin-top:12px}

/* Dose calculator widget */
.dose-calc{margin-top:14px;padding:0 16px 14px;border:1px solid rgba(7,90,75,.16);border-radius:9px;background:#f6f9f8}
.dose-calc summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:500;font-size:.875rem;color:var(--teal-900)}
.dose-calc summary::-webkit-details-marker{display:none}
.dose-calc summary::before{content:"›";display:inline-block;margin-right:8px;color:var(--teal-700);transition:transform .15s}
.dose-calc[open] summary::before{transform:rotate(90deg)}
.dc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dc-grid label{font-size:.75rem;font-weight:500;color:var(--ink-3);margin:0}
.dc-grid select,.dc-grid input{margin-top:4px;min-height:38px;padding:6px 10px;font-size:.9375rem;width:100%}
.dc-unit{position:relative;display:block}
.dc-unit i{position:absolute;right:10px;bottom:10px;font-style:normal;font-size:.75rem;color:var(--ink-4);pointer-events:none}
.dc-unit input{padding-right:52px}
.dc-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(7,90,75,.12)}
.dc-result b{font-weight:600;color:var(--teal-900);font-size:.9375rem}
.dc-note{display:block;margin-top:8px;color:var(--ink-4);font-size:.75rem}
@media(max-width:900px){.dc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-grid label:first-child{grid-column:1/-1}}
@media(max-width:480px){.dc-result{flex-direction:column;align-items:flex-start}}
.dc-grid input.is-locked{background:#eef3f1;color:var(--ink-2);cursor:not-allowed}

/* Scan handoff: quiet review state (no amber), small provenance tag, one dismissible import banner */
input.needs-confirm,select.needs-confirm,textarea.needs-confirm{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(43,168,137,.14);background:#fff}
.scan-tag{display:block;margin-top:4px;font-size:.75rem;font-weight:500;color:var(--teal-700)}
.scan-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(7,90,75,.18);border-radius:9px;background:#eef5f2;font-size:.875rem;color:var(--ink-2)}
.scan-banner b{font-weight:600;color:var(--teal-900)}
.scan-banner .scan-banner-close{margin-left:auto}
.scan-unplaced{flex-basis:100%;margin:4px 0 0;padding-left:18px;color:var(--ink-3);font-size:.8125rem;line-height:1.5}
/* Problem clear button sits inside the textarea, clear of its top edge */
.problem-clear{top:calc(var(--problem-title-h, 30px) + 10px);right:10px;width:22px;height:22px;background:rgba(7,90,75,.08);color:var(--ink-3)}
.problem-item{padding-right:40px}
.mou-hint{margin:6px 0 10px;font-size:.8125rem;color:var(--teal-700);line-height:1.6;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mou-hint:empty{display:none}
.mou-hint.is-busy{color:var(--ink-4)}
.mou-chip{border:1px solid rgba(7,90,75,.3);background:#fff;color:var(--teal-900);border-radius:999px;padding:3px 10px;font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;box-shadow:none;min-height:0}
.mou-chip:hover{background:#eef5f2}
/* Dose calculator: subordinate to the medication plan */
.dose-calc{margin-top:8px;padding:0 12px 10px;background:#f8faf9;border-color:rgba(7,90,75,.12)}
.dose-calc summary{padding:9px 0;font-size:.8125rem;color:var(--ink-3);display:flex;align-items:center;gap:10px}
.dose-calc summary::before{color:var(--ink-4)}
.dc-summary{color:var(--teal-700);font-weight:500}
.dc-summary:empty{display:none}
.dose-calc[open] .dc-summary{display:none}
.dc-grid select,.dc-grid input{min-height:34px;font-size:.875rem}
.dc-result b{font-size:.875rem}

/* ROP status card */
.rop-status{margin-bottom:14px}
.rop-status.is-warning{border-left-color:var(--crimson)}
.rop-status.is-warning .high-risk-popup-title{color:var(--crimson)}
#ropStatusText:empty{display:none}

/* Email the plan to other staff (end of the generated plan) */
.staff-email{margin-top:22px;padding-top:18px;border-top:1px solid rgba(7,90,75,.14)}
.staff-email-title{margin:0 0 10px;font-size:1rem;font-weight:600;color:var(--teal-900)}
.staff-email-choice{display:flex;gap:8px}
.staff-email-choice .is-on{background:#075a4b;color:#fff;border-color:#075a4b}
.staff-email-hint{margin:12px 0 8px;font-size:.8125rem;color:var(--ink-3)}
.staff-email-list{display:grid;gap:6px}
.staff-email-row{display:grid;grid-template-columns:20px minmax(140px,180px) minmax(0,1fr);gap:10px;align-items:center;margin:0;font-size:.875rem;font-weight:400}
.staff-email-row .staff-email-addr{min-height:34px;padding:5px 10px;font-size:.875rem}
.staff-email-other{display:flex;gap:8px;margin-top:10px}
.staff-email-other input{flex:1;min-height:36px;padding:6px 10px}
.staff-email-extra{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.staff-email-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.staff-email-status{font-size:.8125rem;color:var(--teal-700)}
@media(max-width:560px){.staff-email-row{grid-template-columns:20px minmax(0,1fr)}.staff-email-row .staff-email-addr{grid-column:2}}
/* ROP status card: full width, never squashed */
.rop-status .high-risk-popup-subtext,.rop-status .high-risk-popup-line,.rop-status .high-risk-popup-question{max-width:none}
.rop-status{width:100%}

/* v3-158 — responsive text: ROP status card, clinical prompts, problem grid */
.form-group-body>*{min-width:0}
.rop-status,#ropStatusCard,.high-risk-popup{min-width:0;max-width:100%}
.rop-status .high-risk-popup-title{font-size:clamp(.9375rem,.6rem + .7vw,1.0625rem);line-height:1.35;overflow-wrap:anywhere;text-wrap:balance}
.rop-status .high-risk-popup-subtext,.rop-status .high-risk-popup-line,.rop-status .high-risk-popup-question{font-size:clamp(.875rem,.65rem + .5vw,.9375rem);line-height:1.5;max-width:none;overflow-wrap:anywhere;white-space:normal}
.problem-prompts.problem-grid{max-width:100%}
.problem-grid .pg-item{min-width:0;overflow-wrap:anywhere}
/* Problem grid: container-aware auto-fit — columns follow the Problem List's own width (side panels included), never the viewport */
.problem-prompts.problem-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:6px;align-items:stretch;container-type:inline-size}
.problem-grid .pg-item{min-height:38px;padding:7px 12px;font-size:.875rem;line-height:1.3;align-items:center;box-shadow:none;background:#27594d;border-color:#27594d;color:#fff}
.problem-grid .pg-item:hover{background:#1f4a40;border-color:#1f4a40}
.problem-grid .pg-item.is-on{background:#2ba889;border-color:#2ba889;color:#fff}
@media(max-width:480px){.problem-prompts.problem-grid{grid-template-columns:1fr}}.form-group-body>.cod-rows,.form-group-body>.cod-empty,.form-group-body>.cod-info{grid-column:1/-1}

/* Discharge diagnoses — forest panel: the coded representation of the Problem List. Accept · Change only. */
#group-coding{background:#0b4a40;border:0;box-shadow:0 14px 34px -22px rgba(6,59,52,.55);color:#e9f3ef;backdrop-filter:none;-webkit-backdrop-filter:none}
#group-coding .form-group-head h2{color:#fff}
#group-coding .form-group-caption{color:rgba(233,243,239,.72)}
#group-coding .group-toggle{color:rgba(255,255,255,.7)}
.form-group-body>.cod-rows,.form-group-body>.cod-empty{grid-column:1/-1}
.cod-rows{display:grid}
.cod-row{display:flex;justify-content:space-between;align-items:flex-start;gap:6px 20px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid rgba(154,223,212,.18)}
.cod-row:last-child{border-bottom:0}
.cod-row .dx{flex:1 1 300px;min-width:0}
.cod-row .dx b{display:block;font-weight:600;color:#fff;font-size:.9375rem;line-height:1.3;overflow-wrap:anywhere}
.cod-row .line{margin-top:2px;font-size:.8125rem;color:#b9dccf;line-height:1.45}
.cod-row .line .ok{color:#9adfd4;font-weight:500;margin-left:6px}
.cod-row .line .quiet{color:rgba(233,243,239,.6)}
.cod-row .acts{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding-top:2px}
.cod-act{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:none;color:#cfece2;font-size:.8125rem;font-weight:500;cursor:pointer;box-shadow:none;white-space:nowrap;margin:0}
.cod-act:hover{background:rgba(255,255,255,.08);border-color:rgba(154,223,212,.3)}
.cod-act.cod-accept{border-color:rgba(154,223,212,.55);color:#fff;font-weight:600}
.cod-act.cod-accept:hover{background:#2ba889;border-color:#2ba889;color:#fff}
.cod-empty{padding:6px 0 2px;font-size:.875rem;color:rgba(233,243,239,.7)}
.cod-empty b{display:block;color:#fff;font-weight:600;font-size:.9375rem}
/* Change-code selector: light popover on the forest panel, best matches first, results scroll inside */
.cod-row{position:relative}
.cod-pop{position:relative;z-index:5;width:min(600px,100%);margin:10px 0 4px;border:1px solid rgba(7,90,75,.18);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 18px 44px -20px rgba(0,0,0,.45)}
.cod-pop-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 6px;font-size:.8125rem;font-weight:600;color:var(--teal-900)}
.cod-pop-close{background:none;border:0;padding:2px 6px;color:var(--ink-4);font-size:.8125rem;cursor:pointer;box-shadow:none;min-height:0}
.cod-search{display:block;width:calc(100% - 28px);margin:0 14px 8px;min-height:36px;padding:6px 12px;font-size:.9375rem;border:1px solid rgba(7,90,75,.25);border-radius:8px;color:var(--ink);background:#fff}
.cod-search:focus{outline:none;border-color:var(--jade);box-shadow:0 0 0 3px rgba(43,168,137,.15)}
.cod-pop-title{padding:2px 14px 4px;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700)}
.cod-results{max-height:min(320px,50vh);overflow-y:auto;border-top:1px solid var(--line)}
.cod-res{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:9px 14px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;box-shadow:none;min-height:44px;color:var(--ink)}
.cod-res:last-child{border-bottom:0}
.cod-res:hover,.cod-res:focus-visible{background:#eef5f2;outline:none}
.cod-res.is-current{background:#e6f4ef}
.cod-res .c{flex:0 0 58px;font-size:.875rem;font-weight:600;color:var(--teal-800);padding-top:1px}
.cod-res .t{flex:1 1 auto;min-width:0}
.cod-res .t b{display:block;font-weight:500;color:var(--teal-900);font-size:.9375rem;line-height:1.3}
.cod-res .t small{display:block;color:var(--ink-4);font-size:.75rem;margin-top:1px}
.cod-none{padding:12px 14px;font-size:.8125rem;color:var(--ink-4)}
@media(max-width:640px){.cod-row{flex-direction:column;gap:6px}.cod-row .acts{padding-top:0}}

/* NeoLoop landing copy — tagline, support text spreads to the available width */
.landing-tagline{margin:10px 0 0;font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:500;color:#fff;letter-spacing:-.01em;line-height:1.3}
.landing-copy{max-width:none}
.landing-copy .landing-support{max-width:none;line-height:1.5}
@media(min-width:960px){.landing-copy{max-width:min(52rem,100%)}}
/* ROP screening plan + senior review (compact, inside the ROP section) */
.rop-plan{display:grid;gap:6px;padding:10px 0 2px}
.rop-plan-label{font-size:.8125rem;font-weight:500;color:var(--ink-2)}
.rop-plan-options{display:flex;gap:18px;flex-wrap:wrap}
.rop-plan-options label{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.9375rem;font-weight:400;color:var(--ink)}
.rop-plan-options input{width:16px;height:16px;margin:0;accent-color:var(--teal-700)}
.rop-senior{display:grid;gap:8px;padding:10px 12px;margin:6px 0 4px;border:1px solid rgba(176,32,48,.25);border-radius:8px;background:#fdf6f6}
.rop-senior .rop-check{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.9375rem;font-weight:500;color:var(--ink)}
.rop-senior .rop-check input{width:16px;height:16px;margin:0;accent-color:var(--teal-700)}
.rop-senior label:not(.rop-check){margin:0;font-size:.8125rem}
.rop-senior input[type=text]{min-height:36px}
.form-group-body>.rop-senior,.form-group-body>.rop-plan,#ropSection>.rop-senior,#ropSection>.rop-plan{grid-column:1/-1}
/* Ward-notes actions: petite buttons with line icons */
.ai-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-btn{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 12px;margin:0;border:1px solid rgba(7,90,75,.22);border-radius:8px;background:#fff;color:var(--teal-800);font-size:.8125rem;font-weight:500;cursor:pointer;box-shadow:none;line-height:1;white-space:nowrap;transition:background .12s,border-color .12s}
.ai-btn:hover{background:#eef5f2;border-color:rgba(43,168,137,.55)}
.ai-btn.is-live{background:#e6f4ef;border-color:var(--jade);color:var(--teal-900)}
.ai-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 15px}
/* ROP screening plan: petite green radios */
.rop-plan{gap:4px;padding:8px 0 0}
.rop-plan-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-700)}
.rop-plan-options{gap:14px 22px}
.rop-plan-options label{gap:7px;font-size:.875rem;color:var(--ink-2)}
.rop-plan-options input,.rop-senior .rop-check input{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;border:1.5px solid rgba(7,90,75,.45);background:#fff;cursor:pointer;flex:0 0 14px;transition:border-color .12s,background .12s}
.rop-plan-options input{border-radius:50%}
.rop-senior .rop-check input{border-radius:4px}
.rop-plan-options input:checked,.rop-senior .rop-check input:checked{border-color:var(--jade);background:var(--jade);box-shadow:inset 0 0 0 3px #fff}
.rop-senior .rop-check input:checked{box-shadow:none;background:var(--jade) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2 4-4.4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.rop-plan-options input:focus-visible,.rop-senior .rop-check input:focus-visible{outline:2px solid rgba(43,168,137,.45);outline-offset:2px}
.rop-senior{padding:8px 12px;gap:6px}
.rop-senior .rop-check{font-size:.875rem}
/* Number inputs: no spin buttons — values are typed, never nudged */
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
/* Discharge diagnoses: forest section, diagnoses on a white inset surface */
#group-coding .cod-rows{background:#fff;border-radius:10px;padding:2px 16px}
#group-coding .cod-empty{background:#fff;border-radius:10px;padding:12px 16px;color:var(--ink-3)}
#group-coding .cod-empty b{color:var(--teal-900)}
#group-coding .cod-row{border-bottom:1px solid var(--line);padding:10px 0}
#group-coding .cod-row .dx b{color:var(--teal-900)}
#group-coding .cod-row .line{color:var(--ink-3)}
#group-coding .cod-row .line .ok{color:var(--teal-700)}
#group-coding .cod-row .line .quiet{color:var(--ink-4)}
#group-coding .cod-act{color:var(--teal-700)}
#group-coding .cod-act:hover{background:var(--teal-50);border-color:rgba(7,90,75,.14)}
#group-coding .cod-act.cod-accept{border-color:rgba(7,90,75,.35);color:var(--teal-800)}
#group-coding .cod-act.cod-accept:hover{background:var(--teal-700);border-color:var(--teal-700);color:#fff}
.sugg-course{font-size:.75rem;color:var(--teal-700);padding:0 0 8px 90px;margin-top:-4px;line-height:1.4}
@media(max-width:640px){.sugg-course{padding-left:0}}
/* ROP status card and its text use the full section width */
#ropSection>#ropStatusCard,.form-group-body>#ropStatusCard{grid-column:1/-1}
#ropStatusCard,#ropStatusCard .high-risk-popup-shell,#ropStatusText{max-width:none;width:100%}
#ropStatusText p,#ropStatusText h4{max-width:none}
/* Another staff member (Staff Member Details) + WhatsApp send */
.form-group-body>.extra-staff{grid-column:1/-1;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.extra-staff-head b{display:block;font-weight:600;color:var(--teal-900);font-size:.9375rem}
.extra-staff-head span{display:block;color:var(--ink-4);font-size:.8125rem;margin-top:2px}
.extra-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.extra-staff-grid label{margin:0}
.staff-email-wa{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.staff-email-wa input{flex:1 1 220px;min-height:36px}
.sugg-reason.is-review{color:var(--crimson);font-weight:500}
/* "Also send this plan to another staff member": its own forest box with white fields */
.form-group-body>.extra-staff{margin-top:14px;padding:16px 18px 18px;border:0;border-radius:12px;background:#0b4a40;color:#e9f3ef}
.extra-staff-head b{color:#fff}
.extra-staff-head span{color:rgba(233,243,239,.72)}
.extra-staff-grid label{color:#e9f3ef;font-size:.8125rem}
.extra-staff-grid input{background:#fff;color:var(--ink);border-color:transparent}
.extra-staff-grid input::placeholder{color:var(--ink-4)}
/* Maternal viral-load history — compact rows, latest highlighted */
.vl-legacy{display:none!important}
.form-group-body>.vl-history{grid-column:1/-1}
.vl-history{display:grid;gap:8px;padding:10px 12px 12px;border:1px solid rgba(7,90,75,.16);border-radius:10px;background:#f6f9f8}
.vl-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.vl-head b{font-weight:600;color:var(--teal-900);font-size:.875rem}
.vl-latest{font-size:.8125rem;font-weight:500;color:var(--teal-700)}
.vl-latest.is-review{color:var(--crimson)}
.vl-rows{display:grid;gap:6px}
.vl-row{display:grid;grid-template-columns:170px minmax(0,1fr) 30px;gap:8px;align-items:center}
.vl-row input{min-height:34px;padding:4px 10px;font-size:.875rem;background:#fff}
.vl-row.is-latest input{border-color:rgba(43,168,137,.7)}
.vl-x{width:30px;height:30px;border:0;border-radius:6px;background:none;color:var(--ink-4);cursor:pointer;box-shadow:none;min-height:0;padding:0;font-size:.8125rem}
.vl-x:hover{background:#e6f2ef;color:var(--teal-900)}
#vlAdd{justify-self:start;font-size:.8125rem}
@media(max-width:560px){.vl-row{grid-template-columns:1fr 30px}.vl-row input[type=date]{grid-column:1}}
/* Problem List: compact single-line fields and tighter rhythm */
.problem-item{min-height:40px!important;height:40px;padding:8px 40px 8px 12px;resize:none;overflow:hidden;line-height:1.4}
#problemListFields{gap:8px}
#problemListFields label{margin:0}
#addProblemButton{margin:6px 0 4px;min-height:32px}
#group-problem-list .field-hint{margin:4px 0 8px}
.extra-staff-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.extra-staff-head b{font-size:1rem}
.extra-staff-head span{margin:0;font-size:.8125rem}
.extra-staff-grid{margin-top:12px}
/* Section headings in DM Sans (loaded from Google Fonts, renders identically on every machine); body text stays as is */
.form-group-head .form-section-title,.form-group-head h2,.top h1,.hero h1,.scan-page .hero h1,.page h1{font-family:"DM Sans",Aptos,"Segoe UI",system-ui,sans-serif;font-weight:600;letter-spacing:-.02em}
/* Caregiver version of the plan */
.card-block .card-tabs{display:inline-flex;gap:6px;margin-left:6px}
.card-block .ai-lang{min-height:28px;padding:0 10px;border:1px solid rgba(7,90,75,.2);border-radius:999px;background:#fff;color:var(--teal-800);font-size:.8125rem;font-weight:500;cursor:pointer;box-shadow:none}
.card-block .ai-lang.is-on{background:var(--teal-700);border-color:var(--teal-700);color:#fff}
.card-out{margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.card-line{margin:0 0 6px;font-size:.9375rem;color:var(--ink);line-height:1.5}
.card-line.card-title{font-weight:600;color:var(--teal-900);font-size:1.0625rem}
.card-line.card-warn{padding-left:14px;color:var(--ink-2)}.card-line.card-warn::before{content:"•";margin-right:6px;color:var(--teal-700)}
.card-line small{margin-left:8px;font-size:.625rem;font-weight:700;letter-spacing:.06em;color:#8a3b2a;border:1px solid rgba(138,59,42,.35);border-radius:4px;padding:0 4px;vertical-align:middle}
.card-line.is-fallback{color:var(--ink-3)}
/* Risk → Follow-up → Caregiver: one connected flow. Forest anchors, jade for confirmed, pale sage for derived content. */
.risk-band{display:inline-block;padding:3px 10px;border-radius:6px;background:#0b4a40;color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;margin-bottom:2px}
.high-risk-popup{background:#fff;border:1px solid rgba(7,90,75,.16);border-left:3px solid #0b4a40;border-radius:0 12px 12px 0;padding:18px 20px}
.high-risk-popup-shell{gap:8px}
.high-risk-popup .high-risk-popup-title{font-size:1.125rem;color:var(--teal-900)}
.high-risk-popup .risk-reason{color:var(--ink-4);font-size:.8125rem}
.high-risk-popup .mou-readonly{padding:10px 12px;border-radius:8px;background:#eef5f2;border:1px solid rgba(43,168,137,.35)}
.high-risk-popup .mou-readonly b{font-size:1.0625rem}
.high-risk-popup .high-risk-popup-date{font-size:1.125rem;font-weight:600;color:var(--teal-900)}
.mou-find-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-700);margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}
.medium-risk-location-fields{margin-top:2px}
#mouLocatorButton{justify-self:start;width:auto;min-height:36px}
/* Caregiver education: pale sage surface, grouped, two columns on desktop */
#group-caregiver-education .form-group-body{background:#eef5f2;border-radius:10px;padding:14px 16px 6px;margin-top:4px}
.caregiver-education-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;border:0;background:transparent;padding:0}
.ce-group{display:grid;gap:4px;align-content:start}
.ce-group-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700);margin-bottom:2px}
.caregiver-education-panel>.ce-group>label{display:flex;align-items:center;gap:10px;margin:0;padding:6px 0;font-size:.9375rem;color:var(--ink)}
.caregiver-education-panel>.ce-group>label:has(input:checked){color:var(--teal-900);font-weight:500}
.caregiver-education-panel input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--jade)}
.caregiver-education-dates{margin-top:10px;background:#fff;border-left:2px solid var(--jade)}
.caregiver-education-dates>strong{color:var(--teal-800)}
@media(max-width:640px){.caregiver-education-panel{grid-template-columns:1fr}}
/* Follow-up Dates — forest anchor, result first, sage working area, criteria secondary */
#group-follow-up-dates .form-group-head{background:#0b4a40;color:#fff;margin:-22px -24px 18px;padding:18px 24px;border-radius:12px 12px 0 0}
#group-follow-up-dates .form-group-head .form-section-title,#group-follow-up-dates .form-group-head h2{color:#fff}
#group-follow-up-dates .form-group-head .form-group-caption{color:rgba(233,243,239,.75)}
#group-follow-up-dates .form-group-head .step-num{background:#2ba889;color:#fff}
#group-follow-up-dates .form-group-head .group-toggle{color:rgba(255,255,255,.75)}
#group-follow-up-dates.is-collapsed .form-group-head{margin-bottom:-22px;border-radius:12px}
.form-group-body>.fu-result,.form-group-body>.risk-review{grid-column:1/-1}
.fu-result{display:grid;gap:14px}
.fu-none{padding:14px 18px;border:1px solid rgba(7,90,75,.16);border-left:3px solid #0b4a40;border-radius:0 12px 12px 0;background:#fff}
.fu-none h4{margin:6px 0 2px;font-size:1.0625rem;font-weight:600;color:var(--teal-900)}
.fu-none p{margin:0;font-size:.8125rem;color:var(--ink-4)}
.risk-band.band-soft{background:#eef5f2;color:#075a4b;border:1px solid rgba(7,90,75,.25)}
.high-risk-popup .risk-band{margin-bottom:4px}
.mou-work{margin-top:8px;padding:12px 14px 14px;border-radius:10px;background:#eef5f2;border:1px solid rgba(43,168,137,.25);display:grid;gap:10px}
.mou-work .mou-find-label{margin:0;padding:0;border:0;color:#075a4b}
.mou-work .medium-risk-location-fields{margin:0}
.mou-work input,.mou-work select{background:#fff}
.mou-work #mouLocatorButton{justify-self:start;margin:0;min-height:38px;background:#0b4a40;color:#fff;border-color:#0b4a40;font-weight:600}
.mou-work #mouLocatorButton:hover{background:#075a4b}
.mou-work #mediumRiskMouField{margin:0}
.high-risk-popup .mou-readonly{order:-1}
.high-risk-popup .mou-readonly .mou-k{color:#075a4b}
.risk-review{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.risk-review-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700);margin-bottom:8px}
.risk-review details.collapsible-risk-panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 14px;margin-bottom:8px}
.risk-review details.collapsible-risk-panel summary{display:flex;justify-content:flex-start;align-items:center;gap:12px;min-height:0;padding:11px 0;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:500;color:var(--teal-900)}
.risk-review details.collapsible-risk-panel summary::-webkit-details-marker{display:none}
.risk-review details.collapsible-risk-panel summary em{font-style:normal;font-size:.8125rem;color:var(--ink-3);font-weight:400}
.risk-review details.collapsible-risk-panel[open] summary{border-bottom:1px solid var(--line)}
.risk-review .high-risk-item{padding:6px 0}

.mou-work #mouLocatorButton{white-space:nowrap;padding:0 16px}
/* Density fixes: section header height, medication plan field, dose-check row */
#group-follow-up-dates .form-group-head{padding:14px 24px 14px;gap:12px;align-items:center}
#group-follow-up-dates .form-group-head .form-section-title{font-size:1.25rem;line-height:1.2}
#group-follow-up-dates .form-group-head .form-group-caption{margin:2px 0 0;font-size:.875rem;line-height:1.35}
#homeMedication{min-height:84px;height:84px}
#lowBirthWeightMedicationPrompt .dose-check{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;padding:9px 12px;border:1px solid rgba(7,90,75,.16);border-radius:8px;background:#fff;font-size:.875rem;line-height:1.4}
#lowBirthWeightMedicationPrompt .dose-check .dc-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700)}
#lowBirthWeightMedicationPrompt .dose-check .dc-state{color:var(--ink-3);font-size:.8125rem}
#lowBirthWeightMedicationPrompt>strong.sugg-title{font-size:.9375rem;line-height:1.3}
#lowBirthWeightMedicationPrompt .sugg-reason{font-size:.8125rem;line-height:1.4}
#lowBirthWeightMedicationPrompt .sugg-row{padding:7px 0;line-height:1.4}
/* Medium risk: result + facility row; the locator lives in its drawer */
.mou-hidden{display:none!important}
.high-risk-popup .mou-readonly{display:none}
.mou-schedule{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;font-size:.9375rem;color:var(--ink-2);margin-top:2px}
.mou-schedule .mou-k{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#075a4b;margin-right:4px}
.mou-schedule span:not(.mou-k){padding:2px 10px;border-radius:999px;background:#eef5f2;border:1px solid rgba(43,168,137,.3);color:var(--teal-900);font-size:.8125rem;font-weight:500}
.fac-row{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:6px 0 4px;border-radius:10px;background:#eef5f2;border:1px solid rgba(43,168,137,.3)}
.fac-row .mou-k{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#075a4b}
.fac-row b{flex:1 1 auto;font-weight:600;color:var(--ink-4);font-size:1rem}
.fac-row.is-set b{color:var(--teal-900);font-size:1.0625rem}
.fac-row .link-button{font-size:.875rem;font-weight:600;color:#075a4b;text-decoration:none;padding:6px 12px;border:1px solid rgba(7,90,75,.35);border-radius:8px;background:#fff}
.fac-row .link-button:hover{background:#0b4a40;color:#fff;border-color:#0b4a40}
.mou-work{display:none}
/* Review risk criteria: collapsed summaries sit on pale sage */
.risk-review details.collapsible-risk-panel{background:#eef5f2;border-color:rgba(43,168,137,.3)}
.risk-review details.collapsible-risk-panel[open]{background:#fff}
.risk-review details.collapsible-risk-panel[open] summary{background:#eef5f2;margin:0 -14px;padding-left:14px;padding-right:14px}
/* No criteria: heading in DM Sans, airier */
.fu-none h4{font-family:"DM Sans",Aptos,"Segoe UI",system-ui,sans-serif;font-weight:600;letter-spacing:.012em;word-spacing:.08em;line-height:1.35}
/* Caregiver education: plain-weight labels */
.caregiver-education-panel>.ce-group>label,.caregiver-education-panel>.ce-group>label:has(input:checked){font-weight:400}
/* Immunisation Status: white section, pale-sage clinical surface, chronological status rows */
#group-immunisation-status .form-group-caption b{font-weight:600;color:var(--teal-900)}
#group-immunisation-status .form-group-body{display:block}
.imm-surface{background:#eef5f2;border:1px solid rgba(43,168,137,.28);border-radius:12px;padding:2px 18px}
.imm-surface>label.imm-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;margin:0;padding:12px 0;border-bottom:1px solid rgba(7,90,75,.14);font-size:.9375rem;font-weight:600;color:var(--teal-900);letter-spacing:0}
.imm-surface>label[hidden]{display:none!important}
.imm-surface>label.imm-row.is-last{border-bottom:0}
.imm-surface>label.imm-row.is-last:has(+label.imm-notes:not([hidden])){border-bottom:1px solid rgba(7,90,75,.14)}
.imm-surface>label.imm-notes:not([hidden]):has(~.imm-next:not([hidden])){border-bottom:0}
.imm-head{display:grid;gap:2px;min-width:0}
.imm-head b{font-weight:600;color:#0b4a40;font-size:1rem;line-height:1.3}
.imm-head .imm-due{font-size:.8125rem;font-weight:400;color:var(--ink-3)}
.imm-head .imm-due b{font-weight:600;color:var(--teal-900)}
#group-immunisation-status .choice-row{display:inline-flex;gap:8px;margin:0;flex:0 0 auto}
#group-immunisation-status .choice-row label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid rgba(7,90,75,.3);border-radius:999px;background:#fff;color:var(--teal-800);font-size:.8125rem;font-weight:600;cursor:pointer;width:auto;margin:0;position:relative}
#group-immunisation-status .choice-row label input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
#group-immunisation-status .choice-row label:hover{border-color:#0b4a40}
#group-immunisation-status .choice-row label:has(input:checked){background:#2ba889;border-color:#2ba889;color:#fff}
#group-immunisation-status .choice-row label:has(input:checked)::before{content:"\2713";font-size:.75rem}
#group-immunisation-status .choice-row label:has(input[value="no"]:checked){background:#0b4a40;border-color:#0b4a40}
#group-immunisation-status .choice-row label:has(input[value="no"]:checked)::before{content:none}
#group-immunisation-status .choice-row label:has(input:focus-visible){outline:2px solid #2ba889;outline-offset:2px}
.imm-surface>label.imm-notes{display:grid;gap:6px;margin:-4px 0 0;padding:0 0 14px;border-bottom:1px solid rgba(7,90,75,.14);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-700)}
.imm-surface>label.imm-notes textarea{min-height:56px;background:#fff;font-weight:400;letter-spacing:0;text-transform:none}
.imm-next{margin:0;padding:12px 0;border-top:1px solid rgba(7,90,75,.14);font-size:.8125rem;color:var(--ink-3)}
.imm-next b{color:var(--teal-900);font-weight:600}
@media(max-width:640px){.imm-surface{padding:2px 14px}#group-immunisation-status .choice-row{width:100%}#group-immunisation-status .choice-row label{flex:1 1 0;justify-content:center}}
.high-risk-popup #mouLocatorButton{display:none}
.fu-none h4{font-size:.9375rem;font-weight:600;letter-spacing:.006em;word-spacing:.04em;margin:6px 0 2px}
/* ROP section: one consistent grid, every field on the same rhythm */
#ropSection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start}
#ropSection>.form-section-title,#ropSection>.split,#ropSection>#ropScreenedDetails,#ropSection>#ropNotScreenedReasonField,#ropSection>.rop-senior,#ropSection>.rop-plan,#ropSection>#ropStatusCard,#ropSection>button{grid-column:1/-1}
#ropSection>.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#ropScreenedDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start}
#ropScreenedDetails[hidden]{display:none}
#ropScreenedDetails>label{margin:0}
#ropScreenedDetails>label:has(#ropFinding),#ropScreenedDetails>label:has(#ropDischargeReasonOther){grid-column:1/-1}
#ropSection label{margin:0}
#ropSection .rop-senior,#ropSection .rop-plan{margin:0}
@media(max-width:640px){#ropSection,#ropSection>.split,#ropScreenedDetails{grid-template-columns:1fr;gap:14px}}
/* Medium risk card: one dated visit list, compact actions, more air in the text */
#mediumRiskFollowUpCard .mou-schedule{display:none}
#mediumRiskFollowUpText{line-height:1.55}
#mediumRiskFollowUpText .high-risk-popup-title{margin:8px 0 4px;line-height:1.35}
#mediumRiskFollowUpText .risk-reason{margin:0 0 4px}
#mediumRiskFollowUpText p[hidden]{display:none}
.mou-visits{display:grid;margin:10px 0 0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 14px}
.mou-visit{display:flex;justify-content:space-between;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.5}
.mou-visit:last-child{border-bottom:0}
.mou-visit .k{font-weight:600;color:var(--teal-900);font-size:.9375rem}
.mou-visit .k small{display:block;font-weight:400;color:var(--ink-3);font-size:.8125rem}
.mou-visit .v{font-weight:600;color:#0b4a40;font-size:.9375rem;text-align:right}
.mou-visit .v.muted{font-weight:400;color:var(--ink-4)}
#mediumRiskFollowUpCard .fac-row{margin:8px 0 0}
#mediumRiskActions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px}
#mediumRiskActions button{width:auto;flex:0 0 auto;min-height:34px;padding:0 14px;font-size:.8125rem;margin:0}
#mediumRiskFollowUpCard .mou-hint[hidden]{display:none}
@media(max-width:640px){.mou-visit .v{text-align:left;width:100%}#mediumRiskActions button{flex:1 1 auto}}
#mediumRiskFollowUpText .high-risk-popup-date{display:none}
/* Immunisation pills: slim, not fat */
#group-immunisation-status .choice-row{gap:6px}
#group-immunisation-status .choice-row label{min-height:26px;padding:0 10px;font-size:.75rem;font-weight:500;border-radius:6px;border-color:rgba(7,90,75,.22)}
#group-immunisation-status .choice-row label:has(input:checked)::before{font-size:.6875rem}
@media(max-width:640px){#group-immunisation-status .choice-row label{min-height:30px}}
/* Facility: a petite highlighted line rather than a wide card */
.fac-row{display:inline-flex;width:auto;max-width:100%;padding:6px 6px 6px 12px;margin:6px 0 2px;gap:10px;border-radius:8px;background:#eef5f2;border:1px solid rgba(43,168,137,.3)}
.fac-row .mou-k{font-size:.625rem}
.fac-row b,.fac-row.is-set b{flex:0 1 auto;font-size:.9375rem;color:#0b4a40}
.fac-row .link-button{font-size:.75rem;font-weight:500;min-height:24px;padding:0 9px;border-radius:6px;border-color:rgba(7,90,75,.25)}
#mediumRiskFollowUpCard .fac-row{margin:6px 0 2px}
#mediumRiskFollowUpCard .mou-visits{margin-top:8px}
#mediumRiskActions button{min-height:28px;padding:0 11px;font-size:.75rem;font-weight:500}
/* Section headings: a size down, captions to match */
.form-group-head .form-section-title,.form-group-head h2{font-size:1.125rem;letter-spacing:-.01em}
.form-group-head .form-group-caption{font-size:.875rem}
/* Landing: the NeoParse mark as hero art, with one orchestrated entrance, a slow drift and the follow-up path drawing itself */
.landing-hero .hero-signal-paths{display:none!important}
.landing-hero{background:#04241f;min-height:min(78vh,720px)}
.hero-mark{position:absolute;inset:0;z-index:0;pointer-events:none;background:url(assets/mark.png) 68% 32%/cover no-repeat;opacity:0;animation:hero-fade 1.8s ease-out .1s forwards,hero-drift 46s ease-in-out 1.9s infinite alternate}
.hero-mark::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,36,31,.9) 0%,rgba(4,36,31,.55) 38%,rgba(4,36,31,.05) 70%),linear-gradient(180deg,rgba(4,36,31,0) 55%,rgba(4,36,31,.92) 100%)}
@keyframes hero-fade{to{opacity:1}}
@keyframes hero-drift{from{background-position:70% 30%}to{background-position:62% 40%}}
.hero-path{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-path .hp{fill:none;stroke:rgba(154,223,212,.55);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:2600;stroke-dashoffset:2600;animation:hero-draw 9s cubic-bezier(.4,0,.2,1) 1.2s infinite}
.hero-path .hd{fill:#bff2e8;filter:drop-shadow(0 0 6px rgba(154,223,212,.9));opacity:0;transform-box:fill-box;transform-origin:center;animation:hero-pop 9s ease-out infinite}
.hero-path .hd:nth-of-type(1){animation-delay:2.2s}.hero-path .hd:nth-of-type(2){animation-delay:3.6s}.hero-path .hd:nth-of-type(3){animation-delay:5s}.hero-path .hd:nth-of-type(4){animation-delay:6.4s}.hero-path .hd:nth-of-type(5){animation-delay:7.6s}
@keyframes hero-draw{0%{stroke-dashoffset:2600;opacity:1}72%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hero-pop{0%{opacity:0;transform:scale(.4)}10%{opacity:1;transform:scale(1)}84%{opacity:1}100%{opacity:0}}
.landing-copy{position:relative;z-index:2}
.landing-copy>*{opacity:0;transform:translateY(14px);animation:hero-rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.landing-copy>:nth-child(1){animation-delay:1s}.landing-copy>:nth-child(2){animation-delay:1.15s}.landing-copy>:nth-child(3){animation-delay:1.4s}.landing-copy>:nth-child(4){animation-delay:1.65s}.landing-copy>:nth-child(5){animation-delay:1.9s}.landing-copy>:nth-child(6){animation-delay:2.15s}
@keyframes hero-rise{to{opacity:1;transform:none}}
.landing-copy h1{font-family:"DM Sans",Aptos,"Segoe UI",system-ui,sans-serif;font-weight:300;letter-spacing:-.035em;font-size:clamp(2.3rem,5vw,3.7rem);line-height:1}
.landing-copy h1 b{font-weight:700}
@media(max-width:960px){.hero-mark{background-position:center 12%;background-size:160% auto}.hero-mark::after{background:linear-gradient(180deg,rgba(4,36,31,.05) 0%,rgba(4,36,31,.3) 38%,rgba(4,36,31,.94) 62%)}.landing-hero{min-height:0;padding-top:min(52vw,300px)}}
@media(prefers-reduced-motion:reduce){.hero-mark,.landing-copy>*{opacity:1;transform:none;animation:none}.hero-path{display:none}}
