
:root{
  --teal:#075f5a;--teal2:#0d8b83;--teal3:#2bc0b3;--aqua:#e5f7f5;--sky:#edf6ff;
  --amber:#f3ad3d;--cream:#fff9ee;--danger:#b63b36;--ok:#237a57;--ink:#18343a;
  --muted:#667b81;--line:#dce7e8;--soft:#f7fbfb;--white:#fff;
  --shadow:0 12px 34px rgba(19,67,72,.10);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:#f4f9f9}button,input,select,textarea{font:inherit}button{cursor:pointer}
a{color:inherit}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--teal2)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#073e42,#075f5a);padding:24px 18px;color:#fff;display:flex;flex-direction:column;z-index:20}
.brand{display:flex;align-items:center;gap:11px}.brand h1{font-size:22px;margin:0}.brand p{font-size:11px;margin:3px 0 0;color:#ccecea}.logo{width:42px;height:42px}.sidebar nav{display:grid;gap:6px;margin:30px 0}.nav-btn{border:0;background:transparent;color:#d7efed;padding:11px 12px;border-radius:13px;text-align:left;display:flex;gap:11px;align-items:center;font-weight:650}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.14);color:#fff}.nav-icon{width:22px;text-align:center}.sidebar-bottom{margin-top:auto}.main-wrap{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:18}.topbar h2{margin:0;font-size:21px}.account-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 11px;display:flex;gap:8px;align-items:center}.main{padding:26px 28px 110px;max-width:1440px;margin:auto}
.page-guide{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.guide-title{font-weight:800}.help-chip{border:0;background:#e8f5f3;color:var(--teal);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.section-title{margin:0 0 6px;font-size:21px}.section-sub{margin:0 0 18px;color:var(--muted);line-height:1.55}.metric{font-size:31px;font-weight:800;margin:8px 0}
.hero{background:linear-gradient(135deg,#fff,#eaf9f7);display:grid;grid-template-columns:1.3fr .7fr;gap:20px;overflow:hidden}.hero-copy h3{font-size:34px;line-height:1.1;margin:10px 0}.hero-copy p{color:var(--muted);line-height:1.6}.hero-art{display:grid;place-items:center}.hero-art svg{width:100%;max-width:280px}
.notice{padding:14px 16px;border-radius:16px;background:#fff4de;border:2px solid #efb452;color:#70470f;line-height:1.55;font-size:13px}.notice.strong{font-weight:760;font-size:14px}.diagnosis-banner{background:linear-gradient(90deg,#ffe5e2,#fff4ea);border:2px solid #c54a43;color:#7d2723;padding:14px 17px;border-radius:16px;font-weight:850;box-shadow:0 7px 18px rgba(182,59,54,.12)}
.badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#e5f6ed;color:var(--ok)}.badge.warn{background:#fff1d8;color:#95570c}.badge.danger{background:#fde7e5;color:#9e2f29}.badge.info{background:#e8f3ff;color:#2f6595}
.btn{border:0;border-radius:13px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary{background:var(--teal);color:#fff}.btn-secondary{background:#e7f5f3;color:var(--teal)}.btn-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#fde8e6;color:#9a302b}.btn-sm{padding:7px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}
.progress{height:10px;background:#edf2f3;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--teal2),var(--teal3));border-radius:inherit}.domain-row{display:grid;grid-template-columns:170px 1fr 58px;gap:12px;align-items:center;margin:12px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbdadd;border-radius:12px;padding:12px;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field-hint{font-size:11px;color:var(--muted)}
.screening-hub{overflow:hidden}.hub-progress{min-width:180px}.domain-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.domain-hub-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:17px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;transition:.2s;color:var(--ink)}.domain-hub-card:hover,.domain-hub-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(13,107,103,.12);border-color:rgba(13,107,103,.35);outline:none}.domain-hub-card.done{background:linear-gradient(135deg,#f0fbf8,#fff);border-color:#b9e7dc}.domain-number{width:38px;height:38px;border-radius:12px;background:#e8f5f3;color:var(--teal);display:grid;place-items:center;font-weight:800}.domain-hub-copy{display:grid;gap:4px}.domain-hub-copy small{color:var(--muted)}.domain-state{font-size:13px;font-weight:700;color:var(--teal)}
.steps{display:flex;gap:8px;overflow:auto;padding:4px 0 10px}.step-btn{border:0;padding:9px 12px;border-radius:999px;background:#eef4f5;color:#65767d;white-space:nowrap;font-size:12px;font-weight:750}.step-btn.active{background:var(--teal);color:#fff}.step-btn.done{background:#dff5ec;color:#20784f}.question{padding:16px;border:1px solid var(--line);border-radius:17px;background:#fcfefe;margin-bottom:13px}.question-head{display:flex;justify-content:space-between;gap:10px}.info-dot{width:26px;height:26px;border-radius:50%;border:1px solid #bcd5d4;background:#fff;color:var(--teal);font-weight:800}.options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.option input{display:none}.option label{display:inline-block;padding:8px 11px;border:1px solid #ccdadd;border-radius:999px;font-size:12px;font-weight:700}.option input:checked+label{background:var(--teal);color:#fff;border-color:var(--teal)}
.chat{height:430px;overflow:auto;background:linear-gradient(180deg,#f6fbfb,#fff);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:12px;align-content:start}.bubble{max-width:82%;padding:12px 14px;border-radius:16px;line-height:1.5}.bubble.ai{background:#e5f6f4;border-bottom-left-radius:5px}.bubble.user{background:var(--teal);color:#fff;margin-left:auto;border-bottom-right-radius:5px}.chat-input{display:flex;gap:9px;margin-top:12px}.chat-input input{flex:1;border:1px solid #cbdadd;border-radius:13px;padding:12px}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ai-context{background:linear-gradient(135deg,#f2fbfa,#edf6ff)}
.resource-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.resource-card{display:flex;gap:14px;align-items:flex-start}.resource-icon{font-size:29px;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--aqua);flex:0 0 auto}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guide-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.guide-tab{border:0;background:#edf6f5;color:var(--teal);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800}.guide-tab.active{background:var(--teal);color:#fff}.resource-detail{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfefe}.resource-detail ul{line-height:1.65}
.video-card video{width:100%;aspect-ratio:16/9;border-radius:16px;background:#0c2e32}.video-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.check-card{display:flex;gap:12px;align-items:flex-start;margin:10px 0}.check-card input{margin-top:4px;transform:scale(1.2)}.activity-steps{display:grid;gap:7px;margin:10px 0}.activity-step{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.step-no{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e5f5f3;color:var(--teal);font-size:11px;font-weight:800}
.therapist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d9f3ef,#e8f4ff);color:var(--teal);font-weight:800}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.chip{padding:6px 9px;border-radius:999px;background:#eef7f6;color:var(--teal);font-size:11px;font-weight:700}.timeline{display:grid;gap:13px}.timeline-item{display:grid;grid-template-columns:13px 1fr;gap:11px}.dot{width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--teal)}
.robot-btn{position:fixed;right:22px;bottom:22px;z-index:30;width:68px;height:68px;border:0;border-radius:50%;background:linear-gradient(145deg,#075f5a,#19a49b);box-shadow:0 18px 40px rgba(13,107,103,.33);display:grid;place-items:center}.robot-btn svg{width:40px;height:40px}.robot-label{position:fixed;right:98px;bottom:42px;z-index:29;background:#fff;padding:8px 11px;border-radius:11px;box-shadow:var(--shadow);font-size:12px;font-weight:800;color:var(--teal)}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,27,31,.50);display:grid;place-items:center;padding:18px;z-index:80}.modal{max-width:780px;width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.toast{position:fixed;top:18px;right:18px;z-index:100;background:#16333a;color:#fff;padding:12px 16px;border-radius:12px}
.mobile-nav{display:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#f7fbfb}.auth-brand-panel{position:relative;overflow:hidden;padding:50px 7vw;color:#fff;background:linear-gradient(145deg,#063d41,#075f5a 54%,#18958d);display:flex;flex-direction:column}.auth-copy{margin:auto 0;max-width:610px}.auth-copy h2{font-size:clamp(40px,5vw,64px);line-height:1.05;margin:16px 0}.auth-copy p{font-size:17px;line-height:1.7}.auth-form-panel{display:grid;place-items:center;padding:38px 7vw}.auth-card{width:min(100%,480px)}.auth-card h2{font-size:34px;margin:10px 0}.auth-form{display:grid;gap:15px;margin-top:22px}.auth-switch{text-align:center;margin-top:18px}.auth-switch button,.demo-link{border:0;background:transparent;color:var(--teal);font-weight:800}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--teal);font-weight:700}.auth-error{padding:11px;border-radius:12px;background:#fff0f0;color:#a52c2c}.empty{text-align:center;padding:30px;color:var(--muted)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.therapist-grid,.grid-3,.resource-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:14px 18px}.main{padding:18px 16px 100px}.grid-2,.grid-3,.form-grid,.therapist-grid,.resource-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:24;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:7px 4px}.mobile-nav button{border:0;background:transparent;display:grid;gap:2px;place-items:center;font-size:10px;color:#5f7177}.robot-btn{bottom:76px}.robot-label{bottom:98px}.hero{grid-template-columns:1fr}.hero-art{display:none}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:25px 18px}.domain-hub-grid{grid-template-columns:1fr}}
@media(max-width:550px){.grid-4{grid-template-columns:1fr}.main{padding:14px 11px 95px}.card{padding:16px;border-radius:18px}.topbar h2{font-size:18px}.account-pill span:last-child{display:none}.domain-row{grid-template-columns:105px 1fr 42px}.options{display:grid;grid-template-columns:repeat(2,1fr)}.option label{width:100%;text-align:center}.hero-copy h3{font-size:27px}.robot-label{display:none}.page-guide{align-items:flex-start;flex-direction:column}.domain-hub-card{grid-template-columns:38px 1fr}.domain-state{grid-column:2}.chat-input{flex-direction:column}}
@media print{.sidebar,.topbar,.mobile-nav,.robot-btn,.robot-label,.no-print{display:none!important}.app-shell{display:block}.main{padding:0}.card{box-shadow:none;break-inside:avoid}body{background:#fff}}

.account-pill{cursor:pointer;color:var(--ink)}
.profile-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.profile-summary-grid>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfefe;min-width:0}
.profile-summary-grid b{overflow-wrap:anywhere}
.activity-choice-grid{display:grid;gap:11px;margin:13px 0}
.activity-choice{border:1px solid var(--line);background:#fbfefe;border-radius:15px;padding:13px}
.activity-choice p{margin:8px 0;line-height:1.55;color:var(--muted)}
.mini-check{font-size:11px;font-weight:800;color:var(--teal);display:flex;gap:5px;align-items:center;white-space:nowrap}.mini-check input{transform:scale(1.15)}
@media(max-width:850px){.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.profile-summary-grid{grid-template-columns:1fr}.account-pill{padding:7px 9px}}

/* v3.6 comprehensive screening report */
.report-shell{overflow:hidden}
.clinical-report{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;line-height:1.6}
.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:2px solid #dfeaea}
.report-header h2{font-size:28px;margin:5px 0}
.report-warning{margin:16px 0;padding:14px 16px;border-radius:14px;background:#fff1ee;border:2px solid #c54a43;color:#7d2723}
.report-section{padding:16px 0;border-bottom:1px solid #e5eeee}
.report-section:last-child{border-bottom:0}.report-section h3{color:var(--teal);margin:0 0 10px}
.report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:12px 14px;background:#f7fbfb;border-radius:14px}
.domain-report{padding:16px;margin:12px 0;border:1px solid #dce8e8;border-radius:16px;background:#fcfefe}
.domain-report h4{font-size:18px;margin:0}
.report-detail{margin-top:10px}.report-detail summary{cursor:pointer;color:var(--teal);font-weight:800}
.report-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
.report-table th,.report-table td{text-align:left;vertical-align:top;padding:9px;border:1px solid #dce7e8}
.report-table th{background:#eef8f6}
.therapist-review{min-height:220px}
@media(max-width:650px){.report-header{display:grid}.report-facts{grid-template-columns:1fr}.clinical-report{padding:14px}.report-table{font-size:11px}}
@media print{
 .clinical-report{border:0;padding:0}.report-shell{border:0!important;padding:0!important}.report-detail{display:block}.report-detail>summary{display:none}.report-table{font-size:10px}.report-section{break-inside:auto}.domain-report{break-inside:avoid}
}


/* v3.6.1 design-system integration */
body{font-family:var(--ds-font-family);background:var(--ds-color-canvas)}
.card{border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-md)}
.btn{min-height:var(--ds-control-height);border-radius:var(--ds-radius-sm);transition:transform var(--ds-transition-fast),box-shadow var(--ds-transition-fast),background var(--ds-transition-fast)}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn-primary:hover:not(:disabled){background:var(--ds-color-brand-700);box-shadow:var(--ds-shadow-sm)}
.btn-outline:hover:not(:disabled){border-color:var(--ds-color-brand-400);background:var(--ds-color-brand-50)}
.field input,.field select,.field textarea{min-height:var(--ds-control-height);border-color:var(--ds-color-border-strong);border-radius:var(--ds-radius-sm)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ds-color-brand-400)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ds-color-brand-600);outline:none;box-shadow:var(--ds-focus-ring)}
.field input:invalid:not(:placeholder-shown){border-color:var(--ds-color-danger-600)}
.badge{border-radius:var(--ds-radius-pill)}
.modal{border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-lg)}
.toast{border-radius:var(--ds-radius-sm);box-shadow:var(--ds-shadow-lg)}
.nav-btn{min-height:44px;border-radius:var(--ds-radius-sm)}
.account-pill{min-height:44px}
.help-chip{min-height:36px}
.robot-btn{min-width:68px;min-height:68px}
.main{max-width:var(--ds-content-max)}
.sidebar{width:var(--ds-sidebar-width)}

/* Inline product footer */
.product-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:28px;padding:16px 4px;color:var(--ds-color-muted);font-size:12px;border-top:1px solid var(--ds-color-border)}
.product-footer a{color:var(--ds-color-brand-700);font-weight:800;text-decoration:none}.product-footer a:hover{text-decoration:underline}

/* Design-system entry card */
.design-system-card{background:linear-gradient(135deg,var(--ds-color-brand-50),var(--ds-color-sky-50));border:1px solid #cfe3e3}
.ds-version{font-size:11px;font-weight:800;color:var(--ds-color-brand-700);background:#fff;border:1px solid var(--ds-color-border);padding:6px 9px;border-radius:999px}

/* Clinician-facing content is denser and more documentary than parent-facing cards. */
.clinical-report{font-size:14px;color:#233e45}
.clinical-report .report-section h3{letter-spacing:-.01em}

@media(max-width:550px){.product-footer{align-items:flex-start;flex-direction:column}.btn{width:auto}.btn-primary,.btn-secondary,.btn-outline,.btn-danger{min-height:44px}}

/* v3.7 age-specific developmental check */
.milestone-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.lost-option label{border-color:#efb3ae;background:#fff7f6;color:#9c302a}
.lost-option input:checked+label{background:#9c302a;color:#fff;border-color:#9c302a}
.alert-danger{margin:16px 0;padding:14px 16px;border-radius:14px;background:#fff1ef;border:1px solid #e2a39e;color:#812d28}
@media(max-width:700px){.milestone-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* NurovaGH v3.8 production interaction layer */
html{scroll-behavior:smooth}
body{overscroll-behavior-y:none}
.main{animation:pageIn .22s ease both}
@keyframes pageIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.btn,button{will-change:transform}
.btn:hover:not(:disabled),button:hover:not(:disabled){transform:translateY(-1px)}
.btn.is-pressed,button.is-pressed{transform:translateY(1px) scale(.99)}
.btn-primary{box-shadow:0 7px 18px rgba(7,95,90,.16)}
.btn-primary:hover{box-shadow:0 10px 24px rgba(7,95,90,.22)}
.btn-soft{background:var(--ds-color-brand-50);color:var(--ds-color-brand-800);border:1px solid var(--ds-color-brand-100)}
.btn-ghost{background:transparent;color:var(--ds-color-brand-800);border:1px solid transparent}
.btn-icon{width:44px;padding:0;display:inline-grid;place-items:center}
.btn.is-busy{position:relative;pointer-events:none;color:transparent!important}
.btn.is-busy:after{content:"";position:absolute;width:17px;height:17px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ux-reveal{opacity:0;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease}
.ux-visible{opacity:1;transform:none}
.sync-status{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:.74rem;color:var(--muted)}
.sync-dot{width:7px;height:7px;border-radius:50%;background:#72bca0;box-shadow:0 0 0 3px rgba(114,188,160,.15)}
.sync-saving .sync-dot,.sync-loading .sync-dot,.sync-pending .sync-dot{background:#e4a443;animation:pulse 1s infinite}
.sync-error{color:#9e2f29}.sync-error .sync-dot{background:#b63b36}
@keyframes pulse{50%{opacity:.35}}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.setup-required{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eefaf8,#f7fbfb 50%,#fff8ec)}
.setup-required .auth-card{max-width:650px}
code{padding:.12rem .35rem;border-radius:.35rem;background:#eef3f4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
input:focus,select:focus,textarea:focus{border-color:var(--ds-color-brand-500)!important;box-shadow:0 0 0 4px rgba(43,192,179,.13)!important}
@media(max-width:700px){.topbar{align-items:flex-start}.footer-links{gap:10px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .ux-reveal{opacity:1;transform:none}
}
