:root{font-family:Segoe UI,Arial,sans-serif;color:#1c3045;background:#f3f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#142e46;color:white;padding:21px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:24px;font-weight:750}.brand span{display:block;font-size:12px;font-weight:400;color:#c2d3df}header a{color:#dce9f3;font-size:13px}main{max-width:1228px;margin:auto;padding:34px 24px}.eyebrow{font-size:12px;color:#267963;letter-spacing:2px;font-weight:700}h1{font-size:36px;margin:8px 0 10px;letter-spacing:-1px}h2{font-size:21px;margin:0 0 8px}p{color:#607184;line-height:1.6;margin:8px 0}.intro{margin-bottom:28px}.card{background:white;padding:26px;border:1px solid #dfe6ee;border-radius:16px;margin:18px 0;box-shadow:0 5px 20px #17354b04}.login{max-width:460px;margin:34px auto}label{display:block;font-weight:600;font-size:14px;margin:16px 0}input,select{display:block;border:1px solid #bac9d7;border-radius:8px;padding:12px;font:inherit;color:inherit;background:white;margin-top:8px;max-width:100%;width:100%}input:focus,select:focus{outline:3px solid #c4e2db;border-color:#267963}input[type=number]{width:125px}button,.button{font:inherit;font-weight:600;background:#247761;color:white;padding:12px 18px;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-block;text-decoration:none;white-space:nowrap}.secondary{background:#f4f7fa;color:#29465e;border-color:#d4dfe8}button:disabled{opacity:.6;cursor:wait}.toolbar,.sectionhead,.savebar{display:flex;justify-content:space-between;align-items:center;gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats .card{margin-bottom:0}.stats span{display:block;color:#607184}.stats strong{display:block;font-size:34px;margin-top:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.shared{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#f3f8f6;border-radius:12px;padding:8px 24px;margin:24px 0}.shared label span{display:block;color:#607184;font-weight:400;margin-top:6px;font-size:12px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:680px}th{text-align:left;background:#f1f5f9;font-size:12px;color:#52677a;padding:14px}td{border-bottom:1px solid #e6edf2;padding:12px 14px;font-size:14px}td input{margin:0;width:110px}.final{font-weight:750;color:#247761;font-size:17px}.status{font-size:12px;color:#607184}.savebar{position:sticky;bottom:0;background:white;border-top:1px solid #e6edf2;padding:18px 0;margin-top:14px}.savebar p,.muted{font-size:12px}.notice,.error{padding:15px 20px;border-radius:10px;margin:16px 0;background:#def3e9;color:#165d45}.error{background:#fff0e9;color:#963d20}footer{text-align:center;color:#708193;font-size:12px;line-height:1.8;margin:34px 0 10px}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px}main{padding:22px 14px}h1{font-size:29px}.card{padding:18px}.stats{gap:8px}.stats .card{padding:14px}.stats span{font-size:11px}.stats strong{font-size:28px}.sectionhead,.savebar{align-items:flex-start;flex-direction:column}.shared{grid-template-columns:1fr;gap:0;padding:4px 16px}.toolbar{align-items:flex-start}.muted{display:block}.actions{width:100%}header a{font-size:11px}.button{font-size:13px}.savebar button{width:100%}} 

.login button{margin-top:12px}.login input{width:100%}#passwordForm{max-width:450px}a:focus-visible,button:focus-visible{outline:3px solid #8fcbb9;outline-offset:3px}
.collective-table{min-width:760px;margin:16px 0 28px}.individual-table{min-width:1140px}.individual-table td:first-child{min-width:230px;max-width:300px}.individual-table th{max-width:120px}.collective-table th:first-child,.collective-table td:first-child{min-width:160px}input.score-input{width:88px;padding:10px}.registration{display:block;color:#708193;font-size:11px;margin-top:5px}.individual-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}.individual-heading label{min-width:240px}.individual-heading h3{margin-bottom:8px}.legacy-panel{background:#f2f6fb;border:1px solid #dae4ed;border-radius:12px;padding:18px;margin:22px 0}.legacy-panel .actions{align-items:center}.legacy-panel p{font-size:13px}.file-label{margin:0;max-width:280px}.file-label input{font-size:12px}.legacy-panel h3{margin-top:0}@media(max-width:700px){.individual-heading{display:block}.individual-heading label{width:100%}.legacy-panel{padding:14px}.legacy-panel .button{white-space:normal}.savebar p{line-height:1.6}}

.self-assessment-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#f4f8f6;border:1px solid #d7e6df;border-radius:12px;padding:18px;margin:24px 0}.self-assessment-panel h3{margin:0 0 8px}.self-assessment-panel p{font-size:13px;max-width:650px}.student-print{padding:8px 10px;font-size:12px}.individual-table{min-width:1270px}@media(max-width:700px){.self-assessment-panel{align-items:flex-start;flex-direction:column;gap:12px}.self-assessment-panel a{white-space:normal;width:100%;text-align:center}}

.self-entry{margin-top:32px;padding-top:24px;border-top:1px solid #dce5ed;scroll-margin-top:24px}.self-entry>p{max-width:850px}.self-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:16px;margin-top:18px}.self-entry select{max-width:620px}.student-print{margin:3px}.self-entry button{margin-top:10px}@media(max-width:700px){.self-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.brand{display:flex;align-items:center;gap:14px}.school-logo{display:block;width:64px;height:80px;object-fit:contain;background:#fff;border-radius:6px;padding:3px;box-sizing:border-box}.brand span{margin:0}@media(max-width:600px){.school-logo{width:52px;height:65px}.brand{gap:9px}}
.home-link{text-decoration:none}.home-link:focus-visible{outline:3px solid #c4e2db;outline-offset:6px;border-radius:6px}.home-link:hover .school-logo{box-shadow:0 0 0 2px #c4e2db}
