.teacher-reports-page{display:block}
.reports-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.reports-heading>div:first-child{max-width:760px}
.reports-heading-actions{display:flex;gap:10px}

.reports-filter-bar{display:flex;gap:14px;flex-wrap:wrap;padding:14px 16px;background:#fff;border:1px solid #d6ddea;border-radius:16px;margin-bottom:22px}
.reports-filter-bar label{display:flex;align-items:center;gap:8px;color:#5f6f89;font-size:.88rem;font-weight:800}
.reports-filter-bar select{border:0;background:#f4f7fb;color:#24324d;border-radius:10px;padding:9px 34px 9px 11px;font:inherit}

.reports-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.reports-metric{background:#fff;border:1px solid #d7dfeb;border-radius:18px;padding:20px;min-height:142px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 6px 18px #21304b0a}
.reports-metric>span{color:#64738d;font-weight:800;font-size:.9rem}
.reports-metric strong{font-size:2.1rem;line-height:1.1;color:#1f2f4c;margin:9px 0 7px}
.reports-metric small{color:#7a879c;line-height:1.35}
.reports-metric--action{border-top:4px solid #13a797}

.reports-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.reports-panel{background:#fff;border:1px solid #d7dfeb;border-radius:20px;padding:22px;box-shadow:0 8px 22px #21304b0a}
.reports-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.reports-panel-head h2{margin:2px 0 0;color:#20304d;font-size:1.35rem}
.reports-panel-head>span{color:#8290a5;font-size:.82rem;text-align:right}

.reports-trouble-row,.reports-student-row{display:grid;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf0f5}
.reports-trouble-row{grid-template-columns:28px minmax(140px,1fr) minmax(90px,150px)}
.reports-student-row{grid-template-columns:minmax(180px,1fr) auto auto}
.reports-trouble-row:first-of-type,.reports-student-row:first-of-type{border-top:0}
.reports-trouble-row strong,.reports-student-row strong{display:block;color:#22324e}
.reports-trouble-row span,.reports-student-row span{color:#718098;font-size:.86rem}
.reports-rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#edf8f6;color:#0f8b7d!important;font-weight:900}
.reports-trouble-meter{height:8px;background:#e8edf4;border-radius:999px;overflow:hidden}
.reports-trouble-meter i{display:block;height:100%;background:#19aa98;border-radius:999px}

.reports-assignment-panel{margin-bottom:22px}
.reports-assignment-table{display:flex;flex-direction:column}
.reports-assignment-row{display:grid;grid-template-columns:minmax(240px,1.5fr) .65fr .8fr .7fr 20px;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid #edf0f5;color:#61708a;text-decoration:none}
.reports-assignment-row:first-child{border-top:0}
.reports-assignment-row:hover{background:#f9fbfd}
.reports-assignment-row div strong{display:block;color:#22324e;margin-bottom:3px}
.reports-assignment-row div span{font-size:.85rem}
.reports-assignment-row b{font-size:1.5rem;color:#4657d8;text-align:right}

.reports-empty{padding:26px;border:1px dashed #ccd5e2;border-radius:14px;background:#fafbfd;color:#6d7b92}
.reports-empty h3{margin:0 0 6px;color:#273650}
.reports-empty p{margin:0}
.reports-empty.compact{padding:18px}
.reports-roadmap-note{padding:18px 20px;border-radius:16px;background:#eef8f6;border-left:4px solid #13a797;color:#50647d}
.reports-roadmap-note strong{color:#143f46}
.reports-roadmap-note p{margin:4px 0 0;line-height:1.5}

@media(max-width:1050px){.reports-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-two-column{grid-template-columns:1fr}.reports-assignment-row{grid-template-columns:minmax(220px,1.4fr) .6fr .8fr 20px}.reports-assignment-row>span:nth-of-type(3){display:none}}
@media(max-width:720px){.reports-heading{align-items:flex-start;flex-direction:column}.reports-metric-grid{grid-template-columns:1fr}.reports-assignment-row{grid-template-columns:1fr auto}.reports-assignment-row>span{display:none}.reports-student-row{grid-template-columns:1fr auto}.reports-student-row>span:last-child{display:none}.reports-trouble-row{grid-template-columns:28px 1fr}.reports-trouble-meter{display:none}}
