body{min-height:100vh;background:#f6f8fa;border-top:0}
body.login-page{background:#f0f5fa url('./site-background.svg?v=20261008-seam1') repeat-x center top;background-size:30px 1067px}
@font-face{font-family:"SurveyTitleBrush";src:url('./fonts/survey-title.woff2?v=1') format('woff2');font-style:normal;font-weight:400;font-display:swap}
body.login-page .masthead h1{color:white;font-family:"SurveyTitleBrush","KaiTi",serif;font-size:44px;font-weight:400;letter-spacing:2px;line-height:1.45}
/* Contain the login card's bottom margin so it cannot expose the root background. */
body.login-page #app{display:flow-root;min-height:100vh}
.question-section{font-size:24px;border:0!important;margin:25px 0 20px;color:#175ba5!important}
.question-type{font-size:19px;color:#33475c;margin:28px 0 12px}
.unit-chart-scroll{max-height:560px;overflow:auto}
.radar-zone{fill:transparent;stroke:none;cursor:crosshair;pointer-events:all}
.radar-zone:focus-visible{fill:#2358a014;outline:none;stroke:#2358a0;stroke-width:1}
.radar-tooltip rect{fill:white;stroke:#dce3ed;filter:drop-shadow(0 2px 3px #1e365b22)}
.radar-tooltip text{fill:#233549!important;font-size:12px!important}
.radar-tooltip-name{font-weight:600}
.mean-chart{height:auto;min-height:160px}
.masthead{min-height:140px;max-width:1184px;padding:45px 0 30px;margin:auto;display:block}
.masthead h1{color:#175ba5;font-size:30px;letter-spacing:1px;text-shadow:none;font-family:"Microsoft YaHei",sans-serif}
.access-main{margin:15px auto 50px;box-shadow:0 8px 30px #123d6417}
header{background:white;border-bottom:0;padding:22px 30px}
.brand{color:#175ba5;font-family:"Microsoft YaHei",sans-serif;font-size:22px;letter-spacing:0}
.brand small,.user>span{color:#64748b}
.layout{background:transparent;min-height:calc(100vh - 120px)}
aside{background:#f4f8fbdd;border-right:1px solid #dce5ee}
.heading{border-bottom-color:#c9dce9}
.heading h1{color:#164b79}
aside{background:white;border-right:0}
nav button.active{background:#eef4fb;color:#175ba5;font-weight:600}
.panel,.stat{border-radius:8px;border-color:#e7ebf0}
.panel h2{border:0;padding-left:0;color:#24374a}
.stats .stat{border-top:1px solid #e7ebf0}
.heading{border-bottom:0;padding-bottom:0}
.access-main{border-radius:10px;overflow:hidden;box-shadow:none}
.access-info{background:#f9fbfd}
.access-info h2{font-family:inherit;border-bottom:0}
.task-shortcuts button{background:white;color:#175ba5;border:1px solid #dbe4ef}
.reset-note{line-height:1.8;color:#526273}
.student-layout{display:block}
.student-layout aside{display:none}
.student-layout main{max-width:1080px;margin:0 auto}
.student-layout .panel{padding:28px}
.student-layout .question h3,.student-layout .option{font-size:16px;line-height:1.8}
.student-layout textarea{min-height:80px}
@media(max-width:900px){.student-layout .panel{padding:18px}.student-layout main{padding:20px 15px}.student-layout .question h3,.student-layout .option{font-size:15px}}
@media(max-width:900px){.masthead{min-height:105px;padding:30px 20px 20px}.masthead h1{font-size:26px;letter-spacing:1px}.access-main{margin:10px 20px 30px}.brand{font-size:20px}}
@media(max-width:900px){body.login-page .masthead h1{font-size:clamp(22px,6.6vw,32px);letter-spacing:.5px}}

.stat strong.report-version{font-size:17px;overflow-wrap:anywhere}

.login-page .access-main.supplied-login{display:block;width:calc(100% - 40px);max-width:480px;min-height:0;margin:24px auto 60px;background:#fff}.supplied-login .access-form{padding:32px 36px}.supplied-login .access-bottom{flex-wrap:wrap;font-size:13px}@media(max-width:540px){.supplied-login .access-form{padding:26px 24px}}

.import-status{font-weight:600;margin:18px 0}.import-valid{color:#226442}.import-error{color:#ab2929}.data-preview-scroll{overflow:auto;max-height:420px;margin:16px 0 22px}.data-preview-scroll table{min-width:4000px}.data-preview-scroll td,.data-preview-scroll th{min-width:100px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-preview-scroll th{position:sticky;top:0;background:#f5f8fb;z-index:1}#confirm-import{margin-top:20px}

.scope-list{margin:18px 0}.scope-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e0e6ee}.organization-grade{margin-top:24px}.organization-grade .heading{margin-bottom:8px}#managed-account-table td{white-space:normal}#managed-account-form .check{margin:14px 0}

.answer-bar{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,3fr) minmax(140px,1fr);gap:16px;align-items:center;padding:10px 0}.answer-bar meter{width:100%;height:24px}.answer-bar strong{font-size:14px;white-space:nowrap}.stage-report details,.panel>details{margin:16px 0}.panel summary{cursor:pointer;padding:12px 0}.item-chart{max-width:100%;height:auto}@media(max-width:650px){.answer-bar{grid-template-columns:1fr}.filters{flex-wrap:wrap}}@media print{aside,header,button,.filters,.actions{display:none!important}.layout{display:block}.panel{break-inside:avoid;box-shadow:none}.columns{display:block}details{display:block}details>*{display:block!important}}

.stage-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:24px 0}.stage-chart-grid>section{min-width:0}.stage-chart-grid .chart{width:100%;max-width:none;height:auto}.chart-explanation{font-size:14px;color:#596b80;line-height:1.7;min-height:48px}.chart-hit{cursor:help}.chart-hit:focus{outline:2px solid #5190ca;outline-offset:3px}.chart-hit-area{fill:transparent;pointer-events:all}.item-radar .chart-hit:hover{fill:#2358a010}.analysis-chart-tooltip{position:fixed;z-index:10000;max-width:min(390px,calc(100vw - 24px));box-sizing:border-box;padding:14px 16px;border:1px solid #cdd9e7;border-radius:8px;background:#fff;color:#1c334d;box-shadow:0 5px 22px #183b6729;font-size:14px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none;max-height:calc(100vh - 24px);overflow:hidden}.analysis-chart-tooltip[hidden]{display:none}.stage-report .chart text{font-family:Microsoft YaHei,sans-serif;font-size:16px}.stage-report .item-radar text{font-size:13px}.score-distribution{max-width:720px!important}@media(max-width:1000px){.stage-chart-grid{grid-template-columns:1fr}.chart-explanation{min-height:0}.stage-chart-grid .chart{max-width:720px}}@media print{.analysis-chart-tooltip{display:none!important}.stage-chart-grid{display:block}.chart-hit-area{display:none}}

.batch-note{white-space:pre-wrap;overflow-wrap:anywhere;max-width:580px}.current-intake{margin:0 0 22px}.current-intake h2{margin-bottom:8px}.current-intake p{line-height:1.8;color:#52677f}#intake-description-form label{display:block;margin-bottom:18px}#intake-description-form textarea{width:100%;box-sizing:border-box;resize:vertical}

.people-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;flex-wrap:wrap}
