/* Scoped to the five live home pages; existing catalogue filters are reused. */
body #content:has(.portal-dashboard){display:block;max-width:100%}.portal-dashboard{max-width:1360px;margin:0 auto;color:#263243;min-width:0}.dash-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 24px}.dash-header h1{font-size:30px!important;line-height:1.22;letter-spacing:-.025em;margin:0 0 9px!important;font-weight:650}.dash-header p,.dash-header small{font-size:12px;color:#7a879a;margin:0;line-height:1.6}.dash-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.portal-dashboard [data-dash-body]{display:grid;gap:18px}.dash-panel{padding:22px;border:1px solid #e3e8ef;border-radius:8px;background:#fff;min-width:0}.dash-panel h2,.dash-school-stats>h2{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 18px;line-height:1.3}.dash-panel .section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}.dash-panel .section-head h2{margin:0}.dash-panel h3{font-size:13px;line-height:1.5;margin:0 0 6px}.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}.dash-keyfigures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0;border-block:1px solid #edf0f4;background:#fff;margin-bottom:2px}.dash-keyfigures>div{display:flex;align-items:center;gap:16px;padding:0 24px;border-right:1px solid #edf0f4}.dash-keyfigures>div:last-child{border:0}.dash-keyfigures i{font-size:27px;color:#4b607e}.dash-keyfigures strong{font-size:26px;line-height:1.3;display:block;font-weight:600}.dash-keyfigures small{font-size:12px;color:#718096;display:block;margin-top:4px}.dash-progress{display:flex;align-items:center;gap:14px;margin:25px 0}.dash-progress b{font-size:13px;white-space:nowrap}.portal-dashboard progress{display:block;appearance:none;width:100%;height:10px;border:0;border-radius:4px;overflow:hidden;background:#e8edf4}.portal-dashboard progress::-webkit-progress-bar{background:#e8edf4}.portal-dashboard progress::-webkit-progress-value{background:#2864de}.portal-dashboard progress::-moz-progress-bar{background:#2864de}.dash-values{display:flex;gap:16px;align-items:flex-start;margin:18px 0 16px}.dash-values>div{flex:1;min-width:0;padding-right:12px;border-right:1px solid #e9edf3}.dash-values>div:last-child{border:0}.dash-values strong{display:block;font-size:21px;line-height:1.4;overflow-wrap:anywhere;font-weight:600}.dash-values small{display:block;font-size:11px;color:#77869c;line-height:1.5}.dash-values strong small{display:inline;font-size:13px;font-weight:400}.dash-caption{font-size:11px!important;color:#7a8799;line-height:1.6;margin:12px 0}.dash-empty,.dash-error{font-size:13px;line-height:1.7;color:#76859a;margin:14px 0}.dash-error{color:#9a4b3d}.portal-dashboard .text-btn{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.5}.portal-dashboard .primary-btn{font-size:12px;border-radius:5px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.dash-period,.dash-period select,.dash-schooling select{font:inherit;font-size:12px;color:#667891}.dash-period select,.dash-schooling select{border:1px solid #dce3ed;border-radius:5px;background:#fff;padding:8px}.dash-chart{border-top:1px solid #edf0f5;margin-top:20px;padding-top:20px}.dash-chart canvas{width:100%;height:180px;display:block}.dash-connection-bars{display:flex;gap:6px;align-items:flex-end;height:120px;margin:20px 0 10px}.dash-connection-bars>div{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;text-align:center}.dash-connection-bars progress{height:85px;transform:rotate(-90deg);width:85px;max-width:100%;align-self:center}.dash-connection-bars span{font-size:10px;color:#7b889c}.dash-school-stats .dash-keyfigures{margin-bottom:20px}.dash-school-stats .dash-panel{padding:0;border:0;border-radius:0}.dash-coordination{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:18px}.dash-coordination-actions{display:grid;gap:18px;align-content:start;min-width:0}.dash-segments{display:flex;gap:6px;margin-bottom:16px}.dash-segments button{border:0;border-radius:18px;background:#f3f6fa;color:#65758d;padding:8px 14px;font:inherit;font-size:12px;cursor:pointer}.dash-segments button[aria-pressed=true]{background:#2563eb;color:white}.dash-agenda-row{display:flex;gap:18px;align-items:flex-start;padding:19px 0;border-bottom:1px solid #edf0f5}.dash-agenda-row time{flex:0 0 110px;color:#708199;font-size:12px;line-height:1.7}.dash-agenda-row time small{display:block;font-size:11px}.dash-agenda-row>div{flex:1;min-width:0}.dash-agenda-row p{font-size:12px;color:#7a889a;line-height:1.5;margin:0}.dash-agenda-row>.text-btn{font-size:0;padding:3px}.dash-agenda-row>.text-btn i{font-size:16px}.dash-upcoming-events{margin-top:26px;padding-top:24px;border-top:1px solid #e8edf5}.dash-task{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid #edf0f4}.dash-task>i{font-size:21px;color:#657b9a;flex-shrink:0}.dash-task>div{flex:1;min-width:0}.dash-task strong{font-size:13px;line-height:1.5}.dash-task p{font-size:12px;color:#7a879a;margin:5px 0 0;line-height:1.6}.dash-task>.text-btn{align-self:center;white-space:nowrap}.dash-recent{padding:16px 0;border-bottom:1px solid #edf0f5}.dash-recent strong{font-size:13px}.dash-recent p,.dash-recent small{font-size:11px;color:#7a879a;margin:5px 0;line-height:1.6}.dash-school-summary{margin-top:12px;color:#65778e;font-size:13px}.dash-school-summary>summary{cursor:pointer;padding:12px 0}.dash-next{display:flex;align-items:center;gap:24px;justify-content:space-between}.dash-next>div:first-child{min-width:0}.dash-next small{font-size:11px;color:#71829b}.dash-next h2{font-size:24px;margin:12px 0 16px;line-height:1.4}.dash-next p{font-size:13px;color:#718096;margin:7px 0;line-height:1.7}.dash-next-actions{display:flex;flex-direction:column;gap:12px;flex:0 0 auto;align-items:flex-start}.dash-week-controls{display:flex;align-items:center;gap:8px;font-size:12px;color:#74839a;flex-wrap:wrap}.dash-week-controls>.secondary-btn{padding:7px}.dash-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:22px}.dash-week.has-weekend{grid-template-columns:repeat(7,minmax(0,1fr))}.dash-week-day{padding:14px 10px;border:1px solid #e5eaf2;border-radius:6px;min-width:0}.dash-week-day.is-today{background:#f5f8ff;border-color:#b5cbf8}.dash-week-day h3{font-size:11px;margin:0 0 14px;color:#5f728c}.dash-week-day button{width:100%;font:inherit;text-align:left;padding:0 0 10px;margin:0 0 10px;border:0;border-bottom:1px solid #edf0f5;background:transparent;cursor:pointer;line-height:1.5;color:#283547}.dash-week-day button:last-child{padding:0;margin:0;border:0}.dash-week-day strong{font-size:12px;display:block;overflow-wrap:anywhere}.dash-week-day span{font-size:11px;color:#71829b;display:block;margin-top:8px}.dash-week-day p{font-size:12px;color:#8994a5}.dash-deadline{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #edf0f4}.dash-deadline time{flex:0 0 100px;font-size:12px;color:#637992;line-height:1.7}.dash-deadline p,.dash-deadline small{font-size:12px;color:#7a879a;margin:5px 0}.dash-grade-bars{display:grid;gap:15px;margin:24px 0}.dash-grade-bars>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(70px,1fr) 30px;gap:12px;align-items:center;font-size:11px;color:#6e7f95}.dash-schooling>.secondary-btn{display:block;margin-top:12px;white-space:normal;text-align:left}.dash-schooling>.text-btn{margin-top:16px}.portal-dashboard [data-dash-reviews] .grades-pending{padding:0;border:0;box-shadow:none;margin:0}.portal-dashboard [data-dash-reviews] .grades-pending>h2{font-size:16px}.portal-dashboard [data-dash-reviews] .grades-pending>p{font-size:12px;color:#7a879a}.portal-dashboard .grade-pending-row{flex-wrap:wrap;gap:10px}.portal-dashboard [data-dash-filters] .scope-filter-bar{margin:0 0 20px}.portal-dashboard [data-dash-filters]>.demo-note{margin-bottom:12px}.portal-dashboard .filter-bar{box-shadow:none}.portal-dashboard .dash-filter-toggle{display:none}
@media(max-width:1000px){.dash-coordination{grid-template-columns:1fr}.dash-coordination-actions{grid-row:1}.dash-keyfigures>div{padding-inline:12px;gap:12px}.dash-week.has-weekend{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-header h1{font-size:26px!important}}
@media(max-width:620px){body #main:has(.portal-dashboard){padding:20px 16px!important}.dash-header{display:block;margin-bottom:20px}.dash-header h1{font-size:25px!important;line-height:1.2}.dash-header-actions{justify-content:flex-start;margin-top:12px;gap:10px}.dash-header-actions .text-btn{font-size:11px}.portal-dashboard [data-dash-body]{gap:14px}.dash-panel{padding:17px 14px;border-radius:7px}.dash-panel h2,.dash-school-stats>h2{font-size:18px;line-height:1.35;margin-bottom:15px}.dash-columns{grid-template-columns:1fr;gap:14px}.dash-keyfigures{padding:14px 0}.dash-keyfigures>div{padding-inline:8px;gap:6px;align-items:flex-start}.dash-keyfigures i{font-size:18px;margin-top:3px}.dash-keyfigures strong{font-size:21px}.dash-keyfigures small{font-size:10px}.dash-values{gap:10px}.dash-values>div{padding-right:6px}.dash-values strong{font-size:17px}.dash-values small{font-size:10px}.dash-progress{margin:20px 0}.dash-panel .section-head{gap:10px}.dash-next{display:block}.dash-next h2{font-size:21px}.dash-next-actions{align-items:stretch;margin-top:18px}.dash-next-actions .primary-btn{width:100%}.dash-next-actions .text-btn{padding:8px 0}.dash-week,.dash-week.has-weekend{grid-template-columns:1fr;gap:0}.dash-week-day{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;border:0;border-bottom:1px solid #e7edf4;border-radius:0;padding:14px 4px}.dash-week-day h3{grid-column:1;grid-row:1/8;font-size:11px;margin:0;line-height:1.7}.dash-week-day button,.dash-week-day p{grid-column:2;margin:0;padding:0}.dash-week-day strong{font-size:13px}.dash-week-day span{font-size:12px;margin-top:6px}.dash-week-controls{font-size:11px;gap:6px}.dash-week-controls span{flex:1;min-width:140px}.dash-task{gap:10px;flex-wrap:wrap}.dash-task>div{flex:1 1 200px}.dash-task>.text-btn{margin-left:31px;min-height:30px;white-space:normal}.dash-agenda-row{gap:10px}.dash-agenda-row time{flex-basis:80px;font-size:11px}.dash-agenda-row h3{font-size:13px}.dash-deadline{gap:12px}.dash-deadline time{flex-basis:80px;font-size:11px}.dash-grade-bars>div{grid-template-columns:minmax(100px,1fr) minmax(65px,1fr) 26px;gap:8px}.dash-caption{font-size:11px!important}.portal-dashboard .dash-filter-toggle{display:inline-flex;margin:0 0 14px;align-items:center;gap:8px}.portal-dashboard [data-dash-filters]{display:block}.portal-dashboard [data-dash-filters][hidden]{display:none}.portal-dashboard [data-dash-filters] .scope-filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}.portal-dashboard [data-dash-filters] .filter-field{min-width:0;width:100%}.portal-dashboard [data-dash-filters] select{max-width:100%}.portal-dashboard [data-dash-filters] .scope-programme-filter,.portal-dashboard [data-dash-filters] .clear-filters{display:none!important}.dash-chart canvas{height:180px}.portal-dashboard button:not(.text-btn){min-height:36px}.portal-dashboard .dash-week-day button{min-height:44px}.portal-dashboard button:disabled{color:#8793a5;background:#f2f4f8}}

@media(max-width:620px){.dash-week-day h3{grid-row:1}.dash-coordination{display:flex;flex-direction:column}.dash-coordination-actions{display:contents}.dash-review-panel{order:0}.dash-coordination .dash-deadlines{order:1}.dash-agenda{order:2}.dash-coordination-tasks{order:3}.dash-coordination-recent{order:4}.dash-school-stats .dash-filter-toggle{margin-top:8px}}

/* Keep both coordination queues visible, including an empty selection. */
.portal-dashboard .dash-review-panel .grades-pending>h2{display:none}.dash-coordination .dash-deadline>div{min-width:0;overflow-wrap:anywhere}

.dash-coordination{align-items:start}
@media(max-width:620px){.dash-coordination{align-items:stretch}}

@media(max-width:620px){.dash-agenda>.section-head [data-dash=planning],.dash-week [data-dash=planning]{display:none!important}}

.remaining-course-list{display:grid;gap:8px;max-height:55dvh;overflow:auto}.remaining-course{text-align:left;display:grid;gap:5px;min-height:52px;border:1px solid #e2e8f0;border-radius:6px;background:white;color:#334155;padding:10px;font:14px Albert Sans,sans-serif}.remaining-course span{font-size:12px;color:#64748b}@media(max-width:620px){.dash-next [data-dash=planning],.dash-week+[data-dash=planning]{display:none!important}}

.remaining-group{border-bottom:1px solid #e4e9f0}.remaining-group>summary{cursor:pointer;padding:14px 8px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.remaining-group>summary span{font-size:13px;color:#64748b}.remaining-course{width:100%;text-align:left}.remaining-volumes{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px}@media(max-width:620px){.remaining-volumes{display:grid;grid-template-columns:1fr}.remaining-group>summary{flex-direction:column;gap:4px}}

/* Coordination: one reading order in the DOM, on desktop and phone. */
.dash-coordination-ordered{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.dash-coordination-ordered>*{min-width:0;order:0}.dash-coordination-ordered>.dash-agenda,.dash-coordination-ordered>.dash-review-panel,.dash-coordination-ordered>.dash-school-summary,.dash-coordination-ordered>.dash-budget{grid-column:1/-1}.dash-coordination-ordered>.dash-school-summary{margin-top:0}@media(max-width:700px){.dash-coordination-ordered{grid-template-columns:minmax(0,1fr);gap:14px}.dash-coordination-ordered>.dash-agenda,.dash-coordination-ordered>.dash-review-panel,.dash-coordination-ordered>.dash-school-summary{order:0}}

.dash-budget-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-budget-values>div{min-width:0;overflow-wrap:anywhere}.dash-budget-values strong{font-size:24px}@media(max-width:700px){.dash-budget-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.dash-budget-values strong{font-size:20px}}

/* One annual budget track; forecast behind actual spending. */
.dash-budget-meter{margin:18px 0 2px;min-width:0}
.dash-budget-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;color:#475569;font-size:13px}
.dash-budget-total strong,.dash-budget-legend dd{font-variant-numeric:tabular-nums;color:#243247;font-weight:650}
.dash-budget-total strong{font-size:17px}
.dash-budget-meter-track{position:relative;height:14px;border-radius:4px;background:#e7ecf3;overflow:hidden}
.dash-budget-meter-track>span{position:absolute;inset:0 auto 0 0;display:block;height:100%}
.dash-budget-meter-track>.projected{background:#a7c1f5}
.dash-budget-meter-track>.consumed{background:#2563eb}
.dash-budget-meter-track.unavailable{background:repeating-linear-gradient(135deg,#f1f4f8 0 5px,#e5eaf1 5px 7px)}
.dash-budget-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0}
.dash-budget-legend>div{min-width:0}
.dash-budget-legend dt{display:flex;align-items:baseline;gap:6px;color:#64748b;font-size:12px;line-height:1.4}
.dash-budget-legend dt i{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:2px;background:#2563eb}
.dash-budget-legend .projected dt i{background:#a7c1f5}
.dash-budget-legend dd{margin:4px 0 0;font-size:15px;overflow-wrap:anywhere}
.dash-budget-legend abbr{cursor:help;text-decoration:none}
.dash-budget-overrun{margin:12px 0 0;color:#b45309;font-size:12px}
@media(max-width:700px){.dash-budget-meter{margin-top:14px}.dash-budget-total strong{font-size:16px}.dash-budget-meter-track{height:12px}.dash-budget-legend{gap:10px;margin-top:12px}.dash-budget-legend dt{font-size:11px}.dash-budget-legend dd{font-size:14px}}
