.mis-overview-page { padding-top:24px; }
.mis-data-dashboard { --md-ink:#1d3e35; --md-muted:#72827b; color:var(--md-ink); }
.md-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.md-heading .md-eyebrow { margin:0 0 8px; color:#49735f; text-transform:uppercase; letter-spacing:1.2px; font-size:10px; font-weight:700; }
.md-heading h1 { margin:0; font-size:36px; font-weight:600; letter-spacing:-1.5px; line-height:1.15; text-wrap:balance; }
.md-heading p { font-size:12px; color:var(--md-muted); margin:9px 0 0; }
.md-heading>div:last-child { display:flex; align-items:center; gap:14px; }
.md-heading [data-md-status] { color:var(--md-muted); font-size:10px; max-width:155px; }
.md-controls { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:13px 16px; background:#fff; border:1px solid #dee8e1; border-radius:12px; margin-bottom:20px; }
.md-controls label { display:flex; flex-direction:column; gap:5px; min-width:0; }
.md-controls label>span { font-size:9px; color:var(--md-muted); font-weight:600; }
.md-controls input,.md-controls select { font-family:inherit; font-size:12px; color:var(--md-ink); background:#fff; border:0; padding:0; height:25px; min-width:0; max-width:100%; }
.md-date-range { display:flex; align-items:center; gap:14px; padding-right:16px; border-right:1px solid #e3eae5; }
.md-date-range>span { color:#a0afa6; font-size:12px; }
.md-cohort-select { min-width:130px!important; padding-right:10px; }
.md-presets { display:flex; gap:2px; margin-left:auto; padding:3px; border-radius:8px; background:#f0f5f1; }
.md-presets button { background:transparent; border:0; padding:8px 10px; border-radius:6px; color:#6d7f74; font:inherit; font-size:10px; cursor:pointer; }
.md-presets button[aria-pressed=true] { background:#fff; box-shadow:0 1px 3px #153a2414; color:#1e624a; font-weight:700; }
.md-reset { font:inherit; font-size:10px; color:#567062; border:0; background:transparent; cursor:pointer; padding:8px; }
.md-filter-error { flex-basis:100%; color:#a34234; font-size:11px; margin:0; }.md-filter-error:empty { display:none; }
.md-scorecards { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin-bottom:26px; }
.md-metric { display:flex; flex-direction:column; align-items:stretch; text-align:left; min-width:0; background:#fff; padding:20px; border:1px solid #dce6df; border-radius:14px; color:var(--md-ink); cursor:pointer; font:inherit; }
.md-metric>span { font-size:11px; font-weight:600; display:flex; justify-content:space-between; gap:8px; }
.md-metric i { font-style:normal; color:#80968b; }.md-metric>strong { font-size:36px; line-height:1.2; letter-spacing:-1.5px; font-weight:600; margin-top:14px; font-variant-numeric:tabular-nums; }
.md-metric>small { color:#718077; font-size:10px; margin-top:8px; line-height:1.5; }
.md-metric.md-green { background:#edf5ef; border-color:#cee2d4; }.md-metric.md-peach { background:#fcf2ec; border-color:#eddfd2; }.md-metric.md-gold { background:#faf7ea; border-color:#eae5d0; }
.md-metric:hover { border-color:#a5c1ae; }
.md-section-label { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; }
.md-section-label h2 { font-size:15px; margin:0; font-weight:600; }.md-section-label>span { font-size:10px; color:var(--md-muted); }
.md-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.md-panel { padding:21px; border:1px solid #dfe8e2; border-radius:15px; background:#fff; min-width:0; overflow:hidden; }
.md-panel>header { display:flex; align-items:start; justify-content:space-between; gap:14px; margin-bottom:19px; }
.md-panel>header p { color:var(--md-muted); font-size:10px; margin:0 0 6px; }.md-panel>header h2 { color:var(--md-ink); font-size:16px; margin:0; letter-spacing:-.3px; font-weight:600; }
.md-link { display:inline-flex; align-items:center; justify-content:space-between; gap:7px; background:transparent; border:0; padding:3px 0; font-family:inherit; font-size:10px; font-weight:600; color:#39684f; cursor:pointer; flex-shrink:0; text-align:left; }
.md-attendance,.md-behaviour { grid-column:span 8; }.md-attention,.md-completion { grid-column:span 4; }.md-cohorts { grid-column:1 / -1; }.md-clinic { grid-column:1 / -1; }
.md-year-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(113px,1fr)); gap:10px; }
.md-year { font:inherit; border:1px solid #dfe7e1; border-radius:10px; background:#f7faf8; padding:15px 12px; text-align:left; display:flex; flex-direction:column; gap:10px; color:#264c3e; cursor:pointer; min-width:0; }
.md-year>span { font-size:10px; font-weight:600; }.md-year>strong { font-size:22px; font-weight:600; letter-spacing:-.7px; font-variant-numeric:tabular-nums; }.md-year>small { font-size:9px; color:#79867e; line-height:1.5; }
.md-year.good { background:#edf5ef; border-color:#d7e6db; }.md-year.mid { background:#faf6e9; border-color:#ebe3c9; }.md-year.below { background:#fcf0e9; border-color:#eedbcf; }.md-year.no-data>strong { color:#93a298; }
.md-year:hover { border-color:#91ad9a; }
.md-priorities { display:grid; }
.md-priorities>button { display:grid; grid-template-columns:35px minmax(0,1fr) 12px; align-items:center; gap:10px; padding:13px 0; border:0; border-bottom:1px solid #edf1ee; background:transparent; cursor:pointer; text-align:left; color:var(--md-ink); font:inherit; }
.md-priorities>button:first-child { padding-top:0; }.md-priorities>button:last-child { border-bottom:0; }.md-priorities b { font-size:22px; font-weight:600; letter-spacing:-1px; font-variant-numeric:tabular-nums; }.md-priorities .coral { color:#b16c50; }.md-priorities .gold { color:#a58c43; }.md-priorities .blue { color:#648e9f; }
.md-priorities strong { display:block; font-size:11px; font-weight:600; }.md-priorities small { display:block; color:var(--md-muted); font-size:9px; line-height:1.5; margin-top:4px; }
.md-priorities>button>span:last-child { color:#7c9185; }.md-priorities>button:hover { background:#f8faf8; }
.md-chart-scroll { max-width:100%; }.md-behaviour-chart { width:100%; height:auto; display:block; }.md-behaviour-chart text { font-family:inherit; font-size:11px; fill:#78887e; }.md-behaviour-chart rect:focus-visible { outline:2px solid #1d5b41; outline-offset:2px; }
.md-chart-data-scroll { max-width:100%; max-height:230px; overflow:auto; margin-top:12px; border:1px solid #e7ede9; border-radius:8px; }
.md-chart-data { width:100%; border-collapse:collapse; font-size:10px; font-variant-numeric:tabular-nums; }
.md-chart-data caption { padding:8px 10px; text-align:left; color:var(--md-muted); font-size:10px; font-weight:600; }
.md-chart-data th,.md-chart-data td { padding:7px 10px; border-top:1px solid #edf1ee; text-align:right; white-space:nowrap; }
.md-chart-data th:first-child,.md-chart-data td:first-child { text-align:left; }
.md-chart-data thead th { position:sticky; top:0; background:#f7faf8; color:#60756c; font-weight:600; }
.md-chart-summary { margin:0 0 12px; color:var(--md-muted); font-size:11px; }
.md-nationality-rows { display:grid; gap:9px; }
.md-nationality-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(70px,1.5fr) auto; align-items:center; gap:10px; font-size:11px; }
.md-nationality-row>span:first-child { overflow:hidden; text-overflow:ellipsis; }
.md-nationality-track { height:8px; background:#edf3ef; border-radius:99px; overflow:hidden; }
.md-nationality-track i { display:block; height:100%; background:#397b60; border-radius:inherit; }
.md-nationality-row strong { color:#294d3e; font-size:10px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.md-nationality-chart { max-height:300px; overflow:auto; padding:1px 1px 8px; }
.md-legend { display:flex; flex-wrap:wrap; gap:17px; margin-top:10px; color:var(--md-muted); font-size:10px; }.md-legend>span { display:flex; align-items:center; gap:6px; }.md-legend i { width:7px; height:7px; border-radius:2px; }
.md-submission-chart .ad-ring-layout { flex-direction:row; gap:13px; }.md-submission-chart .ad-ring { width:150px; height:150px; }.md-submission-chart .ad-ring-key { flex:1; }.md-submission-chart .ad-ring-center strong { font-size:24px; }
.md-submission-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:17px; margin-top:17px; border-top:1px solid #edf1ed; font-size:11px; }.md-submission-bottom b { font-weight:600; }
.md-footnote { font-size:10px; line-height:1.6; margin:16px 0 0; color:var(--md-muted); }
.md-message { display:grid; place-content:center; min-height:150px; color:var(--md-muted); font-size:12px; text-align:center; padding:20px; line-height:1.7; }.md-message.error { color:#ae5e49; }
.md-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; color:var(--md-muted); }.md-bottom>p { font-size:10px; max-width:650px; line-height:1.6; }.md-bottom>div { display:flex; gap:16px; }.md-bottom>div>button { background:none; border:0; padding:3px 0; font:inherit; font-size:10px; font-weight:600; color:#39684f; cursor:pointer; }
.mis-data-dashboard button:focus-visible,.mis-data-dashboard input:focus-visible,.mis-data-dashboard select:focus-visible { outline:2px solid #286847; outline-offset:3px; }
@media(max-width:1250px) { .md-submission-chart .ad-ring-layout { flex-direction:column; }.md-submission-chart .ad-ring-key { width:100%; }.md-panel>header { flex-wrap:wrap; }.md-heading h1 { font-size:32px; } }
@media(max-width:1000px) { .md-grid { gap:14px; }.md-attendance,.md-behaviour { grid-column:span 7; }.md-attention,.md-completion { grid-column:span 5; }.md-scorecards { gap:10px; }.md-metric { padding:17px; }.md-metric>strong { font-size:31px; }.md-panel { padding:18px; }.md-heading>div:last-child { flex-direction:column-reverse; align-items:end; gap:6px; } }
@media(max-width:750px) { .md-grid>.md-panel { grid-column:1 / -1; }.md-controls { gap:14px; }.md-presets { margin-left:0; }.md-submission-chart .ad-ring-layout { flex-direction:row; }.md-heading h1 { font-size:29px; }.md-heading [data-md-status] { display:none; }.md-scorecards { grid-template-columns:repeat(2,minmax(0,1fr)); }.md-bottom { display:block; } }
@media(max-width:480px) { .md-heading { align-items:start; gap:12px; }.md-heading h1 { font-size:27px; }.md-heading>div:first-child>p:last-child { font-size:11px; line-height:1.5; }.md-heading .button { font-size:10px; padding:9px; }.md-heading .md-eyebrow { font-size:8px; }.md-controls { padding:12px; gap:12px; }.md-date-range { flex:1 1 100%; justify-content:space-between; padding:0 0 10px; border:0; border-bottom:1px solid #e3eae5; }.md-date-range label { flex:1; }.md-date-range input { width:100%; }.md-cohort-select { flex:1; }.md-presets { flex:1; }.md-metric { padding:15px; }.md-metric>span { font-size:10px; min-height:27px; }.md-metric>strong { font-size:30px; margin-top:7px; }.md-metric>small { font-size:9px; }.md-section-label { align-items:start; }.md-section-label>span { max-width:145px; text-align:right; line-height:1.5; }.md-year-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.md-panel { padding:16px; }.md-panel>header h2 { font-size:15px; }.md-behaviour-chart text { font-size:18px; }.md-bottom>div { flex-wrap:wrap; }.md-submission-chart .ad-ring { width:145px; height:145px; } }
.mis-data-dashboard { --ad-green:#25745d; --ad-ink:#193d34; --ad-muted:#6e817b; --ad-line:#e5ece8; }

/* School overview: readable labels, task shortcuts and a scannable cohort register. */
.mis-data-dashboard { --md-muted:#53695e; }
.md-heading p { font-size:14px; line-height:1.6; }
.md-heading .md-eyebrow { font-size:11px; }
.md-heading [data-md-status] { font-size:12px; max-width:185px; }
.md-controls { gap:16px; padding:14px 18px; }
.md-controls label>span { font-size:11px; color:var(--md-muted); }
.md-controls input,.md-controls select { height:36px; font-size:14px; }
.md-controls .button,.md-heading .button { min-height:44px; font-size:12px; }
.md-presets button,.md-reset { min-height:40px; font-size:12px; }
.md-shortcuts { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; margin:-8px 0 22px; padding:0 2px; }
.md-shortcuts .md-link { min-height:44px; font-size:13px; gap:12px; }
.md-metric>span { font-size:13px; line-height:1.45; }
.md-metric>small { font-size:12px; color:var(--md-muted); }
.md-section-label>span { font-size:12px; }
.md-panel>header p { font-size:12px; line-height:1.5; }
.md-panel>header h2 { font-size:18px; }
.md-link { min-height:36px; font-size:12px; }
.md-priorities strong { font-size:13px; line-height:1.5; }
.md-priorities small { font-size:11px; color:var(--md-muted); }
.md-priorities>button { min-height:64px; }
.md-footnote,.md-bottom>p { font-size:11px; }
.md-legend { font-size:12px; }
.md-submission-bottom { font-size:13px; }
.md-submission-chart .ad-ring-key>div,.md-submission-chart .ad-ring-center span { font-size:12px; }
.md-cohorts { padding:0; }
.md-cohorts>header { padding:20px 22px 0; }
.md-cohorts>.md-footnote { padding:0 22px 16px; }
.app-shell .mis-data-dashboard .table-scroll.md-cohort-scroll { max-height:none; height:auto; }
.app-shell .md-cohort-table { min-width:940px; }
.app-shell .md-cohort-table tbody th { padding:0 16px; text-align:left; }
.md-year-link { display:flex; align-items:center; justify-content:space-between; gap:18px; background:transparent; border:0; padding:9px 0; width:100%; min-height:44px; font:inherit; font-weight:600; color:var(--md-ink); text-align:left; cursor:pointer; }
.md-year-link>span { color:#587963; }
.md-rate { display:inline-block; padding:3px 10px; min-width:65px; text-align:center; border-radius:6px; font-weight:600; font-variant-numeric:tabular-nums; }
.md-rate.good { color:#275938; background:#e8f2eb; }
.md-rate.mid { color:#765b1d; background:#f6efdb; }
.md-rate.below { color:#97462e; background:#fbece5; }
.md-rate.no-data { color:var(--md-muted); }
@media(max-width:1100px) {
  .md-presets { margin-left:0; }
  .md-date-range { gap:10px; }
  .md-heading { align-items:start; }
}
@media(max-width:750px) {
  .md-grid { grid-template-columns:minmax(0,1fr); }
  .md-attention { order:-1; }
  .md-heading [data-md-status] { display:block; }
  .md-heading>div:last-child { min-width:100px; }
  .md-heading h1 { font-size:30px; }
  .md-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .md-date-range { grid-column:1 / -1; border-right:0; padding-right:0; }
  .md-date-range label { flex:1; }
  .md-controls input { width:100%; }
  .md-presets { width:100%; }
  .md-presets button { flex:1; }
  .md-filter-error { grid-column:1 / -1; }
  .md-heading p { font-size:13px; }
  .md-panel>header { flex-wrap:wrap; }
}
@media(max-width:480px) {
  .md-heading { flex-wrap:wrap; }
  .md-heading>div:last-child { width:100%; flex-direction:row; align-items:center; justify-content:space-between; }
  .md-heading>div:first-child>p:last-child { font-size:13px; }
  .md-heading .md-eyebrow { font-size:10px; }
  .md-controls input,.md-controls select { font-size:16px; min-height:40px; }
  .md-scorecards { gap:10px; }
  .md-metric { padding:16px 14px; }
  .md-metric>span { font-size:12px; min-height:36px; }
  .md-metric>small { font-size:11px; }
  .md-section-label { flex-wrap:wrap; }
  .md-section-label>span { max-width:none; text-align:left; }
  .md-shortcuts { gap:0 18px; }
  .md-shortcuts .md-link { font-size:12px; }
  .md-submission-chart .ad-ring-layout { flex-direction:column; }
  .md-cohorts { padding:0; }
}
@media(min-width:751px) and (max-width:1000px) {
  .md-controls { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; }
  .md-presets { grid-column:1 / 3; }
  .md-reset { justify-self:end; }
  .md-attendance,.md-attention { grid-column:1 / -1; }
  .md-attention { order:-1; }
  .md-priorities { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
  .md-priorities>button:first-child { padding-top:13px; }
  .md-scorecards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .md-metric { padding:18px; }
  .md-metric>span { min-height:0; }
}

.md-rewards{grid-column:1 / -1}.md-rewards .md-priorities{display:flex;flex-wrap:wrap;gap:18px}.md-rewards .md-priorities p{margin:0}

.md-attendance-change { display:inline-block; margin-left:6px; font-size:20px; font-weight:700; }
.md-attendance-change.up { color:#237444; }
.md-attendance-change.down { color:#b43131; }
.md-attendance-change.equal { color:#68766e; }

/* Keep natural card heights, complete cohort rows and predictable responsive spans. */
.md-grid { align-items:stretch; }
.md-grid>.md-panel { grid-column:span var(--md-card-span,12); }
.md-attendance,.md-behaviour { --md-card-span:8; }
.md-attention,.md-completion { --md-card-span:4; }
.md-cohorts,.md-clinic,.md-rewards { --md-card-span:12; }
.md-panel>header { flex-wrap:wrap; }
.md-heading>div:last-child { flex-wrap:wrap; justify-content:flex-end; }
.md-layout-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 20px; padding:18px; border:1px solid #bed4c5; border-radius:12px; background:#eef6f0; }
.md-layout-toolbar>div { flex:1 1 280px; }
.md-layout-toolbar p { margin:6px 0 0; font-size:13px; line-height:1.5; }
.md-layout-toolbar [role=status] { flex-basis:100%; font-size:12px; }
.md-card-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-bottom:1px solid #dce6df; padding:0 0 12px; margin:0 0 16px; }
.md-cohorts>.md-card-tools { padding:16px; margin-bottom:0; }
.md-card-tools button,.md-card-tools select { font:inherit; color:#224c39; background:#f5f9f6; border:1px solid #ccdbd0; border-radius:6px; padding:8px; min-height:40px; }
.md-card-tools button { cursor:pointer; }
.md-card-tools [draggable] { cursor:grab; }
.md-card-tools label { display:flex; align-items:center; gap:6px; font-size:12px; }
.md-card-hidden { border-style:dashed; background:#f6f8f6; }
.md-card-hidden>header,.md-card-hidden>header~* { opacity:.5; }
.md-editing { outline:1px dashed #b9cdbf; outline-offset:8px; }
@media(max-width:1000px) { .md-grid>.md-panel { grid-column:1 / -1; } }

.md-rewards .md-priorities strong { display:inline; }
.md-rewards .md-priorities p { flex:0 1 auto; font-size:13px; line-height:1.6; }
