.teacher-insights{max-width:1320px;padding-bottom:48px}
.ti-heading,.ti-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 0}
.ti-heading h1{margin-bottom:6px}
.ti-refresh-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:9px 13px;font-size:.88rem}
.teacher-insights[aria-busy="true"] .ti-filters{opacity:.82}
.ti-actions{justify-content:flex-end}
.ti-join-note{margin:18px 0 20px}
.ti-filters{padding:18px;margin-bottom:18px}
.ti-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.ti-filter-grid label,.ti-label-form label{display:grid;gap:6px;color:#d8e4ea;font-size:.83rem;font-weight:750}
.ti-filter-grid select,.ti-filter-grid input,.ti-label-form input{width:100%;min-width:0}
.ti-clear{min-height:44px}
.ti-label-form{display:flex;align-items:end;gap:12px;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}
.ti-label-form label{min-width:220px}
.ti-label-form small{max-width:320px;line-height:1.45}
.ti-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.ti-metric{display:grid;gap:8px;min-height:124px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.ti-metric small,.ti-metric span{color:#aebfc9}
.ti-metric strong{font-size:2rem;font-weight:900;line-height:1.05;color:#f4f8fa}
.ti-section{margin:18px 0;padding:22px}
.ti-section h2,.ti-section h3{margin:0 0 12px}
.ti-section-heading{align-items:start;margin:0 0 18px}
.ti-section-heading .muted{max-width:470px;margin:0;text-align:right}
.ti-table-wrap{max-width:100%;overflow:auto}
.ti-table-wrap table{min-width:780px}
.ti-table-wrap td small,.ti-table-wrap th small{display:block;margin-top:4px;color:#9fb1bc;font-size:.76rem}
.ti-band{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border:1px solid;border-radius:999px;font-size:.78rem;font-weight:850}
.ti-band-strong{color:#aaffd7;border-color:rgba(67,242,178,.34);background:rgba(67,242,178,.10)}
.ti-band-mid{color:#ffe1a0;border-color:rgba(255,201,77,.34);background:rgba(255,201,77,.10)}
.ti-band-support{color:#ffb6ae;border-color:rgba(255,116,104,.36);background:rgba(255,116,104,.10)}
.ti-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.ti-three-column{grid-template-columns:repeat(3,minmax(0,1fr))}
.ti-two-column>.panel{margin:0}
.ti-people-list{display:grid;gap:9px}
.ti-person-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ti-person-row:last-child{border-bottom:0}
.ti-person-row small,.ti-progress-row small{display:block;margin-top:3px;color:#9fb1bc;font-size:.78rem}
.ti-person-row>b{color:#d9fbef}
.ti-person-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(67,242,178,.11);color:#75f5c5;font-weight:900}
.ti-question-columns{margin:0}
.ti-question-list{display:grid;gap:9px}
.ti-question-row{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}
.ti-question-title{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:6px}
.ti-question-title strong{line-height:1.45}
.ti-question-row>small{color:#9fb1bc}
.ti-question-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;color:#c5d1d8;font-size:.76rem}
.ti-progress{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);align-items:center;gap:22px;margin:18px 0;padding:20px}
.ti-progress h2{margin:0}
.ti-progress-list{display:grid;gap:12px}
.ti-progress-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(90px,1fr) 44px;align-items:center;gap:12px}
.ti-progress-track{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.1)}
.ti-progress-track i{display:block;height:100%;border-radius:inherit;background:#43f2b2}
.ti-progress-track i.ti-band-mid{background:#ffc94d}.ti-progress-track i.ti-band-support{background:#ff7468}
.ti-empty{text-align:center;padding:35px 22px}
.ti-empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:16px;background:rgba(67,242,178,.12);color:#8af4ca;font-size:1.6rem}
.ti-match-select{display:block;width:min(100%,230px);margin-top:8px;font-size:.78rem}
.ti-history-notice{margin:18px 0}
.ti-label-form .secondary{white-space:nowrap}
@media(max-width:900px){.ti-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ti-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ti-three-column{grid-template-columns:repeat(2,minmax(0,1fr))}.ti-progress{grid-template-columns:1fr}.ti-heading,.ti-section-heading{align-items:flex-start;flex-direction:column}.ti-section-heading .muted{text-align:left}}
@media(max-width:620px){.ti-filter-grid,.ti-metrics,.ti-two-column{grid-template-columns:1fr}.ti-actions{justify-content:flex-start}.ti-actions button{flex:1}.ti-label-form{align-items:stretch;flex-direction:column}.ti-label-form label{min-width:0}.ti-label-form .secondary{width:100%}.ti-progress-row{grid-template-columns:minmax(100px,.9fr) minmax(70px,1fr) 42px}.ti-section{padding:17px}}
@media print{body{background:#fff!important;color:#111!important}header,.ti-actions,.ti-filters,.ti-label-form,.ti-match-select,.ti-history-notice,#tiMessage,.ti-join-note{display:none!important}.teacher-insights{max-width:none;padding:0!important}.teacher-insights .panel,.ti-metric,.ti-question-row{color:#111!important;background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important;break-inside:avoid}.teacher-insights h1,.teacher-insights h2,.teacher-insights h3,.teacher-insights strong,.teacher-insights td,.teacher-insights th,.teacher-insights .muted,.ti-metric small,.ti-metric span{color:#111!important}.ti-metrics{grid-template-columns:repeat(4,1fr)}.ti-two-column{grid-template-columns:repeat(2,1fr)}.ti-table-wrap{overflow:visible}.ti-table-wrap table{min-width:0}.ti-band{color:#111!important;border-color:#888!important;background:#fff!important}.ti-progress-track{border:1px solid #888}.ti-heading{margin-top:0}}
.ti-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;color:var(--muted,#65738a);font-size:.9rem}
.ti-pagination>div{display:flex;align-items:center;gap:.65rem}
.ti-pagination button{padding:.5rem .8rem}
.ti-match-open{display:block;margin-top:.4rem;padding:.3rem .55rem;border:1px solid var(--line,#dce3ec);border-radius:.45rem;background:transparent;color:var(--accent,#3867d6);font:inherit;font-size:.78rem;cursor:pointer}
.ti-match-panel{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:.25rem 0 1rem;padding:1rem;border:1px solid var(--line,#dce3ec);border-radius:.75rem;background:var(--surface-2,#f7f9fc)}
.ti-match-panel[hidden]{display:none}
.ti-match-panel>strong{flex-basis:100%}
.ti-match-panel label{min-width:min(100%,18rem);flex:1}
.ti-match-panel>div{display:flex;gap:.5rem}
@media(max-width:640px){.ti-pagination{align-items:flex-start;flex-direction:column}.ti-pagination>div{width:100%;justify-content:space-between}}
@media print{.ti-pagination,.ti-match-open,.ti-match-panel{display:none!important}}
.ti-date-error{margin:-6px 0 16px}
.ti-chart-section{margin:18px 0}
.ti-chart-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}
.ti-chart-grid>article{min-width:0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.ti-chart-grid h3{font-size:1rem}
.ti-trend-chart{display:block;width:100%;height:auto;overflow:visible}
.ti-chart-grid line.ti-chart-grid{stroke:rgba(220,235,242,.12);stroke-width:1}
.ti-chart-axis{fill:#aebfc9;font-size:12px}
.ti-chart-line{fill:none;stroke:#43f2b2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ti-chart-dot{fill:#0b1117;stroke:#43f2b2;stroke-width:3}
.ti-chart-note{margin:0;font-size:.78rem}
.ti-chart-bars{display:grid;gap:15px;margin:15px 0 5px}
.ti-chart-bar-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(70px,1.5fr) 42px 72px;align-items:center;gap:9px;font-size:.82rem}
.ti-chart-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ti-chart-bar-row>strong{text-align:right}
.ti-chart-bar-row>small{color:#aebfc9;text-align:right}
.ti-chart-bar-track{height:11px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.09)}
.ti-chart-bar-track i{display:block;height:100%;min-width:2px;border:0;border-radius:inherit}
.ti-chart-bar-track i.ti-band-strong{background:#43f2b2}
.ti-chart-bar-track i.ti-band-mid{background:#ffc94d}
.ti-chart-bar-track i.ti-band-support{background:#ff7468}
@media(max-width:900px){.ti-chart-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ti-chart-bar-row{grid-template-columns:minmax(70px,1fr) minmax(50px,1.2fr) 38px}.ti-chart-bar-row>small{display:none}}
@media print{.ti-chart-grid>article{color:#111;background:#fff;border:1px solid #bbb}.ti-chart-axis{fill:#333}.ti-chart-grid line.ti-chart-grid{stroke:#bbb}.ti-chart-dot{fill:#fff}}
.ti-date-control{display:flex;align-items:end;gap:7px;min-width:0}
.ti-date-control>label{display:grid;flex:1;gap:6px;min-width:0;color:#d8e4ea;font-size:.83rem;font-weight:750}
.ti-date-control input{width:100%;min-width:0}
.ti-date-picker{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.06);color:#d8e4ea;font-size:1.25rem;cursor:pointer}
.ti-date-picker:hover{background:rgba(67,242,178,.12);border-color:rgba(67,242,178,.38);color:#8af4ca}
.ti-date-picker:focus-visible{outline:2px solid #43f2b2;outline-offset:2px}
.ti-progress{grid-template-columns:minmax(0,1fr)}
.ti-student-progress-chart{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.ti-student-progress-chart h3{margin:0 0 8px}
.ti-student-trend-chart{max-height:290px}
.ti-topic-heatmap{margin:0 0 18px}
.ti-topic-heatmap h3{margin:0 0 10px;font-size:1rem}
.ti-heatmap-wrap{max-width:100%;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:12px}
.ti-heatmap{width:100%;min-width:650px;border-collapse:separate;border-spacing:4px;padding:5px}
.ti-heatmap th{max-width:145px;padding:8px 9px;color:#d8e4ea;font-size:.76rem;text-align:left;white-space:normal}
.ti-heatmap th:not(:first-child){min-width:78px;text-align:center}
.ti-heat-cell{display:grid;place-items:center;min-height:50px;padding:5px;border:1px solid;border-radius:9px;text-align:center}
.ti-heat-cell strong{font-size:.92rem}
.ti-heat-cell small{font-size:.68rem;opacity:.9}
.ti-heat-low{color:#ffd0cb;border-color:rgba(255,116,104,.36);background:rgba(255,116,104,.18)}
.ti-heat-mid{color:#ffebba;border-color:rgba(255,201,77,.36);background:rgba(255,201,77,.16)}
.ti-heat-high{color:#b8ffe2;border-color:rgba(67,242,178,.36);background:rgba(67,242,178,.16)}
.ti-heat-empty{display:block;color:#788792;text-align:center}
.ti-heat-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0;color:#aebfc9;font-size:.76rem}
.ti-heat-legend>span{display:flex;align-items:center;gap:6px}
.ti-heat-legend i{display:inline-block;width:12px;height:12px;border:1px solid;border-radius:3px}
.ti-heat-legend .ti-heat-low{background:rgba(255,116,104,.5)}
.ti-heat-legend .ti-heat-mid{background:rgba(255,201,77,.5)}
.ti-heat-legend .ti-heat-high{background:rgba(67,242,178,.5)}
@media print{.ti-student-progress-chart,.ti-heatmap-wrap{background:#fff;border:1px solid #bbb}.ti-heatmap th{color:#111}.ti-heat-cell{color:#111!important;background:#fff!important;border-color:#888}}
