/* Dashboard: a ruled working page, with the attention column kept distinct. */
.dash { min-height: 100%; background: var(--ink-1); color: var(--bone-1); }
.dash__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--s-3); padding: var(--s-3) var(--s-4) var(--s-2); border-bottom: var(--w-rule) solid var(--rule-2); }
.dash__title { margin: 0; font-size: var(--t-sub); font-weight: 600; }
.dash__windows { display: flex; flex-wrap: wrap; gap: var(--s-1); }
.dash__windows .chip { cursor: pointer; }
.dash__windows .chip[data-active="true"] { color: var(--bone-1); background: var(--live-wash); border-color: var(--live); }
.dash__note { margin: 0 0 0 auto; color: var(--bone-3); font: var(--t-small)/1.4 var(--font-figure); font-variant-numeric: tabular-nums; }
.dash__message { margin: var(--s-3) var(--s-4); color: var(--bone-2); font-size: var(--t-small); }
.dash__message:empty { display: none; }
.dash { display: flex; flex-direction: column; }
.dash__columns { flex: 1 0 auto; display: grid; grid-template-columns: minmax(18rem, 23rem) minmax(0, 1fr); align-items: stretch; }
.dash__attention { min-width: 0; min-height: 100%; padding: var(--s-4); background: var(--ink-2); border-right: var(--w-rule) solid var(--rule-2); }
.dash__sectionTitle { margin: 0 0 var(--s-3); padding-bottom: var(--s-2); border-bottom: var(--w-band) solid var(--rule-3); font-size: var(--t-base); font-weight: 600; }
.dash__group { margin-top: var(--s-4); }
.dash__groupHead { margin: 0; padding-bottom: var(--s-2); border-bottom: var(--w-rule) solid var(--rule-2); color: var(--bone-3); font-size: var(--t-micro); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.dash__rows { display: grid; }
.dash__row { height: var(--m-row); min-width: 0; border-bottom: var(--w-rule) solid var(--rule-1); cursor: pointer; }
.dash__row:hover { background: var(--ink-3); }
.dash__ticketLine { height: calc(var(--m-row) - var(--w-band) - var(--w-rule)); min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--s-2); }
.dash__ref { color: var(--live-ink); font: var(--t-small)/1.3 var(--font-figure); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash__ticketTitle { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--t-small); }
.dash__age { color: var(--bone-2); font: var(--t-small)/1.3 var(--font-figure); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash__age.is-late { color: var(--rubric-ink); }
.dash__holder { max-width: 10ch; overflow: hidden; text-overflow: ellipsis; color: var(--bone-3); font: var(--t-small)/1.3 var(--font-text); white-space: nowrap; }
.dash__agebar { display: block; width: 100%; height: var(--w-band); color: var(--bone-2); }
.dash__empty { margin: 0; padding: var(--s-2) 0; color: var(--bone-3); font-size: var(--t-small); }
.dash__empty[hidden] { display: none; }
.dash__review { min-width: 0; padding: var(--s-4); }
.dash__block { min-width: 0; margin: 0 0 var(--s-5); }
.dash__blockTitle { margin: 0 0 var(--s-2); padding-bottom: var(--s-2); border-bottom: var(--w-band) solid var(--rule-3); font-size: var(--t-base); font-weight: 600; }
.dash__lineChart { min-width: 0; color: var(--bone-1); }
.dash__lineChart svg { display: block; width: 100%; height: 160px; overflow: visible; }
.chart__frame, .chart__tick { color: var(--rule-3); }
.chart__raised { color: var(--bone-1); }
.chart__resolved { color: var(--bone-2); }
.chart__x-label, .chart__axis-label { fill: var(--bone-3); font: var(--t-micro)/1 var(--font-figure); font-variant-numeric: tabular-nums; }
.dash__legend { display: flex; gap: var(--s-4); margin: 0 0 var(--s-2); color: var(--bone-2); font-size: var(--t-small); }
.dash__key { display: inline-flex; align-items: center; gap: var(--s-2); }
.dash__swatch { width: 16px; border-top: 1px solid currentColor; }
.dash__key--raised .dash__swatch { color: var(--bone-1); }
.dash__key--resolved .dash__swatch { border-top-style: dashed; }
.dash__speedRows { display: grid; }
.dash__speedRow { min-height: var(--m-row); display: grid; grid-template-columns: 9rem 6ch 6rem minmax(0, 1fr); align-items: center; gap: var(--s-3); border-bottom: var(--w-rule) solid var(--rule-1); }
.dash__speedName { color: var(--bone-2); font-size: var(--t-small); }
.dash__median, .dash__figure { color: var(--bone-1); font: var(--t-base)/1.3 var(--font-figure); font-variant-numeric: tabular-nums; }
.dash__sparkline { display: block; width: 6rem; height: 1.25rem; color: var(--bone-2); }
.dash__sparkline .chart__live { color: var(--live-ink); }
.dash__speedDetail, .dash__subnote { color: var(--bone-3); font-size: var(--t-small); font-variant-numeric: tabular-nums; text-align: left; }
.dash__subnote { margin: var(--s-2) 0 0; }
.dash__table { width: 100%; border-collapse: collapse; text-align: left; }
.dash__table th { padding: 0 var(--s-2) var(--s-2); border-bottom: var(--w-band) solid var(--rule-3); color: var(--bone-2); font-size: var(--t-micro); font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.dash__sort { padding: 0; color: inherit; background: none; border: 0; font: inherit; text-transform: inherit; cursor: pointer; }
.dash__sort:hover { color: var(--bone-1); }
.dash__table td { height: var(--m-row); padding: var(--s-1) var(--s-3); border-bottom: var(--w-rule) solid var(--rule-1); color: var(--bone-1); font-size: var(--t-small); white-space: nowrap; vertical-align: middle; }
.dash__cell--raised, .dash__cell--resolved, .dash__cell--claimed, .dash__cell--holding { font-family: var(--font-figure); font-variant-numeric: tabular-nums; }
.dash__figure { display: inline-block; min-width: 3ch; }
.dash__cell--name { min-width: 8rem; }
.chart__cellbar { display: inline-block; width: 6rem; height: var(--w-band); margin-left: var(--s-2); vertical-align: middle; color: var(--bone-2); }
.chart__cellbar-track, .chart__agebar-track { fill: var(--rule-3); }
.chart__cellbar-fill, .chart__agebar-fill { fill: currentColor; }
.dash__emptyRow td { color: var(--bone-3); }
.dash__th[aria-sort="ascending"] .dash__sort,
.dash__th[aria-sort="descending"] .dash__sort { color: var(--bone-1); }
.dash__th[aria-sort="ascending"] .dash__sort::after { content: " ↑"; }
.dash__th[aria-sort="descending"] .dash__sort::after { content: " ↓"; }
@media (max-width: 820px) {
  .dash__columns { grid-template-columns: minmax(0, 1fr); }
  .dash__attention { border-right: 0; border-bottom: var(--w-band) solid var(--rule-3); }
  .dash__speedRow { grid-template-columns: minmax(0, 1fr) 6ch 6rem; }
  .dash__speedDetail { grid-column: 1 / -1; padding-bottom: var(--s-2); }
  .dash__table { min-width: 42rem; }
  .dash__block:has(.dash__table) { overflow-x: auto; }
}
