.dashboard-consumption-wide{grid-column:1/-1}.dashboard-consumption-wide .dashboard-consumption-plot>.dashboard-chart{max-height:320px;min-height:220px}.dashboard-attendance-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border-top:1px solid #e5ebe5;margin-top:12px;padding-top:16px}.dashboard-attendance-panel{min-width:0}.dashboard-attendance-panel h4,.dashboard-monthly-trend h4{font-size:14px;color:#386b58;margin:0 0 8px}.dashboard-attendance-panel>.admin-help{font-size:10px;min-height:26px;margin-bottom:0}.dashboard-attendance-panel .dashboard-chart{height:135px}.dashboard-attendance-panel .dashboard-data-row{font-size:12px;padding:4px 0;gap:6px}.dashboard-monthly-trend{padding:12px 0}.dashboard-monthly-trend+.dashboard-monthly-trend{border-top:1px solid #e5ebe5}.dashboard-monthly-trend .dashboard-chart{max-height:190px;min-height:130px}.dashboard-trend-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;max-height:78px;overflow:auto}.dashboard-trend-series{overflow-wrap:anywhere}.admin-dashboard-card{min-width:0}@media(max-width:640px){.dashboard-attendance-panels{gap:12px}.dashboard-attendance-panel .dashboard-data-row{font-size:11px}.dashboard-consumption-wide .dashboard-consumption-plot>.dashboard-chart{min-width:650px}.dashboard-consumption-plot{overflow-x:auto}.dashboard-monthly-trend .dashboard-chart{min-width:430px}.dashboard-monthly-trend{overflow-x:auto}}
.dashboard-consumption-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,48%);gap:20px;align-items:start;margin-bottom:18px}.dashboard-consumption-heading{min-width:0}.dashboard-financial-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-financial-total{display:flex;flex-direction:column;gap:6px;border:1px solid #dbe8df;background:#f5f8f5;border-radius:12px;padding:12px 14px;min-width:0}.dashboard-financial-label{font-size:12px;color:#526f5e}.dashboard-financial-value{font-size:22px;line-height:1.35;color:#263d33;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dashboard-financial-note{font-size:10px;line-height:1.6;color:#697a70;overflow-wrap:anywhere}@media(max-width:800px){.dashboard-consumption-header{grid-template-columns:minmax(0,1fr);gap:12px}.dashboard-financial-value{font-size:20px}}

/* 2026-10-28: dense-cards layout, blue chrome and supplied six-color data palette. */
.admin-dashboard {
  min-width: 0;
  container: classroom-dashboard / inline-size;
  padding: 0 0 16px;
  color: var(--ink, #243447);
  font-size: 14px;
}
.admin-dashboard-grid { gap: 16px; }
.admin-dashboard .panel.admin-dashboard-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line, #dfe7ef);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
.dashboard-heading {
  margin: 0 0 6px;
  color: var(--ink, #243447);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
.admin-dashboard .dashboard-description,
.admin-dashboard-card .admin-help,
.admin-dashboard-card .admin-empty {
  color: var(--muted, #5f6f80);
  font-size: 12px;
  line-height: 1.65;
  letter-spacing: 0;
}
.admin-dashboard .dashboard-description { margin: 0 0 12px; }
.dashboard-donut-layout { gap: 16px; }
.dashboard-donut-layout > .dashboard-chart { max-width: 210px; }
.dashboard-data-row {
  align-items: baseline;
  gap: 12px;
  padding: 5px 0;
  color: var(--muted, #5f6f80);
  font-size: 14px;
  line-height: 1.5;
}
.dashboard-data-row > span { min-width: 0; overflow-wrap: anywhere; }
.dashboard-data-row > strong {
  flex: none;
  color: var(--ink, #243447);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.dashboard-data-list { margin: 4px 0 10px; }
.dashboard-empty {
  padding: 18px 12px;
  color: var(--muted, #5f6f80);
  font-size: 14px;
  line-height: 1.6;
}
.dashboard-attendance-panels {
  gap: 16px;
  margin-top: 10px;
  padding-top: 12px;
  border-color: var(--line, #dfe7ef);
}
.dashboard-attendance-panel h4,
.dashboard-monthly-trend h4 {
  margin: 0 0 6px;
  color: var(--ink, #243447);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.dashboard-attendance-panel > .admin-help {
  min-height: 0;
  margin: 0 0 4px;
  font-size: 12px;
}
.dashboard-attendance-panel .dashboard-data-row { padding: 4px 0; font-size: 12px; }
.dashboard-monthly-trend { padding: 10px 0; }
.dashboard-monthly-trend + .dashboard-monthly-trend { border-color: var(--line, #dfe7ef); }
.dashboard-trend-legend { gap: 6px 14px; color: var(--muted, #5f6f80); font-size: 12px; line-height: 1.6; }
.dashboard-chart { font-variant-numeric: tabular-nums; }
.dashboard-chart text { fill: var(--muted, #5f6f80); }
.dashboard-chart text[fill="#263d33"] { fill: var(--ink, #243447); }
.dashboard-chart text[font-size="9"],
.dashboard-chart text[font-size="10"],
.dashboard-chart text[font-size="11"] { font-size: 12px; }
.dashboard-monthly-trend .dashboard-chart text[font-size="9"],
.dashboard-monthly-trend .dashboard-chart text[font-size="10"],
.dashboard-monthly-trend .dashboard-chart text[font-size="11"] { font-size: 13px; }
.dashboard-consumption-plot .dashboard-chart text[font-size="9"],
.dashboard-consumption-plot .dashboard-chart text[font-size="10"],
.dashboard-consumption-plot .dashboard-chart text[font-size="11"] { font-size: 16px; }
.dashboard-chart [fill="#386b58"] { fill: var(--green, #167ac6); }
.dashboard-chart [stroke="#386b58"] { stroke: var(--green, #167ac6); }
.dashboard-chart [fill="#dbe8df"] { fill: #e3ebf4; }
.dashboard-chart [stroke="#dbe8df"] { stroke: #e3ebf4; }
.dashboard-chart [stroke="#e5ebe5"] { stroke: var(--line, #dfe7ef); }
.dashboard-chart [fill="#b4554a"] { fill: #a3483d; }
.dashboard-chart [stroke="#b4554a"] { stroke: #a3483d; }
/* Existing SVG source colors remain selectors; only their rendered colors change. */
.dashboard-chart [fill="#a87942"] { fill: #3aa582; }
.dashboard-chart [stroke="#a87942"] { stroke: #3aa582; }
.dashboard-chart [fill="#507f9b"] { fill: #98ba43; }
.dashboard-chart [stroke="#507f9b"] { stroke: #98ba43; }
.dashboard-chart [fill="#a05b78"] { fill: #f49b38; }
.dashboard-chart [stroke="#a05b78"] { stroke: #f49b38; }
.dashboard-chart [fill="#7e7953"] { fill: #e36f8a; }
.dashboard-chart [stroke="#7e7953"] { stroke: #e36f8a; }
.dashboard-chart [fill="#766798"] { fill: #9b8bc5; }
.dashboard-chart [stroke="#766798"] { stroke: #9b8bc5; }
.dashboard-trend-series { --series-color: #167ac6; color: var(--ink, #243447) !important; }
.dashboard-trend-series::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border: 1px solid rgba(36, 52, 71, .18);
  border-radius: 50%;
  background: var(--series-color);
  box-sizing: border-box;
  vertical-align: middle;
}
.dashboard-trend-series:nth-child(6n + 1) { --series-color: #167ac6; }
.dashboard-trend-series:nth-child(6n + 2) { --series-color: #3aa582; }
.dashboard-trend-series:nth-child(6n + 3) { --series-color: #98ba43; }
.dashboard-trend-series:nth-child(6n + 4) { --series-color: #f49b38; }
.dashboard-trend-series:nth-child(6n + 5) { --series-color: #e36f8a; }
.dashboard-trend-series:nth-child(6n) { --series-color: #9b8bc5; }
.dashboard-consumption-wide { grid-column: 1 / -1; }
.dashboard-consumption-header { gap: 16px; margin-bottom: 14px; }
.dashboard-consumption-heading > .dashboard-description { margin-bottom: 0; }
.dashboard-financial-totals {
  gap: 0;
  min-width: 0;
  border: 1px solid var(--line, #dfe7ef);
  border-radius: 10px;
  background: #eef3f8;
}
.dashboard-financial-total {
  gap: 6px;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.dashboard-financial-total + .dashboard-financial-total { border-left: 1px solid var(--line, #dfe7ef); }
.dashboard-financial-label { color: var(--muted, #5f6f80); font-size: 12px; line-height: 1.5; }
.dashboard-financial-value {
  color: var(--ink, #243447);
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
.dashboard-financial-note { color: var(--muted, #5f6f80); font-size: 12px; line-height: 1.55; }
.dashboard-chart-tabs {
  max-width: 100%;
  gap: 4px;
  margin: 0 0 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.dashboard-chart-tab {
  flex: none;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--line, #dfe7ef);
  border-radius: 7px;
  background: #fff;
  color: var(--muted, #5f6f80);
  font: inherit;
  font-size: 12px;
  line-height: 1.5;
}
.dashboard-chart-tab[aria-pressed="true"] {
  border-color: #bfd6e9;
  background: #e6f1fb;
  color: var(--green, #167ac6);
  font-weight: 600;
}
.dashboard-chart-tab:hover { border-color: #b8cbdb; }
.dashboard-chart-tab:focus-visible { outline: 2px solid var(--green, #167ac6); outline-offset: 2px; }
.dashboard-consumption-plot { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.dashboard-consumption-wide .dashboard-consumption-plot > .dashboard-chart { min-width: 860px; }
.dashboard-consumption-plot > .admin-help { margin: 6px 0; }
.dashboard-chart-values { font-size: 12px; }
.dashboard-chart-values summary { color: var(--green, #167ac6); line-height: 1.6; }
.dashboard-chart-values .dashboard-data-row { padding: 6px 0; border-bottom: 1px solid #eaf0f5; font-size: 12px; }
/* Content width, not only viewport width, decides when two chart cards fit. */
@container classroom-dashboard (max-width: 900px) {
  .admin-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .dashboard-consumption-header { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .dashboard-financial-value { font-size: 26px; }
}
@media (max-width: 640px) {
  .admin-dashboard .panel.admin-dashboard-card { padding: 16px; }
  .dashboard-attendance-panels { gap: 12px; }
  .dashboard-attendance-panel .dashboard-data-row { font-size: 12px; }
  .dashboard-financial-total { padding: 12px; }
  .dashboard-financial-value { font-size: 24px; }
  .dashboard-chart-tab { min-height: 42px; }
  .dashboard-consumption-plot,
  .dashboard-monthly-trend { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .dashboard-consumption-wide .dashboard-consumption-plot > .dashboard-chart { min-width: 900px; }
  .dashboard-monthly-trend .dashboard-chart { min-width: 500px; }
  .dashboard-chart-values .dashboard-data-row { gap: 12px; }
}
