:root{color:#132238;font-synthesis:none;--primary:#0b5ea8;--primary-dark:#084779;--accent:#19a7a0;--danger:#b42318;--warning:#9a6700;--surface:#fff;--muted:#617185;--border:#d9e3eb;--shadow:0 18px 50px #12304f1a;--radius:22px;background:#eef4f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eef4f8;min-height:100%}body{background:radial-gradient(circle at 15% 0,#19a7a01a,#0000 32rem),linear-gradient(#f7fbfd 0%,#eef4f8 100%);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--primary)}:focus-visible{outline-offset:3px;outline:3px solid #0b5ea847}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #d9e3ebd9;justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(18px,4vw,46px);display:flex;position:sticky;top:0}.brand{color:#102a43;letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.brand-mark{background:linear-gradient(145deg, var(--primary), var(--accent));color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 22px #0b5ea838}.topnav{align-items:center;gap:10px;display:flex}.link-button,.ghost-button{border:1px solid var(--border);color:#183b56;background:#fff;border-radius:12px;padding:10px 14px;text-decoration:none}.main{flex:1;width:min(1100px,100% - 28px);margin:34px auto}.hero{grid-template-columns:1.25fr .75fr;align-items:stretch;gap:26px;margin-bottom:24px;display:grid}.hero-card,.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff5}.hero-card{padding:clamp(26px,5vw,48px)}.hero h1{letter-spacing:-.045em;color:#102a43;margin:0 0 18px;font-size:clamp(2rem,5vw,3.7rem);line-height:1.02}.hero p{color:var(--muted);max-width:65ch;font-size:1.08rem;line-height:1.7}.hero-side{flex-direction:column;justify-content:space-between;padding:26px;display:flex}.badge{color:#0f6f6a;background:#e9f6f4;border-radius:999px;align-items:center;gap:7px;width:max-content;padding:7px 11px;font-size:.88rem;font-weight:700;display:inline-flex}.mini-list{gap:13px;margin-top:22px;display:grid}.mini-item{color:#3d566e;align-items:flex-start;gap:11px;line-height:1.45;display:flex}.dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.card{padding:clamp(20px,3vw,34px)}.form-card{max-width:880px;margin:0 auto}.progress-wrap{margin-bottom:28px}.progress-meta{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.9rem;display:flex}.progress{background:#e8eff4;border-radius:999px;height:10px;overflow:hidden}.progress>span{background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;height:100%;transition:width .2s;display:block}.step h2{color:#102a43;margin:0 0 8px;font-size:clamp(1.45rem,4vw,2rem)}.step-intro{color:var(--muted);margin:0 0 26px;line-height:1.6}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field.full{grid-column:1/-1}label,legend{color:#243b53;font-weight:700}.required:after{content:" *";color:var(--danger)}input,select,textarea{color:#102a43;background:#fff;border:1px solid #cbd8e2;border-radius:12px;width:100%;min-height:46px;padding:11px 13px;transition:border .15s,box-shadow .15s}textarea{resize:vertical;min-height:105px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 4px #0b5ea817}small.help{color:var(--muted);line-height:1.4}fieldset{border:1px solid var(--border);border-radius:16px;margin:0;padding:16px}fieldset legend{padding:0 8px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.choice{border:1px solid var(--border);background:#fbfdfe;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-weight:500;display:flex}.choice input{flex:none;width:20px;height:20px;min-height:0;margin:1px 0 0}.range-row{grid-template-columns:1fr 70px;align-items:center;gap:14px;display:grid}input[type=range]{box-shadow:none;border:0;padding:0}.score-bubble{min-height:52px;color:var(--primary);background:#edf5fb;border-radius:14px;place-items:center;font-size:1.3rem;font-weight:800;display:grid}.alert{border-radius:14px;margin:18px 0;padding:14px 16px;line-height:1.55}.alert.info{color:#164e75;background:#eef7ff;border:1px solid #c6e2fa}.alert.warning{color:#6c4c00;background:#fff8e6;border:1px solid #f3d88d}.alert.danger{color:#7a271a;background:#fff0ef;border:1px solid #f5c4c0}.actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;display:flex}.primary,.secondary,.danger-button{border:0;border-radius:13px;min-height:46px;padding:12px 18px;font-weight:800}.primary{background:linear-gradient(135deg,var(--primary),#0a78c5);color:#fff;box-shadow:0 10px 24px #0b5ea838}.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.secondary{color:#294861;background:#edf3f7}.danger-button{color:var(--danger);background:#fff0ef;border:1px solid #f3c7c3}.review{gap:14px;display:grid}.review-section{border:1px solid var(--border);background:#f8fbfd;border-radius:14px;padding:15px}.review-section h3{color:#244968;margin:0 0 9px;font-size:1rem}.review-section p{color:#425d73;overflow-wrap:anywhere;margin:4px 0}.consent-box{background:#fbfdff;border:2px solid #c7d9e6;border-radius:16px;margin-top:20px;padding:16px}.consent-box .choice{background:0 0;border:0;padding:4px 0}.success{text-align:center;max-width:760px;margin:50px auto;padding:44px 28px}.success-icon{color:#177245;background:#e8f7ef;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 18px;font-size:2rem;font-weight:900;display:grid}.code{background:#eef4f8;border-radius:10px;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;display:inline-block}.login-card{max-width:480px;margin:70px auto}.therapist-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:20px;display:grid}.list-card{padding:0;overflow:hidden}.list-head{border-bottom:1px solid var(--border);padding:20px}.submission-list{display:grid}.submission-item{border:0;border-bottom:1px solid var(--border);text-align:left;color:#243b53;background:#fff;padding:15px 18px}.submission-item:hover,.submission-item.active{background:#f0f7fc}.submission-item strong{margin-bottom:4px;display:block}.submission-item span{color:var(--muted);font-size:.88rem;display:block}.report-card{min-height:420px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-block{border:1px solid var(--border);background:#f8fbfd;border-radius:14px;padding:15px}.report-block.full{grid-column:1/-1}.report-block h3{color:#244968;margin:0 0 10px;font-size:1rem}.report-block dl{grid-template-columns:140px 1fr;gap:6px 12px;margin:0;display:grid}.report-block dt{color:var(--muted)}.report-block dd{overflow-wrap:anywhere;margin:0;font-weight:600}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:#e9f3fa;border-radius:999px;padding:6px 9px;font-size:.86rem}.report-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.empty{color:var(--muted);text-align:center;padding:50px 20px}.footer{text-align:center;color:#6b7e90;padding:22px;font-size:.88rem}.footer a{margin:0 7px}.status-live{color:#3c5b73;align-items:center;gap:7px;font-size:.86rem;display:inline-flex}.status-live:before{content:"";background:#35a16b;border-radius:50%;width:8px;height:8px}@media (max-width:800px){.hero,.therapist-layout,.grid,.report-grid{grid-template-columns:1fr}.field.full,.report-block.full{grid-column:auto}.choice-grid{grid-template-columns:1fr}.topbar{padding:14px 16px}.topnav .hide-mobile{display:none}.main{margin:20px auto}.report-block dl{grid-template-columns:1fr;gap:2px}.report-block dd{margin-bottom:8px}}@media print{.topbar,.footer,.list-card,.report-actions{display:none!important}body{background:#fff}.main{width:100%;margin:0}.therapist-layout{display:block}.report-card{box-shadow:none;border:0}}
