/* REVOLISH v0.11 — consistent visual hierarchy; teacher and parent visual roles stay separate. */
:root{--r-ink:#172d50;--r-accent:#e2b647;--r-muted:#687d98;--r-line:#e2e9f2}
:focus-visible{outline:3px solid #5a91d8!important;outline-offset:3px}
button,select,input,textarea{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
button:disabled{cursor:not-allowed;opacity:.55}
#content .card{border-color:#e2e9f1;box-shadow:0 4px 17px rgba(27,52,90,.035)}
#content .card:has(.mid-roster-table),#content .card:has(.focus-question-grid){box-shadow:0 7px 23px rgba(27,52,90,.055)}
#content .page-title{margin-bottom:17px}
#content .page-title h1,.focus-top h1{letter-spacing:-.05em}
.nav{border-radius:10px;font-weight:720;transition:background .2s ease,color .2s ease}
.sidebar .nav.active{box-shadow:0 3px 12px rgba(255,212,65,.16)}
#content .ui09-actionbar{border:1px solid #e2e9f1;border-radius:13px;background:#fff;gap:11px}
#content .integrated-stats .card .number{letter-spacing:-.055em}
/* Empty schedules are useful, but should not dominate the dashboard. */
#content .v08-today{min-height:unset!important}
#content .v08-today:has(.v08-today-empty){padding-top:15px;padding-bottom:15px}
.mid-report-sticky .mid-export-buttons,.focus-right .preview-bottom{box-shadow:0 -9px 23px rgba(22,43,77,.045)}
.mid-export-buttons{display:flex;flex-wrap:wrap;gap:6px}
.mid-export-buttons .btn{flex:1;min-width:110px}
.mid-preview-comment-pending{font-size:10px;line-height:1.55;color:#91a0b2;background:#f7f9fc;border:1px dashed #d7e1ed;border-radius:8px;margin:10px 0;padding:10px}
/* In parent reports, quantitative tables remain icon-free. */
.v04-parent-report .parent-badges{margin-top:12px}
.v04-parent-report .parent-wrong{background:#f4f7fc!important;border-color:#e0e8f2!important}
.v04-parent-report .parent-wrong strong{color:#28456a!important}
.v04-parent-report .parent-wrong span{overflow-wrap:anywhere;word-break:keep-all}
.v04-parent-report .parent-detail-split.is-long{grid-template-columns:minmax(0,1fr);gap:11px}
.v04-parent-report .parent-detail-split.is-long .parent-detail-top10{order:0}
.v04-parent-report .parent-detail-split.is-long .parent-detail-questions{order:1}
.v04-parent-report .parent-detail-split.is-long .report-wrong-type-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.v04-parent-report .parent-detail-split.is-long .report-wrong-type{break-inside:avoid;min-width:0}
.v04-parent-report .parent-detail-split.is-long .report-top10-table td,.v04-parent-report .parent-detail-split.is-long .report-top10-table th{font-size:11px}
/* De-emphasize decoration that was introduced over multiple versions. */
.report09-hero:before,.report09-hero:after{display:none!important}
.mid-report-intro .mid-student-name{font-weight:900}
.mid-report-student-identity{border-color:#d8e5f3!important}
.mid-report-row .mid-peer-badge{font-weight:790;letter-spacing:-.012em}
.report09-hero{min-height:0!important}
.report09-insight-pair strong{line-height:1.65}
.report09-mini-stats>div{border:1px solid #e5ebf3}
.mid-roster-table tbody tr:focus-within{background:#f4f8ff}
.focus-question-grid button:focus-visible{position:relative;z-index:1}
/* A full-screen viewer for the monthly parent report, not a scaled-up browser screenshot. */
.final-report-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,29,53,.72);display:grid;place-items:center;padding:24px;overflow:auto}
.final-report-dialog{width:min(920px,100%);max-height:92vh;overflow:auto;background:#f2f5fa;border:1px solid #dce5f0;border-radius:16px;box-shadow:0 35px 95px rgba(0,0,0,.27)}
.final-report-bar{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #e2e9f1;padding:14px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.final-report-bar strong{font-size:16px;color:#1e3557}
.final-report-dialog .mid-report-paper{margin:18px auto 25px;max-width:795px;box-shadow:0 7px 35px rgba(25,48,83,.12)}
.final-report-dialog .mid-report-paper .mid-report-student-identity{align-items:center}
.final-report-dialog .mid-report-paper .mid-student-name{font-size:29px}
@media(max-width:1120px){.v04-parent-report .parent-detail-split.is-long .report-wrong-type-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.final-report-overlay{padding:7px}.final-report-dialog{max-height:95vh}.final-report-bar{padding:12px}.final-report-dialog .mid-report-paper{margin:8px}.v04-parent-report .parent-detail-split.is-long .report-wrong-type-list{grid-template-columns:1fr}.mid-export-buttons .btn{flex:1 1 48%}}
@media print{.final-report-overlay{display:none!important}}

/* v0.11.2 — mock exam parent report: compact, readable six-area analysis */
.v04-parent-report .parent-top-chart,.v04-parent-report .parent-top-bars{border-color:#dce5f1;border-radius:12px}
.v04-parent-report .parent-top-achievement h3{font-size:12px;letter-spacing:-.025em;margin-bottom:12px}
.v04-parent-report .parent-top-bar-row{margin-bottom:8px;gap:5px}
.v04-parent-report .parent-top-bar-row .parent-area-row-head{display:flex;align-items:center;justify-content:space-between;gap:7px;line-height:1.3;font-size:10px}
.v04-parent-report .parent-area-label{display:flex;min-width:0;align-items:center;gap:6px;flex:1}
.v04-parent-report .parent-area-emoji{display:inline-flex;width:20px;height:20px;flex:0 0 20px;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;box-shadow:none;font-size:13px;line-height:1}
.v04-parent-report .parent-area-name{display:block;min-width:0;font-size:10px;font-weight:730;color:#314a69;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v04-parent-report .parent-top-bar-row .parent-area-row-head strong{font-size:10px;font-weight:820;flex-shrink:0}
.v04-parent-report .parent-top-track{height:8px}
.preview-modal-report .v04-parent-report .parent-top-bar-row .parent-area-row-head{font-size:13px}
.preview-modal-report .v04-parent-report .parent-area-name,.preview-modal-report .v04-parent-report .parent-top-bar-row .parent-area-row-head strong{font-size:13px}
.preview-modal-report .v04-parent-report .parent-area-emoji{width:26px;height:26px;flex-basis:26px;font-size:16px}
@container parentreport (max-width:470px){.v04-parent-report .parent-top-bar-row{grid-template-columns:1fr;gap:4px;margin-bottom:8px}}

/* Match the top chart's blank space to the taller six-category score panel. */
.v04-parent-report .parent-top-chart{display:flex;flex-direction:column}
.v04-parent-report .parent-top-chart .parent-score-donut-wrap{flex:1;align-content:center;align-items:center;min-height:0}
.v04-parent-report .parent-score-key span,.v04-parent-report .parent-score-key strong{font-size:10px}
.v04-parent-report .parent-score-donut{max-width:168px}
@container parentreport (max-width:470px){
 .v04-parent-report .parent-top-chart .parent-score-donut-wrap{flex:initial}
 .v04-parent-report .parent-score-key span,.v04-parent-report .parent-score-key strong{font-size:10px}
}


/* v0.12.3: non-duplicative grade beside total-score donut (parent report only). */
.v04-parent-report .parent-top-chart .parent-score-donut-wrap{
 display:grid;grid-template-columns:minmax(95px,1.03fr) minmax(110px,.97fr);gap:10px;align-items:center;
}
.v04-parent-report .parent-grade-summary{
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
 min-width:0;background:#f4f7fc;border:1px solid #e3eaf3;border-radius:11px;padding:14px 8px;
 text-align:center;color:#213a60;
}
.v04-parent-report .parent-grade-kicker{font-size:9px;color:#70829b;letter-spacing:.01em;font-weight:750}
.v04-parent-report .parent-grade-value{display:flex;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap}
.v04-parent-report .parent-grade-value strong{font-size:43px;line-height:1;font-weight:900;letter-spacing:-.04em;color:#1b3153}
.v04-parent-report .parent-grade-value span{font-size:15px;font-weight:800;color:#203c62}
.v04-parent-report .parent-grade-detail{font-size:11px;font-weight:830;color:#37629a;line-height:1.45;word-break:keep-all}
.v04-parent-report .parent-grade-range{font-size:8px;color:#8493a6;line-height:1.45}
.preview-modal-report .v04-parent-report .parent-grade-value strong{font-size:52px}
.preview-modal-report .v04-parent-report .parent-grade-kicker{font-size:12px}
.preview-modal-report .v04-parent-report .parent-grade-detail{font-size:14px}
.preview-modal-report .v04-parent-report .parent-grade-range{font-size:11px}
@container parentreport (max-width:470px){
 .v04-parent-report .parent-top-chart .parent-score-donut-wrap{grid-template-columns:minmax(96px,43%) minmax(120px,1fr);gap:13px}
 .v04-parent-report .parent-grade-value strong{font-size:42px}
}
