:root{font-size:15px;color:#273349;background:#f7f8fb;line-height:1.5}
.hero{padding:36px 0;background:linear-gradient(135deg,#173f7c,#2e68a9)}
.hero h1{font-size:clamp(23px,3.5vw,33px);line-height:1.2;max-width:850px;font-weight:700;margin:6px 0}
.hero p{margin:5px 0;color:#dce9fb}
.kicker{font-size:11px}
.intro{padding:22px!important;margin:22px 0!important;border-radius:13px!important;box-shadow:0 5px 18px #1e3a5f0a!important}
.intro h2{font-size:18px;margin:22px 0 8px}
.instruction{padding:11px 0!important;font-size:14px}
.instruction.deadline{padding:11px!important}
.choose{font-size:18px;margin:27px 0 12px}
.level-grid{gap:12px;margin:14px 0 32px}
.level-card{padding:18px;border-width:1px;border-radius:12px;box-shadow:0 4px 14px #1e3a5f08}
.level-card b{font-size:16px}.level-card span{font-size:13px}
.top{padding:13px 0}.top h1{font-size:22px;margin:4px 0 0}.top p,.top a{font-size:13px}
.form-container{padding:16px 0 55px}.progress{height:6px}.step-label{font-size:13px;margin:9px 0 13px}
.step{padding:22px;border-radius:13px;box-shadow:0 4px 15px #18375908}
.step h2{font-size:19px;margin:0 0 17px;font-weight:700}
.grid{gap:14px}label{font-size:14px;margin:9px 0;gap:5px}
input,select,textarea{padding:9px 10px;border-radius:8px}
fieldset{margin:17px 0;padding:14px 0 0}legend{font-size:14px}.option{margin:7px 0}
.conditional{padding:14px;margin-top:13px}.subcard{padding:14px;margin:12px 0;border-radius:9px}.subcard h3{font-size:15px;margin:0 0 9px}
.actions{margin-top:13px}.actions button,.button{padding:10px 16px;border-radius:8px;font-size:14px}
.alert{font-size:14px}.summary-section{padding:9px 0}
@media(max-width:680px){.hero{padding:28px 0}.intro{padding:17px!important}.step{padding:17px}.level-card{padding:16px}}
.long-questions{display:grid;gap:12px;margin-top:15px}.long-questions label{background:#fff;border:1px solid #e1e7ef;border-radius:9px;padding:13px}.long-questions small{display:block;color:#607089;font-weight:500;margin-top:2px}
.hero{padding:26px 0}.hero h1{font-size:clamp(20px,2.8vw,28px);max-width:760px}.top h1{font-size:19px}.step h2{font-size:18px}.actions .secondary{background:transparent;border:1px solid #c8d5e6;color:#315b8f}.actions button{box-shadow:none}
.step-intro{margin-bottom:15px}.step-intro h2{margin-bottom:5px}.step-intro p{margin:0;color:#64748b;font-size:13px}
.intervention-group{border:1px solid #dfe6ef;border-radius:11px;background:#fff;margin:10px 0;overflow:hidden}.intervention-group summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;cursor:pointer;background:#f8fafc;list-style:none}.intervention-group summary::-webkit-details-marker{display:none}.intervention-group summary span:first-child{display:grid;gap:2px}.intervention-group summary b{font-size:14px;color:#173f7c}.intervention-group summary small{color:#718096}.group-progress{font-size:12px;font-weight:700;color:#5c6e84;background:#e9eef5;border-radius:99px;padding:5px 9px;white-space:nowrap}.group-progress.complete{background:#dcfce7;color:#15803d}.question-list{padding:5px 15px 14px}.frequency-question{border:0;border-bottom:1px solid #edf0f4;margin:0;padding:14px 0}.frequency-question:last-child{border-bottom:0}.frequency-question legend{font-size:13px;font-weight:650;margin-bottom:9px}.frequency-question legend span{color:#2d6db7}.frequency-options,.compact-options{display:flex;flex-wrap:wrap;gap:6px}.frequency-options label,.compact-options label{margin:0;display:block;cursor:pointer}.frequency-options input,.compact-options input{position:absolute;opacity:0;pointer-events:none}.frequency-options span,.compact-options span{display:block;border:1px solid #d5deea;border-radius:7px;padding:7px 10px;background:#fff;color:#46566b;font-size:12px;font-weight:600;transition:.15s}.frequency-options input:checked+span,.compact-options input:checked+span{background:#e8f2ff;border-color:#2c6fbd;color:#174f91;box-shadow:inset 0 0 0 1px #2c6fbd}.frequency-options label:hover span,.compact-options label:hover span{border-color:#7fa7d5}.followup-card{border-top:1px solid #e3e8ef;margin-top:18px;padding-top:5px}.followup-card h3{font-size:16px;color:#173f7c}.followup-card fieldset{margin:13px 0}
@media(max-width:680px){.hero h1{font-size:20px}.frequency-options{display:grid;grid-template-columns:repeat(2,1fr)}.frequency-options span{text-align:center;height:100%}.intervention-group summary{padding:12px}.question-list{padding:4px 12px 12px}}
.severity-block{margin:18px 0;padding:16px;background:#fff;border:1px solid #dce5f0;border-radius:11px}.severity-heading{margin-bottom:13px}.severity-heading h3{margin:0;color:#173f7c;font-size:14px;line-height:1.4}.severity-heading p{margin:4px 0 0;color:#64748b;font-size:12px}.severity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.severity-grid label{margin:0}.severity-grid input{margin-top:4px}@media(max-width:760px){.severity-grid{grid-template-columns:repeat(2,1fr)}}
.ref-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.ref-grid{grid-template-columns:1fr}}
.case-viewer{margin-top:15px;padding:12px;background:#f7faff;border:1px solid #dbe6f4;border-radius:9px}.viewer-numbers{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#64748b}.viewer-numbers b{color:#173f7c;font-size:17px;margin-right:3px}.viewer-track{height:7px;background:#dfe7f1;border-radius:99px;overflow:hidden;margin:9px 0}.viewer-track div{height:100%;width:0;background:#2f75c8;border-radius:99px;transition:width .2s}.case-viewer p{margin:0;font-size:12px;color:#607089}.case-viewer.complete{background:#f0fdf4;border-color:#bbebc9}.case-viewer.complete .viewer-track div{background:#22a35a}.case-viewer.complete p{color:#18713d}.case-viewer.error{background:#fff5f5;border-color:#fecaca}.case-viewer.error .viewer-track div{background:#dc2626}.case-viewer.error p{color:#b91c1c;font-weight:700}.subset-counter{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:6px;background:#edf4fc;color:#315f94;font-size:11px;font-weight:700}.subset-counter.over{background:#fee2e2;color:#b91c1c}@media(max-width:520px){.viewer-numbers{display:grid;grid-template-columns:repeat(3,1fr)}.viewer-numbers span{text-align:center}}
html,body{max-width:100%;overflow-x:hidden}
.frequency-options input,.compact-options input{width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.frequency-question.invalid-question{border-radius:8px;background:#fff7f7;box-shadow:0 0 0 1px #fecaca;padding-left:10px;padding-right:10px}
.frequency-question.invalid-question legend{color:#991b1b}
.validation-choice-message{margin:7px 0 0;color:#b91c1c;font-size:12px;font-weight:700}
