:root {
  color-scheme:light;
  --premium-bg:#e5ecdd;
  --premium-shell:#f1f4eb;
  --premium-surface:#f8f8f2;
  --premium-surface-raised:#ffffff;
  --premium-surface-soft:#eef3e9;
  --premium-border:#cbd8c5;
  --premium-border-strong:#adbea8;
  --premium-text:#123b2d;
  --premium-heading:#0f4633;
  --premium-muted:#657264;
  --premium-faint:#7d8a79;
  --premium-action:#2b7660;
  --premium-action-hover:#225f4d;
  --premium-accent:#96d51c;
  --premium-accent-hover:#a8e43a;
  --premium-accent-soft:rgba(150,213,28,.14);
  --premium-warning:#9a6b19;
  --premium-warning-soft:#fff2d6;
  --premium-danger:#a74f45;
  --premium-danger-soft:#f9e6e2;
  --premium-shadow:0 18px 46px rgba(18,59,45,.12);
}

body.premium-dark {
  position:relative;
  isolation:isolate;
  min-height:100vh;
  color:var(--premium-text);
  background:var(--premium-bg);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.premium-dark:before {
  position:fixed;
  z-index:0;
  inset:0;
  width:100vw;
  height:100vh;
  height:100lvh;
  background:
    repeating-radial-gradient(ellipse at 92% -10%,transparent 0 44px,rgba(23,76,56,.035) 45px 46px,transparent 47px 88px),
    radial-gradient(circle at 8% 0,rgba(255,255,255,.72),transparent 30rem),
    radial-gradient(circle at 96% 20%,rgba(150,213,28,.08),transparent 34rem),
    var(--premium-bg);
  content:"";
  pointer-events:none;
  transform:translate3d(0,0,0);
  will-change:transform;
}
body.premium-dark > .top,body.premium-dark > .container {
  position:relative;
  z-index:1;
}
.premium-dark ::selection { color:#102017; background:var(--premium-accent); }
.premium-dark a { color:inherit; }
.premium-dark h1,.premium-dark h2,.premium-dark h3 { color:var(--premium-heading); font-weight:650; }
.premium-dark h1 { letter-spacing:-.035em; }
.premium-dark .muted { color:var(--premium-muted); }
.premium-dark .eyebrow { color:var(--premium-action); font-weight:700; letter-spacing:.12em; }

/* Application shell */
.premium-dark .top { z-index:2000; padding:10px 0 0; background:transparent; box-shadow:none; }
.premium-dark .top-inner,.premium-dark .container { width:min(1260px,calc(100% - 40px)); }
.premium-dark .top-inner {
  min-height:64px;
  padding:0 16px;
  border:1px solid var(--premium-border);
  border-radius:16px;
  background:
    linear-gradient(105deg,rgba(11,37,28,.97),rgba(20,61,45,.93)),
    rgba(10,36,26,.94);
  box-shadow:0 16px 42px rgba(0,0,0,.26);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.premium-dark .brand { gap:11px; color:var(--premium-text); font-size:17px; font-weight:800; letter-spacing:-.025em; }
.premium-dark .brand img { width:46px; height:46px; filter:drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.premium-dark .brand:hover img { transform:none; filter:drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.premium-dark .brand small { color:#c5ccb8; font-size:9px; font-weight:600; letter-spacing:.045em; text-transform:uppercase; }
.premium-dark .nav { gap:5px; }
.premium-dark .nav > a {
  min-height:36px;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:10px;
  color:var(--premium-muted);
  font-weight:600;
}
.premium-dark .nav > a:hover,.premium-dark .nav > a.active {
  border-color:var(--premium-border);
  background:var(--premium-surface-raised);
  color:var(--premium-text);
  transform:none;
}
.premium-dark .user-chip {
  border-color:var(--premium-border-strong);
  background:var(--premium-surface-soft);
  color:var(--premium-muted);
  backdrop-filter:none;
}
.premium-dark .container { padding:25px 0 56px; animation:none; }

/* Controls */
.premium-dark button,.premium-dark .button {
  min-height:40px;
  border:1px solid var(--premium-action);
  border-radius:10px;
  background:var(--premium-action);
  color:#fff;
  box-shadow:none;
  font-weight:700;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.premium-dark button:before,.premium-dark .button:before { display:none; }
.premium-dark button:hover,.premium-dark .button:hover {
  border-color:var(--premium-action-hover);
  background:var(--premium-action-hover);
  box-shadow:none;
  filter:none;
  transform:translateY(-1px);
}
.premium-dark button:active,.premium-dark .button:active { transform:translateY(0); }
.premium-dark button.secondary,.premium-dark .button.secondary,
.premium-dark .nav button.secondary,.premium-dark .nav .button.secondary {
  border-color:var(--premium-border-strong);
  background:var(--premium-surface-raised);
  color:var(--premium-text);
}
.premium-dark button.secondary:hover,.premium-dark .button.secondary:hover,
.premium-dark .nav button.secondary:hover,.premium-dark .nav .button.secondary:hover {
  border-color:rgba(62,207,142,.4);
  background:#193024;
  color:var(--premium-text);
  box-shadow:none;
}
.premium-dark button.danger,.premium-dark .button.danger {
  border-color:rgba(224,121,118,.45);
  background:var(--premium-danger-soft);
  color:#f3b4b1;
}
.premium-dark button.danger:hover,.premium-dark .button.danger:hover { background:rgba(224,121,118,.22); color:#ffd2d0; }
.premium-dark button:disabled,.premium-dark .button.disabled { opacity:.48; cursor:not-allowed; transform:none; }
.premium-dark button:focus-visible,.premium-dark .button:focus-visible,
.premium-dark input:focus-visible,.premium-dark select:focus-visible,.premium-dark textarea:focus-visible,
.premium-dark summary:focus-visible,.premium-dark a:focus-visible {
  outline:3px solid rgba(62,207,142,.3);
  outline-offset:2px;
}
.premium-dark label { color:var(--premium-muted); }
.premium-dark input,.premium-dark select,.premium-dark textarea {
  border:1px solid var(--premium-border-strong);
  border-radius:10px;
  background:var(--premium-shell);
  color:var(--premium-text);
  box-shadow:none;
}
.premium-dark input::placeholder,.premium-dark textarea::placeholder { color:var(--premium-faint); }
.premium-dark input:focus,.premium-dark select:focus,.premium-dark textarea:focus {
  border-color:rgba(62,207,142,.6);
  box-shadow:0 0 0 3px rgba(62,207,142,.12);
}
.premium-dark input[type="checkbox"] { accent-color:var(--premium-accent); }

/* Shared surfaces */
.premium-dark .card,.premium-dark .panel {
  border:1px solid var(--premium-border);
  border-radius:16px;
  background:var(--premium-surface);
  box-shadow:none;
  backdrop-filter:none;
}
.premium-dark .card { animation:none; }
.premium-dark .card:before { background:var(--premium-accent); }
.premium-dark .card:after { display:none; }
.premium-dark .card:hover,.premium-dark .panel:hover {
  border-color:var(--premium-border-strong);
  background:var(--premium-surface);
  box-shadow:none;
  transform:none;
}
.premium-dark .panel { animation:none; }
.premium-dark .metric { background:none; color:var(--premium-text); font-weight:700; }
.premium-dark .metric-alert { color:var(--premium-danger); }
.premium-dark .compact-metrics .card { background:var(--premium-surface-soft); }
.premium-dark .section-note { color:var(--premium-muted); }
.premium-dark .page-heading { padding:4px 1px; }
.premium-dark .back-link { color:var(--premium-muted); }
.premium-dark .back-link:hover { color:var(--premium-accent); }
.premium-dark .page-hero {
  min-height:124px;
  border:1px solid var(--premium-border);
  border-radius:18px;
  background:linear-gradient(125deg,#102219,#0c1913 68%,#11251b);
  box-shadow:none;
}
.premium-dark .page-hero p { color:var(--premium-muted); }
.premium-dark .hero-status {
  border-color:var(--premium-border);
  background:var(--premium-surface-raised);
}
.premium-dark .hero-status small { color:var(--premium-muted); }
.premium-dark .hero-status .health-dot { background:var(--premium-accent); box-shadow:0 0 0 5px var(--premium-accent-soft); }
.premium-dark .hero-status-warning .health-dot { background:var(--premium-warning); box-shadow:0 0 0 5px var(--premium-warning-soft); }

/* Status and notifications */
.premium-dark .status { border:1px solid transparent; font-weight:650; }
.premium-dark .status.on,.premium-dark .on { border-color:rgba(62,207,142,.2); background:var(--premium-accent-soft); color:#77e3ad; }
.premium-dark .status.off,.premium-dark .off { border-color:rgba(224,121,118,.22); background:var(--premium-danger-soft); color:#f0aaa7; }
.premium-dark .status.idle,.premium-dark .idle { border-color:var(--premium-border); background:rgba(231,241,235,.06); color:var(--premium-muted); }
.premium-dark .status.warning,.premium-dark .warning { border-color:rgba(216,173,94,.22); background:var(--premium-warning-soft); color:#e4bf7c; }
.premium-dark .warning-text { color:#e1b66b; }
.premium-dark .dedupe-note { color:#79dba8; }
.premium-dark .notice { border:1px solid var(--premium-border-strong); background:var(--premium-surface-raised); }
.premium-dark .success-notice { border-color:rgba(62,207,142,.3); color:#8be6b8; }
.premium-dark .error-notice,.premium-dark .error { border-color:rgba(224,121,118,.3); background:var(--premium-danger-soft); color:#f2b0ad; }
.premium-dark .shift-accounting-note {
  border-color:var(--premium-border);
  background:var(--premium-surface-soft);
  color:var(--premium-muted);
}
.premium-dark .shift-accounting-note strong { color:#7cddac; }
.premium-dark .queue-pill { border:1px solid var(--premium-border); background:rgba(231,241,235,.06); color:var(--premium-muted); }
.premium-dark .queue-alert { border-color:rgba(216,173,94,.22); background:var(--premium-warning-soft); color:#e4bf7c; }
.premium-dark .agent-meta,.premium-dark .agent-path,.premium-dark .table-edit-note { color:var(--premium-faint); }
.premium-dark .agent-error,.premium-dark .admin-error-count { color:#eda09c; }
.premium-dark code { background:rgba(231,241,235,.07); color:#a9c6b6; }

/* Period selector and calendar */
.premium-dark .period-panel {
  border-color:var(--premium-border);
  background:var(--premium-surface);
  box-shadow:none;
}
.premium-dark .compact-period-panel {
  grid-template-columns:max-content minmax(0,1fr);
  align-items:start;
  gap:18px;
  padding:10px 12px;
}
.premium-dark .compact-period-panel .period-intro h2 {
  margin:0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
}
.premium-dark .compact-period-panel .period-controls {
  display:flex;
  align-items:start;
  justify-content:end;
  flex-wrap:wrap;
  gap:8px;
}
.premium-dark .compact-period-panel .quick-periods { gap:4px; }
.premium-dark .compact-period-panel .quick-periods a {
  min-width:0;
  min-height:34px;
  padding:7px 9px;
  font-size:11px;
}
.premium-dark .compact-period-panel .period-form {
  display:flex;
  flex:0 0 auto;
  gap:6px;
  width:auto;
}
.premium-dark .compact-period-panel .production-calendar-trigger,
.premium-dark .compact-period-panel .period-actions > * { min-height:34px; }
.premium-dark .compact-period-panel .production-calendar-trigger { width:220px; min-width:220px; padding:6px 10px; font-size:11px; }
.premium-dark .compact-period-panel .production-calendar-trigger strong { color:var(--premium-text); }
.premium-dark .compact-period-panel .period-actions { gap:5px; }
.premium-dark .compact-period-panel .period-actions > * { padding:6px 9px; font-size:11px; }
.premium-dark .compact-period-panel .period-actions > :not(.report-button) { min-width:82px; }
.premium-dark .compact-period-panel .period-actions .report-button { min-width:104px; }
.premium-dark .compact-period-panel .shift-split-toggle { font-size:10px; }
.premium-dark .quick-periods a {
  border-color:var(--premium-border);
  background:var(--premium-surface-raised);
  color:var(--premium-muted);
}
.premium-dark .quick-periods a:hover { border-color:rgba(62,207,142,.35); background:#193024; color:var(--premium-text); }
.premium-dark .date-range { border-color:var(--premium-border-strong); background:var(--premium-shell); }
.premium-dark .compact-period-panel .period-actions .report-button,.premium-dark .report-button { background:#247b56; color:#effff6; border-color:#247b56; }
.premium-dark .production-calendar-popup {
  border-color:var(--premium-border-strong);
  background:var(--premium-surface-raised);
  color:var(--premium-text);
  box-shadow:var(--premium-shadow);
}
.premium-dark .production-calendar-popup h3,.premium-dark .calendar-month-title,
.premium-dark .calendar-header strong,.premium-dark .calendar-month { color:var(--premium-text); }
.premium-dark .calendar-nav { border-color:var(--premium-border-strong); background:var(--premium-shell); color:var(--premium-text); }
.premium-dark .calendar-nav:hover { border-color:rgba(62,207,142,.4); background:#193024; box-shadow:none; }
.premium-dark .calendar-weekday { color:var(--premium-muted); }
.premium-dark .calendar-day { background:var(--premium-shell); color:var(--premium-muted); }
.premium-dark .calendar-day:hover { background:#1a3025; color:var(--premium-text); }
.premium-dark .calendar-day.has-production { background:rgba(109,145,65,.42); color:#e9f1d0; }
.premium-dark .calendar-day.production-medium { background:#39754f; color:#effff5; }
.premium-dark .calendar-day.production-high { background:#258056; color:#fff; }
.premium-dark .calendar-day.has-pri-period { border-color:#647846; background:repeating-linear-gradient(135deg,#233526 0,#233526 6px,#2e452f 6px,#2e452f 12px); }
.premium-dark .calendar-day.in-range { border-color:rgba(62,207,142,.35); background:rgba(62,207,142,.22)!important; color:#b8efd2; box-shadow:none; }
.premium-dark .calendar-day.is-selected { border-color:var(--premium-accent); background:var(--premium-accent)!important; color:#06170f; box-shadow:0 0 0 2px var(--premium-surface-raised),0 0 0 4px rgba(62,207,142,.5); }
.premium-dark .calendar-legend,.premium-dark .calendar-pick-hint { color:var(--premium-muted); }
.premium-dark .calendar-pick-hint.is-error { color:#f0aaa7; }
.premium-dark .calendar-actions { border-top-color:var(--premium-border); }

/* Fleet overview */
.premium-dark .operations-date { color:var(--premium-muted); }
.premium-dark .operations-card {
  border-color:var(--premium-border);
  background:var(--premium-surface);
  box-shadow:none;
}
.premium-dark .operations-card.operations-primary { border-color:rgba(62,207,142,.22); background:linear-gradient(135deg,#123021,#10241a); }
.premium-dark .operations-card.operations-warning { border-color:rgba(216,173,94,.22); background:var(--premium-warning-soft); }
.premium-dark .operations-label,.premium-dark .operations-card small { color:var(--premium-muted); }
.premium-dark .operations-card strong { color:var(--premium-text); }
.premium-dark .operations-warning strong { color:#e4bf7c; }
.premium-dark .overview-delta.positive { color:#7cddac; }
.premium-dark .overview-delta.negative { color:#eda09c; }
.premium-dark .overview-delta.neutral { color:var(--premium-muted); }
.premium-dark .vehicle-card {
  border-color:var(--premium-border);
  background:var(--premium-surface-soft);
  box-shadow:none;
}
.premium-dark .vehicle-card:hover { border-color:var(--premium-border-strong); background:#13261d; box-shadow:none; transform:none; }
.premium-dark .vehicle-type,.premium-dark .vehicle-card > p { color:var(--premium-muted); }
.premium-dark .vehicle-card h3 { color:var(--premium-text); }
.premium-dark .vehicle-primary-metric { background:var(--premium-accent-soft); }
.premium-dark .vehicle-primary-metric > strong { color:#82e4b3; }
.premium-dark .vehicle-primary-metric small { color:var(--premium-muted); }
.premium-dark .vehicle-card-facts { border-color:var(--premium-border); background:var(--premium-border); }
.premium-dark .vehicle-card-facts div { background:var(--premium-shell); }
.premium-dark .vehicle-card-facts span,.premium-dark .vehicle-card-footer small,.premium-dark .vehicle-card-footer span { color:var(--premium-muted); }
.premium-dark .vehicle-card-footer { border-top-color:var(--premium-border); }
.premium-dark .vehicle-alert { background:var(--premium-warning-soft); color:#e4bf7c; }

/* Customer fleet command center */
.premium-dark .fleet-command-panel { padding:18px; }
.premium-dark .fleet-command-heading { align-items:center; }
.premium-dark .fleet-heading-actions { display:flex; align-items:center; gap:10px; }
.premium-dark .fleet-view-switch {
  display:flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--premium-border);
  border-radius:10px;
  background:var(--premium-shell);
}
.premium-dark .fleet-view-switch a {
  min-height:30px;
  padding:7px 9px;
  border-radius:7px;
  color:var(--premium-faint);
  font-size:10px;
  font-weight:700;
  text-decoration:none;
}
.premium-dark .fleet-view-switch a:hover { color:var(--premium-text); }
.premium-dark .fleet-view-switch a.active { background:var(--premium-surface-raised); color:#87e5b7; }
.premium-dark .fleet-toolbar {
  display:grid;
  grid-template-columns:minmax(250px,1.45fr) minmax(150px,.72fr) minmax(160px,.72fr) auto;
  align-items:end;
  gap:8px;
  margin:15px 0 8px;
  padding:11px;
  border:1px solid var(--premium-border);
  border-radius:12px;
  background:var(--premium-surface-soft);
}
.premium-dark .fleet-toolbar label { min-width:0; margin:0; }
.premium-dark .fleet-toolbar label > span { display:block; margin-bottom:4px; color:var(--premium-faint); font-size:10px; }
.premium-dark .fleet-toolbar input,.premium-dark .fleet-toolbar select { min-height:36px; padding:6px 9px; font-size:12px; }
.premium-dark .fleet-toolbar-actions { display:flex; gap:6px; }
.premium-dark .fleet-toolbar-actions > * { min-height:36px; padding:7px 10px; font-size:11px; white-space:nowrap; }
.premium-dark .fleet-filter-chips {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 13px;
}
.premium-dark .fleet-filter-chips a {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:29px;
  padding:5px 9px;
  border:1px solid var(--premium-border);
  border-radius:9px;
  background:var(--premium-shell);
  color:var(--premium-muted);
  font-size:10px;
  font-weight:650;
  text-decoration:none;
}
.premium-dark .fleet-filter-chips a:hover,.premium-dark .fleet-filter-chips a.active {
  border-color:rgba(62,207,142,.35);
  background:var(--premium-accent-soft);
  color:#8be6b8;
}
.premium-dark .fleet-filter-chips strong { color:var(--premium-text); }
.premium-dark .fleet-vehicle-grid { grid-template-columns:repeat(auto-fill,minmax(280px,380px)); gap:10px; }
.premium-dark .fleet-vehicle-grid .vehicle-card { min-height:0; padding:16px; }
.premium-dark .fleet-vehicle-grid .vehicle-card h3 { margin-top:12px; font-size:18px; }
.premium-dark .fleet-vehicle-grid .vehicle-primary-metric { margin-top:13px; padding:12px; }
.premium-dark .fleet-vehicle-grid .vehicle-primary-metric > strong { font-size:22px; }
.premium-dark .vehicle-runtime-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:9px;
  overflow:hidden;
  border:1px solid var(--premium-border);
  border-radius:10px;
  background:var(--premium-border);
}
.premium-dark .vehicle-runtime-strip > div { min-width:0; padding:9px 8px; background:var(--premium-shell); }
.premium-dark .vehicle-runtime-strip span,.premium-dark .vehicle-runtime-strip strong { display:block; }
.premium-dark .vehicle-runtime-strip span { color:var(--premium-faint); font-size:9px; line-height:1.25; }
.premium-dark .vehicle-runtime-strip strong { margin-top:3px; color:var(--premium-text); font-size:11px; white-space:nowrap; }
.premium-dark .vehicle-runtime-strip.is-empty { display:block; padding:10px; background:var(--premium-shell); }
.premium-dark .vehicle-runtime-strip.is-empty > span { color:var(--premium-muted); font-size:10px; }
.premium-dark .vehicle-location-hint {
  display:flex;
  align-items:center;
  gap:7px;
  margin:-2px 0 10px;
  color:var(--premium-muted);
  font-size:10px;
}
.premium-dark .vehicle-location-hint > span:last-child { min-width:0; }
.premium-dark .vehicle-location-hint strong,.premium-dark .vehicle-location-hint small { display:block; }
.premium-dark .vehicle-location-hint strong { overflow:hidden; color:var(--premium-muted); font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.premium-dark .vehicle-location-hint small { margin-top:2px; color:var(--premium-faint); font-size:9px; }
.premium-dark .vehicle-location-hint.has-location .location-dot { background:#70d8a5; }
.premium-dark .location-dot {
  width:7px;
  height:7px;
  flex:0 0 7px;
  border:2px solid #70d8a5;
  border-radius:50%;
  box-shadow:0 0 0 3px var(--premium-accent-soft);
}
.premium-dark .client-fleet-table { min-width:930px; }
.premium-dark .client-fleet-table th,.premium-dark .client-fleet-table td { padding:11px 9px; }
.premium-dark .client-fleet-table td > small { display:block; margin-top:4px; color:var(--premium-muted); font-size:10px; line-height:1.35; }
.premium-dark .client-fleet-table td > strong { display:block; color:var(--premium-text); font-size:11px; }
.premium-dark .client-fleet-table .fleet-table-volume { color:#82e4b3; font-size:14px; }
.premium-dark .fleet-empty-state {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  min-height:170px;
  padding:24px;
  border:1px dashed var(--premium-border-strong);
  border-radius:12px;
  background:var(--premium-shell);
  text-align:center;
}
.premium-dark .fleet-empty-state strong { color:var(--premium-text); }
.premium-dark .fleet-empty-state span { color:var(--premium-muted); font-size:12px; }
.premium-dark .fleet-empty-state .button { margin-top:8px; }

/* Analytics */
.premium-dark .chart-card { border-color:var(--premium-border); background:var(--premium-surface-soft); box-shadow:none; }
.premium-dark .chart-title strong { color:var(--premium-text); }
.premium-dark .chart-title span,.premium-dark .bar-label,.premium-dark .bar-value { color:var(--premium-muted); }
.premium-dark .bar-track { background:rgba(231,241,235,.08); box-shadow:none; }
.premium-dark .production-bar { background:var(--premium-accent); box-shadow:none; }
.premium-dark .operator-bar { background:#4eb0a4; box-shadow:none; }
.premium-dark .downtime-bar { background:var(--premium-warning); box-shadow:none; }
.premium-dark .health-card { border-color:var(--premium-border); background:var(--premium-surface-soft); box-shadow:none; }
.premium-dark .health-card strong { color:var(--premium-text); }
.premium-dark .health-card span:not(.health-dot) { color:var(--premium-muted); }

/* Tables and editors */
.premium-dark table { color:var(--premium-text); }
.premium-dark th,.premium-dark td { border-bottom-color:var(--premium-border); }
.premium-dark th { color:var(--premium-faint); }
.premium-dark tbody tr:hover { background:rgba(62,207,142,.05); box-shadow:inset 2px 0 var(--premium-accent); }
.premium-dark table a,.premium-dark .admin-vehicle-name { color:#7cddac; }
.premium-dark table a:hover { color:#a1ecc8; }
.premium-dark .editor-row,.premium-dark .table-editor form {
  border-color:var(--premium-border);
  background:var(--premium-surface-soft);
  box-shadow:none;
}
.premium-dark .editor-row:hover { border-color:var(--premium-border-strong); box-shadow:none; transform:none; }
.premium-dark .table-editor summary { color:#79dba8; }
.premium-dark .table-editor[open] summary { color:#a1ecc8; }
.premium-dark .file-journal-summary span {
  border-color:var(--premium-border);
  background:var(--premium-surface-soft);
  color:var(--premium-muted);
}
.premium-dark .file-journal-summary strong { color:var(--premium-text); }
.premium-dark .file-journal-summary .journal-ok { border-color:rgba(62,207,142,.22); background:var(--premium-accent-soft); }
.premium-dark .file-journal-summary .journal-error { border-color:rgba(224,121,118,.22); background:var(--premium-danger-soft); }
.premium-dark .file-journal-summary .journal-error strong { color:#eda09c; }
.premium-dark .file-journal-filters,.premium-dark .admin-fleet-filters { border-color:var(--premium-border); background:var(--premium-surface-soft); }
.premium-dark .journal-result-heading,.premium-dark .journal-date { color:var(--premium-muted); }
.premium-dark .journal-row-error { background:rgba(224,121,118,.05); }
.premium-dark .file-type-pill { background:rgba(231,241,235,.07); color:#aac5b6; }
.premium-dark .file-name { color:var(--premium-text); }
.premium-dark .journal-empty { color:var(--premium-muted); }
.premium-dark .journal-pagination span { color:var(--premium-muted); }
.premium-dark .downtime-events-panel { border-color:rgba(216,173,94,.2); }
.premium-dark .downtime-details { color:#c3ab7c; }
.premium-dark .downtime-time,.premium-dark .downtime-duration { color:#b7c9bf; }
.premium-dark .downtime-comment { background:var(--premium-warning-soft); color:#dec18c; }

/* Map */
.premium-dark [data-vehicle-tab-panel][hidden] { display:none!important; }
.premium-dark .vehicle-section-tabs {
  position:sticky;
  top:10px;
  z-index:45;
  display:flex;
  gap:4px;
  margin:16px 0 4px;
  padding:5px;
  overflow-x:auto;
  border:1px solid var(--premium-border);
  border-radius:13px;
  background:rgba(10,23,17,.94);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.premium-dark .vehicle-section-tabs button {
  min-height:36px;
  flex:1 0 auto;
  padding:8px 12px;
  border-color:transparent;
  background:transparent;
  color:var(--premium-muted);
  font-size:11px;
}
.premium-dark .vehicle-section-tabs button:hover {
  border-color:var(--premium-border);
  background:var(--premium-surface-raised);
  color:var(--premium-text);
  transform:none;
}
.premium-dark .vehicle-section-tabs button.active {
  border-color:rgba(62,207,142,.28);
  background:var(--premium-accent-soft);
  color:#8be6b8;
}
.premium-dark [data-vehicle-tab-panel] > .panel,
.premium-dark [data-vehicle-tab-panel] > .vehicle-map-workspace { margin-top:14px; }
.premium-dark .vehicle-signal-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.premium-dark .vehicle-signal-grid article {
  min-width:0;
  padding:13px 14px;
  border:1px solid var(--premium-border);
  border-radius:12px;
  background:var(--premium-surface-soft);
}
.premium-dark .vehicle-signal-grid span,.premium-dark .vehicle-signal-grid strong,.premium-dark .vehicle-signal-grid small { display:block; }
.premium-dark .vehicle-signal-grid span { color:var(--premium-faint); font-size:9px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.premium-dark .vehicle-signal-grid strong { margin-top:6px; overflow:hidden; color:var(--premium-text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.premium-dark .vehicle-signal-grid small { margin-top:3px; color:var(--premium-muted); font-size:10px; line-height:1.35; }
.premium-dark .vehicle-signal-grid .signal-on { color:#82e4b3; }
.premium-dark .vehicle-signal-grid .signal-warning { color:#e4bf7c; }
.premium-dark .vehicle-signal-grid .signal-off { color:#eda09c; }
.premium-dark .vehicle-signal-grid .signal-idle { color:var(--premium-muted); }
.premium-dark .vehicle-map-workspace {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);
  gap:14px;
  margin-top:18px;
  align-items:start;
}
.premium-dark .vehicle-map-workspace > .panel { margin-top:0; }
.premium-dark .vehicle-map-primary { min-width:0; }
.premium-dark .vehicle-runtime-summary {
  position:sticky;
  top:94px;
  padding:18px;
  background:linear-gradient(155deg,#13261d,#0e1d16 70%);
}
.premium-dark .vehicle-runtime-summary .section-heading { margin-bottom:14px; }
.premium-dark .vehicle-runtime-summary h2 { font-size:20px; }
.premium-dark .runtime-summary-period {
  display:inline-flex;
  padding:6px 9px;
  border:1px solid var(--premium-border);
  border-radius:8px;
  background:var(--premium-shell);
  color:var(--premium-muted);
  font-size:12px;
  font-weight:650;
}
.premium-dark .runtime-summary-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-top:13px;
  overflow:hidden;
  border:1px solid var(--premium-border);
  border-radius:12px;
  background:var(--premium-border);
}
.premium-dark .runtime-summary-grid > div {
  min-width:0;
  padding:13px 11px;
  background:var(--premium-shell);
}
.premium-dark .runtime-summary-grid span,.premium-dark .runtime-summary-empty span {
  display:block;
  color:var(--premium-muted);
  font-size:11px;
  line-height:1.35;
}
.premium-dark .runtime-summary-grid strong {
  display:block;
  margin-top:5px;
  color:var(--premium-text);
  font-size:17px;
  letter-spacing:-.02em;
}
.premium-dark .runtime-downtime-list { margin-top:17px; }
.premium-dark .runtime-list-title {
  display:block;
  margin-bottom:7px;
  color:var(--premium-faint);
  font-size:10px;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.premium-dark .runtime-downtime-list > div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid var(--premium-border);
  color:var(--premium-muted);
  font-size:12px;
}
.premium-dark .runtime-downtime-list > div strong { flex:none; color:#e1bf7e; font-weight:650; }
.premium-dark .runtime-details-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--premium-border);
  color:#7cddac;
  font-size:13px;
  font-weight:700;
}
.premium-dark .runtime-details-link:hover { color:#a1ecc8; }
.premium-dark .runtime-summary-empty {
  display:grid;
  gap:7px;
  padding:16px;
  border:1px dashed var(--premium-border-strong);
  border-radius:12px;
  background:var(--premium-shell);
}
.premium-dark .runtime-summary-empty strong { color:var(--premium-text); }
.premium-dark .track-map-frame { border-color:var(--premium-border); background:#0b1711; }
.premium-dark .track-map-meta span { border-color:var(--premium-border); background:var(--premium-surface-soft); }
.premium-dark .track-map-meta strong { color:var(--premium-text); }
.premium-dark .track-map-meta small { color:var(--premium-muted); }
.premium-dark .interactive-track-map .leaflet-control-zoom a {
  border-color:var(--premium-border)!important;
  background:rgba(7,17,13,.92)!important;
  color:var(--premium-text)!important;
}
.premium-dark .interactive-track-map .leaflet-control-layers { border-color:var(--premium-border-strong); box-shadow:0 8px 24px rgba(0,0,0,.28); }
.premium-dark .interactive-track-map .leaflet-control-layers-expanded { background:rgba(7,17,13,.9); color:var(--premium-text); }
.premium-dark .leaflet-popup-content-wrapper,.premium-dark .leaflet-popup-tip { background:var(--premium-surface-raised); color:var(--premium-text); }
.premium-dark .forestry-popup,.premium-dark .forestry-popup strong { color:var(--premium-text); }
.premium-dark .forestry-popup span { color:var(--premium-muted); }

/* Admin workspace */
.premium-dark .admin-workspace {
  display:grid;
  grid-template-columns:184px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.premium-dark .admin-workspace-content { min-width:0; }
.premium-dark .admin-sidebar {
  position:sticky;
  top:94px;
  z-index:15;
  margin:0;
  padding:11px;
}
.premium-dark .admin-sidebar-heading { display:grid; gap:3px; padding:8px 9px 12px; }
.premium-dark .admin-sidebar-heading strong { color:var(--premium-text); font-size:16px; }
.premium-dark .admin-sidebar-nav { display:grid; gap:3px; }
.premium-dark .admin-sidebar-nav a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:9px;
  color:var(--premium-muted);
  font-size:12px;
  font-weight:650;
}
.premium-dark .admin-sidebar-nav a:hover {
  border-color:var(--premium-border);
  background:var(--premium-surface-raised);
  color:var(--premium-text);
}
.premium-dark .admin-sidebar-nav small {
  min-width:23px;
  padding:3px 5px;
  border-radius:7px;
  background:rgba(231,241,235,.06);
  color:var(--premium-faint);
  text-align:center;
  font-size:10px;
}
.premium-dark .admin-sidebar-nav small.has-alert { background:var(--premium-warning-soft); color:#e4bf7c; }
.premium-dark .admin-sidebar-health {
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin-top:10px;
  padding:11px 9px 7px;
  border-top:1px solid var(--premium-border);
}
.premium-dark .admin-sidebar-health .health-dot {
  width:7px;
  height:7px;
  margin-top:5px;
  border-radius:50%;
  background:var(--premium-accent);
  box-shadow:0 0 0 4px var(--premium-accent-soft);
}
.premium-dark .admin-sidebar-health div { display:grid; gap:2px; min-width:0; }
.premium-dark .admin-sidebar-health strong { color:var(--premium-text); font-size:11px; }
.premium-dark .admin-sidebar-health small { color:var(--premium-faint); font-size:9px; line-height:1.35; }
.premium-dark #overview,.premium-dark #attention,.premium-dark #vehicle-control,
.premium-dark #service,.premium-dark #clients,.premium-dark #runtime-details { scroll-margin-top:100px; }
.premium-dark .admin-kpi {
  border-color:var(--premium-border);
  background:var(--premium-surface);
  color:var(--premium-muted);
  box-shadow:none;
}
.premium-dark .admin-kpi:hover { border-color:var(--premium-border-strong); background:var(--premium-surface-raised); box-shadow:none; transform:none; }
.premium-dark .admin-kpi strong { color:var(--premium-text); }
.premium-dark .admin-kpi-good { border-color:rgba(62,207,142,.2); background:var(--premium-accent-soft); }
.premium-dark .admin-kpi-warn { border-color:rgba(216,173,94,.22); background:var(--premium-warning-soft); }
.premium-dark .admin-kpi-warn strong { color:#e4bf7c; }
.premium-dark .admin-kpi-error { border-color:rgba(224,121,118,.22); background:var(--premium-danger-soft); }
.premium-dark .admin-kpi-error strong { color:#eda09c; }
.premium-dark .admin-issue {
  border-color:var(--premium-border);
  background:var(--premium-surface-soft);
  color:var(--premium-muted);
}
.premium-dark .admin-issue:hover { border-color:var(--premium-border-strong); background:var(--premium-surface-raised); }
.premium-dark .admin-issue-identity strong { color:var(--premium-text); }
.premium-dark .admin-issue-identity small,.premium-dark .admin-client-name,
.premium-dark .admin-fleet-table td > small,.premium-dark .admin-clients-table td > small { color:var(--premium-muted); }
.premium-dark .admin-issue-arrow { color:var(--premium-accent); }
.premium-dark .admin-empty-state { border-color:rgba(62,207,142,.22); background:var(--premium-accent-soft); }
.premium-dark .admin-empty-state > span { background:rgba(62,207,142,.16); color:#80e4b2; }
.premium-dark .admin-empty-state strong { color:var(--premium-text); }
.premium-dark .admin-empty-state small,.premium-dark .admin-result-count { color:var(--premium-muted); }
.premium-dark .admin-filter-chips a { border-color:var(--premium-border); background:var(--premium-surface-soft); color:var(--premium-muted); }
.premium-dark .admin-filter-chips a:hover,.premium-dark .admin-filter-chips a.active { border-color:rgba(62,207,142,.35); background:var(--premium-accent-soft); color:#8be6b8; }
.premium-dark .admin-filter-chips strong,.premium-dark .admin-data-time { color:var(--premium-text); }
.premium-dark .admin-row-attention { background:linear-gradient(90deg,rgba(216,173,94,.06),transparent 48%); }

/* Login */
body.premium-dark.login-wrap {
  place-items:center start;
  padding:clamp(24px,5vw,76px);
  background-color:#f1ebdd;
  animation:none;
}
body.premium-dark.login-wrap:before {
  background-color:#f1ebdd;
  background-image:url("/static/login-forest-background-v1.jpg?v=20260928-1");
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.premium-dark.login-wrap .login { position:relative; z-index:1; width:min(430px,100%); margin-left:clamp(0px,2vw,30px); }
.premium-dark.login-wrap .login-brand { justify-content:flex-start; color:#123d31; }
.premium-dark.login-wrap .login-brand picture { display:block; flex:0 0 auto; line-height:0; }
.premium-dark .login-brand img { width:84px; height:84px; filter:drop-shadow(0 10px 20px rgba(0,0,0,.42)); animation:none; }
.premium-dark.login-wrap .login-brand h1 { max-width:280px; color:#123d31; font-size:27px; font-weight:850; line-height:.92; letter-spacing:-.045em; text-shadow:none; }
.premium-dark .login-brand p { max-width:280px; font-size:10px; font-weight:650; letter-spacing:.12em; line-height:1.45; text-transform:uppercase; }
.premium-dark.login-wrap .login-brand p { color:#526b58; }
.premium-dark.login-wrap .demo-entry > p,.premium-dark.login-wrap .login-divider { color:#425a49; }
.premium-dark.login-wrap .login-divider:before { background:linear-gradient(90deg,transparent,rgba(18,61,49,.4)); }
.premium-dark.login-wrap .login-divider:after { background:linear-gradient(90deg,rgba(18,61,49,.4),transparent); }
.premium-dark .login-panel {
  border-color:var(--premium-border-strong);
  background:rgba(9,36,26,.94);
  box-shadow:var(--premium-shadow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.premium-dark.login-wrap .demo-button { border-color:rgba(18,61,49,.2); background:rgba(18,61,49,.92); color:var(--premium-text); box-shadow:0 14px 34px rgba(18,61,49,.16); }
.premium-dark.login-wrap .demo-button:hover { background:#1b4e39; box-shadow:0 16px 38px rgba(18,61,49,.2); }
.premium-dark .demo-button small { color:var(--premium-muted); }
.premium-dark .demo-button-icon { background:var(--premium-accent); color:#06170f; box-shadow:none; }

/* Forest intelligence brand language */
.premium-dark .top:before {
  inset:0 0 auto 42%;
  height:74px;
  border-radius:0;
  background:repeating-radial-gradient(ellipse at 92% 45%,transparent 0 22px,rgba(150,213,28,.07) 23px 24px,transparent 25px 46px);
  opacity:.72;
  animation:none;
}
.premium-dark .top-inner:after {
  position:absolute;
  right:18%;
  bottom:0;
  width:190px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--premium-accent),transparent);
  content:"";
  opacity:.72;
  pointer-events:none;
}
.premium-dark .page-hero {
  background:
    repeating-radial-gradient(ellipse at 100% 0,transparent 0 34px,rgba(150,213,28,.03) 35px 36px,transparent 37px 70px),
    linear-gradient(130deg,var(--premium-surface),rgba(18,61,45,.72));
}
.premium-dark .status.on,.premium-dark .on,
.premium-dark .health-dot-label.is-on,
.premium-dark .signal-on { color:#b8eb55; }
.premium-dark .status.on,.premium-dark .on { border-color:rgba(150,213,28,.24); background:var(--premium-accent-soft); }
.premium-dark .dedupe-note,.premium-dark .shift-accounting-note strong,
.premium-dark .admin-issue-arrow { color:#b8eb55; }
.premium-dark .quick-periods a:hover,
.premium-dark button.secondary:hover,.premium-dark .button.secondary:hover,
.premium-dark .nav button.secondary:hover,.premium-dark .nav .button.secondary:hover {
  border-color:rgba(150,213,28,.38);
  background:#1b3b29;
}
.premium-dark .fleet-filter-chips a.active,
.premium-dark .admin-filter-chips a.active,
.premium-dark .vehicle-section-tabs button.active {
  border-color:rgba(150,213,28,.3);
  background:var(--premium-accent-soft);
  color:#c5ef76;
}

/* Compact responsive behavior */
@media(max-width:900px) {
  .premium-dark .top-inner,.premium-dark .container { width:min(100% - 28px,1260px); }
  .premium-dark .compact-period-panel { grid-template-columns:1fr; gap:8px; }
  .premium-dark .compact-period-panel .period-controls { display:grid; grid-template-columns:1fr; justify-content:stretch; justify-items:stretch; }
  .premium-dark .compact-period-panel .quick-periods { justify-content:flex-start; }
  .premium-dark .compact-period-panel .period-form { width:100%; justify-content:end; }
  .premium-dark .vehicle-map-workspace { grid-template-columns:minmax(0,1fr); }
  .premium-dark .vehicle-runtime-summary { position:static; }
  .premium-dark .admin-workspace { grid-template-columns:minmax(0,1fr); gap:12px; }
  .premium-dark .admin-sidebar {
    position:sticky;
    top:76px;
    overflow-x:auto;
    padding:7px;
    background:rgba(15,30,23,.94);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .premium-dark .admin-sidebar-heading,.premium-dark .admin-sidebar-health { display:none; }
  .premium-dark .admin-sidebar-nav { display:flex; width:max-content; }
  .premium-dark .admin-sidebar-nav a { gap:8px; white-space:nowrap; }
  .premium-dark .fleet-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-dark .fleet-toolbar-actions { align-self:end; }
  .premium-dark .fleet-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  body.premium-dark.login-wrap {
    place-items:center;
    padding:18px;
  }
  body.premium-dark.login-wrap:before {
    background-image:linear-gradient(rgba(7,27,20,.78),rgba(7,27,20,.88)),url("/static/login-forest-background-v1.jpg?v=20260928-1");
    background-position:64% center;
  }
  .premium-dark.login-wrap .login { margin-left:0; }
  .premium-dark.login-wrap .login-brand { justify-content:center; color:var(--premium-text); }
  .premium-dark.login-wrap .login-brand h1 { color:var(--premium-text); }
  .premium-dark.login-wrap .login-brand p,
  .premium-dark.login-wrap .demo-entry > p,
  .premium-dark.login-wrap .login-divider { color:#b8c5b2; }
  .premium-dark.login-wrap .login-divider:before { background:linear-gradient(90deg,transparent,rgba(241,235,221,.34)); }
  .premium-dark.login-wrap .login-divider:after { background:linear-gradient(90deg,rgba(241,235,221,.34),transparent); }
  .premium-dark .top { padding-top:7px; }
  .premium-dark .top-inner { min-height:58px; padding:7px 11px; border-radius:14px; }
  .premium-dark .container { padding-top:18px; }
  .premium-dark .panel { padding:16px; }
  .premium-dark .page-hero { padding:18px; }
  .premium-dark .compact-period-panel .period-controls { display:grid; grid-template-columns:1fr; }
  .premium-dark .compact-period-panel .quick-periods { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; }
  .premium-dark .compact-period-panel .period-form { display:grid; grid-template-columns:1fr; width:100%; }
  .premium-dark .compact-period-panel .date-range { width:100%; }
  .premium-dark .compact-period-panel .production-calendar-trigger { width:100%; min-width:0; }
  .premium-dark .compact-period-panel .period-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(82px,1fr)); width:100%; }
  .premium-dark .compact-period-panel .period-actions > :not(.report-button),
  .premium-dark .compact-period-panel .period-actions .report-button { width:100%; min-width:0; }
  .premium-dark .vehicle-section-tabs { top:7px; }
  .premium-dark .vehicle-section-tabs button { flex:0 0 auto; }
  .premium-dark .vehicle-signal-grid { grid-template-columns:1fr; gap:6px; }
}
@media(max-width:520px) {
  .premium-dark .top { padding-top:5px; }
  .premium-dark .top-inner,.premium-dark .container { width:min(100% - 16px,1260px); }
  .premium-dark .top-inner { min-height:52px; padding:5px 8px; border-radius:12px; }
  .premium-dark .brand { font-size:15px; }
  .premium-dark .brand img { width:36px; height:36px; }
  .premium-dark .container { padding-top:11px; padding-bottom:32px; }
  .premium-dark .page-hero { padding:14px; border-radius:14px; }
  .premium-dark .panel { padding:13px; border-radius:14px; }
  .premium-dark .compact-period-panel { overflow:hidden; }
  .premium-dark .compact-period-panel .period-controls,
  .premium-dark .compact-period-panel .quick-periods,
  .premium-dark .compact-period-panel .period-form,
  .premium-dark .compact-period-panel .date-range { width:100%; min-width:0; max-width:100%; }
  .premium-dark .compact-period-panel .quick-periods a { min-width:0; }
  .premium-dark .compact-period-panel .period-actions { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .premium-dark .shift-split-toggle { width:100%; min-width:0; align-items:flex-start; }
  .premium-dark .shift-split-toggle span { min-width:0; white-space:normal; overflow-wrap:anywhere; }
  .premium-dark .card { border-radius:13px; }
  .premium-dark .vehicle-card { padding:14px; border-radius:13px; }
  .premium-dark .interactive-track-map,.premium-dark .track-map-loading { min-height:260px; }
  .premium-dark .runtime-summary-grid { grid-template-columns:1fr 1fr; }
  .premium-dark .admin-sidebar { top:66px; border-radius:12px; }
  .premium-dark .fleet-command-panel { padding:13px; }
  .premium-dark .fleet-command-heading { align-items:flex-start; }
  .premium-dark .fleet-heading-actions { width:100%; justify-content:space-between; }
  .premium-dark .fleet-toolbar { grid-template-columns:1fr; padding:9px; }
  .premium-dark .fleet-toolbar-actions > * { flex:1; }
  .premium-dark .fleet-filter-chips { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .premium-dark .fleet-filter-chips a { flex:0 0 auto; }
  .premium-dark .fleet-vehicle-grid { grid-template-columns:1fr; }
  .premium-dark .fleet-vehicle-grid .vehicle-card { padding:13px; }
  .premium-dark .vehicle-runtime-strip strong { font-size:10px; }
}

@media(prefers-reduced-motion:reduce) {
  .premium-dark *, .premium-dark *:before,.premium-dark *:after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

/* Light Sage — approved brand palette. The legacy class name is retained to
   avoid touching templates and behaviour while the visual theme becomes light. */
.premium-dark ::selection { color:#123b2d; background:#ccef7f; }

/* Dark branded chrome, light working canvas. */
.premium-dark .top-inner {
  border-color:rgba(255,255,255,.15);
  background:linear-gradient(105deg,#123f30,#1d5b43);
  box-shadow:0 14px 34px rgba(18,59,45,.18);
}
.premium-dark .brand,
.premium-dark .brand h1,
.premium-dark .nav > a:hover,
.premium-dark .nav > a.active { color:#f8f8f2; }
.premium-dark .brand small { color:#d9e3d4; }
.premium-dark .nav > a { color:#d4ded1; }
.premium-dark .nav > a:hover,
.premium-dark .nav > a.active,
.premium-dark .user-chip,
.premium-dark .nav button.secondary,
.premium-dark .nav .button.secondary {
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#f8f8f2;
}
.premium-dark .nav button.secondary:hover,
.premium-dark .nav .button.secondary:hover {
  border-color:rgba(150,213,28,.65);
  background:rgba(150,213,28,.14);
  color:#fff;
}

/* Core controls and surfaces. */
.premium-dark button.secondary,
.premium-dark .button.secondary {
  border-color:var(--premium-border);
  background:#f8f8f2;
  color:var(--premium-text);
}
.premium-dark button.secondary:hover,
.premium-dark .button.secondary:hover {
  border-color:#93ad89;
  background:#e9f0e3;
  color:var(--premium-text);
}
.premium-dark button.danger,
.premium-dark .button.danger {
  border-color:#d8a49d;
  background:var(--premium-danger-soft);
  color:var(--premium-danger);
}
.premium-dark button.danger:hover,
.premium-dark .button.danger:hover { background:#f3d8d3; color:#823c35; }
.premium-dark button:focus-visible,
.premium-dark .button:focus-visible,
.premium-dark input:focus-visible,
.premium-dark select:focus-visible,
.premium-dark textarea:focus-visible,
.premium-dark summary:focus-visible,
.premium-dark a:focus-visible { outline-color:rgba(99,143,25,.42); }
.premium-dark input:focus,
.premium-dark select:focus,
.premium-dark textarea:focus {
  border-color:#6f9531;
  box-shadow:0 0 0 3px rgba(150,213,28,.2);
}
.premium-dark .card,
.premium-dark .panel,
.premium-dark .period-panel,
.premium-dark .operations-card,
.premium-dark .admin-kpi { box-shadow:0 8px 24px rgba(18,59,45,.055); }
.premium-dark .card:hover,
.premium-dark .panel:hover { background:var(--premium-surface); }
.premium-dark .page-hero {
  background:
    repeating-radial-gradient(ellipse at 100% 0,transparent 0 34px,rgba(23,76,56,.035) 35px 36px,transparent 37px 70px),
    linear-gradient(130deg,#f8f8f2,#eef3e9);
}

/* Clear semantic states on a light surface. */
.premium-dark .status.on,
.premium-dark .on { border-color:#b7d9aa; background:#e4f3de; color:#28653e; }
.premium-dark .status.off,
.premium-dark .off { border-color:#e2b3ac; background:var(--premium-danger-soft); color:var(--premium-danger); }
.premium-dark .status.idle,
.premium-dark .idle,
.premium-dark .queue-pill { background:#edf1ea; color:var(--premium-muted); }
.premium-dark .status.warning,
.premium-dark .warning,
.premium-dark .queue-alert,
.premium-dark .vehicle-alert { border-color:#ead49d; background:var(--premium-warning-soft); color:#81580f; }
.premium-dark .warning-text,
.premium-dark .operations-warning strong { color:#8a5f14; }
.premium-dark .dedupe-note,
.premium-dark .shift-accounting-note strong,
.premium-dark .admin-issue-arrow,
.premium-dark .overview-delta.positive { color:#2d7048; }
.premium-dark .success-notice { border-color:#a9cf9d; color:#28653e; }
.premium-dark .error-notice,
.premium-dark .error { border-color:#e2b3ac; color:var(--premium-danger); }
.premium-dark .agent-error,
.premium-dark .admin-error-count,
.premium-dark .overview-delta.negative { color:var(--premium-danger); }
.premium-dark code { background:#e8eee3; color:#315b4a; }

/* Period selector and production calendar. */
.premium-dark .quick-periods a { background:#eef3e9; }
.premium-dark .quick-periods a:hover,
.premium-dark .calendar-nav:hover {
  border-color:#93ad89;
  background:#e4ecdf;
  color:var(--premium-text);
}
.premium-dark .compact-period-panel .period-actions .report-button,
.premium-dark .report-button { border-color:var(--premium-action); background:var(--premium-action); color:#fff; }
.premium-dark .compact-period-panel .period-actions .report-button:hover,
.premium-dark .report-button:hover { border-color:var(--premium-action-hover); background:var(--premium-action-hover); }
.premium-dark .panel-toggle {
  border-color:#d1ded2;
  background:#f2f7f1;
  color:var(--premium-action);
}
.premium-dark .panel-toggle:hover {
  border-color:#b9cfbd;
  background:#e8f0e8;
  color:var(--premium-action-hover);
}
.premium-dark .calendar-day:hover { background:#e6eee1; color:var(--premium-text); }
.premium-dark .calendar-day.has-production { background:#d9eaae; color:#274b2d; }
.premium-dark .calendar-day.production-medium { background:#a9cf7b; color:#183d2a; }
.premium-dark .calendar-day.production-high { background:#66a85d; color:#fff; }
.premium-dark .calendar-day.has-pri-period {
  border-color:#75945f;
  background:repeating-linear-gradient(135deg,#dfe9d8 0,#dfe9d8 6px,#d2dfca 6px,#d2dfca 12px);
}
.premium-dark .calendar-day.in-range {
  border-color:#8ab04b;
  background:#e3f1c8!important;
  color:#244b32;
}
.premium-dark .calendar-day.is-selected {
  color:#123b2d;
  box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(93,126,39,.42);
}

/* Fleet and reporting cards. */
.premium-dark .operations-card.operations-primary {
  border-color:#b5cfae;
  background:linear-gradient(135deg,#edf5e8,#f8f8f2);
}
.premium-dark .vehicle-card:hover { background:#f4f6ef; }
.premium-dark .vehicle-primary-metric { background:#e4f0dc; }
.premium-dark .vehicle-primary-metric > strong,
.premium-dark .client-fleet-table .fleet-table-volume { color:#246844; }
.premium-dark .vehicle-signal-grid article {
  border-color:var(--premium-border);
  background:var(--premium-surface);
  box-shadow:0 8px 24px rgba(18,59,45,.055);
}
.premium-dark .vehicle-signal-grid span { color:#657468; }
.premium-dark .vehicle-signal-grid strong { color:var(--premium-heading); }
.premium-dark .vehicle-signal-grid small { color:var(--premium-muted); }
.premium-dark .vehicle-signal-grid .signal-on { color:#28724a; }
.premium-dark .vehicle-signal-grid .signal-warning { color:#8a5f14; }
.premium-dark .vehicle-signal-grid .signal-off { color:var(--premium-danger); }
.premium-dark .vehicle-signal-grid .signal-idle { color:#596b60; }
.premium-dark .fleet-view-switch a.active,
.premium-dark .fleet-filter-chips a:hover,
.premium-dark .fleet-filter-chips a.active,
.premium-dark .vehicle-section-tabs button.active {
  border-color:#b4ce8a;
  background:#e4f0d5;
  color:#315f2e;
}
.premium-dark .vehicle-location-hint.has-location .location-dot,
.premium-dark .location-dot { border-color:#3e8a59; }
.premium-dark .vehicle-location-hint.has-location .location-dot { background:#3e8a59; }
.premium-dark .bar-track { background:#dfe7da; }
.premium-dark .operator-bar { background:#4b9c89; }

/* Tables, files and detail panels. */
.premium-dark tbody tr:hover { background:#eef5e9; }
.premium-dark table a,
.premium-dark .admin-vehicle-name,
.premium-dark .table-editor summary,
.premium-dark .runtime-details-link { color:#286b49; }
.premium-dark table a:hover,
.premium-dark .table-editor[open] summary,
.premium-dark .runtime-details-link:hover { color:#174c38; }
.premium-dark .file-type-pill { background:#e5ece1; color:#456355; }
.premium-dark .downtime-details,
.premium-dark .downtime-time,
.premium-dark .downtime-duration { color:#76623d; }
.premium-dark .downtime-comment { color:#755315; }

/* Sticky navigation stays light; satellite imagery remains naturally dark. */
.premium-dark .vehicle-section-tabs {
  background:rgba(248,248,242,.94);
  box-shadow:0 10px 28px rgba(18,59,45,.1);
}
.premium-dark .vehicle-section-tabs button:hover { background:#edf2e9; }
.premium-dark .vehicle-runtime-summary { background:linear-gradient(155deg,#f8f8f2,#eef3e9 70%); }
.premium-dark .runtime-downtime-list > div strong { color:#8a5f14; }
.premium-dark .track-map-frame { background:#10271d; }
.premium-dark .interactive-track-map .leaflet-control-zoom a {
  border-color:rgba(255,255,255,.25)!important;
  background:rgba(10,35,26,.92)!important;
  color:#fff!important;
}
.premium-dark .interactive-track-map .leaflet-control-layers-expanded {
  background:rgba(248,248,242,.96);
  color:var(--premium-text);
}

/* Admin navigation intentionally anchors the light workspace. */
.premium-dark .admin-sidebar {
  border-color:#2f654f;
  background:#174c38;
  box-shadow:0 14px 32px rgba(18,59,45,.14);
}
.premium-dark .admin-sidebar:hover {
  border-color:#2f654f;
  background:#174c38;
  box-shadow:0 14px 32px rgba(18,59,45,.14);
}
.premium-dark .admin-sidebar-heading strong,
.premium-dark .admin-sidebar-health strong { color:#fff; }
.premium-dark .admin-sidebar-heading span,
.premium-dark .admin-sidebar-health small { color:#bed0c2; }
.premium-dark .admin-sidebar-nav a { color:#d7e2d9; }
.premium-dark .admin-sidebar-nav a:hover {
  border-color:rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);
  color:#fff;
}
.premium-dark .admin-sidebar-nav small { background:rgba(255,255,255,.09); color:#d7e2d9; }
.premium-dark .admin-sidebar-health { border-top-color:rgba(255,255,255,.14); }

/* Login keeps its photographic treatment and dark, high-contrast form. */
.premium-dark.login-wrap .login-panel {
  --premium-text:#f8f8f2;
  --premium-muted:#c6d1c3;
  --premium-faint:#98aa9a;
  --premium-border:rgba(255,255,255,.12);
  --premium-border-strong:rgba(255,255,255,.22);
  --premium-shell:#0a241a;
  border-color:rgba(255,255,255,.18);
  background:rgba(9,36,26,.94);
}
.premium-dark.login-wrap .login-panel h1,
.premium-dark.login-wrap .login-panel h2,
.premium-dark.login-wrap .login-panel h3,
.premium-dark.login-wrap .login-panel label { color:#f8f8f2; }

@media(max-width:900px) {
  .premium-dark .admin-sidebar { background:rgba(23,76,56,.96); }
}

/* Expandable downtime journal. */
.downtime-reasons { display:grid; gap:8px; }
.downtime-reason {
  overflow:hidden;
  border:1px solid #d8e3d4;
  border-radius:12px;
  background:#fbfcf8;
}
.downtime-reason summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  align-items:center;
  gap:16px;
  min-height:58px;
  padding:10px 14px;
  color:#174c38;
  cursor:pointer;
  list-style:none;
}
.downtime-reason summary::-webkit-details-marker { display:none; }
.downtime-reason summary:hover { background:#f0f5ec; }
.downtime-reason summary:focus-visible { outline:3px solid rgba(130,184,48,.38); outline-offset:-3px; }
.downtime-reason-name { min-width:0; font-weight:750; }
.downtime-reason-meta { display:flex; align-items:baseline; gap:12px; white-space:nowrap; }
.downtime-reason-meta strong { color:#8a5f14; }
.downtime-reason-meta span { color:#6b786e; font-size:12px; }
.downtime-reason-chevron {
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .2s ease;
}
.downtime-reason[open] .downtime-reason-chevron { transform:translateY(2px) rotate(225deg); }
.downtime-reason-content { padding:0 14px 14px; border-top:1px solid #e2e9df; }
.downtime-reason-content .downtime-events-table { min-width:620px; margin-top:8px; }
.downtime-reason-content .section-note { margin:12px 0 0; }
.operator-shifts { margin-top:18px; }
.operator-shift .downtime-reason-meta strong { color:var(--premium-action); }

/* Manufacturer routing and expandable assortment details. */
.vehicle-manufacturer {
  display:inline-flex;
  margin:4px 0 2px;
  padding:3px 8px;
  border:1px solid #cbd8c5;
  border-radius:999px;
  background:#eef3e9;
  color:#315f4a;
  font-size:11px;
  font-weight:750;
  letter-spacing:.02em;
}
.assortment-help { margin:-4px 0 12px; }
.assortment-list { display:grid; gap:8px; }
.assortment-item {
  overflow:hidden;
  border:1px solid #d8e3d4;
  border-radius:12px;
  background:#fbfcf8;
}
.assortment-item summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  align-items:center;
  gap:16px;
  min-height:62px;
  padding:10px 14px;
  color:#174c38;
  cursor:pointer;
  list-style:none;
}
.assortment-item summary::-webkit-details-marker { display:none; }
.assortment-item summary:hover { background:#f0f5ec; }
.assortment-item summary:focus-visible { outline:3px solid rgba(130,184,48,.38); outline-offset:-3px; }
.assortment-title,.assortment-summary { display:flex; min-width:0; flex-direction:column; gap:2px; }
.assortment-title strong { overflow-wrap:anywhere; }
.assortment-title small,.assortment-summary span { color:#6b786e; font-size:12px; }
.assortment-summary { align-items:flex-end; white-space:nowrap; }
.assortment-summary strong { color:#174c38; }
.assortment-chevron {
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .2s ease;
}
.assortment-item[open] .assortment-chevron { transform:translateY(2px) rotate(225deg); }
.assortment-detail-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid #e2e9df;
  background:#f5f8f1;
}
.apt-assortment-details { grid-template-columns:repeat(6,minmax(0,1fr)); }
.assortment-detail-grid > div { min-width:0; padding:12px 14px; border-right:1px solid #e2e9df; }
.assortment-detail-grid > div:last-child { border-right:0; }
.assortment-detail-grid span,.assortment-detail-grid strong { display:block; }
.assortment-detail-grid span { min-height:32px; color:#6b786e; font-size:11px; line-height:1.35; }
.assortment-detail-grid strong { margin-top:4px; color:#174c38; font-size:14px; font-variant-numeric:tabular-nums; }

/* Manual uploads from removable media. */
.manual-upload-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:stretch; margin-top:14px; }
.manual-upload-picker {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:68px;
  margin:0;
  padding:11px 14px;
  border:1px dashed #9fbea5;
  border-radius:12px;
  background:#f6f9f2;
  color:#174c38;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.manual-upload-picker:hover,.manual-upload-picker.is-dragging,.manual-upload-picker.has-files { border-color:#6f9d55; background:#edf5e3; }
.manual-upload-picker input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.manual-upload-picker:focus-within { outline:3px solid rgba(130,184,48,.3); outline-offset:2px; }
.manual-upload-picker strong,.manual-upload-picker small { display:block; }
.manual-upload-picker small { margin-top:3px; color:#6d796f; font-weight:500; }
.manual-upload-icon { display:grid; width:36px; height:36px; place-items:center; flex:0 0 36px; border-radius:10px; background:#dfeecf; color:#315f2e; font-size:22px; font-weight:800; }
.manual-upload-form > button { min-width:190px; }

@media(max-width:760px) {
  .downtime-reason summary { grid-template-columns:minmax(0,1fr) 16px; gap:8px; }
  .downtime-reason-meta { grid-column:1; grid-row:2; justify-content:space-between; }
  .downtime-reason-chevron { grid-column:2; grid-row:1 / 3; }
  .manual-upload-form { grid-template-columns:1fr; }
  .manual-upload-form > button { width:100%; min-width:0; }
  .manual-upload-picker { min-height:62px; }
  .assortment-item summary { grid-template-columns:minmax(0,1fr) 16px; gap:8px; }
  .assortment-summary { grid-column:1; grid-row:2; align-items:flex-start; flex-direction:row; gap:10px; }
  .assortment-chevron { grid-column:2; grid-row:1 / 3; }
  .assortment-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .assortment-detail-grid > div { border-bottom:1px solid #e2e9df; }
  .assortment-detail-grid > div:nth-child(2n) { border-right:0; }
  .assortment-detail-grid > div:last-child { grid-column:1 / -1; border-bottom:0; }
  .apt-assortment-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apt-assortment-details > div:last-child { grid-column:auto; }
}
