.mtc-pred-stacked-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.mtc-pred-stacked-label{font-size:.85rem;font-weight:600;opacity:.8;min-width:90px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtc-pred-stacked-bar{flex:1;display:flex;height:40px;border-radius:6px;overflow:hidden;background:#00000026}.mtc-pred-stacked-seg{display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fffffff2;transition:filter .15s ease;min-width:0;overflow:hidden;position:relative}.mtc-pred-stacked-seg span{white-space:nowrap;font-size:.7rem;line-height:1;padding:0 2px}.mtc-pred-stacked-seg:hover{filter:brightness(1.25)}.mtc-bar-tooltip{position:fixed;z-index:10000;background:#000000e6;color:#fff;padding:6px 12px;border-radius:6px;font-size:.82rem;font-weight:600;pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .1s ease;box-shadow:0 2px 8px #0000004d}.mtc-bar-tooltip.visible{opacity:1}.mtc-seg-popover{position:fixed;z-index:10001;background:var(--card-bg, #1e1e2e);border:1px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:0 8px 30px #00000080;width:300px;max-height:320px;display:none;flex-direction:column;overflow:hidden}.mtc-seg-popover.open{display:flex}.mtc-seg-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem;font-weight:700;gap:8px}.mtc-seg-popover-header .mtc-seg-pop-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.mtc-seg-popover-header .mtc-seg-pop-close{cursor:pointer;opacity:.5;font-size:1.1rem;line-height:1;padding:0 2px}.mtc-seg-popover-header .mtc-seg-pop-close:hover{opacity:1}.mtc-seg-popover-body{overflow-y:auto;padding:6px 0}.mtc-seg-popover-row{display:flex;align-items:center;padding:5px 14px;font-size:.85rem;gap:8px}.mtc-seg-popover-row{cursor:pointer}.mtc-seg-popover-row:hover{background:#ffffff14}.mtc-seg-popover-row span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtc-seg-popover-row .pop-class{font-size:.75rem;opacity:.5;white-space:nowrap}.mtc-seg-popover-row .pop-score{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.mtc-pred-stacked-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.mtc-pred-legend-item{display:flex;align-items:center;gap:5px;font-size:.8rem;opacity:.7}.mtc-pred-legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.mtc-compare-toggle{display:inline-flex;background:#ffffff0f;border-radius:8px;padding:3px;gap:2px;margin-bottom:4px}.mtc-compare-btn{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:#ffffff80;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mtc-compare-btn:hover{color:#ffffffbf;background:#ffffff0a}.mtc-compare-btn.active{background:#ffffff1a;color:#fffffff2}.mtc-compare-term-group{padding:10px 0 6px;border-top:1px solid rgba(255,255,255,.06)}.mtc-compare-term-group:first-of-type{border-top:none;padding-top:0}.mtc-compare-term-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;color:#ffffff80}.mtc-sankey text{font-family:inherit}.mtc-sankey-flow{transition:opacity .2s ease;cursor:default}.mtc-sankey-flow:hover{opacity:.55!important}.mtc-stacked-cols text{font-family:inherit}.mtc-stacked-cols rect{transition:opacity .15s ease}.mtc-stacked-cols rect:hover{opacity:1!important}.mtc-hbar-chart{display:flex;flex-direction:column;gap:3px}.mtc-hbar-row{display:flex;align-items:center;gap:8px;font-size:.8rem}.mtc-hbar-label{min-width:28px;font-weight:600;font-size:.75rem;opacity:.7;text-align:right;font-variant-numeric:tabular-nums}.mtc-hbar-track{flex:1;height:14px;background:#0000001a;border-radius:3px;overflow:hidden}.mtc-hbar-bar{height:100%;border-radius:3px;transition:width .4s ease}.mtc-hbar-bar.positive{background:#27ae60;opacity:.7}.mtc-hbar-bar.negative{background:#e74c3c;opacity:.7}.mtc-hbar-val{min-width:36px;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.mtc-hbar-val.positive{color:#2ecc71}.mtc-hbar-val.negative{color:#e74c3c}.col-change-bar{padding:4px 6px!important}.mtc-databar{display:flex;align-items:center;gap:4px;height:18px}.mtc-databar.positive{flex-direction:row}.mtc-databar.negative{flex-direction:row-reverse}.mtc-databar-fill{height:100%;border-radius:2px;min-width:2px;transition:width .3s ease}.mtc-databar.positive .mtc-databar-fill{background:#2ecc7180}.mtc-databar.negative .mtc-databar-fill{background:#e74c3c80}.mtc-databar-val{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.mtc-databar.positive .mtc-databar-val{color:#2ecc71}.mtc-databar.negative .mtc-databar-val{color:#e74c3c}.mtc-status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:600;white-space:nowrap;letter-spacing:.01em}.mtc-status-pill.pill-fm{background:#0793d133;color:#5dade2}.mtc-status-pill.pill-on-track{background:#27ae6033;color:#2ecc71}.mtc-status-pill.pill-borderline{background:#d4ac0d33;color:#f1c40f}.mtc-status-pill.pill-below{background:#e67e2233;color:#e67e22}.mtc-status-pill.pill-at-risk{background:#e74c3c33;color:#e74c3c}.mtc-status-pill.pill-unknown{background:#ffffff0d;opacity:.4}.mtc-status-pill.pill-new-pupil{background:#8e44ad33;color:#bb8fce}.mtc-pupils-table .weak-tint{background:#e74c3c0f}.mtc-pupils-table .weak-tint-strong{background:#e74c3c24}.mtc-pupils-table .num-cell{font-variant-numeric:tabular-nums}.mtc-insufficient-label{font-size:.65rem;opacity:.45;font-style:italic;white-space:nowrap}.mtc-pred-comparison{display:flex;gap:20px;margin-bottom:16px}.mtc-pred-period{flex:1;background:#00000026;border-radius:8px;padding:12px}.mtc-pred-period-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;opacity:.6;margin-bottom:10px;text-align:center;font-weight:600}.mtc-pred-band-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.04)}.mtc-pred-band-row:last-child{border-bottom:none}.mtc-pred-band-label{display:flex;align-items:center;gap:6px;min-width:80px}.mtc-pred-band-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mtc-pred-band-count{font-weight:600;font-variant-numeric:tabular-nums}.mtc-pred-band-pct{opacity:.6;font-size:.75rem;margin-left:4px}.mtc-bands-tab-content{display:flex;flex-direction:column;gap:8px;padding-right:4px}.mtc-band-movement-section{background:#0000001a;border-radius:8px;padding:12px;overflow-y:auto;flex:1}.mtc-band-movement-title{font-size:.8rem;font-weight:600;margin-bottom:8px;opacity:.8}.mtc-band-movement-row{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.04)}.mtc-band-movement-row:last-child{border-bottom:none}.mtc-band-movement-arrow{flex-shrink:0;font-weight:600;white-space:nowrap;font-size:.75rem}.mtc-band-movement-names{opacity:.8;line-height:1.4}.mtc-pupils-table-wrap{overflow:auto;flex:1;max-height:520px}.mtc-pupils-table{width:100%;border-collapse:collapse;font-size:.8rem}.mtc-pupils-table thead th{position:-webkit-sticky;position:sticky;top:0;background:#0f0f1a;padding:8px 10px;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1);z-index:1}.mtc-pupils-table thead th:hover{color:#fff}.mtc-pupils-table thead th.sorted{color:#667eea}.mtc-pupils-table thead th .sort-arrow{font-size:.6rem;margin-left:3px}.mtc-pupils-table tbody tr{cursor:pointer;transition:background .15s ease;border-bottom:1px solid rgba(255,255,255,.03)}.mtc-pupils-table tbody tr:hover{background:#ffffff0d}.mtc-pupils-table tbody tr.row-improver{background:#2ecc710d}.mtc-pupils-table tbody tr.row-improver:hover{background:#2ecc711a}.mtc-pupils-table tbody tr.row-decliner{background:#e74c3c0d}.mtc-pupils-table tbody tr.row-decliner:hover{background:#e74c3c1a}.mtc-pupils-table td{padding:7px 10px;font-variant-numeric:tabular-nums}.mtc-pupils-table td.col-change{font-weight:700}.mtc-pupils-table td.col-change.positive{color:#2ecc71}.mtc-pupils-table td.col-change.negative{color:#e74c3c}.mtc-pupils-table .pred-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.7rem;font-weight:600;white-space:nowrap}.mtc-pupils-table .pred-badge.pred-full-marks{background:#0793d133;color:#5dade2}.mtc-pupils-table .pred-badge.pred-score-20-24{background:#27ae6033;color:#2ecc71}.mtc-pupils-table .pred-badge.pred-score-16-19{background:#d4ac0d33;color:#f1c40f}.mtc-pupils-table .pred-badge.pred-score-10-15{background:#e67e2233;color:#e67e22}.mtc-pupils-table .pred-badge.pred-below-10{background:#e74c3c33;color:#e74c3c}.mtc-pupils-table .pred-badge.pred-insufficient{background:#ffffff0d;opacity:.5}.mtc-pupils-table .pred-change-arrow{font-size:.65rem;margin:0 2px;opacity:.5}.mtc-pupils-table .weak-tables{font-size:.7rem;opacity:.6;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtc-tables-heatmap-wrap{overflow:auto;flex:1}.mtc-tables-heatmap{width:100%;border-collapse:collapse;font-size:.75rem}.mtc-tables-heatmap th{padding:6px 8px;text-align:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.3px;opacity:.7;font-weight:600;position:-webkit-sticky;position:sticky;top:0;background:#0f0f1af2;z-index:1;white-space:nowrap}.mtc-tables-heatmap th:first-child{text-align:left;position:-webkit-sticky;position:sticky;left:0;z-index:2}.mtc-tables-heatmap td{padding:5px 8px;text-align:center;font-variant-numeric:tabular-nums;border-bottom:1px solid rgba(255,255,255,.03);position:relative}.mtc-tables-heatmap td:first-child{font-weight:600;text-align:left;position:-webkit-sticky;position:sticky;left:0;background:#0f0f1af2;z-index:1}.mtc-heatmap-cell{border-radius:4px;padding:4px 6px;font-weight:600;line-height:1.2}.mtc-heatmap-cell .hm-accuracy{font-size:.75rem}.mtc-heatmap-cell .hm-speed{font-size:.6rem;opacity:.6;display:block}.mtc-heatmap-cell.hm-strong{background:#27ae6040;color:#2ecc71}.mtc-heatmap-cell.hm-ok{background:#f39c1233;color:#f1c40f}.mtc-heatmap-cell.hm-weak{background:#e74c3c33;color:#e74c3c}.mtc-heatmap-cell.hm-nodata{opacity:.3}.mtc-tables-summary{margin-top:10px;font-size:.8rem;display:flex;gap:16px;flex-wrap:wrap}.mtc-tables-summary-item{display:flex;align-items:center;gap:4px}.mtc-tables-summary-item.improved{color:#2ecc71}.mtc-tables-summary-item.declined{color:#e74c3c}.mtc-progress-content{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.mtc-progress-layout{display:flex;flex-direction:column;gap:4px;width:100%}.mtc-progress-tabs{display:flex;justify-content:center;gap:0;border-bottom:2px solid rgba(255,255,255,.08)}.mtc-progress-panels{width:100%;min-width:0}.mtc-progress-tab{padding:8px 18px;border:none;background:transparent;color:var(--text-color-primary);font-size:.82rem;font-weight:500;font-family:inherit;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s ease;opacity:.5}.mtc-progress-tab:hover{opacity:.8;border-bottom-color:#fff3}.mtc-progress-tab.active{opacity:1;border-bottom-color:#a5b4fc;color:#a5b4fc}.mtc-progress-panel{display:none;width:100%;box-sizing:border-box;overflow-y:auto;max-height:520px}.mtc-progress-panel.active{display:flex;flex-direction:column;width:100%}.mtc-overview-layout{display:flex;gap:20px;width:100%;flex:1}.mtc-overview-stats{flex:0 0 280px;min-width:280px;max-width:280px;display:flex;flex-direction:column}.mtc-progress-metrics-inline{display:flex;flex-direction:column;gap:6px}.mtc-metric-row{display:flex;align-items:center;gap:8px;font-size:.9rem}.mtc-metric-row .mtc-metric-label{min-width:75px;width:75px;flex-shrink:0;font-weight:500;text-align:left}.mtc-metric-row .mtc-metric-values{font-weight:600}.mtc-metric-row .mtc-metric-delta{font-weight:600;font-size:.85rem}.mtc-overview-table-accuracy{flex:1 1 auto;min-width:0;background:#00000026;border-radius:10px;padding:15px;overflow:hidden}.mtc-overview-table-accuracy h4{margin:0 0 12px;font-size:.95rem;font-weight:600}.mtc-bands-section-fullwidth{width:100%;box-sizing:border-box;flex:1;display:flex;flex-direction:column}.mtc-pupils-layout{display:flex;gap:20px;width:100%;flex:1}.mtc-pupils-all-section{flex:1 1 50%;min-width:0}.mtc-pupils-all-header{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:10px}.mtc-pupils-all-header h5{margin:0;font-size:.9rem;font-weight:700;letter-spacing:-.01em;color:var(--text-color-primary)}.mtc-pupils-all-section .school-inline-students-grid{max-height:250px}.mtc-pupils-all-section .school-inline-student-card.improver{border-color:#2ecc7166;background:#2ecc711a}.mtc-pupils-all-section .school-inline-student-card.decliner{border-color:#e74c3c66;background:#e74c3c1a}.mtc-pupils-all-section .school-inline-student-card .student-change{font-size:.7rem;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.mtc-pupils-all-section .school-inline-student-card .student-change.positive{color:#2ecc71}.mtc-pupils-all-section .school-inline-student-card .student-change.negative{color:#e74c3c}.mtc-new-pupil-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#8e44ad40;color:#bb8fce;vertical-align:middle;margin-left:4px}.mtc-pupils-all-section .school-inline-student-card.new-pupil{border-color:#8e44ad66;background:#8e44ad1a}.student-change.new-label{color:#bb8fce;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mtc-new-pupils-notice{padding:8px 14px;margin-bottom:10px;border-radius:6px;background:#8e44ad1f;border:1px solid rgba(142,68,173,.3);color:#bb8fce;font-size:.8rem;font-weight:500}.mtc-pupils-movers-section{flex:1 1 50%;min-width:0;display:flex;gap:12px}.mtc-movers-column{flex:1;min-width:0}.mtc-movers-column h5{margin:0 0 10px;font-size:.9rem;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mtc-movers-grid{max-height:220px}.mtc-movers-grid .school-inline-student-card.improver{border-color:#2ecc7166;background:#2ecc711a}.mtc-movers-grid .school-inline-student-card.decliner{border-color:#e74c3c66;background:#e74c3c1a}.mtc-movers-grid .school-inline-student-card .student-change{font-size:.7rem;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.mtc-movers-grid .school-inline-student-card .student-change.positive{color:#2ecc71}.mtc-movers-grid .school-inline-student-card .student-change.negative{color:#e74c3c}@media(max-width:768px){.mtc-progress-tabs{overflow-x:auto}.mtc-progress-tab{flex:0 0 auto;font-size:.8rem;padding:8px 14px}.mtc-pred-comparison{flex-direction:column}}.mtc-progress-summary{background:#00000026;border-radius:10px;padding:15px;font-size:.9rem;line-height:1.5}.mtc-progress-summary:empty{display:none}.mtc-bands-explainer{font-size:.85rem;opacity:.7;text-align:center;margin:0 0 15px}.mtc-progress-comparison{text-align:center}.mtc-period-label{font-size:.9rem;opacity:.8;margin-bottom:12px;font-weight:500}.mtc-progress-metrics{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.mtc-metric{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px}.mtc-metric-label{font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.mtc-metric-values{font-size:1rem;font-weight:600}.mtc-metric-delta{font-size:.85rem;font-weight:600;min-height:1.2em}.mtc-metric-delta.positive{color:#27ae60}.mtc-metric-delta.negative{color:#e74c3c}.mtc-progress-test-count{font-size:.7rem;opacity:.6;margin-top:10px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3;display:block;max-width:100%}.mtc-progress-movers{display:flex;gap:20px}.mtc-movers-column{flex:1;background:#00000026;border-radius:10px;padding:12px;min-width:0}.mtc-movers-column h5{margin:0 0 10px;font-size:.9rem;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.mtc-movers-column.mtc-improvers h5{color:#27ae60}.mtc-movers-column.mtc-decliners h5{color:#e67e22}.mtc-movers-list{display:flex;flex-direction:column;gap:6px}.mtc-mover-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#ffffff0d;border-radius:6px;cursor:pointer;transition:background .2s ease}.mtc-mover-item:hover{background:#ffffff1a}.mtc-mover-info{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.mtc-mover-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtc-mover-class{font-size:.7rem;opacity:.6}.mtc-mover-change{font-weight:700;font-size:.9rem;flex-shrink:0;margin-left:10px}.mtc-mover-change.positive{color:#27ae60}.mtc-mover-change.negative{color:#e74c3c}.mtc-progress-no-data{text-align:center;padding:40px 20px;opacity:.7;font-size:.9rem;flex:2;min-width:400px;min-height:350px;display:flex;align-items:center;justify-content:center;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px}.mtc-progress-explainer{font-size:.85rem;opacity:.7;margin:-5px 0 15px;line-height:1.4}.mtc-term-selector{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}.mtc-term-label{font-size:.75rem;font-weight:500;opacity:.7;flex-shrink:0}.mtc-term-selector .mtc-term-dropdown{padding:5px 10px;border-radius:5px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:inherit;font-family:inherit;font-size:.75rem;cursor:pointer;width:auto;max-width:180px;flex:0 0 auto}.mtc-term-selector .mtc-term-dropdown:hover{border-color:#ffffff4d;background:#ffffff26}.mtc-term-selector .mtc-term-dropdown:focus{outline:none;border-color:#667eea80;box-shadow:0 0 0 2px #667eea33}.mtc-progress-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.mtc-progress-chip-group{display:flex;align-items:center;gap:6px}.mtc-progress-chip-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.45;white-space:nowrap}.mtc-progress-divider{width:1px;height:20px;background:#ffffff1f;flex-shrink:0}body.light-mode .mtc-progress-divider{background:#0000001f}.mtc-progress-view-modes{display:inline-flex;background:#0003;border-radius:10px;padding:3px;gap:3px}.mtc-progress-view-btn{padding:4px 12px;border:none;background:transparent;color:var(--text-color-primary);font-size:.75rem;font-weight:600;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s ease;opacity:.6;white-space:nowrap}.mtc-progress-view-btn:hover:not(:disabled){opacity:.9;background:#ffffff14}.mtc-progress-view-btn.active{background:#667eea66;opacity:1}.mtc-progress-view-btn:disabled{opacity:.25;cursor:not-allowed}.mtc-progress-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;min-height:0}.mtc-progress-controls-label{font-size:.8rem;font-weight:600;opacity:.7}.mtc-progress-select{padding:5px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:inherit;font-family:inherit;font-size:.8rem;cursor:pointer;width:auto;max-width:220px}.mtc-progress-select:hover{border-color:#ffffff4d;background:#ffffff26}.mtc-progress-select:focus{outline:none;border-color:#667eea80;box-shadow:0 0 0 2px #667eea33}.mtc-progress-select option{background:#1a1a2e;color:#fff}.mtc-progress-term-picks{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.mtc-progress-term-pick{display:inline-flex;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:500;font-family:inherit;line-height:normal;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffff80;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mtc-progress-term-pick:hover{background:#ffffff1a;border-color:#fff3;color:#fffc}.mtc-progress-term-pick.selected{background:#2dd4bf26;border-color:#2dd4bf80;color:#5eead4}.mtc-progress-term-pick.selected:hover{background:#2dd4bf38;border-color:#2dd4bfa6}.mtc-progress-class-picks{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.mtc-progress-class-pick{display:inline-flex;align-items:center;gap:0;padding:4px 12px;font-size:.75rem;font-weight:500;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffff80;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mtc-progress-class-pick:hover{background:#ffffff1a;border-color:#fff3;color:#fffc}.mtc-progress-class-pick.selected{background:#2dd4bf26;border-color:#2dd4bf80;color:#5eead4}.mtc-progress-class-pick.selected:hover{background:#2dd4bf38;border-color:#2dd4bfa6}.mtc-progress-class-cb{display:none}.mtc-progress-no-data-term{flex:1;display:flex;align-items:center;font-size:.78rem;color:#ffffff59;font-style:italic;padding:4px 12px}body.light-mode .mtc-progress-view-modes{background:#0000000f}body.light-mode .mtc-progress-view-btn:hover:not(:disabled){background:#0000000f}body.light-mode .mtc-progress-view-btn.active{background:#4f46e526;color:#4338ca}body.light-mode .mtc-progress-select{border-color:#94a3b84d;background:#0000000a}body.light-mode .mtc-progress-select:hover{border-color:#94a3b880;background:#00000012}body.light-mode .mtc-progress-select:focus{border-color:#4f46e580;box-shadow:0 0 0 2px #4f46e526}body.light-mode .mtc-progress-select option{background:#fff;color:#1e293b}body.light-mode .mtc-progress-term-pick{border-color:#94a3b840;background:#00000008;color:#0006}body.light-mode .mtc-progress-term-pick:hover{background:#0000000f;border-color:#94a3b866;color:#000000b3}body.light-mode .mtc-progress-term-pick.selected{background:#0d94881a;border-color:#0d948866;color:#0d9488}body.light-mode .mtc-progress-term-pick.selected:hover{background:#0d948826;border-color:#0d94888c}body.light-mode .mtc-progress-class-pick{border-color:#94a3b840;background:#00000008;color:#0006}body.light-mode .mtc-progress-class-pick:hover{background:#0000000f;border-color:#94a3b866;color:#000000b3}body.light-mode .mtc-progress-class-pick.selected{background:#0d94881a;border-color:#0d948866;color:#0d9488}body.light-mode .mtc-progress-class-pick.selected:hover{background:#0d948826;border-color:#0d94888c}body.light-mode .mtc-progress-no-data-term{color:#0000004d}.mtc-progress-yg-picks{display:flex;flex-wrap:wrap;gap:6px}.mtc-progress-yg-pick{display:inline-flex;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:500;font-family:inherit;line-height:normal;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffff80;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mtc-progress-yg-pick:hover{background:#ffffff14;border-color:#fff3;color:#fffc}.mtc-progress-yg-pick.selected[data-year-group="1"]{background:#f0629226;border-color:#f0629280;color:#f06292}.mtc-progress-yg-pick.selected[data-year-group="2"]{background:#4db6ac26;border-color:#4db6ac80;color:#4db6ac}.mtc-progress-yg-pick.selected[data-year-group="3"]{background:#ffb74d26;border-color:#ffb74d80;color:#ffb74d}.mtc-progress-yg-pick.selected[data-year-group="4"]{background:#7986cb26;border-color:#7986cb80;color:#7986cb}.mtc-progress-yg-pick.selected[data-year-group="5"]{background:#aed58126;border-color:#aed58180;color:#aed581}.mtc-progress-yg-pick.selected[data-year-group="6"]{background:#ce93d826;border-color:#ce93d880;color:#ce93d8}.mtc-progress-yg-pick.selected[data-year-group="1"]:hover{background:#f0629238;border-color:#f06292a6}.mtc-progress-yg-pick.selected[data-year-group="2"]:hover{background:#4db6ac38;border-color:#4db6aca6}.mtc-progress-yg-pick.selected[data-year-group="3"]:hover{background:#ffb74d38;border-color:#ffb74da6}.mtc-progress-yg-pick.selected[data-year-group="4"]:hover{background:#7986cb38;border-color:#7986cba6}.mtc-progress-yg-pick.selected[data-year-group="5"]:hover{background:#aed58138;border-color:#aed581a6}.mtc-progress-yg-pick.selected[data-year-group="6"]:hover{background:#ce93d838;border-color:#ce93d8a6}body.light-mode .mtc-progress-yg-pick{border-color:#94a3b840;background:#00000008;color:#0006}body.light-mode .mtc-progress-yg-pick:hover{background:#0000000f;border-color:#94a3b866;color:#000000b3}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="1"]{background:#f062921f;border-color:#f0629266;color:#c2185b}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="2"]{background:#4db6ac1f;border-color:#4db6ac66;color:#00796b}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="3"]{background:#ffb74d1f;border-color:#ffb74d66;color:#e65100}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="4"]{background:#7986cb1f;border-color:#7986cb66;color:#283593}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="5"]{background:#aed5811f;border-color:#aed58166;color:#33691e}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="6"]{background:#ce93d81f;border-color:#ce93d866;color:#6a1b9a}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="1"]:hover{background:#f062922e;border-color:#f062928c}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="2"]:hover{background:#4db6ac2e;border-color:#4db6ac8c}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="3"]:hover{background:#ffb74d2e;border-color:#ffb74d8c}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="4"]:hover{background:#7986cb2e;border-color:#7986cb8c}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="5"]:hover{background:#aed5812e;border-color:#aed5818c}body.light-mode .mtc-progress-yg-pick.selected[data-year-group="6"]:hover{background:#ce93d82e;border-color:#ce93d88c}body.light-mode .mtc-progress-tabs{border-bottom-color:#0000001a}body.light-mode .mtc-progress-tab:hover{border-bottom-color:#0003}body.light-mode .mtc-progress-tab.active{border-bottom-color:#4338ca;color:#4338ca}#scoreBandTimePeriod,#practiceTablesTimePeriod,#testTablesTimePeriod,#mtcTablesTimePeriod,#mtcReadinessTimePeriod{padding:5px 10px;border-radius:5px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:inherit;transform:translateY(9px);font-family:inherit;font-size:.75rem;cursor:pointer;width:auto;max-width:180px}#scoreBandTimePeriod:hover,#practiceTablesTimePeriod:hover,#testTablesTimePeriod:hover,#mtcTablesTimePeriod:hover,#mtcReadinessTimePeriod:hover{border-color:#ffffff4d;background:#ffffff26}#scoreBandTimePeriod:focus,#practiceTablesTimePeriod:focus,#testTablesTimePeriod:focus,#mtcTablesTimePeriod:focus,#mtcReadinessTimePeriod:focus{outline:none;border-color:#667eea80;box-shadow:0 0 0 2px #667eea33}#scoreBandTimePeriod option,#practiceTablesTimePeriod option,#testTablesTimePeriod option,#mtcTablesTimePeriod option,#mtcReadinessTimePeriod option{background:#1a1a2e;color:#fff}.mtc-term-arrow{font-size:.85rem;opacity:.5;flex-shrink:0}.mtc-info-icon{width:18px;height:18px;min-width:18px;min-height:18px;display:inline-flex;align-items:center;justify-content:center;background:#0793d126;border:1px solid rgba(7,147,209,.3);border-radius:50%;color:#5dade2;font-size:.65rem;font-weight:700;cursor:help;transition:all .2s ease;vertical-align:middle;position:relative;flex-shrink:0}.mtc-info-icon:hover{background:#0793d140;border-color:#0793d180;transform:scale(1.1)}body.light-mode .mtc-info-icon{background:#0793d11a;border-color:#0793d140;color:#2980b9}body.light-mode .mtc-info-icon:hover{background:#0793d133;border-color:#0793d166}.mtc-metric-values,.mtc-metric-delta,.badge,.score-band-list,.mtc-mover-scores,.mtc-progress-test-count,.overview-value,.overview-stat-value,[id*=Count],[id*=Avg],[id*=Score],[id*=Marks],[id*=Delta]{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:.01em}.mtc-metric-values{font-weight:700;font-variant-numeric:tabular-nums lining-nums}.mtc-metric-delta{font-variant-numeric:tabular-nums lining-nums;min-width:3.5em;text-align:right}.school-dashboard-modal h3{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--text-color-primary);margin-bottom:12px;display:flex;align-items:center;gap:10px}.school-dashboard-modal .stats-section.secondary>div:first-child>h3{position:relative;padding-bottom:10px}.school-dashboard-modal .stats-section.secondary>div:first-child>h3:after{content:"";position:absolute;bottom:0;left:0;width:2.5em;height:3px;background:linear-gradient(90deg,var(--color-accent-special) 0%,transparent 100%);border-radius:2px}.school-dashboard-modal h4,.mtc-overview-table-accuracy h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-color-secondary);margin-bottom:10px;opacity:.85}.school-dashboard-modal h5,.mtc-pupils-all-header h5,.mtc-movers-column h5{font-size:.9rem;font-weight:700;color:var(--text-color-primary);margin:0 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mtc-improvers-section h5{color:#27ae60}.mtc-decliners-section h5{color:#e67e22}.stats-section.secondary h3:has(+[id*=Below10]),.stats-section.secondary>div:first-child:has(+[id*=Below10]) h3{color:#e74c3c}.stats-section.secondary h3:has(+[id*="10to15"]),.stats-section.secondary>div:first-child:has(+[id*="10to15"]) h3{color:#e67e22}.stats-section.secondary h3:has(+[id*="16to19"]),.stats-section.secondary>div:first-child:has(+[id*="16to19"]) h3{color:#d4ac0d}.stats-section.secondary h3:has(+[id*="20to24"]),.stats-section.secondary>div:first-child:has(+[id*="20to24"]) h3{color:#27ae60}.stats-section.secondary h3:has(+[id*=FullMarks]),.stats-section.secondary>div:first-child:has(+[id*=FullMarks]) h3{color:#0793d1}.school-dashboard-modal h3>span[style*=font-size],.mtc-progress-header h3>span[style*=font-size]{filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}.mtc-progress-explainer,.mtc-bands-explainer{font-size:.85rem;color:var(--text-color-secondary);line-height:1.5;margin-bottom:16px;max-width:60ch}.mtc-term-label,.prediction-universal-label,.overview-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-color-secondary);opacity:.75}.mtc-metric-row .mtc-metric-label{font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.mtc-metric-row .mtc-metric-label .mtc-info-icon{width:16px;height:16px;min-width:16px;min-height:16px;font-size:.6rem;margin-left:4px}.mtc-mover-scores{font-size:.75rem;font-weight:600;opacity:.8;display:block;margin-top:2px;font-variant-numeric:tabular-nums}.mtc-mover-tests{opacity:.6;font-size:.9em}.mtc-progress-header-controls{display:flex;align-items:center;gap:15px}.mtc-compare-toggle{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;opacity:.8}.mtc-compare-toggle:hover{opacity:1}.mtc-compare-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.mtc-progress-metrics-compact{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.mtc-metric-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#00000026;border-radius:8px}.mtc-metric-row .mtc-metric-label{flex:1;font-size:.9rem;opacity:.9;text-transform:none;letter-spacing:0}.mtc-metric-row .mtc-metric-values{font-size:1rem;font-weight:600;min-width:80px;text-align:right}.mtc-metric-row .mtc-metric-delta{font-size:.9rem;font-weight:700;min-width:50px;text-align:right}.mtc-table-accuracy-section{background:#00000026;border-radius:10px;padding:15px}.mtc-table-accuracy-section h5{margin:0 0 12px;font-size:.9rem;font-weight:600;opacity:.9}.mtc-table-accuracy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.mtc-table-acc-item{display:flex;flex-direction:column;gap:4px;padding:8px;background:#ffffff0d;border-radius:6px}.mtc-table-acc-label{font-size:.8rem;font-weight:600;opacity:.8}.mtc-table-acc-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;position:relative}.mtc-table-acc-fill{height:100%;border-radius:4px;transition:width .3s ease}.mtc-table-acc-fill.increase{background:linear-gradient(90deg,#27ae60,#2ecc71)}.mtc-table-acc-fill.decrease{background:linear-gradient(90deg,#e74c3c,#c0392b)}.mtc-table-acc-fill.neutral{background:linear-gradient(90deg,#7f8c8d,#95a5a6)}.mtc-table-acc-delta{font-size:.75rem;font-weight:700;text-align:center}.mtc-table-acc-delta.positive{color:#27ae60}.mtc-table-acc-delta.negative{color:#e74c3c}.mtc-table-acc-delta.neutral{color:#7f8c8d}.mtc-bands-chart-comparison{display:flex;flex-direction:column;gap:12px}.mtc-bands-comparison-row{display:flex;align-items:center;gap:10px}.mtc-bands-comparison-label{min-width:80px;font-size:.85rem;font-weight:500;opacity:.9}.mtc-bands-comparison-bars{flex:1;display:flex;gap:4px;align-items:center;height:28px}.mtc-bands-bar{height:100%;border-radius:4px;min-width:4px;transition:width .3s ease}.mtc-bands-bar.increase{background:linear-gradient(180deg,#2ecc71,#27ae60)}.mtc-bands-bar.decrease{background:linear-gradient(180deg,#e74c3c,#c0392b)}.mtc-bands-legend-inline{display:flex;justify-content:center;gap:20px;margin-top:15px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.mtc-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;opacity:.8}.mtc-legend-bar{width:20px;height:12px;border-radius:3px}.mtc-legend-bar.increase{background:linear-gradient(180deg,#2ecc71,#27ae60)}.mtc-legend-bar.decrease{background:linear-gradient(180deg,#e74c3c,#c0392b)}.mtc-pupil-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:20px}.mtc-pupil-card{padding:12px;background:#27ae6040;border:2px solid rgba(39,174,96,.5);border-radius:10px;text-align:center;cursor:pointer;transition:all .2s ease}.mtc-pupil-card:hover{background:#27ae6059;border-color:#27ae60b3;transform:translateY(-2px)}.mtc-pupil-card-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtc-pupil-card-score{font-size:.75rem;font-weight:600;opacity:.8;margin-top:4px;font-variant-numeric:tabular-nums}.mtc-movers-bars-section{margin-bottom:15px}.mtc-movers-bars-section h5{margin:0 0 10px;font-size:.9rem;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.mtc-movers-bars-section.mtc-improvers-section h5{color:#27ae60}.mtc-movers-bars-section.mtc-attention-section h5{color:#e67e22}.mtc-movers-bars{display:flex;flex-direction:column;gap:6px}.mtc-mover-bar-item{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#00000026;border-radius:6px;cursor:pointer;transition:background .2s ease}.mtc-mover-bar-item:hover{background:#00000040}.mtc-mover-bar-name{min-width:80px;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtc-mover-bar-container{flex:1;height:16px;background:#ffffff1a;border-radius:8px;overflow:hidden}.mtc-mover-bar-fill{height:100%;border-radius:8px;transition:width .3s ease}.mtc-mover-bar-fill.positive{background:linear-gradient(90deg,#27ae60,#2ecc71)}.mtc-mover-bar-fill.negative{background:linear-gradient(90deg,#e74c3c,#c0392b)}.mtc-mover-bar-value{font-size:.8rem;font-weight:700;min-width:40px;text-align:right}.mtc-mover-bar-value.positive{color:#27ae60}.mtc-mover-bar-value.negative{color:#e74c3c}@media(max-width:500px){.mtc-table-accuracy-grid{grid-template-columns:repeat(3,1fr)}.mtc-pupil-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.mtc-progress-metrics{gap:15px}.mtc-metric{min-width:80px}.mtc-progress-movers{flex-direction:column}.mtc-progress-view-modes{flex-wrap:wrap}.mtc-progress-view-btn{padding:5px 10px;font-size:.75rem}.mtc-progress-select{font-size:.75rem;max-width:180px}}.mtc-metric-success .mtc-metric-label{color:#27ae60}.mtc-metric-pass .mtc-metric-label{color:#f1c40f}.mtc-metric-nearly .mtc-metric-label{color:#f39c12}.mtc-metric-concern .mtc-metric-label{color:#e74c3c}.mtc-metric-urgent .mtc-metric-label{color:#c0392b}.mtc-metric-delta.positive-inverted{color:#e74c3c}.mtc-metric-delta.negative-inverted{color:#27ae60}.mtc-metric-delta.neutral{color:#f39c12}.mtc-trend-sparkline-section{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:#00000026;border-radius:10px}.mtc-trend-sparkline-label{font-size:.85rem;font-weight:500;opacity:.8;white-space:nowrap}.mtc-trend-sparkline{flex:1;max-width:400px;min-width:200px;height:50px}.mtc-trend-sparkline svg{width:100%;height:100%}.mtc-sparkline-line{fill:none;stroke:#fff9;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mtc-sparkline-point{cursor:pointer;transition:transform .2s ease}.mtc-sparkline-point:hover{transform:scale(1.5);transform-origin:center}.mtc-sparkline-point.on-track{fill:#27ae60}.mtc-sparkline-point.nearly-there{fill:#f39c12}.mtc-sparkline-point.at-risk{fill:#e74c3c}.mtc-sparkline-ref-line{stroke-dasharray:3,3;stroke-width:1}.mtc-sparkline-ref-line.ref-20{stroke:#27ae6066}.mtc-sparkline-ref-line.ref-15{stroke:#f39c1266}.mtc-sparkline-tooltip{position:absolute;background:#000000d9;color:#fff;padding:6px 10px;border-radius:6px;font-size:.75rem;pointer-events:none;z-index:1000;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-8px}.mtc-bands-section{background:#00000026;border-radius:10px;padding:16px}.mtc-bands-title{margin:0 0 12px;font-size:.9rem;font-weight:600;text-align:center}.mtc-bands-chart{display:flex;flex-direction:column;gap:0;width:100%}.mtc-band-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.mtc-band-label{font-size:.85rem;font-weight:600;opacity:.8;min-width:90px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtc-band-bar-container{flex:1;height:40px;background:#00000026;border-radius:6px;overflow:hidden;display:flex}.mtc-band-segment{height:100%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fffffff2;min-width:0;overflow:hidden;transition:filter .15s ease}.mtc-band-segment span{white-space:nowrap}.mtc-band-segment:hover{filter:brightness(1.25)}.mtc-band-segment.at-risk{background:#e74c3c}.mtc-band-segment.nearly-there{background:#f39c12}.mtc-band-segment.on-track{background:#27ae60}.mtc-band-segment.below-10{background:#e74c3c}.mtc-band-segment.band-10-15{background:#e67e22}.mtc-band-segment.band-16-19{background:#d4ac0d}.mtc-band-segment.band-20-24{background:#27ae60;color:#fff}.mtc-band-segment.full-marks{background:#0793d1}.mtc-band-count{width:50px;font-size:.7rem;opacity:.6;text-align:left;flex-shrink:0}.mtc-bands-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.mtc-bands-legend-item{display:flex;align-items:center;gap:5px;font-size:.8rem;opacity:.7}.mtc-legend-swatch{width:10px;height:10px;border-radius:3px}.mtc-bands-legend-item.at-risk .mtc-legend-swatch{background:#e74c3c}.mtc-bands-legend-item.nearly-there .mtc-legend-swatch{background:#f39c12}.mtc-bands-legend-item.on-track .mtc-legend-swatch{background:#27ae60}.mtc-bands-legend-5{gap:15px}.mtc-bands-legend-item.below-10 .mtc-legend-swatch{background:#e74c3c}.mtc-bands-legend-item.band-10-15 .mtc-legend-swatch{background:#e67e22}.mtc-bands-legend-item.band-16-19 .mtc-legend-swatch{background:#d4ac0d}.mtc-bands-legend-item.band-20-24 .mtc-legend-swatch{background:#27ae60}.mtc-bands-legend-item.full-marks .mtc-legend-swatch{background:#0793d1}.mtc-progress-movers-section{display:flex;flex-direction:column;gap:12px}.mtc-movers-header{display:flex;justify-content:center}.mtc-movers-view-toggle{display:flex;background:#0003;border-radius:8px;padding:4px}.mtc-view-btn{padding:8px 16px;border:none;background:transparent;color:inherit;font-family:inherit;font-size:.85rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;opacity:.7}.mtc-view-btn:hover{opacity:1;background:#ffffff1a}.mtc-view-btn.active{background:#667eea66;opacity:1}.mtc-all-pupils{background:#00000026;border-radius:10px;padding:12px}.mtc-all-pupils-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.mtc-all-pupils-count{font-size:.85rem;opacity:.7}.mtc-all-pupils-table-wrapper{max-height:400px;overflow-y:auto;overscroll-behavior:contain}.mtc-all-pupils-table{width:100%;border-collapse:collapse}.mtc-all-pupils-table th,.mtc-all-pupils-table td{padding:8px 10px;text-align:left;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.1)}.mtc-all-pupils-table th{font-weight:600;opacity:.7;text-transform:uppercase;font-size:.7rem;letter-spacing:.5px;position:-webkit-sticky;position:sticky;top:0;background:#1e1e32f2;z-index:1}.mtc-all-pupils-table tr{cursor:pointer;transition:background .2s ease}.mtc-all-pupils-table tbody tr:hover{background:#ffffff0d}.mtc-pupil-change{font-weight:600}.mtc-pupil-change.positive{color:#27ae60}.mtc-pupil-change.negative{color:#e74c3c}.mtc-pupil-change.neutral{opacity:.6}.mtc-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.mtc-status-badge.rapid-improver{background:#27ae604d;color:#27ae60}.mtc-status-badge.improving{background:#27ae6033;color:#2ecc71}.mtc-status-badge.consistent-high{background:#667eea4d;color:#667eea}.mtc-status-badge.plateau{background:#f39c124d;color:#f39c12}.mtc-status-badge.declining{background:#e74c3c33;color:#e67e73}.mtc-status-badge.regressing{background:#c0392b4d;color:#c0392b}.mtc-status-badge.consistent-low{background:#c0392b33;color:#e74c3c}.mtc-readiness-section{position:relative;background:linear-gradient(135deg,#667eea26,#764ba226);border:1px solid rgba(102,126,234,.3)}.mtc-readiness-predictions{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.mtc-readiness-predictions h3{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.mtc-readiness-predictions .prediction-universal-label{text-align:left;margin-bottom:10px}.prediction-overview-horizontal{display:flex;gap:16px;justify-content:stretch}.prediction-overview-horizontal .prediction-card{flex:1 1 0;min-width:0;max-width:none;padding:18px 14px 16px;border-radius:12px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:all .2s ease,transform .15s ease;position:relative}.prediction-overview-horizontal .prediction-card:hover{border-color:#ffffff26;transform:translateY(-2px)}.prediction-overview-horizontal .prediction-card.active{border-color:currentColor;transform:translateY(-2px)}.prediction-overview-horizontal .prediction-card.below-10{border-color:#e74c3c99;box-shadow:0 0 15px #e74c3c40,inset 0 0 20px #e74c3c0d}.prediction-overview-horizontal .prediction-card.score-10-15{border-color:#e67e2299;box-shadow:0 0 15px #e67e2240,inset 0 0 20px #e67e220d}.prediction-overview-horizontal .prediction-card.score-16-19{border-color:#d4ac0d80;box-shadow:0 0 15px #d4ac0d33,inset 0 0 20px #d4ac0d0d}.prediction-overview-horizontal .prediction-card.score-20-24{border-color:#27ae6080;box-shadow:0 0 15px #27ae6033,inset 0 0 20px #27ae600d}.prediction-overview-horizontal .prediction-card.full-marks{border-color:#0793d180;box-shadow:0 0 15px #0793d133,inset 0 0 20px #0793d10d}.prediction-overview-horizontal .prediction-card.insufficient{border-color:#95a5a64d;box-shadow:0 0 10px #95a5a61a;opacity:.7}.prediction-overview-horizontal .prediction-card-label{margin-bottom:0;order:1}.prediction-overview-horizontal .prediction-card-label .label-band{font-size:1.1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.prediction-overview-horizontal .prediction-card-count{font-size:.85rem;font-weight:500;line-height:1;order:2;letter-spacing:0;opacity:.8}.prediction-overview-horizontal .prediction-card-count .count-label{font-size:.85rem;font-weight:500;opacity:.8;margin-top:0;margin-left:2px;letter-spacing:0;display:inline}.prediction-overview-horizontal .prediction-card-pct{font-size:.75rem;font-weight:500;opacity:.45;margin-top:0;order:3}.prediction-details-inline{margin-top:16px;padding:0 16px;background:#0003;border-radius:8px;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease}.prediction-details-inline.active{max-height:350px;overflow-y:auto;opacity:1;padding:16px}body.light-mode .prediction-details-inline{background:var(--container-bg)}body.light-mode .prediction-details-item{background:#00000008;border:1px solid rgba(0,0,0,.1)}body.light-mode .prediction-details-item:hover{background:#0000000f;border-color:#00000026}@media(max-width:900px){.prediction-overview-horizontal{gap:12px;flex-wrap:wrap}.prediction-overview-horizontal .prediction-card{flex:1 1 calc(33.333% - 12px);min-width:95px;padding:14px 10px 12px}.prediction-overview-horizontal .prediction-card-label .label-band{font-size:1rem}.prediction-overview-horizontal .prediction-card-count{font-size:.8rem}}@media(max-width:580px){.prediction-overview-horizontal{gap:10px}.prediction-overview-horizontal .prediction-card{flex:1 1 calc(50% - 10px);min-width:85px;padding:12px 8px 10px}.prediction-overview-horizontal .prediction-card-label .label-band{font-size:.9rem}.prediction-overview-horizontal .prediction-card-count,.prediction-overview-horizontal .prediction-card-count .count-label{font-size:.75rem}}body.light-mode .prediction-overview-horizontal .prediction-card{background:var(--container-bg);border:2px solid rgba(148,163,184,.15);box-shadow:0 2px 8px #0f172a0d}body.light-mode .prediction-overview-horizontal .prediction-card:hover{border-color:#94a3b840;box-shadow:0 4px 12px #0f172a14}body.light-mode .prediction-overview-horizontal .prediction-card.below-10{background:linear-gradient(135deg,#ef444426,#eff3f8);border-color:#ef444466;box-shadow:0 2px 12px #ef44441f}body.light-mode .prediction-overview-horizontal .prediction-card.score-10-15{background:linear-gradient(135deg,#f9731626,#eff3f8);border-color:#f9731666;box-shadow:0 2px 12px #f973161f}body.light-mode .prediction-overview-horizontal .prediction-card.score-16-19{background:linear-gradient(135deg,#eab30826,#eff3f8);border-color:#eab30866;box-shadow:0 2px 12px #eab3081f}body.light-mode .prediction-overview-horizontal .prediction-card.score-20-24{background:linear-gradient(135deg,#22c55e26,#eff3f8);border-color:#22c55e66;box-shadow:0 2px 12px #22c55e1f}body.light-mode .prediction-overview-horizontal .prediction-card.full-marks{background:linear-gradient(135deg,#0ea5e926,#eff3f8);border-color:#0ea5e966;box-shadow:0 2px 12px #0ea5e91f}body.light-mode .prediction-overview-horizontal .prediction-card.insufficient{background:linear-gradient(135deg,#94a3b81f,#eff3f8);border-color:#94a3b84d;opacity:.8}.school-predictions-progress-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}.school-predictions-progress-row .prediction-section-compact{flex:1;min-width:280px;max-width:320px;display:flex;flex-direction:column}.school-predictions-progress-row .mtc-progress-section{flex:2;min-width:400px;min-height:480px}.prediction-universal-label{text-align:center;font-size:.75rem;opacity:.6;margin-bottom:8px;letter-spacing:.3px}.prediction-overview-vertical{display:grid!important;grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:1fr;gap:8px;flex:1}.prediction-overview-vertical .prediction-card{max-width:none;min-width:0;flex:none;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 6px}.prediction-section-compact{position:relative;overflow:hidden}.prediction-section-compact .prediction-details{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:15px;z-index:10;opacity:0;transform:scale(.95);pointer-events:none;transition:opacity .25s ease,transform .25s ease;overflow-y:auto;background:#1a1a2e;background:linear-gradient(135deg,#1a1a2e,#16213e,#1a1a2e)}.prediction-section-compact .prediction-details.active{opacity:1;transform:scale(1);pointer-events:auto;display:block!important}.prediction-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15)}.prediction-details-title{font-weight:600;font-size:.9rem}.prediction-details-back{background:linear-gradient(135deg,#667eea4d,#764ba24d);border:1px solid rgba(102,126,234,.4);color:inherit;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:4px}.prediction-details-back:hover{background:linear-gradient(135deg,#667eea80,#764ba280);transform:translate(-2px)}.prediction-details-notice{padding:10px;background:#80808026;border-radius:8px;margin-bottom:10px;font-size:.8rem}.prediction-details-header-row{display:flex;justify-content:space-between;padding:0 10px 8px;font-size:.7rem;opacity:.6;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.prediction-details-header-row .scores-direction{text-transform:none;opacity:.8}.prediction-details-list{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.prediction-details-item{display:flex;flex-direction:column;padding:10px 12px;background:#ffffff14;border-radius:8px;font-size:.8rem;gap:8px;border:1px solid rgba(255,255,255,.05)}.prediction-details-item:hover{background:#ffffff1f;border-color:#ffffff1a}.prediction-details-item .student-info{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}.prediction-details-item .student-name{font-weight:600;font-size:.85rem}.prediction-details-item .student-class{font-size:.7rem;opacity:.6;text-align:right;flex-shrink:0}.prediction-details-item .student-scores{display:flex;align-items:center;justify-content:space-between;gap:8px}.prediction-details-item .scores-list{display:flex;gap:4px;flex-wrap:wrap}.prediction-details-item .scores-list .score-badge{font-size:.7rem;padding:3px 6px;border-radius:4px;font-weight:600;min-width:22px;text-align:center}.prediction-details-item .student-avg{opacity:.7;font-size:.75rem;white-space:nowrap;font-weight:600}@media(max-width:600px){.prediction-details-list{grid-template-columns:1fr}}@media(max-width:900px){.school-predictions-progress-row{flex-direction:column}.school-predictions-progress-row .prediction-section-compact{max-width:none}.school-predictions-progress-row .mtc-progress-section{min-width:0}.prediction-overview-vertical{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:500px){.prediction-overview-vertical{grid-template-columns:repeat(2,1fr)!important}}.prediction-overview{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}.prediction-card{flex:1;min-width:100px;max-width:150px;background:#ffffff0d;border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s ease;border:2px solid transparent;opacity:.6}.prediction-card.has-data{opacity:1}.prediction-card:hover{transform:translateY(-2px);background:#ffffff1a}.prediction-card.active{border-color:currentColor;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.prediction-card-emoji{font-size:1.8rem;margin-bottom:4px}.prediction-card-label{margin-bottom:2px;min-height:1.2em}.prediction-card-label .label-band{font-weight:600;text-transform:uppercase;font-size:.7rem;line-height:1.2}.prediction-card.full-marks .label-band{color:#0793d1}.prediction-card.score-20-24 .label-band{color:#2ecc71}.prediction-card.score-16-19 .label-band{color:#d4ac0d}.prediction-card.score-10-15 .label-band{color:#e67e22}.prediction-card.below-10 .label-band{color:#e74c3c}.prediction-card.insufficient .label-band{color:#95a5a6}.prediction-card-count{font-size:1.4rem;font-weight:700;line-height:1.1}.prediction-card-count .count-label{font-size:.9rem;font-weight:600;opacity:.7;text-transform:lowercase;display:inline;margin-left:2px}.prediction-card-pct{font-size:.65rem;opacity:.6;margin-top:2px}.prediction-card.full-marks{color:#0793d1}.prediction-card.full-marks.active,.prediction-card.full-marks:hover{background:#0793d126}.prediction-card.score-20-24{color:#27ae60}.prediction-card.score-20-24.active,.prediction-card.score-20-24:hover{background:#27ae6026}.prediction-card.score-16-19{color:#d4ac0d}.prediction-card.score-16-19.active,.prediction-card.score-16-19:hover{background:#d4ac0d26}.prediction-card.score-10-15{color:#e67e22}.prediction-card.score-10-15.active,.prediction-card.score-10-15:hover{background:#e67e2226}.prediction-card.below-10{color:#e74c3c}.prediction-card.below-10.active,.prediction-card.below-10:hover{background:#e74c3c26}.prediction-card.insufficient{color:#95a5a6}.prediction-card.insufficient.active,.prediction-card.insufficient:hover{background:#95a5a626}.prediction-details{margin-top:16px;background:#0003;border-radius:10px;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.prediction-detail-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.prediction-detail-title{font-weight:600;font-size:.95rem}.prediction-detail-close{font-size:1.5rem;cursor:pointer;opacity:.6;transition:opacity .2s;line-height:1}.prediction-detail-close:hover{opacity:1}.prediction-detail-table{max-height:350px;overflow-y:auto;overscroll-behavior:contain}.prediction-detail-row{display:grid;grid-template-columns:2fr 1fr 3fr;gap:12px;padding:10px 16px;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s}.prediction-detail-row.header{background:#00000026;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.prediction-detail-row.header .scores-direction{text-transform:none;font-weight:400;opacity:.7;font-size:.9em}.prediction-detail-row:not(.header):hover{background:#ffffff0d}.prediction-detail-row .col-name{font-weight:500}.prediction-detail-row .col-class{opacity:.7;font-size:.85em}.prediction-detail-row .col-scores{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.score-badge{font-weight:600;font-size:.9em}.score-separator{opacity:.4;margin-right:4px}.score-badge.band-full-marks{color:#0793d1}.score-badge.band-20-24{color:#27ae60}.score-badge.band-16-19{color:#d4ac0d}.score-badge.band-10-15{color:#e67e22}.score-badge.band-below-10{color:#e74c3c}.prediction-detail-row .col-trend{font-size:1.2em;text-align:center}.prediction-detail-row .col-trend.up{color:#27ae60}.prediction-detail-row .col-trend.down{color:#e74c3c}.prediction-detail-row .col-trend.stable{color:#f1c40f}.prediction-detail-row .col-tests{text-align:center;opacity:.7}@media(max-width:768px){.prediction-overview{gap:8px}.prediction-card{min-width:60px;max-width:none;flex:1 1 18%;padding:10px 4px}.prediction-card-emoji{font-size:1.4rem}.prediction-card-label{font-size:.55rem}.prediction-card-count{font-size:1.3rem}.prediction-card-pct{font-size:.65rem}.prediction-detail-row{grid-template-columns:1.5fr 1fr 1fr 1fr .6fr .6fr;padding:8px 12px;font-size:.85rem}.prediction-detail-row .col-class{font-size:.75em}}@media(max-width:480px){.prediction-card{flex:1 1 30%;min-width:55px}.prediction-detail-row{grid-template-columns:1fr .8fr .8fr .8fr;gap:4px;padding:8px}.prediction-detail-row .col-consistency,.prediction-detail-row .col-tests{display:none}}@media(max-width:600px){.mtc-progress-tabs{padding:3px;gap:2px}.mtc-progress-tab{padding:8px 12px;font-size:.8rem}.mtc-progress-metrics{gap:15px}.mtc-metric{min-width:80px}.mtc-metric-label{font-size:.65rem}.mtc-metric-values{font-size:.85rem}.mtc-progress-summary{font-size:.8rem;padding:12px}.mtc-trend-sparkline-section{flex-direction:column;text-align:center}.mtc-trend-sparkline{max-width:100%;min-width:unset}.mtc-band-label{width:70px;font-size:.65rem}.mtc-bands-legend{gap:10px}.mtc-bands-legend-item{font-size:.65rem}.mtc-bands-legend-5{flex-wrap:wrap;justify-content:center;gap:8px}.mtc-all-pupils-table th,.mtc-all-pupils-table td{padding:6px 8px;font-size:.75rem}.mtc-all-pupils-controls{flex-direction:column;align-items:stretch}.mtc-view-btn{padding:6px 12px;font-size:.8rem}}.login-cards-modal{max-width:850px!important;width:95%;padding:var(--space-xl)!important;max-height:92vh;display:flex;flex-direction:column}.login-cards-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);padding-right:3rem}.login-cards-header h2{margin:0!important;font-size:1.4rem;font-weight:700}.change-login-btn{background:transparent;color:var(--text-color-secondary);border:1.5px solid var(--border-color);border-radius:2rem;padding:.4rem 1rem;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;margin-left:auto}.change-login-btn:hover{border-color:var(--text-color-secondary);background:var(--seat-bg);transform:translateY(-1px)}.toolbar-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-color-secondary);white-space:nowrap}.selection-pill{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#4ecb7126;border:1px solid rgba(78,203,113,.3);border-radius:20px;font-size:.85rem;white-space:nowrap;transition:all var(--transition-fast)}.selection-pill .pill-count{font-weight:700;color:var(--color-positive-feedback);min-width:1.5em;text-align:center}.selection-pill .pill-label{color:var(--text-color-secondary)}.selection-pill.none-selected{background:#ff6b6b1a;border-color:#ff6b6b40}.selection-pill.none-selected .pill-count{color:var(--color-accent-error)}.login-cards-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-md)}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;color:var(--text-color-secondary);background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all var(--transition-fast)}.toolbar-btn:hover{background:#ffffff1a;color:var(--text-color-primary);border-color:#fff3}.toolbar-btn svg{opacity:.7}.toolbar-btn:hover svg{opacity:1}.student-list-container{flex:1;min-height:150px;max-height:400px;overflow-y:auto;background:#00000026;border:1px solid var(--border-color);border-radius:12px;margin-bottom:var(--space-lg);padding:var(--space-md)}.student-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.student-card-tile{position:relative;display:flex;flex-direction:column;padding:12px;background:#ffffff08;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.student-card-tile:hover{background:#ffffff0f;border-color:#ffffff1a}.student-card-tile.selected{background:#4ecb711a;border-color:#4ecb7166}.student-card-tile.selected:hover{background:#4ecb7126;border-color:#4ecb7180}.student-card-tile input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.student-card-tile .tile-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;background:#0003;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.student-card-tile .tile-check svg{width:12px;height:12px;opacity:0;color:#fff;transition:opacity var(--transition-fast)}.student-card-tile.selected .tile-check{background:var(--color-positive-feedback);border-color:var(--color-positive-feedback)}.student-card-tile.selected .tile-check svg{opacity:1}.student-card-tile .tile-name{font-size:.9rem;font-weight:600;color:var(--text-color-primary);margin-bottom:6px;padding-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.student-card-tile .tile-pin{font-size:.8rem;font-weight:600;color:var(--text-color-secondary);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;letter-spacing:1px}.student-card-tile .tile-pin:before{content:"PIN ";font-family:inherit;font-weight:500;opacity:.6;letter-spacing:0}.student-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--text-color-secondary);text-align:center;min-height:200px}.student-list-empty svg{opacity:.3;margin-bottom:var(--space-md)}.student-list-empty span{font-size:.95rem}.login-cards-actions{display:flex;gap:10px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all var(--transition-fast);flex:1;min-width:0}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn svg{flex-shrink:0}.action-primary{background:linear-gradient(135deg,#0984e3,#0770c7);color:#fff;box-shadow:0 2px 8px #0984e34d}.action-primary:hover:not(:disabled){background:linear-gradient(135deg,#0770c7,#065ba8);box-shadow:0 4px 12px #0984e366;transform:translateY(-1px)}.action-warning{background:linear-gradient(135deg,#e17055,#d35400);color:#fff;box-shadow:0 2px 8px #e170554d}.action-warning:hover:not(:disabled){background:linear-gradient(135deg,#d35400,#c44500);box-shadow:0 4px 12px #e1705566;transform:translateY(-1px)}.action-ghost{background:#ffffff14;color:var(--text-color-secondary);border:1px solid var(--border-color);flex:0 0 auto;min-width:80px}.action-ghost:hover{background:#ffffff1f;color:var(--text-color-primary)}@media(max-width:600px){.login-cards-modal{max-width:95%!important;padding:var(--space-lg)!important}.student-card-grid{grid-template-columns:repeat(2,1fr)}.student-list-container{max-height:350px}}@media(max-width:420px){.login-cards-modal{padding:var(--space-md)!important;max-height:90vh}.login-cards-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.login-cards-header h2{font-size:1.2rem}.student-card-grid{grid-template-columns:1fr;gap:6px}.student-list-container{max-height:300px;padding:var(--space-sm)}.student-card-tile{flex-direction:row;align-items:center;gap:12px;padding:10px 12px}.student-card-tile .tile-name{flex:1;margin-bottom:0;padding-right:0}.student-card-tile .tile-pin{order:2}.student-card-tile .tile-check{position:relative;top:auto;right:auto;order:-1}.action-btn{padding:10px 14px;font-size:.85rem}.action-btn svg{width:16px;height:16px}.login-cards-actions{flex-wrap:wrap}.action-ghost{flex:1;min-width:100%;order:3}}body.light-mode .login-cards-modal{background:#fffffffa}body.light-mode .student-list-container{background:#00000005;border-color:#00000014}body.light-mode .student-card-tile{background:#00000005}body.light-mode .student-card-tile:hover{background:#0000000a;border-color:#0000001a}body.light-mode .student-card-tile.selected{background:#4ecb7114;border-color:#4ecb7159}body.light-mode .student-card-tile .tile-check{background:#fff;border-color:#d0d0d0}body.light-mode .toolbar-btn{background:#00000008;border-color:#0000001a}body.light-mode .toolbar-btn:hover{background:#0000000f}body.light-mode .action-ghost{background:#0000000a;border-color:#0000001a}.teachers-overview-section,.classes-overview-section{margin-bottom:20px}.teachers-overview-header,.classes-overview-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;height:38px}.teachers-overview-header h3,.classes-overview-header h3{margin:0;display:flex;align-items:center;gap:8px}.section-icon{font-size:1.2em}.teachers-content-row{display:flex;gap:20px;align-items:stretch}.teachers-list-section{flex:1;min-width:0}.invite-teacher-section{width:380px;min-width:380px;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch}.invite-teacher-section.stats-section{display:flex;flex-direction:column;align-items:stretch}.teachers-list-header,.classes-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.teachers-list-header h3,.classes-list-header h3{margin:0;font-size:1rem;font-weight:600}.teachers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:450px;overflow-y:auto;padding:4px}.teacher-card{display:flex;align-items:center;gap:12px;padding:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s ease;position:relative}.teacher-card:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.teacher-card.pending{border-color:#ffc94759;background:linear-gradient(135deg,#ffc94714,#ffc94708)}.teacher-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#a78bfa40,#a78bfa26);border:1px solid rgba(167,139,250,.3);flex-shrink:0}.teacher-avatar svg{width:22px;height:22px;stroke:var(--color-accent-special)}.teacher-card.pending .teacher-avatar{background:linear-gradient(135deg,#ffc94740,#ffc94726);border-color:#ffc9474d}.teacher-card.pending .teacher-avatar svg{stroke:var(--color-accent-warning)}.teacher-info{flex:1;min-width:0;padding-right:30px}.teacher-name-row{position:relative;display:flex;align-items:center;margin-bottom:2px;padding-right:24px}.teacher-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.btn-edit-name{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;opacity:0;transition:opacity .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-edit-name svg{width:14px;height:14px;stroke:var(--color-accent-special)}.btn-edit-name:hover{background:#8b5cf633}.teacher-card:hover .btn-edit-name,.class-card:hover .btn-edit-name{opacity:1}.teacher-email{font-size:.8rem;color:var(--text-color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;text-align:left}.teacher-badges{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-start}.teacher-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.7rem;font-weight:600}.teacher-badge.class-badge{background:#00d9ff26;border:1px solid rgba(0,217,255,.25);color:var(--color-accent-info)}.teacher-badge.year-badge{background:#a78bfa26;border:1px solid rgba(167,139,250,.25);color:var(--color-accent-special)}.teacher-badge.year-badge[data-year-group="1"]{background:#f0629233;border-color:#f0629259;color:#f06292}.teacher-badge.year-badge[data-year-group="2"]{background:#4db6ac33;border-color:#4db6ac59;color:#4db6ac}.teacher-badge.year-badge[data-year-group="3"]{background:#ffb74d33;border-color:#ffb74d59;color:#ffb74d}.teacher-badge.year-badge[data-year-group="4"]{background:#7986cb33;border-color:#7986cb59;color:#7986cb}.teacher-badge.year-badge[data-year-group="5"]{background:#aed58133;border-color:#aed58159;color:#aed581}.teacher-badge.year-badge[data-year-group="6"]{background:#ce93d833;border-color:#ce93d859;color:#ce93d8}.teacher-badge.pending-badge{background:#ffc94733;border:1px solid rgba(255,201,71,.35);color:#ffc947}.teacher-badge.no-class{background:#95a5a626;border:1px solid rgba(149,165,166,.25);color:#95a5a6}.teacher-actions{flex-shrink:0}.btn-cancel-invite{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;font-size:.8rem;font-weight:600;color:var(--color-accent-error);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.25);border-radius:8px;cursor:pointer;transition:all .2s}.btn-cancel-invite:hover{background:#ff6b6b33;border-color:#ff6b6b66}.btn-delete-card{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);border-radius:6px;cursor:pointer;transition:all .2s;opacity:0;z-index:10}.teacher-card:hover .btn-delete-card,.class-card:hover .btn-delete-card{opacity:1}.btn-delete-card svg{width:14px;height:14px;stroke:var(--color-accent-error)}.btn-delete-card:hover{background:#ff6b6b40;border-color:#ff6b6b66;transform:scale(1.05)}.teachers-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.teachers-empty-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.teachers-empty-state h4{margin:0 0 8px;font-size:1rem;font-weight:600}.teachers-empty-state p{margin:0;font-size:.85rem;color:var(--text-color-secondary);max-width:300px}.invite-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px;width:100%;box-sizing:border-box}.invite-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#28a74533,#28a7451a);border:1px solid rgba(40,167,69,.25);margin:0 auto 16px}.invite-card-icon svg{width:28px;height:28px;stroke:var(--color-accent-success)}.invite-card h4{margin:0 0 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-color-secondary);width:100%;text-align:center}.invite-card-description{margin:0 0 20px;font-size:.95rem;color:var(--text-color-primary);line-height:1.5;width:100%;text-align:center}.invite-form{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.invite-input-wrapper{position:relative;width:100%;max-width:350px}.invite-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--text-color-secondary);pointer-events:none;opacity:.7;display:flex;align-items:center;justify-content:center}.invite-email-input{width:100%;padding:14px 14px 14px 44px;font-size:.95rem;font-family:inherit;color:var(--text-color-primary);background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:10px;outline:none;transition:all .2s;box-sizing:border-box}.invite-email-input:focus{border-color:#28a74580;background:#ffffff14;box-shadow:0 0 0 3px #28a74526}.invite-email-input::placeholder{color:var(--text-color-secondary);opacity:.7}.btn-invite{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:.95rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--color-accent-success) 0%,#1e8449 100%);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.btn-invite:hover{transform:translateY(-1px);box-shadow:0 4px 12px #28a74559}.btn-invite:active{transform:translateY(0)}.btn-invite:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-invite svg{width:18px;height:18px}.invite-card-note{margin:20px 0 0;font-size:.8rem;color:var(--text-color-secondary);opacity:.7;text-align:center;width:100%;line-height:1.4}.classes-filter-group{display:inline-flex;gap:4px;padding:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px}.classes-filter-btn{padding:6px 14px;font-size:.8rem;font-weight:600;font-family:inherit;color:var(--text-color-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.classes-filter-btn:hover{color:var(--text-color-primary);background:#ffffff0f}.classes-filter-btn.active{color:var(--text-color-primary);background:#ffffff1a;box-shadow:0 2px 4px #0000001a}.classes-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-height:none;overflow-y:visible;padding:4px}.classes-grid.needs-scroll{max-height:calc(var(--class-card-row-height, 195px) * 2 + 8px);overflow-y:auto}.class-card{display:flex;flex-direction:column;padding:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:all .2s ease;cursor:pointer;position:relative}.class-card:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px)}.class-card.unassigned{border-color:#ffc94740;background:linear-gradient(135deg,rgba(255,201,71,.05) 0%,transparent 100%)}.class-card[data-year-group]{border-top:4px solid}.class-card[data-year-group="1"]{border-color:#f0629280;border-top-color:#f06292;background:#f0629226}.class-card[data-year-group="2"]{border-color:#4db6ac80;border-top-color:#4db6ac;background:#4db6ac26}.class-card[data-year-group="3"]{border-color:#ffb74d80;border-top-color:#ffb74d;background:#ffb74d26}.class-card[data-year-group="4"]{border-color:#7986cb80;border-top-color:#7986cb;background:#7986cb26}.class-card[data-year-group="5"]{border-color:#aed58180;border-top-color:#aed581;background:#aed58126}.class-card[data-year-group="6"]{border-color:#ce93d880;border-top-color:#ce93d8;background:#ce93d826}.class-card[data-year-group="1"]:hover{background:#f0629238}.class-card[data-year-group="2"]:hover{background:#4db6ac38}.class-card[data-year-group="3"]:hover{background:#ffb74d38}.class-card[data-year-group="4"]:hover{background:#7986cb38}.class-card[data-year-group="5"]:hover{background:#aed58138}.class-card[data-year-group="6"]:hover{background:#ce93d838}.class-card-header{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:6px;width:100%;padding-top:16px}.class-card-info{display:flex;align-items:flex-start;justify-content:center;gap:10px;width:100%;min-width:0;min-height:22px;padding-right:30px}.class-card-name-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.class-card-name{font-weight:700;font-size:.9rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-card-name-row .btn-edit-name{position:static;transform:none}.class-card-teachers-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;width:100%;text-align:left}.class-card-teacher-item{display:flex;align-items:center;gap:5px;min-width:0}.class-card-teacher-item svg{width:14px;height:14px;opacity:.6;flex-shrink:0}.class-card-teacher-item span{font-size:.78rem;font-weight:600;color:var(--text-color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.class-card-teacher{display:flex;align-items:flex-start;gap:8px;min-width:0;text-align:left}.class-card-teacher>svg{width:16px;height:16px;opacity:.7;flex-shrink:0;margin-top:2px}.class-card-teacher-item.no-teacher span{color:var(--color-accent-warning)}.class-card-teacher-item.no-teacher svg{opacity:.4}.class-year-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:700;flex-shrink:0;z-index:0}.class-year-badge.assigned{background:linear-gradient(135deg,#a78bfa33,#a78bfa1a);border:1px solid rgba(167,139,250,.35);color:var(--color-accent-special)}.class-year-badge.unassigned{background:#95a5a626;border:1px solid rgba(149,165,166,.25);color:#95a5a6;font-size:.65rem;font-weight:500}.class-card-stats{display:flex;justify-content:center;align-items:center;margin-bottom:6px;padding:6px 8px;background:#00000026;border-radius:6px;width:100%;box-sizing:border-box;position:relative}.class-card-stats .class-card-name{margin:0}.class-card-stats .class-card-name-row{position:static}.class-card-stats .class-card-name-row .btn-edit-name{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.class-stat{display:flex;flex-direction:column;gap:2px}.class-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-color-primary)}.class-stat-label{font-size:.7rem;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.05em}.class-card-footer{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.year-group-selector-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.year-group-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-color-secondary);opacity:.8;text-align:center}.year-group-selector{display:flex;gap:4px;justify-content:center}.year-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.7rem;font-weight:600;font-family:inherit;color:var(--text-color-secondary);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .15s}.year-btn:hover{color:var(--text-color-primary);background:#ffffff1a;border-color:#fff3}.year-btn.active{color:#fff}.year-btn.active[data-year="1"]{background:#f06292;border-color:#f06292}.year-btn.active[data-year="2"]{background:#4db6ac;border-color:#4db6ac}.year-btn.active[data-year="3"]{background:#ffb74d;border-color:#ffb74d;color:#4a3000}.year-btn.active[data-year="4"]{background:#7986cb;border-color:#7986cb}.year-btn.active[data-year="5"]{background:#aed581;border-color:#aed581;color:#2a4a00}.year-btn.active[data-year="6"]{background:#ce93d8;border-color:#ce93d8}.btn-assign-teacher{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--color-accent-warning);background:#ffc9471a;border:1px solid rgba(255,201,71,.3);border-radius:6px;cursor:pointer;transition:all .2s;width:100%}.btn-assign-teacher:hover{background:#ffc94733;border-color:#ffc94780}.btn-assign-teacher.has-teacher{color:var(--color-accent-info);background:#00d9ff1a;border-color:#00d9ff40}.btn-assign-teacher.has-teacher:hover{background:#00d9ff33;border-color:#00d9ff66}.btn-assign-teacher svg{width:14px;height:14px}.btn-edit-class-login{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--color-accent-info);background:#00d9ff1a;border:1px solid rgba(0,217,255,.25);border-radius:6px;cursor:pointer;transition:all .2s;width:100%}.btn-edit-class-login:hover{background:#00d9ff33;border-color:#00d9ff66}.btn-edit-class-login svg{width:14px;height:14px}.btn-view-class{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--color-accent-info);background:#00d9ff1a;border:1px solid rgba(0,217,255,.25);border-radius:6px;cursor:pointer;transition:all .2s;width:100%;margin-top:8px}.btn-view-class:hover{background:#00d9ff33;border-color:#00d9ff66}.btn-view-class svg{width:14px;height:14px}.btn-reset-password{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;font-family:inherit;color:var(--color-accent-info);background:#00d9ff1a;border:1px solid rgba(0,217,255,.25);border-radius:6px;cursor:pointer;transition:all .2s;margin-top:8px}.btn-reset-password:hover{background:#00d9ff33;border-color:#00d9ff66}.btn-reset-password:disabled{opacity:.5;cursor:not-allowed}.btn-reset-password svg{width:14px;height:14px;flex-shrink:0}.admin-view-banner{display:none!important;align-items:center;background:linear-gradient(135deg,#1e1b4b,#312e81,#4c1d95);color:#fff;font-family:Nunito Sans,sans-serif;border-radius:12px;overflow:hidden;position:relative}.admin-view-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.15) 25%,rgba(139,92,246,.25) 50%,rgba(139,92,246,.15) 75%,transparent 100%);animation:adminBannerShimmer 3s ease-in-out infinite}@keyframes adminBannerShimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.admin-view-banner.active{display:flex!important}.admin-view-banner-inner{display:flex;align-items:center;gap:10px;padding:6px 14px;position:relative;z-index:1}.admin-view-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#8b5cf64d;border-radius:50%;flex-shrink:0}.admin-view-indicator svg{width:12px;height:12px;color:#c4b5fd;position:relative;z-index:1}.admin-view-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#8b5cf666;animation:adminPulse 2s ease-in-out infinite}@keyframes adminPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:0}}.admin-view-content{display:flex;align-items:center;gap:8px}.admin-view-label{font-size:.7rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.admin-view-class-name{padding:3px 10px;background:linear-gradient(135deg,#8b5cf666,#a78bfa4d);border:1px solid rgba(167,139,250,.4);border-radius:20px;font-weight:700;font-size:.8rem;color:#fff;box-shadow:0 2px 8px #8b5cf633}.btn-exit-admin-view{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,#ef4444e6,#dc2626e6);border:1px solid rgba(248,113,113,.3);border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ef444440}.btn-exit-admin-view svg{width:12px;height:12px;flex-shrink:0}.btn-exit-admin-view:hover{background:linear-gradient(135deg,#f87171,#ef4444);transform:translateY(-1px);box-shadow:0 4px 12px #ef444459}.btn-exit-admin-view:active{transform:translateY(0)}@media(max-width:600px){.mtc-header{flex-wrap:wrap}.admin-view-banner.active{order:10;width:100%;border-radius:8px}}.classes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;text-align:center}.classes-empty-icon{font-size:3.5rem;margin-bottom:16px;opacity:.4}.classes-empty-state h4{margin:0 0 8px;font-size:1.1rem;font-weight:600}.classes-empty-state p{margin:0;font-size:.9rem;color:var(--text-color-secondary);max-width:350px}.classes-content-row{display:flex;gap:20px;align-items:stretch}.classes-content-row .classes-list-section{flex:1;min-width:0}.create-class-section{width:380px;min-width:380px;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch}.create-class-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px;width:100%;box-sizing:border-box}.create-class-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#00d9ff33,#00d9ff1a);border:1px solid rgba(0,217,255,.25);margin:0 auto 16px}.create-class-card-icon svg{width:28px;height:28px;stroke:var(--color-accent-info)}.create-class-card h4{margin:0 0 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-color-secondary);width:100%;text-align:center}.create-class-description{margin:0 0 20px;font-size:.95rem;color:var(--text-color-primary);line-height:1.5;width:100%;text-align:center}.create-class-form{width:100%;display:flex;flex-direction:column;gap:14px}.create-class-input-group{display:flex;flex-direction:column;gap:4px;text-align:center;align-items:center}.create-class-input-group label{font-size:.8rem;font-weight:600;color:var(--text-color-secondary);text-align:center}.create-class-input{width:100%;padding:10px 12px;font-size:.9rem;font-family:inherit;color:var(--text-color-primary);background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;transition:all .2s;box-sizing:border-box;text-align:center}.create-class-input:focus{border-color:#00d9ff80;background:#ffffff14;box-shadow:0 0 0 3px #00d9ff26}.create-class-input::placeholder{color:var(--text-color-secondary);opacity:.6}.input-hint{font-size:.7rem;color:var(--text-color-secondary);opacity:.7}.create-class-select{width:100%;padding:10px 12px;font-size:.9rem;font-family:inherit;color:var(--text-color-primary);background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;outline:none;cursor:pointer;transition:all .2s;box-sizing:border-box}.create-class-select:focus{border-color:#00d9ff80;background:#ffffff14}.create-class-select option{background:var(--bg-color);color:var(--text-color-primary)}.btn-create-class{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--color-accent-info) 0%,#0077b3 100%);border:none;border-radius:10px;cursor:pointer;transition:all .2s;margin-top:4px}.btn-create-class:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d9ff59}.btn-create-class:active{transform:translateY(0)}.btn-create-class:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-create-class svg{width:18px;height:18px}.create-class-note{margin:16px 0 0;font-size:.75rem;color:var(--text-color-secondary);opacity:.7}.class-teacher-select{padding:6px 10px;font-size:.8rem;font-family:inherit;color:var(--text-color-primary);background:#ffffff14;border:1px solid rgba(255,201,71,.4);border-radius:6px;cursor:pointer;max-width:140px}.class-teacher-select:focus{border-color:#ffc94799;outline:none}.class-card.no-teacher{border-color:#ffc9474d;background:linear-gradient(135deg,rgba(255,201,71,.06) 0%,transparent 100%)}.class-card.no-teacher .class-card-teacher{color:var(--color-accent-warning)}body.light-mode .teacher-card{background:#00000005;border-color:#00000014}body.light-mode .teacher-card:hover{background:#0000000a;border-color:#0000001f}body.light-mode .teacher-card.pending{background:linear-gradient(135deg,#ffc9471f,#ffc9470d);border-color:#ffc94766}body.light-mode .teacher-avatar{background:linear-gradient(135deg,#a78bfa33,#a78bfa1a);border-color:#a78bfa59}body.light-mode .invite-email-input{background:#00000008;border-color:#0000001f;color:var(--text-color-primary)}body.light-mode .invite-email-input:focus{background:#fff;border-color:#28a74580}body.light-mode .classes-filter-group{background:#00000008;border-color:#00000014}body.light-mode .classes-filter-btn:hover{background:#0000000d}body.light-mode .classes-filter-btn.active{background:#fff;box-shadow:0 2px 4px #00000014}body.light-mode .class-card{background:#00000005;border-color:#00000014}body.light-mode .class-card:hover{background:#0000000a;border-color:#0000001f}body.light-mode .class-card-stats{background:#00000008}body.light-mode .year-btn{background:#00000008;border-color:#0000001a}body.light-mode .year-btn:hover{background:#0000000f}body.light-mode .create-class-input,body.light-mode .create-class-select{background:#00000008;border-color:#0000001f}body.light-mode .create-class-input:focus,body.light-mode .create-class-select:focus{background:#fff;border-color:#0793d180}body.light-mode .class-teacher-select{background:#00000008;border-color:#ffc94780}body.light-mode .class-card.no-teacher{background:linear-gradient(135deg,rgba(255,201,71,.1) 0%,transparent 100%);border-color:#ffc94766}body.light-mode .class-card[data-year-group="1"]{border-color:#f0629259;border-top-color:#f06292;background:#f062921a}body.light-mode .class-card[data-year-group="2"]{border-color:#4db6ac59;border-top-color:#4db6ac;background:#4db6ac1a}body.light-mode .class-card[data-year-group="3"]{border-color:#ffb74d59;border-top-color:#ffb74d;background:#ffb74d1a}body.light-mode .class-card[data-year-group="4"]{border-color:#7986cb59;border-top-color:#7986cb;background:#7986cb1a}body.light-mode .class-card[data-year-group="5"]{border-color:#aed58159;border-top-color:#aed581;background:#aed5811a}body.light-mode .class-card[data-year-group="6"]{border-color:#ce93d859;border-top-color:#ce93d8;background:#ce93d81a}body.light-mode .class-card[data-year-group="1"]:hover{background:#f062922e}body.light-mode .class-card[data-year-group="2"]:hover{background:#4db6ac2e}body.light-mode .class-card[data-year-group="3"]:hover{background:#ffb74d2e}body.light-mode .class-card[data-year-group="4"]:hover{background:#7986cb2e}body.light-mode .class-card[data-year-group="5"]:hover{background:#aed5812e}body.light-mode .class-card[data-year-group="6"]:hover{background:#ce93d82e}body.light-mode .btn-assign-teacher{color:#92620a;background:#b482141a;border-color:#b482144d}body.light-mode .btn-assign-teacher:hover{background:#b482142e;border-color:#b4821473}body.light-mode .btn-assign-teacher.has-teacher,body.light-mode .btn-edit-class-login,body.light-mode .btn-view-class,body.light-mode .btn-reset-password{color:#1e6b87;background:#1e6b8712;border-color:#1e6b8738}body.light-mode .btn-assign-teacher.has-teacher:hover,body.light-mode .btn-edit-class-login:hover,body.light-mode .btn-view-class:hover,body.light-mode .btn-reset-password:hover{background:#1e6b8724;border-color:#1e6b8766}body.light-mode .pupil-recent-results{background:var(--container-bg);border:1px solid rgba(148,163,184,.2)}body.light-mode .recent-result-score-badge.score-good{background:#b4821426;color:#92620a}body.light-mode .recent-result-score-badge.score-excellent{color:#16a34a}body.light-mode .pupil-leaderboard-item.current-user{border-color:#0793d1;background:#0793d114;box-shadow:0 0 12px #0793d126}body.light-mode .pupil-leaderboard-rank{background:#0000000f}body.light-mode .teacher-badge.class-badge{background:#0793d11a;border-color:#0793d140;color:#0e7490}body.light-mode .teacher-badge.pending-badge{background:#b482141f;border-color:#b482144d;color:#92620a}body.light-mode .struggling-pupil-card{background:#00000005;border-color:#94a3b833}body.light-mode .struggling-pupil-card:hover{background:#0000000a}body.light-mode .struggling-score.critical{background:#dc26261f;color:#dc2626}body.light-mode .struggling-score.warning{background:#d977061f;color:#b45309}body.light-mode .struggling-score.caution{background:#b482141f;color:#92620a}body.light-mode .disengaged-pupil-card{background:#00000005;border-color:#94a3b833}body.light-mode .disengaged-pupil-card:hover{background:#0000000a}body.light-mode .disengaged-days{background:#64748b26;color:#475569}body.light-mode .disengaged-days.long-gap{background:#dc26261f;color:#dc2626}body.light-mode .quick-win-pupil-card{background:#00000005;border-color:#0793d133}body.light-mode .quick-win-pupil-card:hover{background:#0000000a}body.light-mode .quick-win-score{background:#0793d11f;color:#0e7490}body.light-mode .year-btn.active{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#7c3aed}body.light-mode .rank-color-1{color:#b8860b}body.light-mode .rank-color-2{color:#2563eb}body.light-mode .rank-color-3{color:#16a34a}body.light-mode .leaderboard-view li.rank-1{border-color:#b8860b;background:linear-gradient(90deg,rgba(184,134,11,.08) 0%,transparent 100%)}body.light-mode .leaderboard-view li.rank-1:before{background:#b8860b}body.light-mode .leaderboard-view li.rank-2{border-color:#2563eb;background:linear-gradient(90deg,rgba(37,99,235,.06) 0%,transparent 100%)}body.light-mode .leaderboard-view li.rank-2:before{background:#2563eb}body.light-mode .leaderboard-rank{color:#1e293b;text-shadow:none}@media(max-width:900px){.teachers-content-row,.classes-content-row{flex-direction:column}.invite-teacher-section,.create-class-section{width:100%;min-width:unset}.teachers-grid{grid-template-columns:1fr}}@media(max-width:600px){.teachers-list-header,.classes-list-header{flex-direction:column;align-items:flex-start;gap:12px}.classes-grid{grid-template-columns:repeat(2,1fr)}.class-card-footer{flex-direction:column;align-items:stretch;gap:6px}.year-group-selector,.btn-view-class{justify-content:center}}#choiceOptions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:center}.choice-option-btn{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-md) var(--space-xl);width:90%;max-width:15.625rem}.choice-option-btn .choice-label{font-weight:700;font-size:var(--font-size-base)}.choice-option-btn .choice-description{font-size:.8em;opacity:.85;margin-top:.25em}.assign-teacher-item{display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease}.assign-teacher-item:hover{background:#6366f126;border-color:#6366f166;transform:translateY(-1px)}.assign-teacher-item:active{transform:translateY(0)}.assign-teacher-item.current-teacher{background:#6366f11a;border-color:#6366f14d}.assign-teacher-item.current-teacher:after{content:"Current";font-size:.75rem;padding:3px 8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;margin-left:auto}.assign-teacher-item.assigned-teacher{background:#10b98114;border-color:#10b98140;cursor:default}.assign-teacher-item.assigned-teacher:hover{background:#10b9811f;border-color:#10b98159;transform:none}.assigned-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 7px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:10px;margin-left:6px;vertical-align:middle}.btn-remove-teacher-from-class{background:none;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;cursor:pointer;padding:6px;margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remove-teacher-from-class:hover{background:#ef444426;border-color:#ef444480}.teacher-other-classes{display:inline;font-size:.75rem;color:#a78bfacc;font-style:italic}.assign-teacher-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);border:1px solid rgba(139,92,246,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.assign-teacher-avatar svg{width:22px;height:22px;stroke:var(--color-accent-special)}.assign-teacher-info{flex:1;min-width:0}.assign-teacher-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-teacher-email{font-size:.8rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-teacher-divider{display:flex;align-items:center;gap:10px;margin:15px 0;opacity:.5;font-size:.85rem}.assign-teacher-divider:before,.assign-teacher-divider:after{content:"";flex:1;height:1px;background:currentColor}.assign-teacher-remove{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:10px;cursor:pointer;transition:all .2s ease;color:#ff6b6b}.assign-teacher-remove:hover{background:#ff6b6b33;border-color:#ff6b6b80}.assign-teacher-empty{text-align:center;padding:30px 20px;opacity:.7}.assign-teacher-empty svg{width:48px;height:48px;margin-bottom:10px;opacity:.5}body.no-class-mode .container{background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}body.no-class-mode .container:before,body.no-class-mode .container:after{display:none}.no-class-welcome{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:70vh;padding:var(--space-xl)}.no-class-card{position:relative;max-width:640px;width:100%;text-align:center;padding:64px 56px 56px;background:var(--container-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow),0 0 80px #a78bfa0f;overflow:hidden;animation:noClassFadeUp .6s ease-out both}.no-class-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-special),var(--color-accent-info))}.no-class-icon{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;margin-bottom:28px;border-radius:50%;background:linear-gradient(135deg,#a78bfa26,#00d9ff1a);border:1px solid rgba(167,139,250,.2);animation:noClassPulse 3s ease-in-out infinite}.no-class-icon svg{width:38px;height:38px;stroke:var(--color-accent-special);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.no-class-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-color-primary);margin-bottom:16px;letter-spacing:-.02em}.no-class-subtitle{font-size:var(--font-size-sm);color:var(--text-color-secondary);margin-bottom:10px;line-height:1.6}.no-class-hint{font-size:var(--font-size-xs);color:var(--text-color-secondary);opacity:.7;margin-bottom:40px;line-height:1.6}.no-class-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.no-class-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-size:var(--font-size-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-base)}.no-class-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.no-class-btn-primary{background:linear-gradient(135deg,var(--color-accent-special),#8b6fdf);color:#fff;box-shadow:0 4px 16px #a78bfa4d}.no-class-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #a78bfa66}.no-class-btn-secondary{background:#ffffff0f;color:var(--text-color-secondary);border:1px solid var(--border-color)}.no-class-btn-secondary:hover{background:#ffffff1a;color:var(--text-color-primary)}.no-class-waiting{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;font-size:var(--font-size-xs);color:var(--text-color-secondary);opacity:.6}.no-class-waiting-dot{width:4px;height:4px;border-radius:50%;background:var(--color-accent-info);animation:noClassDotPulse 1.4s ease-in-out infinite}.no-class-waiting-dot:nth-child(2){animation-delay:.2s}.no-class-waiting-dot:nth-child(3){animation-delay:.4s}body.light-mode .no-class-icon{background:linear-gradient(135deg,#a78bfa1a,#00d9ff12)}body.light-mode .no-class-btn-primary{box-shadow:0 4px 16px #a78bfa33}body.light-mode .no-class-btn-secondary{background:#0000000a}body.light-mode .no-class-btn-secondary:hover{background:#00000012}@keyframes noClassFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes noClassPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes noClassDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.school-empty-state{text-align:center;padding:36px 20px 32px;background:var(--seat-bg);border-radius:12px;margin-top:20px}.school-empty-state .empty-state-illustration{width:100px;margin:0 auto 16px}.school-empty-state .empty-state-illustration svg{width:100%;height:auto}.school-empty-state .es-bar{transform-origin:bottom center;animation:esBarGrow .8s cubic-bezier(.34,1.56,.64,1) both}.school-empty-state .es-bar-1{animation-delay:.1s}.school-empty-state .es-bar-2{animation-delay:.25s}.school-empty-state .es-bar-3{animation-delay:.4s}.school-empty-state .es-bar-4{animation-delay:.55s}@keyframes esBarGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.school-empty-state h3{margin:0 0 8px;font-size:1.1rem;color:var(--text-color-primary);border-bottom:none;padding-bottom:0}.school-empty-state p{margin:0 auto 18px;font-size:.85rem;color:var(--text-color-secondary);max-width:380px;line-height:1.5}.school-empty-state .empty-state-action{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:linear-gradient(135deg,#0793d133,#0793d11a);border:1px solid rgba(7,147,209,.3);border-radius:8px;color:#5dade2;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.school-empty-state .empty-state-action:hover{background:linear-gradient(135deg,#0793d14d,#0793d126);border-color:#0793d180;transform:translateY(-1px)}.stats-section.primary{background:linear-gradient(135deg,#0793d11a,#2980b926);border:1px solid rgba(7,147,209,.3)}.stats-section.primary h3{color:var(--text-color-primary);font-size:1.1rem}.stats-section.secondary{padding:12px 16px;margin-bottom:15px}.stats-section.secondary h3{font-size:1.1rem;margin-bottom:10px}.score-bands-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.score-bands-header h3{margin:0}.stats-section.secondary>div:first-child{display:flex!important;justify-content:space-between;align-items:baseline;flex-wrap:nowrap;gap:8px}.stats-section.secondary>div:first-child h3{margin-bottom:0!important;flex-shrink:0}.stats-section.secondary>div:first-child .badge{flex-shrink:0;white-space:nowrap;font-size:.85rem!important;font-weight:700!important;padding:5px 12px!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}#schoolPracticeDisengagedPupils{max-height:200px;overflow-y:auto}.school-class-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:10px;background:#ffffff05;border-radius:8px;max-height:400px;overflow-y:auto}.school-class-student-card{height:5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:var(--space-md, 10px);cursor:pointer;transition:all .2s ease;background:var(--seat-bg, linear-gradient(135deg, rgba(37, 37, 66, .8) 0%, rgba(37, 37, 66, .6) 100%));position:relative;-webkit-user-select:none;user-select:none;padding:8px}.school-class-student-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d;border-color:var(--color-accent-primary, #f00842)}.school-class-student-card .student-card-name{font-weight:600;font-size:.95rem;text-align:center;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.school-class-student-card .student-card-level{font-size:.75rem;opacity:.7}.school-class-view-tab{padding:8px 16px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:inherit;cursor:pointer;font-size:.9rem;transition:all .2s ease}.school-class-view-tab:hover{background:#ffffff1a}.school-class-view-tab.active{background:var(--color-accent-primary, #f00842);border-color:var(--color-accent-primary, #f00842)}.class-selector-view-btn{padding:4px 10px;font-size:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap}.class-selector-view-btn:hover{background:var(--color-accent-primary, #f00842);border-color:var(--color-accent-primary, #f00842)}@media(max-width:600px){.school-class-students-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.school-class-student-card{height:4rem;padding:6px}.school-class-student-card .student-card-name{font-size:.85rem}}.mtc-progress-section{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.2);padding:10px 14px}.mtc-progress-header{display:flex;align-items:center;margin-bottom:0}.mtc-progress-header h3{margin:0}.table-difficulty-ranking,.table-speed-ranking{padding:10px 0}.difficulty-bars{display:flex;flex-direction:column;gap:8px}.difficulty-item{display:flex;align-items:center;gap:10px;width:100%}.difficulty-table{min-width:35px;font-weight:600;color:var(--text-color-primary)}.difficulty-bar-container{flex:1;height:12px;background:var(--border-color);border-radius:6px;overflow:hidden}.difficulty-bar{height:100%;border-radius:6px;transition:width .3s ease}.difficulty-bar.strong{background:linear-gradient(90deg,#2ecc71,#27ae60)}.difficulty-bar.ok{background:linear-gradient(90deg,#f1c40f,#f39c12)}.difficulty-bar.struggling{background:linear-gradient(90deg,#e74c3c,#c0392b)}.difficulty-percent{min-width:40px;text-align:right;font-weight:600;font-size:.85rem;color:var(--text-color-secondary)}.difficulty-change{min-width:35px;text-align:right;font-size:.75rem;font-weight:600}.difficulty-change.positive{color:#2ecc71}.difficulty-change.negative{color:#e74c3c}.difficulty-rank{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e74c3c;color:#fff;font-size:.7rem;font-weight:700}.difficulty-summary{margin-top:12px;padding:10px 12px;background:#e74c3c26;border-left:3px solid #e74c3c;border-radius:0 6px 6px 0;font-size:.9rem;font-weight:500;color:var(--text-color-primary)}.difficulty-summary strong{font-weight:700;color:#e74c3c}.table-progress-summary{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:.8rem;font-weight:600}.progress-summary-improved{color:#2ecc71}.progress-summary-stable{color:#95a5a6}.progress-summary-declined{color:#e74c3c}.progress-summary-sep{color:var(--text-color-secondary);opacity:.5}.difficulty-journey{min-width:85px;font-size:.8rem;color:var(--text-color-secondary)}.difficulty-item.clickable{cursor:pointer;border-radius:6px;padding:4px 8px;margin:-4px -8px;transition:background-color .2s ease,transform .15s ease}.difficulty-item.clickable:hover{background:#ffffff14;transform:translate(4px)}.difficulty-item.clickable:active{transform:translate(2px)}.class-level-recommendations{padding:10px 0}.recommendations-list{display:flex;flex-direction:column;gap:8px}.recommendation-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.recommendation-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.recommendation-item.recommend-up{background:linear-gradient(135deg,#2ecc711a,#27ae6026);border-left:3px solid #2ecc71}.recommendation-item.recommend-down{background:linear-gradient(135deg,#e74c3c1a,#c0392b26);border-left:3px solid #e74c3c}.rec-icon{font-size:1.1rem;font-weight:700}.recommend-up .rec-icon{color:#2ecc71}.recommend-down .rec-icon{color:#e74c3c}.rec-name{font-weight:600;color:var(--text-color-primary);flex:1}.rec-action{font-size:.85rem;font-weight:500;color:var(--text-color-primary)}.rec-reason{width:100%;font-size:.75rem;color:var(--text-color-secondary);margin-left:24px}.class-students-list{max-height:350px;overflow-y:auto}.student-stats-header{display:grid;grid-template-columns:2fr .7fr .7fr 1.2fr 1.2fr;gap:10px;padding:10px 12px;background:var(--bg-color);border-radius:8px 8px 0 0;font-weight:600;font-size:.8rem;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.5px;position:-webkit-sticky;position:sticky;top:0}.student-stats-row{display:grid;grid-template-columns:2fr .7fr .7fr 1.2fr 1.2fr;gap:10px;padding:12px;border-bottom:1px solid var(--border-color);font-size:.9rem;cursor:pointer;transition:background .2s ease}.student-stats-row:hover{filter:brightness(1.1)}.student-stats-row:last-child{border-bottom:none}.student-stats-row.strong{background:linear-gradient(90deg,#2ecc7126,#2ecc710d);border-left:4px solid #2ecc71}.student-stats-row.ok{background:linear-gradient(90deg,#f1c40f26,#f1c40f0d);border-left:4px solid #f1c40f}.student-stats-row.struggling{background:linear-gradient(90deg,#e74c3c26,#e74c3c0d);border-left:4px solid #e74c3c}.student-stats-row.no-data{background:transparent;border-left:4px solid var(--border-color);opacity:.7}.col-name{font-weight:600}.col-tests,.col-avg{text-align:center}.col-strong{color:#2ecc71;font-size:.85rem}.col-struggling{color:#e74c3c;font-size:.85rem}.school-student-header,.school-student-row{grid-template-columns:1.2fr 1.5fr .6fr .6fr 1fr 1fr}.col-class{font-size:.8rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.table-stats-grid{grid-template-columns:repeat(6,1fr)}.class-overview{flex-direction:column}.student-stats-header,.student-stats-row{grid-template-columns:1.5fr .5fr .5fr 1fr 1fr;font-size:.8rem;padding:8px}.school-student-header,.school-student-row{grid-template-columns:.8fr 1.2fr .5fr .5fr .8fr .8fr;font-size:.75rem}.stats-modal{max-width:95%}}
