@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#243d36;--muted:#78847e;--green:#28735d;--line:#e3e8e1;--bg:#f6f7f3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}button,input,select{border-radius:8px}button{transition:background .15s}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #afcbb6;outline-offset:2px}h1,h2,.brand{font-family:Manrope,sans-serif}h1{font-size:32px;letter-spacing:-1.1px;margin:9px 0}h2{font-size:19px;margin:0}p{color:var(--muted);line-height:1.65}aside{width:242px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:30px;font-weight:800;letter-spacing:-1px}.logo{background:var(--green);color:white;width:38px;height:40px;display:inline-grid;place-items:center;font-size:26px;border-radius:10px;margin-right:10px}.dot{color:var(--green)}.side-label{font-size:11px;letter-spacing:1.5px;color:#8b948e;margin:56px 12px 14px}.nav{border:0;background:none;text-align:left;padding:14px 12px;color:#687b71;margin-bottom:8px;font-size:14px}.nav.active{background:#eaf2e9;color:#28634e;font-weight:700}.side-note{margin-top:auto;padding:22px;background:#f4f6ee;border-radius:12px}.small-cap{font-size:10px;letter-spacing:1.1px;color:#75856b}.side-note p{color:#4b654d;font-size:18px;font-weight:500;line-height:1.5}.mini-lines{display:flex;align-items:flex-end;height:44px;gap:7px}.mini-lines i{width:23px;height:30%;background:#c2d5b5;border-radius:4px}.mini-lines i:nth-child(2){height:48%}.mini-lines i:nth-child(3){height:65%}.mini-lines i:nth-child(4){height:80%}.mini-lines i:nth-child(5){height:100%;background:#82a476}.logout{margin-top:24px}main{margin-left:242px;padding:0 44px}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}header strong{color:#465c50;font-weight:500}.separator{margin:0 14px;color:#bac2b9}.saved{font-size:12px;color:#54836a}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:38px 0 30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#7b8e72}.page-heading p{margin:8px 0 0}.primary{background:var(--green);color:#fff;border:1px solid var(--green);padding:12px 19px;font-weight:600}.primary:hover{background:#1d5c49}.secondary{border:1px solid #d7dfd4;background:#fff;color:var(--ink);padding:10px 15px}.secondary:hover{background:#f1f5ee}.filters{display:flex;gap:18px;align-items:end;margin-bottom:28px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600}input,select{border:1px solid #dce3d8;background:#fff;color:var(--ink);padding:11px 13px;min-width:0}select{min-width:220px}.year{margin-left:auto;padding:13px;color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 28px}.stats article{padding:23px 25px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column}.stats article>span{font-size:13px;color:#778279}.stats strong{font:700 34px Manrope,sans-serif;margin:13px 0 6px;letter-spacing:-1px}.stats small{font-size:12px;color:#8a958a}.stats .highlight{background:#edf5ef;border-color:#dfe8d5}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:25px}.panel-head p{font-size:13px;margin:7px 0 0}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 25px 18px;gap:10px}.tabs{display:flex;background:#f3f5ef;border-radius:8px;padding:4px}.tabs button{border:0;background:none;padding:9px 18px;color:#7b887c;font-size:13px}.tabs .selected{background:#fff;box-shadow:0 1px 4px #243d3615;color:#345c45;font-weight:700}.text-button{background:none;border:0;color:var(--green);font-size:13px;padding:8px}.config-status{padding:12px 25px;background:#f8faf5;border-top:1px solid var(--line);font-size:12px;color:#748570}.config-status.warning{background:#fff8e9;color:#8a6828}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:11px;font-weight:600;color:#7a867e;background:#f8f9f6;padding:15px 17px;border-bottom:1px solid var(--line)}th:first-child{padding-left:25px}th small{display:block;font-weight:400;margin-top:5px}td{padding:18px 17px;border-bottom:1px solid #edf0e8;font-size:14px}td:first-child{padding-left:25px}.student-name{border:0;background:transparent;color:var(--ink);font-weight:600;text-align:left}.avatar{display:inline-grid;place-items:center;background:#eef1e8;color:#6c8064;font-size:11px;border-radius:50%;width:30px;height:30px;margin-right:10px}.grade-button{border:1px dashed #d7e0d3;background:#fafbf8;padding:7px 10px;color:#627b5c;min-width:50px;font-size:12px}.grade-button strong{display:block;font-size:14px;margin-bottom:4px}.math{font-weight:600}.proposal{display:inline-grid;place-items:center;background:#e7efdf;color:#4c7041;min-width:30px;height:30px;border-radius:7px;font-weight:700}.muted{color:var(--muted)}.table-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 25px;font-size:12px;color:#8a9589}.method{display:flex;gap:18px;align-items:center;padding:26px 2px}.method-icon{border:1px solid #dae2d4;border-radius:10px;padding:9px 14px;font-size:24px;color:#7e9675}.method strong{font-size:13px;font-weight:500}.method p{font-size:12px;margin:5px 0}.pill{margin-left:auto;white-space:nowrap;border:1px solid #dde4d6;color:#829175;border-radius:20px;padding:7px 12px;font-size:10px}footer{border-top:1px solid var(--line);padding:24px 0;color:#9ba593;font-size:10px;letter-spacing:1.5px}footer span{float:right;letter-spacing:0}.empty{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #cfdcc7;border-radius:14px;margin-bottom:35px}.empty-icon{font-size:40px;color:#8fa981}.empty h2{margin-top:18px}.empty p{font-size:14px}.auth{max-width:450px;margin:10vh auto;padding:36px;background:white;border:1px solid var(--line);border-radius:18px}.auth h1{font-size:29px;margin-top:32px}.auth form{display:grid;gap:18px}.auth p{font-size:14px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(620px,94vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#17332965;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.icon-button{background:none;border:0;font-size:26px;color:#71826c}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#dialogBody{display:grid;gap:16px}#dialogBody p{font-size:14px;margin:0}.instrument-row{display:grid;grid-template-columns:1fr 95px 30px;gap:8px;align-items:end}.instrument-row button{height:40px}.threshold-row{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px}.grade-inputs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.grade-inputs input{width:100%;text-align:center}.grade-summary{padding:18px;background:#edf5ef;border-radius:9px}.danger{color:#a94339;border:1px solid #e9c9c3;background:white;padding:9px 13px}.danger-note{font-size:12px;color:#996744}#formError{color:#aa4236;font-size:14px}#notice{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:10;max-width:90%;padding:0;border-radius:9px;color:white;background:#345b46;box-shadow:0 4px 20px #16322220}#notice:not(:empty){padding:14px 22px}
@media(min-width:1550px){main{max-width:1500px}}@media(max-width:1050px){aside{width:195px;padding:28px 16px}main{margin-left:195px;padding:0 25px}.pill{display:none}.stats{gap:10px}.stats article{padding:20px}.year{display:none}}@media(max-width:760px){aside{position:static;width:100%;padding:16px;display:flex;flex-direction:row;align-items:center;gap:8px;border-bottom:1px solid var(--line)}aside .brand{font-size:23px;margin-right:auto}.logo{width:29px;height:31px;font-size:20px}.nav{font-size:12px;margin:0;padding:8px}.side-label,.side-note,#journalNav{display:none}.logout{margin:0}main{margin:0;padding:0 16px}header{height:62px;font-size:11px;gap:12px}.saved{font-size:10px}.page-heading{margin:25px 0;gap:12px}h1{font-size:25px}.page-heading p{font-size:13px}.page-heading .primary{font-size:12px;padding:11px}.filters{gap:10px}.filters label{width:50%}select{width:100%;min-width:0;font-size:12px}.stats article{padding:15px 12px}.stats article>span{font-size:11px}.stats strong{font-size:27px}.stats small{font-size:10px}.panel-head{padding:20px 15px;gap:10px}.panel-head h2{font-size:17px}.panel-head p{font-size:11px}.panel-head button{font-size:12px;white-space:nowrap}.toolbar{padding:0 12px 15px;flex-wrap:wrap}.tabs button{padding:8px 13px}.method{align-items:flex-start}.table-foot{padding:12px;gap:8px}.auth{margin:6vh 16px}.instrument-row{grid-template-columns:1fr 80px 26px}footer span{float:none;display:block;margin-top:8px}.grade-inputs{grid-template-columns:repeat(5,minmax(0,1fr))}}
textarea{font:inherit;border:1px solid #dce3d8;border-radius:8px;padding:10px 12px;color:var(--ink);width:100%;resize:vertical;background:#fff;line-height:1.5}textarea:focus-visible{outline:3px solid #afcbb6;outline-offset:2px}.grade-entries{display:grid;gap:14px}.grade-entry{display:grid;grid-template-columns:75px minmax(0,1fr);gap:16px;padding:16px;background:#f7f9f4;border:1px solid var(--line);border-radius:10px}.note-editor{display:grid;gap:10px;min-width:0}.note-editor select{width:100%;min-width:0;font-size:13px;text-overflow:ellipsis}.note-count{display:block;margin-top:5px;font-size:11px;color:#28735d}.comment-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:12px;align-items:center;margin-bottom:14px}.grade-summary{position:sticky;bottom:0}.grade-entry input{width:100%}#commentRows{min-width:0}@media(max-width:760px){aside{flex-wrap:wrap}.grade-entry{grid-template-columns:60px minmax(0,1fr);gap:10px;padding:12px}.note-editor label{font-size:12px}}
@media print{aside,header,.page-heading>button,.filters,.toolbar,.table-foot,footer,.method,button#addStudent,#notice{display:none!important}main{margin:0;padding:0}body{background:white}.table-scroll{overflow:visible}table{white-space:normal}.stats{margin:20px 0}th,td{padding:8px;font-size:11px}.panel{border:0}.grade-button{border:0}.page-heading{margin:0}}
.nav{display:flex;align-items:center;gap:10px}.nav-icon{width:22px;height:22px;min-width:22px;flex:0 0 22px}.nav span{line-height:1.4}.class-list{display:grid;gap:12px}.class-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:10px}.class-item p{margin:6px 0 0;font-size:13px}.class-actions{display:flex;gap:8px}@media(max-width:760px){#journalNav{display:flex}.class-item{align-items:flex-start;flex-direction:column}}
.student-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.confirm-delete{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:16px;background:#fff4f0;border:1px solid #e9c9c3;border-radius:8px;line-height:1.6}.confirm-delete input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#a94339}@media print{#deleteAllStudents{display:none!important}}
.brand-image{display:block;width:100%;max-width:280px;height:auto;object-fit:contain}aside .brand{width:100%}.auth .brand{justify-content:center}@media(max-width:760px){aside .brand{width:190px;max-width:100%}}
/* Responsive navigation and working surfaces. Desktop sidebar retains its layout. */
.mobile-bar,.menu-close{display:none}.menu-backdrop{position:fixed;inset:0;background:#17332980;z-index:30}main,.panel,.filters>label,.panel-head>div,.stats article,#editor,#dialogBody,label{min-width:0}.table-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.filters{flex-wrap:wrap}.filters>label{flex:1 1 220px}.filters select{width:100%;min-width:0;max-width:100%;text-overflow:ellipsis}.panel-head{gap:16px;flex-wrap:wrap}#tableSubtitle,.class-item p,.class-item strong,#formError{overflow-wrap:anywhere}.class-item>div{min-width:0}.class-actions{flex-wrap:wrap}dialog{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}#dialogBody input:not([type=checkbox]),#dialogBody select{width:100%;max-width:100%;min-width:0}.dialog-head{gap:12px}.dialog-head h2{overflow-wrap:anywhere}.dialog-actions{flex-wrap:wrap}.dialog-head .icon-button{flex-shrink:0;min-width:44px;min-height:44px}.instrument-row{grid-template-columns:minmax(0,1fr) 95px 44px}.instrument-row .icon-button{width:44px;min-height:44px}.comment-row{grid-template-columns:minmax(0,1fr) 44px}.comment-row .icon-button{min-height:44px}.grade-summary{position:static}.auth{width:calc(100% - 32px)}
@media(max-width:900px){
 .mobile-bar{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}.mobile-bar img{display:block;width:190px;max-width:calc(100% - 64px);height:auto}.menu-toggle,.menu-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);background:#f6f8f2;color:var(--ink);border-radius:10px}.menu-close{align-self:flex-end;font-size:30px;line-height:1;margin-bottom:12px}
 #mainSidebar{display:flex;position:fixed;inset:0 auto 0 0;z-index:40;width:min(320px,calc(100vw - 40px));height:100dvh;padding:16px 20px max(20px,env(safe-area-inset-bottom));flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s;border-right:1px solid var(--line);border-bottom:0}
 #mainSidebar.is-open{transform:translateX(0);visibility:visible}#mainSidebar .brand{width:100%;margin:0 0 20px}#mainSidebar .brand-image{max-width:250px}#mainSidebar .side-label{display:block;margin:12px 12px 18px}#mainSidebar .nav{display:flex;min-height:50px;padding:13px 12px;margin:0 0 8px;font-size:16px;width:100%;flex-shrink:0}#mainSidebar .logout{margin-top:auto;padding-top:16px}.menu-open{overflow:hidden}
 main{margin:0;padding:0 20px 28px;max-width:100%}.page-heading{margin:24px 0;gap:12px}.primary,.secondary,.danger,.text-button,.tabs button{min-height:44px}.page-heading .primary{font-size:14px;padding:11px 16px}.filters{gap:16px}.filters label{width:auto}.filters select{font-size:16px;min-height:48px}.year{display:block;margin:0;padding:0;font-size:13px}.stats{gap:12px}.stats article{padding:20px}.stats article>span{font-size:14px}.stats small{font-size:12px}.stats strong{font-size:30px}.panel-head{padding:20px}.panel-head h2{font-size:19px}.panel-head p{font-size:14px}.panel-head button{font-size:14px;white-space:normal}.toolbar{padding:0 20px 16px;flex-wrap:wrap}.tabs button{font-size:14px}.config-status{padding:14px 20px;font-size:13px;line-height:1.6}.table-foot{padding:16px 20px;font-size:13px;flex-wrap:wrap}.student-name,.grade-button{min-height:44px}.class-item{flex-wrap:wrap}.class-item p{font-size:14px}.auth{margin:5vh auto;padding:28px}
 dialog{padding:20px;width:calc(100% - 24px);margin:auto}#dialogBody{gap:18px}label,.note-editor label{font-size:14px}input,select,textarea,.note-editor select{font-size:16px}input:not([type=checkbox]),select{min-height:46px}.dialog-head{margin-bottom:18px}.dialog-actions{position:sticky;bottom:-20px;margin-top:20px;padding:16px 0 max(16px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line)}.dialog-actions button{flex:1 1 130px;white-space:normal}.threshold-row{grid-template-columns:minmax(0,1fr) 110px}.class-actions button{min-height:44px}.table-scroll:focus-visible{outline:3px solid #afcbb6;outline-offset:-3px}
}
@media(max-width:600px){
 main{padding:0 12px 24px}.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.stats article{padding:16px}.stats .highlight{grid-column:1 / -1}.stats strong{margin:10px 0 6px}.panel-head{padding:18px 14px;align-items:stretch;flex-direction:column}.student-actions{justify-content:stretch;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.student-actions button{width:100%}.toolbar{padding:0 14px 14px;gap:10px}.tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.tabs button{padding:10px 8px}.toolbar>.text-button{width:100%;text-align:left}.config-status{padding:12px 14px}.table-foot{padding:14px;align-items:flex-start;gap:10px}.table-foot>span{flex:1 1 100%}th,td{padding:14px}th:first-child,td:first-child{padding-left:14px}.empty{padding:36px 18px}.empty .primary{width:100%;white-space:normal}.page-heading{margin:20px 0}.auth{padding:24px}.auth h1{font-size:26px}.grade-entry{grid-template-columns:minmax(0,1fr);padding:14px;gap:14px}.grade-entry>label{display:grid;grid-template-columns:1fr 90px;align-items:center}.note-editor{gap:14px}.instrument-row{grid-template-columns:minmax(0,1fr) 80px 44px;gap:6px}.instrument-row label:first-child{grid-column:1 / -1}.instrument-row label:nth-child(2){grid-column:1 / 3}.class-item{padding:14px;align-items:stretch;flex-direction:column}.class-actions{display:grid;grid-template-columns:1fr 1fr}.class-actions button{width:100%;padding:10px}.confirm-delete{padding:12px}.note-editor small{overflow-wrap:anywhere}.dialog-head h2{font-size:19px}.table-scroll{border-bottom:1px solid var(--line)}
}
@media(prefers-reduced-motion:reduce){#mainSidebar{transition:none}}
@media print{.mobile-bar,.menu-backdrop,.menu-close{display:none!important}main{margin:0!important;padding:0!important}.table-scroll{max-width:none;overflow:visible}}
.auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:20px}#accountForm{display:grid;gap:16px}#accountMessage{overflow-wrap:anywhere;color:var(--ink)}.admin-pane{padding:28px;max-width:1600px;margin:auto;min-width:0}.admin-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:25px}.admin-top img{width:200px;max-width:100%}.admin-top>div{flex:1;min-width:200px}.admin-top p{margin:5px 0;overflow-wrap:anywhere}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.admin-filters label{min-width:0;flex:1}.admin-filters input,.admin-filters select{width:100%;min-width:0}.admin-pane .table-scroll{max-width:100%}.user-details{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;margin:0}.user-details dt{font-weight:600}.user-details dd{margin:0;overflow-wrap:anywhere}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.audit-list{display:grid;gap:12px}.audit-list article{padding:14px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.status-label{background:#edf5ef;padding:6px 10px;border-radius:6px;font-size:13px}@media(max-width:900px){.admin-pane{padding:16px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav button{flex:1 1 160px}.admin-pane input,.admin-pane select{font-size:16px}}@media(max-width:600px){.admin-top img{width:175px}.admin-top>div{flex-basis:100%}.admin-filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr)}.user-details{grid-template-columns:minmax(0,1fr);gap:6px}.user-details dd{margin-bottom:8px}.account-actions{display:grid;grid-template-columns:minmax(0,1fr)}.admin-stats article:last-child{grid-column:1 / -1}.auth-links button{min-height:44px}}

/* Year, class/subject, assessment period selection */
.filters{flex-wrap:wrap}.filters>label{flex:1 1 210px;min-width:0}.filters select{width:100%;min-width:0;max-width:100%}@media(max-width:600px){.filters>label{flex-basis:100%}}

.auth .registration-title{font-size:16px;text-align:center;letter-spacing:normal}.auth .terms-consent{background:#edf5ef;border-color:#c9dfd0;color:var(--ink)}.auth .terms-consent a,.auth .terms-consent a:visited{color:var(--green)}.auth .terms-consent input{accent-color:var(--green)}

.login-options{display:flex;justify-content:space-between;align-items:center;gap:12px}.login-options .remember-me{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:400}.remember-me input{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--green)}.login-options .text-button{text-align:right;font-size:13px;padding:8px 0}.auth-links{justify-content:center;text-align:center}.login-options>label,.login-options>button{flex:0 1 auto}#accountMessage:empty{display:none}

.config-status.instrument-info{background:#edf5ef;color:var(--green);border:1px solid #c9dfd0;border-radius:8px;margin:16px 24px;padding:16px;line-height:1.7;font-size:14px}@media(max-width:600px){.config-status.instrument-info{margin:12px}}

.instrument-info .instrument-reminder{display:block;margin-top:8px;color:#bd4545}

.password-help{font-size:13px;margin:0;line-height:1.6}.registration-success{color:var(--green);background:#edf5ef;padding:20px;border:1px solid #c9dfd0;border-radius:8px;text-align:center;line-height:1.8}

.instrument-alert-label{color:#bd4545}

.students-info-alert{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;background:#edf5ef;border:1px solid #c9dfd0;border-radius:8px;color:var(--green);font-size:14px;line-height:1.65;white-space:normal}.students-info-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;margin-top:1px;border:1.5px solid currentColor;border-radius:50%;font-weight:700;font-family:serif}

.config-status.instrument-info{display:flex;align-items:flex-start;gap:12px;background:#edf5ef;border-color:#c9dfd0;color:var(--green)}

.config-status.annual-info-bar{display:flex;align-items:flex-start;gap:12px;padding:16px 24px;background:#edf5ef;color:var(--green);border-top:1px solid #c9dfd0;border-bottom:1px solid #c9dfd0;font-size:14px;line-height:1.65}@media(max-width:600px){.config-status.annual-info-bar{padding:14px}}

.instrument-guidance-bar{background:#edf5ef;color:var(--green);border:1px solid #c9dfd0;border-radius:8px;padding:16px 18px;line-height:1.7;margin:0}

.instrument-guidance-icon{display:flex;align-items:flex-start;gap:12px}

.year-selection-alert{max-width:720px;margin:20px auto;text-align:left}

.students-info-alert.school-empty-alert{background:#fff1f0;border-color:#f1c5c1;color:#b44740}

.status-label.status-soft-red{background:#fff1f0;color:#bd4545}

.admin-menu-toggle{display:none}
@media(max-width:900px){
 .admin-menu-toggle{display:block;width:100%;text-align:left;min-height:46px;margin-bottom:16px}
 .admin-nav{display:none}.admin-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .admin-nav button{min-width:0;min-height:48px;white-space:normal;text-align:left}
 .admin-top{gap:12px}.admin-top>div{min-width:0;flex-basis:100%}.admin-top>button{flex:1;min-height:44px}
 .admin-pane .panel-head{align-items:stretch}.admin-filters{flex-basis:100%;width:100%}
 .admin-users-table{display:block;min-width:0!important;width:100%;white-space:normal}
 .admin-users-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .admin-users-table tbody{display:grid;padding:12px;gap:14px}
 .admin-users-table tr{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}
 .admin-users-table td{display:grid;grid-template-columns:minmax(95px,35%) minmax(0,1fr);gap:10px;padding:10px 14px!important;overflow-wrap:anywhere;align-items:start;min-width:0;font-size:14px}
 .admin-users-table td::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}
 .admin-users-table td:first-child{background:#edf5ef;font-weight:700}.admin-users-table td:last-child{border-bottom:0}
 .admin-users-table td[colspan]{display:block}.admin-users-table td[colspan]::before{display:none}
 .admin-users-table .status-label{justify-self:start}.admin-users-table button{width:100%;min-height:44px;white-space:normal}
 .admin-pane .table-foot{gap:12px;flex-wrap:wrap}.admin-pane .table-foot>div{display:flex;gap:10px}.admin-pane .table-foot button{min-height:44px}
 .admin-stats{gap:10px}.admin-stats article{padding:16px}.admin-stats strong{font-size:28px}
}
@media(max-width:430px){.admin-pane{padding:12px}.admin-nav.is-open{grid-template-columns:minmax(0,1fr)}.admin-users-table tbody{padding:8px}.admin-users-table td{grid-template-columns:minmax(85px,33%) minmax(0,1fr);padding:10px!important}.admin-users-table td:last-child{display:block}.admin-users-table td:last-child::before{display:none}}
