/* Approved asset pack: one source for colours, tokens, icons and badges. */
@import url('./ui-assets/tokens/colours.css');
@import url('./ui-assets/tokens/ui-tokens.css');
@import url('./ui-assets/badges/badges.css');
@import url('./ui-assets/loading/loading.css');
@import url('./ui-assets/charts/chart-tokens.css');
@import url('./ui-assets/icon-map.css');

/* The approved dashboard palette is the application-wide theme. The asset pack
   retains its portable defaults; these semantic aliases also theme its badges. */
:root {
  --vt-bg-app:#071521; --vt-bg-sidebar:#081824;
  --vt-bg-surface:#0b1d2a; --vt-bg-surface-raised:#102535; --vt-bg-surface-hover:#132e40;
  --vt-border-default:#1b3547; --vt-border-subtle:#162e3e; --vt-border-strong:#42708b;
  --vt-text-primary:#eef5fb; --vt-text-secondary:#a8bdce; --vt-text-muted:#a8bdce;
  --vt-brand-primary:#2ad4ad; --vt-brand-primary-hover:#63e3c5; --vt-on-brand:#052b24;
  --vt-cyan:#4cc3f1; --vt-teal:#2ad4ad; --vt-coral:#f1667b; --vt-violet:#a78bfa; --vt-amber:#ecb05a;
  --vt-focus:var(--vt-cyan); --vt-radius:9px;
  --vt-status-success:#2ad4ad; --vt-status-info:#86d8f8; --vt-status-warning:#ecb05a;
  --vt-status-overdue:#f5b18a; --vt-status-danger:#ff9baa; --vt-status-neutral:#a8bdce;
  --vt-status-success-bg:#102e2d; --vt-status-success-border:#28615b;
  --vt-status-info-bg:#102d40; --vt-status-info-border:#315870;
  --vt-status-warning-bg:#302a20; --vt-status-warning-border:#77603b;
  --vt-status-overdue-bg:#322824; --vt-status-overdue-border:#80604b;
  --vt-status-danger-bg:#352330; --vt-status-danger-border:#844857;
  --vt-status-neutral-bg:#102535; --vt-status-neutral-border:#385365;
  --vt-success:var(--vt-status-success); --vt-success-surface:var(--vt-status-success-bg); --vt-success-border:var(--vt-status-success-border);
  --vt-info:var(--vt-status-info); --vt-info-surface:var(--vt-status-info-bg); --vt-info-border:var(--vt-status-info-border);
  --vt-warning:var(--vt-status-warning); --vt-warning-surface:var(--vt-status-warning-bg); --vt-warning-border:var(--vt-status-warning-border);
  --vt-danger:var(--vt-status-danger); --vt-danger-surface:var(--vt-status-danger-bg); --vt-danger-border:var(--vt-status-danger-border);
  --vt-pending:#c2acff; --vt-pending-surface:#251f39; --vt-pending-border:#655483;
  --vt-chart-occupancy:var(--vt-cyan); --vt-chart-in:var(--vt-teal); --vt-chart-out:var(--vt-violet);
  --vt-chart-incidents:var(--vt-coral); --vt-chart-refusals:var(--vt-cyan); --vt-chart-grid:#203848;
  --vt-bg: var(--vt-bg-app);
  --vt-surface: var(--vt-bg-surface);
  --vt-surface-raised: var(--vt-bg-surface-raised);
  --vt-text: var(--vt-text-primary);
  --vt-muted: var(--vt-text-secondary);
  --vt-border: var(--vt-border-default);
  --vt-accent: var(--vt-brand-primary);
  --vt-on-accent: var(--vt-on-brand);
  --vt-font: var(--vt-font-family);
}
.vt-icon, [data-vt-nav-icon]::before {
  display:inline-block; width:20px; height:20px; flex:0 0 20px;
  background-color:currentColor;
  -webkit-mask:var(--vt-glyph) center / contain no-repeat;
  mask:var(--vt-glyph) center / contain no-repeat;
  pointer-events:none;
}
.vt-badge .vt-icon { width:16px; height:16px; flex-basis:16px; }
body .nav-list button[data-vt-nav-icon], body .settings-nav-wrap button[data-vt-nav-icon] { display:flex; align-items:center; gap:10px; text-align:left; }
[data-vt-nav-icon]::before { content:''; }
body .nav-list button.active { box-shadow:inset 3px 0 0 var(--vt-brand-primary); }
body .brand-logo { width:174px; }
body .connection-pill { display:inline-flex; align-items:center; gap:6px; border-radius:var(--vt-radius-sm); }
.connection-pill::before { content:''; width:6px; height:6px; flex:none; border-radius:50%; background:currentColor; }
@media(max-width:760px) {
  body .brand-logo { width:142px; }
  body .nav-list button[data-vt-nav-icon] { padding:10px 8px; gap:8px; }
}
@media(forced-colors:active) {
  .vt-icon, [data-vt-nav-icon]::before { background-color:CanvasText; forced-color-adjust:none; }
}

body #settingsNavToggle > span:first-child { flex:1; }
