:root{--ink:#203849;--teal:#117a72;--line:#d7e3e9;--bg:#f1f6f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}.teacher-container{width:min(1450px,100%);margin:auto;padding:24px}.teacher-header,.teacher-bar{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.teacher-header{margin-bottom:24px}.teacher-header a{font-weight:850;color:var(--teal);text-decoration:none}.teacher-login,.teacher-card{background:white;border:1px solid var(--line);border-radius:20px;padding:28px}.teacher-login{max-width:480px;margin:60px auto}.teacher-login h1{margin-top:0}label{display:block;font-weight:650}input,select,button,.grade-tabs a{font:inherit;border-radius:10px;min-height:46px}input,select{border:1px solid #a4b9c6;padding:11px;width:100%;background:#fff;color:var(--ink)}input{margin:6px 0 18px}button{background:var(--teal);color:white;border:0;padding:12px 22px;cursor:pointer;font-weight:700}button:disabled{opacity:.6;cursor:wait}.teacher-login button{width:100%}.secondary{background:#edf3f6;color:var(--ink)}h1{font-size:clamp(22px,3vw,32px);margin:0}p{margin:10px 0 16px}.teacher-note{font-size:14px;color:#536b7a}.teacher-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:16px 0}.teacher-filters label:first-child{flex:1;min-width:220px}.teacher-filters select{margin-top:5px}.grade-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.grade-tabs a{text-decoration:none;padding:10px 18px;background:#eef3f6;color:var(--ink)}.grade-tabs a[aria-current]{background:var(--ink);color:#fff}.report-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:var(--ink);color:#fff;white-space:nowrap}td{min-width:92px}td:nth-child(2){min-width:155px}td small{display:block;color:#934313}tbody tr:nth-child(even){background:#f8fafb}.teacher-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.teacher-error{background:#fff0ef;border-left:4px solid #b74038;padding:15px}.teacher-bar form{margin:0}footer{font-size:13px;color:#637886;text-align:center;margin-top:22px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f1aa40;outline-offset:2px}@media(max-width:600px){.teacher-container{padding:12px}.teacher-card,.teacher-login{padding:18px}.teacher-login{margin:25px auto}.teacher-filters{display:grid;grid-template-columns:1fr;width:100%}.teacher-header span{font-size:13px}.teacher-actions>*{flex:1}.report-scroll{max-width:100%}}@media print{@page{size:A4 landscape;margin:12mm}body{background:white;font-size:11px}.teacher-container{width:100%;padding:0}.teacher-header,.teacher-filters,.grade-tabs,.teacher-actions,footer,.teacher-bar form,#pdf-status{display:none}.teacher-card{border:0;padding:0}.report-scroll{overflow:visible;border:0}table{font-size:10px}th,td{padding:6px;min-width:0!important}thead{display:table-header-group}tr{break-inside:avoid}}
/* 0.9.0 separate school sign-in, no ad scripts or WordPress chrome. */
.teacher-login{max-width:520px;margin:32px auto;padding:30px}.teacher-login-mark{display:grid;place-items:center;width:52px;height:52px;background:#127d73;border-radius:16px;color:white;font-size:30px;font-weight:850;margin-bottom:18px}.teacher-login h1{font-size:30px;line-height:1.18}.teacher-login select{margin:8px 0 18px}.teacher-password-wrap{display:flex;gap:8px;align-items:center;margin:6px 0 18px}.teacher-password-wrap input{min-width:0;margin:0;flex:1}.teacher-login .teacher-password-toggle{width:auto;min-width:70px;padding:10px}.teacher-login a{color:#126e66}.teacher-help{font-size:14px;margin:18px 0;color:#526d78}.teacher-help summary{cursor:pointer}.teacher-access-badge{display:inline-block;font-size:11px;letter-spacing:.08em;font-weight:750;background:#e7f5ef;color:#176953;padding:6px 10px;border-radius:10px;margin-bottom:10px}.teacher-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.teacher-kpis>div{background:#f2f7f8;border:1px solid #deeaed;padding:16px;border-radius:12px}.teacher-kpis small{display:block;color:#546f7c}.teacher-kpis strong{font-size:26px;color:#1a5261}.teacher-header a{letter-spacing:.04em}@media(max-width:600px){.teacher-login{margin:16px auto;padding:22px}.teacher-login h1{font-size:28px}.teacher-kpis{gap:6px}.teacher-kpis>div{padding:10px}.teacher-kpis small{font-size:11px}.teacher-kpis strong{font-size:21px}.teacher-header{gap:8px;margin-bottom:16px}.teacher-bar button{width:100%;font-size:14px}.teacher-bar form{width:100%}}@media print{.teacher-access-badge,.teacher-kpis,.teacher-help{display:none}}
/* 0.9.1: prominent, separate class buttons and a read-only school report. */
.grade-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 12px}
.grade-tabs a{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid #d4e4e7;font-size:19px;font-weight:750;text-align:center}
.grade-tabs a[aria-current="page"]{background:#117a72;border-color:#117a72;color:#fff;box-shadow:0 3px 8px #117a7226}
.teacher-refresh-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:12px 0}
.teacher-refresh-row p{margin:0;max-width:780px}.teacher-refresh-row form{flex-shrink:0}
#teacher-report td{overflow-wrap:anywhere}#teacher-report td:nth-child(5){min-width:145px}#teacher-report td:nth-child(6),#teacher-report td:nth-child(7),#teacher-report td:nth-child(8){min-width:155px}
@media(max-width:600px){.grade-tabs{gap:6px}.grade-tabs a{padding:9px 5px;font-size:15px;min-height:50px}.teacher-refresh-row{align-items:stretch;flex-direction:column}.teacher-refresh-row button{width:100%}}
@media print{.grade-tabs,.teacher-refresh-row{display:none}#teacher-report td{min-width:0!important;overflow-wrap:anywhere}.teacher-card>p.teacher-note{font-size:10px}}
