:root{
  --bg:#f7f8fb; --card:#fff; --text:#172033; --muted:#667085; --line:#e7eaf0;
  --primary:#1f4b99; --primary2:#163b7d; --danger:#b42318;
  --d:#d92d20; --i:#f79009; --s:#12b76a; --c:#2e90fa;
  --shadow:0 10px 30px rgba(16,24,40,.08); --radius:18px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea{font:inherit}.shell{max-width:920px;margin:0 auto;padding:22px 16px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.brand{font-weight:800;letter-spacing:.2px}.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.hero{padding:34px 26px}.hero h1{font-size:clamp(34px,7vw,56px);line-height:1.02;margin:0 0 16px}.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:720px}.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0}.meta .item{background:#f9fafb;border:1px solid var(--line);border-radius:14px;padding:14px}.meta strong{display:block;font-size:20px}.meta span{font-size:13px;color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;min-height:46px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--text)}.btn-danger{background:#fff0ee;color:var(--danger);border:1px solid #fecdca}.btn:disabled{opacity:.5;cursor:not-allowed}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-weight:700;font-size:14px}.field input,.field textarea{width:100%;padding:12px 13px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:var(--text)}.field textarea{min-height:110px;resize:vertical}.hint{font-size:13px;color:var(--muted)}
.progress-wrap{margin-bottom:18px}.progress-head{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin-bottom:7px}.progress{height:10px;background:#eaecf0;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--primary);transition:width .25s}
.q-title{font-size:26px;margin:0 0 6px}.q-sub{color:var(--muted);margin:0 0 18px}.options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);padding:15px;border-radius:14px;cursor:pointer;background:#fff;transition:.15s}.option:hover{border-color:#b8c6e3}.option.selected{border-color:var(--primary);background:#f2f6fd}.option input{width:20px;height:20px;accent-color:var(--primary)}
.section-title{font-size:28px;margin:0 0 8px}.section-sub{color:var(--muted);margin:0 0 22px}.result-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.profile-pill{border-radius:16px;padding:18px 20px;color:#fff;min-width:190px}.profile-pill .small{font-size:12px;opacity:.9;text-transform:uppercase}.profile-pill .big{font-size:30px;font-weight:800}.bars{display:grid;gap:12px;margin-top:18px}.bar-row{display:grid;grid-template-columns:160px 1fr 58px;gap:10px;align-items:center}.bar-track{height:14px;background:#eef1f5;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px}.panel{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.panel h3{margin:0 0 10px}.list{margin:0;padding-left:20px;line-height:1.7}.notice{background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e;padding:13px 14px;border-radius:12px;font-size:14px}.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:13px 14px;border-radius:12px;font-size:14px}.review-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.review-chip{border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center;background:#fff}.review-chip.done{background:#ecfdf3;border-color:#abefc6}.footer-note{color:var(--muted);font-size:12px;line-height:1.6;margin-top:20px}
.report{background:#fff}.report h1,.report h2,.report h3{color:#111827}.report-cover{min-height:78vh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.score-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.score-card{border:1px solid var(--line);border-radius:12px;padding:13px}.score-card strong{font-size:24px;display:block}.mini{font-size:12px;color:var(--muted)}
@media(max-width:700px){.meta{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.bar-row{grid-template-columns:95px 1fr 48px}.score-cards{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:repeat(4,1fr)}.card{padding:18px}.hero{padding:28px 20px}.actions .btn{flex:1 1 auto}}
@media print{body{background:#fff}.no-print,.topbar{display:none!important}.shell{max-width:none;padding:0}.card{box-shadow:none;border:0;padding:0}.report-page{break-after:page;page-break-after:always;padding:12mm 10mm}.report-page:last-child{break-after:auto;page-break-after:auto}.panel{break-inside:avoid}.report-cover{min-height:250mm}}
