.teacher-insights-panel {
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 34%),
    radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--primary-light) 12%, transparent), transparent 36%),
    linear-gradient(145deg, var(--surface), var(--surface-alt));
  color: var(--text);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.teacher-insights-panel .card-title,
.teacher-insights-panel h3,
.teacher-insights-panel h4 { color: var(--text); }
.teacher-insights-hero { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; }
.teacher-insights-eyebrow { color: var(--primary); font-size:.78rem; font-weight:800; letter-spacing:.05em; margin-bottom:4px; }
.teacher-insights-subtitle { color: var(--text-muted); max-width:760px; line-height:1.9; margin-top:6px; }
.teacher-insights-refresh { display:flex; flex-direction:column; gap:8px; align-items:flex-end; color: var(--text-muted); font-size:.82rem; }
.teacher-insights-grid { display:grid; gap:16px; }
.teacher-overview-grid { grid-template-columns: repeat(5, minmax(150px, 1fr)); margin-bottom:18px; }
.teacher-metric-card,
.teacher-insight-card,
.teacher-class-card,
.teacher-student-card,
.teacher-topic-card,
.teacher-exam-row-card {
  background: linear-gradient(150deg, var(--surface), var(--surface-alt));
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.teacher-metric-card { padding:16px; display:flex; gap:12px; align-items:center; min-height:112px; }
.teacher-metric-icon,
.teacher-card-icon { width:42px; height:42px; border-radius:14px; display:inline-grid; place-items:center; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--surface)); border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border)); flex:0 0 auto; }
.teacher-metric-value { font-size:1.75rem; font-weight:900; color: var(--text); line-height:1.1; }
.teacher-metric-label { color: var(--text-muted); font-size:.9rem; margin-top:4px; }
.teacher-insights-columns { display:grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr); gap:16px; align-items:start; }
.teacher-section-card { background: var(--surface); border:1px solid var(--border); border-radius:20px; padding:18px; }
.teacher-section-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px; }
.teacher-section-kicker { color: var(--primary); font-weight:700; font-size:.78rem; margin-bottom:2px; }
.teacher-section-note { color: var(--text-muted); font-size:.86rem; }
.teacher-class-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:12px; }
.teacher-class-card { padding:15px; }
.teacher-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:12px; }
.teacher-card-title { font-weight:850; color: var(--text); }
.teacher-card-meta { color: var(--text-muted); font-size:.82rem; }
.teacher-progress-row { display:grid; grid-template-columns: 90px minmax(0,1fr) 46px; gap:10px; align-items:center; margin-top:10px; color: var(--text-muted); font-size:.82rem; }
.teacher-progress-track { height:8px; border-radius:999px; background: var(--surface-alt); overflow:hidden; }
.teacher-progress-fill { height:100%; width:0%; border-radius:999px; background: linear-gradient(90deg, var(--primary-dark), var(--primary)); }
.teacher-level-excellent .teacher-progress-fill { background: linear-gradient(90deg, var(--success), var(--primary)); }
.teacher-level-good .teacher-progress-fill { background: linear-gradient(90deg, var(--primary), var(--primary-light)); }
.teacher-level-warning .teacher-progress-fill { background: linear-gradient(90deg, var(--warning), color-mix(in srgb, var(--warning) 45%, var(--surface))); }
.teacher-level-danger .teacher-progress-fill { background: linear-gradient(90deg, var(--danger-dark), var(--danger)); }
.teacher-trend { border-radius:999px; padding:4px 9px; font-size:.76rem; border:1px solid var(--border); color: var(--text-muted); white-space:nowrap; }
.teacher-trend.up { color: var(--success); background: color-mix(in srgb, var(--success) 10%, var(--surface)); border-color: color-mix(in srgb, var(--success) 28%, var(--border)); }
.teacher-trend.down { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, var(--surface)); border-color: color-mix(in srgb, var(--danger) 28%, var(--border)); }
.teacher-student-list { display:grid; gap:10px; }
.teacher-student-card { padding:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:start; }
.teacher-student-name { font-weight:850; color: var(--text); }
.teacher-student-meta { color: var(--text-muted); font-size:.82rem; margin-top:2px; }
.teacher-student-stats { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.teacher-pill { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:4px 9px; font-size:.76rem; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, var(--surface)); border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border)); }
.teacher-pill.danger { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, var(--surface)); border-color: color-mix(in srgb, var(--danger) 28%, var(--border)); }
.teacher-pill.success { color: var(--success); background: color-mix(in srgb, var(--success) 10%, var(--surface)); border-color: color-mix(in srgb, var(--success) 28%, var(--border)); }
.teacher-reason { color: var(--warning); background: color-mix(in srgb, var(--warning) 10%, var(--surface)); border-color: color-mix(in srgb, var(--warning) 30%, var(--border)); }
.teacher-topic-list { display:grid; gap:10px; }
.teacher-topic-card { padding:12px; }
.teacher-topic-line { display:flex; justify-content:space-between; gap:10px; color: var(--text); font-weight:750; }
.teacher-topic-meta { color: var(--text-muted); font-size:.82rem; margin-top:4px; }
.teacher-topic-bar { height:7px; background: var(--surface-alt); border-radius:999px; overflow:hidden; margin-top:10px; }
.teacher-topic-bar span { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg, var(--warning), var(--danger)); }
.teacher-quick-insights { display:grid; gap:10px; }
.teacher-insight-card { padding:13px 14px; border-inline-start:4px solid var(--primary); color: var(--text); }
.teacher-insight-card.danger { border-inline-start-color: var(--danger); }
.teacher-insight-card.warning { border-inline-start-color: var(--warning); }
.teacher-insight-card.success { border-inline-start-color: var(--success); }
.teacher-exam-list { display:grid; gap:10px; }
.teacher-exam-row-card { padding:13px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.teacher-exam-title { color: var(--text); font-weight:800; }
.teacher-table-toolbar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.teacher-table-toolbar input,
.teacher-table-toolbar select { min-width:180px; background: var(--surface); color: var(--text); border-color: var(--border); }
.teacher-insights-table-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:16px; }
.teacher-insights-table { width:100%; min-width:760px; border-collapse:collapse; }
.teacher-insights-table th,
.teacher-insights-table td { padding:12px 13px; border-bottom:1px solid var(--border); color: var(--text); text-align:right; white-space:nowrap; }
.teacher-insights-table th { color: var(--text); background: var(--surface-alt); font-size:.82rem; cursor:pointer; }
.teacher-insights-empty { color: var(--text-muted); text-align:center; padding:22px; }
.ui-icon { width:24px; height:24px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width: 1120px) { .teacher-overview-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .teacher-insights-columns { grid-template-columns:1fr; } }
@media (max-width: 640px) { .teacher-insights-hero { flex-direction:column; } .teacher-insights-refresh { align-items:flex-start; } .teacher-overview-grid { grid-template-columns:1fr; } .teacher-section-card { padding:14px; } .teacher-student-card, .teacher-exam-row-card { grid-template-columns:1fr; } .teacher-table-toolbar input, .teacher-table-toolbar select { width:100%; min-width:0; } }
