#page-performance h2{margin:0;color:var(--primary-dark)}
#page-performance h3{margin:18px 0 12px}
.performance-header,.performance-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.performance-header>div{flex:1;min-width:240px}
.performance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.performance-kpis .insight-value{font-size:25px}
.performance-note{font-size:12px;color:var(--text-muted);line-height:1.9}.performance-batches{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}
.performance-batch{border:1px solid var(--border);background:#f8faff;border-radius:12px;padding:16px;text-align:right;font:inherit;color:var(--text);cursor:pointer;display:grid;gap:8px}.performance-batch:hover,.performance-batch:focus-visible{border-color:var(--primary)}.performance-batch b{font-size:24px;color:var(--primary)}.performance-batch small{line-height:1.8}
#page-performance progress{width:100%;height:12px;accent-color:var(--primary)}#page-performance summary{cursor:pointer;line-height:1.9}
.performance-filters input,.performance-filters select,#performancePeriod{padding:9px;border:1px solid var(--border);border-radius:8px;font:inherit;max-width:100%}.performance-filters>*{flex:1;min-width:170px}.performance-rating{display:grid;grid-template-columns:2fr 3fr 1fr;align-items:center;gap:12px;margin:16px 0}
@media(max-width:700px){.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-rating{grid-template-columns:1fr}.performance-header{align-items:stretch}}
.performance-hour-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.performance-hour-input{width:130px;max-width:100%;padding:9px;border:1px solid var(--border);border-radius:8px;font:inherit}.performance-hour-input:invalid{border-color:var(--danger)}#performanceHoursTable small{display:block;white-space:normal;margin-top:5px}.performance-success-rate{display:flex;align-items:center;gap:10px;min-width:150px}.performance-batch{cursor:default}@media(max-width:700px){.performance-hour-totals{grid-template-columns:1fr}}
.performance-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:14px 0}.performance-chart-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:#f8faff}.performance-chart-row{display:grid;grid-template-columns:130px minmax(50px,1fr) 50px;align-items:center;gap:8px;margin:12px 0;font-size:12px}.performance-chart-track{height:13px;background:#e4eaf5;border-radius:8px;overflow:hidden}.performance-chart-track>span{display:block;height:100%;border-radius:8px}.performance-semester-filter{display:flex;align-items:center;gap:10px;margin:12px 0}.performance-semester-filter select{font:inherit;padding:8px;border:1px solid var(--border);border-radius:8px}.performance-batch small{display:block}.performance-batch .performance-chart-row{grid-template-columns:80px minmax(30px,1fr) 35px}@media(max-width:700px){.performance-charts{grid-template-columns:1fr}.performance-chart-row{grid-template-columns:110px minmax(30px,1fr) 40px}}
.performance-success-layout{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:16px;align-items:center}.performance-absent-counter{display:grid;gap:7px;text-align:center;border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff5f5}.performance-absent-counter>strong{font-size:32px;color:var(--danger)}.performance-absent-counter small{font-size:10px;line-height:1.7;color:var(--text-muted)}@media(max-width:700px){.performance-success-layout{grid-template-columns:1fr}.performance-absent-counter{grid-template-columns:50px 1fr;text-align:right}.performance-absent-counter small{grid-column:1/-1}}
