:root {
  color-scheme: light;
  --bg: #f4f7fb;
  --body-start: #f9fbfe;
  --body-end: #e9f0f8;
  --body-glow: rgba(249, 115, 22, 0.14);

  --panel: #ffffff;
  --panel-soft: #f9fbfe;
  --panel-muted: #eef5fb;
  --panel-tint: #fff3e8;

  --panel-danger: #fff3ef;
  --panel-glass: rgba(255, 255, 255, 0.86);
  --panel-glass-strong: rgba(255, 255, 255, 0.78);
  --ink: #102034;
  --muted: #607086;
  --line: #d9e2ee;
  --line-strong: rgba(217, 226, 238, 0.9);
  --header-bg: rgba(249, 251, 254, 0.86);
  --header-border: rgba(217, 226, 238, 0.8);
  --primary: #f97316;
  --primary-dark: #c2410c;
  --accent: #fb923c;

  --danger: #d95040;
  --navy: #102034;
  --map-bg: #eef5fb;
  --map-grid: rgba(217, 226, 238, 0.42);
  --dark-muted: #9fb0c6;
  --inverted-text: #ffffff;
  --shadow: 0 24px 70px rgba(16, 32, 52, 0.12);
  --soft-shadow: 0 14px 36px rgba(16, 32, 52, 0.08);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b1420;
  --body-start: #101c2b;
  --body-end: #070d14;
  --body-glow: rgba(251, 146, 60, 0.18);

  --panel: #101c2b;
  --panel-soft: #132235;
  --panel-muted: #17283d;
  --panel-tint: rgba(249, 115, 22, 0.16);

  --panel-danger: rgba(217, 80, 64, 0.16);
  --panel-glass: rgba(16, 28, 43, 0.88);
  --panel-glass-strong: rgba(16, 28, 43, 0.82);
  --ink: #edf6ff;
  --muted: #a8b6c9;
  --line: #26384d;
  --line-strong: rgba(77, 101, 132, 0.72);
  --header-bg: rgba(9, 17, 28, 0.88);
  --header-border: rgba(77, 101, 132, 0.5);
  --primary: #fb923c;
  --primary-dark: #fed7aa;
  --accent: #f97316;

  --danger: #ff7c69;
  --navy: #07101b;
  --map-bg: #122237;
  --map-grid: rgba(130, 157, 190, 0.14);
  --dark-muted: #a8b6c9;
  --inverted-text: #ffffff;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
  --soft-shadow: 0 14px 36px rgba(0, 0, 0, 0.24);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 15px;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top left, var(--body-glow), transparent 32rem),
    linear-gradient(180deg, var(--body-start) 0%, var(--bg) 55%, var(--body-end) 100%);
  color: var(--ink);
  font-family:
    'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
  transition:
    background 180ms ease,
    color 180ms ease;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ─────────────────────────────────────────────────────────────
   Lucide icon sizing (SVGs replace <i data-lucide> elements)
───────────────────────────────────────────────────────────── */
svg[data-lucide] {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

.v2-dashboard .kpi-icon svg[data-lucide] {
  width: 20px;
  height: 20px;
  stroke-width: 1.75;
}

.v2-dashboard .sidebar-nav a span svg[data-lucide] {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}

.v2-dashboard .topbar-icon-row button svg[data-lucide] {
  width: 17px;
  height: 17px;
  stroke-width: 2;
}

.v2-dashboard .search-box button svg[data-lucide] {
  width: 16px;
  height: 16px;
  stroke-width: 2.5;
}

.v2-dashboard .truck-pin svg[data-lucide] {
  width: 22px;
  height: 22px;
  stroke-width: 2;
  color: #fff;
}

.v2-dashboard .modal-close svg[data-lucide] {
  width: 15px;
  height: 15px;
  stroke-width: 2.5;
}

.v2-dashboard #nav-signout svg[data-lucide] {
  width: 14px;
  height: 14px;
}

.v2-dashboard .search-icon svg[data-lucide] {
  width: 16px;
  height: 16px;
  color: var(--muted);
}

.v2-dashboard .btn-primary svg[data-lucide],
.v2-dashboard .btn-secondary svg[data-lucide] {
  width: 13px;
  height: 13px;
  stroke-width: 2.5;
}

.v2-dashboard .chevron svg[data-lucide] {
  width: 13px;
  height: 13px;
}

.v2-dashboard .mode-theme svg[data-lucide] {
  width: 14px;
  height: 14px;
}

.v2-dashboard .panel-heading span svg[data-lucide] {
  width: 12px;
  height: 12px;
}

.v2-dashboard .sidebar-head button svg[data-lucide] {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--header-bg);
  border-bottom: 1px solid var(--header-border);
  backdrop-filter: blur(16px);
}

.nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 16px 0;
}

.brand,
.nav-links {
  display: flex;
  align-items: center;
}

.brand {
  gap: 10px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 13px;
  background: var(--primary);
  color: var(--inverted-text);
  font-size: 0.85rem;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--primary) 28%, transparent);
}

.nav-toggle {
  display: none;
}

.nav-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.theme-toggle {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  box-shadow: var(--soft-shadow);
}

.theme-toggle-track {
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: var(--panel-muted);
}

.theme-toggle-thumb {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 34%, transparent);
  transition: transform 180ms ease;
}

:root[data-theme="dark"] .theme-toggle-thumb {
  transform: translateX(18px);
}

.nav-links {
  gap: 24px;
  margin: 0;
  padding: 0;
  color: var(--muted);
  font-size: 0.95rem;
  list-style: none;
}

.nav-links a:hover,
.site-footer a:hover {
  color: var(--primary);
}

.hero,
.section,
.site-footer,
.logo-strip {
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 52px;
  align-items: center;
  padding: 88px 0 56px;
}

.hero-content h1,
.section-heading h2,
.api-section h2,
.split h2,
.compliance-section h2,
.integrations-section h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.35rem, 6vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.hero-copy {
  max-width: 670px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 1.15rem;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 800;
}

.button.primary {
  background: var(--primary);
  color: var(--inverted-text);
  box-shadow: 0 18px 40px rgba(249, 115, 22, 0.26);
}

.button.secondary {
  border: 1px solid var(--line);
  background: var(--panel-glass-strong);
  color: var(--ink);
}

.dashboard-card,
.feature-card,
.fleet-card,
.alert-card,
.finance-grid article {
  border: 1px solid var(--line-strong);
  background: var(--panel-glass);
  box-shadow: var(--shadow);
}

.dashboard-card {
  overflow: hidden;
  border-radius: 32px;
}

.dashboard-header,
.metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
}

.dashboard-header {
  align-items: center;
  padding: 22px;
  background: var(--navy);
  color: var(--inverted-text);
}

.dashboard-header span,
.metric-grid span {
  color: var(--dark-muted);
  font-size: 0.82rem;
}

.dashboard-header strong {
  justify-self: end;
  color: var(--accent);
  font-size: 2.4rem;
  line-height: 1;
}

.map-panel {
  position: relative;
  min-height: 285px;
  overflow: hidden;
  background:
    linear-gradient(90deg, var(--map-grid) 1px, transparent 1px),
    linear-gradient(var(--map-grid) 1px, transparent 1px),
    var(--map-bg);
  background-size: 42px 42px;
}

.route {
  position: absolute;
  display: block;
  width: 250px;
  height: 140px;
  border: 4px solid transparent;
  border-top-color: var(--primary);
  border-right-color: var(--primary);
  border-radius: 46px;
  opacity: 0.88;
}

.route-a {
  top: 72px;
  left: 48px;
  transform: rotate(-12deg);
}

.route-b {
  right: 36px;
  bottom: 30px;
  border-top-color: var(--accent);
  border-right-color: var(--accent);
  transform: rotate(162deg);
}

.pin {
  position: absolute;
  width: 18px;
  height: 18px;
  border: 4px solid var(--panel);
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 8px 18px rgba(16, 32, 52, 0.2);
}

.pin-one {
  top: 75px;
  left: 85px;
}

.pin-two {
  top: 165px;
  left: 230px;
  background: var(--accent);
}

.pin-three {
  right: 78px;
  bottom: 74px;
}

.metric-grid > div {
  padding: 18px 20px;
  background: var(--panel);
}

.metric-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 1.8rem;
  line-height: 1;
}

.logo-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-glass-strong);
  color: var(--muted);
}

.logo-strip strong {
  color: var(--ink);
}

.section {
  padding: 92px 0;
}

.section-heading {
  max-width: 820px;
  margin-bottom: 34px;
}

.section-heading h2,
.api-section h2,
.split h2,
.compliance-section h2,
.integrations-section h2 {
  font-size: clamp(2rem, 4vw, 3.55rem);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.api-section {
  margin-top: 28px;
  padding: 54px;
  border-radius: 36px;
  background:
    radial-gradient(circle at top right, rgba(255, 181, 69, 0.2), transparent 18rem),
    var(--panel);
  box-shadow: var(--shadow);
}

.api-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
}

.api-heading p:not(.eyebrow) {
  max-width: 740px;
  margin: 18px 0 0;
  color: var(--muted);
}

.api-status {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--panel-muted);
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 900;
  white-space: nowrap;
}

.api-status::before {
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.api-status[data-state="online"] {
  background: var(--panel-tint);
  color: var(--primary-dark);
}

.api-status[data-state="online"]::before {
  background: var(--primary);
}

.api-status[data-state="offline"] {
  background: var(--panel-danger);
  color: var(--danger);
}

.api-status[data-state="offline"]::before {
  background: var(--danger);
}

.api-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.api-metrics article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel-soft);
}

.api-metrics span,
.api-feed-grid li span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
}

.api-metrics strong {
  display: block;
  margin-top: 8px;
  font-size: 2rem;
  line-height: 1;
}

.api-feed-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.api-feed-grid article {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
}

.api-feed-grid h3 {
  margin: 0 0 14px;
}

.api-feed-grid ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.api-feed-grid li {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.api-feed-grid li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.feature-card {
  min-height: 250px;
  padding: 24px;
  border-radius: 28px;
}

.icon {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 16px;
  background: var(--panel-tint);
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 900;
}

.feature-card h3,
.finance-grid h3,
.fleet-card h3 {
  margin: 28px 0 10px;
  font-size: 1.35rem;
  line-height: 1.15;
}

.feature-card p,
.split p,
.finance-grid p,
.fleet-card p,
.site-footer p {
  margin: 0;
  color: var(--muted);
}

.split,
.compliance-section,
.integrations-section {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: 44px;
  align-items: start;
}

.split {
  padding: 54px;
  border-radius: 36px;
  background: var(--navy);
  color: var(--inverted-text);
}

.split h2,
.split .eyebrow,
.split p {
  color: var(--inverted-text);
}

.split p {
  margin-top: 20px;
  color: var(--dark-muted);
}

.checklist {
  display: grid;
  gap: 12px;
}

.checklist span {
  position: relative;
  padding: 15px 18px 15px 44px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
}

.checklist span::before {
  position: absolute;
  top: 15px;
  left: 18px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.finance-band {
  padding-top: 108px;
}

.finance-grid,
.safety-layout {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.finance-grid article {
  padding: 28px;
  border-radius: 28px;
}

.finance-grid h3 {
  margin-top: 0;
}

.safety-layout {
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  overflow-x: auto;
  padding-bottom: 6px;
}

.alert-card {
  min-height: 190px;
  padding: 22px;
  border-radius: 28px;
}

.alert-card.high {
  background: var(--panel-danger);
  border-color: rgba(217, 80, 64, 0.22);
}

.alert-card span {
  color: var(--danger);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alert-card strong {
  display: block;
  margin-top: 48px;
  font-size: 1.35rem;
  line-height: 1.16;
}

.compliance-section {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.timeline {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.timeline li {
  padding: 22px;
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--soft-shadow);
}

.timeline span {
  display: block;
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.timeline strong {
  display: block;
  margin-top: 8px;
  font-size: 1.12rem;
  line-height: 1.35;
}

.fleet-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.filter-button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.filter-button.active {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--inverted-text);
}

.fleet-card {
  padding: 32px;
  border-radius: 28px;
}

.fleet-card h3 {
  margin-top: 0;
}

.integration-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.integration-cloud span {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  box-shadow: var(--soft-shadow);
  font-weight: 800;
}

.site-footer {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 34px 0 46px;
  border-top: 1px solid var(--line);
}

.site-footer div {
  max-width: 560px;
}

.site-footer a {
  color: var(--muted);
  font-weight: 800;
}

@media (max-width: 960px) {
  .hero,
  .api-heading,
  .split,
  .compliance-section,
  .integrations-section {
    grid-template-columns: 1fr;
  }

  .dashboard-card {
    max-width: 560px;
  }

  .feature-grid,
  .finance-grid,
  .api-metrics,
  .api-feed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--panel);
    color: var(--ink);
    font: inherit;
    font-weight: 800;
  }

  .nav-links {
    position: absolute;
    top: 70px;
    right: 16px;
    display: none;
    width: min(260px, calc(100vw - 32px));
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--panel);
    box-shadow: var(--shadow);
  }

  .nav-links.open {
    display: grid;
    gap: 8px;
  }

  .nav-links a {
    display: block;
    padding: 10px 12px;
  }

  .hero {
    padding-top: 54px;
  }

  .logo-strip {
    justify-content: flex-start;
    border-radius: 24px;
  }

  .section {
    padding: 64px 0;
  }

  .split {
    padding: 32px 22px;
    border-radius: 28px;
  }

  .api-section {
    padding: 32px 22px;
    border-radius: 28px;
  }

  .feature-grid,
  .finance-grid,
  .api-metrics,
  .api-feed-grid {
    grid-template-columns: 1fr;
  }

  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 460px) {
  .hero,
  .section,
  .site-footer,
  .logo-strip {
    width: min(100% - 24px, 1160px);
  }

  .hero-content h1 {
    font-size: 2.45rem;
  }

  .metric-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================
   AUTH PAGE
   ============================================= */

.auth-page body,
body.auth-page {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.auth-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
}

.auth-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  padding: 2.5rem 2rem;
  width: 100%;
  max-width: 480px;
}

.auth-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 0.35rem;
  letter-spacing: -0.02em;
}

.auth-subtitle {
  color: var(--muted);
  margin: 0 0 1.75rem;
  font-size: 0.95rem;
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.field-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.field-group label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.field-group input {
  background: var(--panel-soft);
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  padding: 0.65rem 0.9rem;
  font-size: 0.95rem;
  color: var(--ink);
  width: 100%;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.field-group input::placeholder {
  color: var(--muted);
  opacity: 0.7;
}

.field-group input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

@media (max-width: 440px) {
  .field-row {
    grid-template-columns: 1fr;
  }
  .auth-card {
    padding: 1.75rem 1.25rem;
    border-radius: 1rem;
  }
  .auth-main {
    padding: 1.5rem 0.75rem;
    align-items: flex-start;
  }
}

.auth-alert {
  font-size: 0.875rem;
  padding: 0.6rem 0.85rem;
  border-radius: 0.5rem;
  display: none;
}

.auth-alert:not(:empty) {
  display: block;
}

.auth-alert[data-type="error"],
.auth-alert:not([data-type]) {
  background: var(--panel-danger);
  color: var(--danger);
  border: 1px solid rgba(217, 80, 64, 0.25);
}

.auth-alert[data-type="success"] {
  background: var(--panel-tint);
  color: var(--primary-dark);
  border: 1px solid rgba(249, 115, 22, 0.25);
}

.button.full-width {
  width: 100%;
  justify-content: center;
  padding: 0.75rem 1rem;
  font-size: 1rem;
}

.auth-switch {
  margin: 1.25rem 0 0;
  text-align: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.link-button {
  background: none;
  border: none;
  color: var(--primary);
  font: inherit;
  font-size: inherit;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.link-button:hover {
  color: var(--primary-dark);
}

.auth-panel.hidden {
  display: none;
}

/* =============================================
   NAV AUTH CONTROLS
   ============================================= */

.nav-auth-btn {
  font-size: 0.85rem;
  padding: 0.4rem 0.9rem;
}

.nav-user-menu {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.nav-user-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  padding: 0.4rem 0.75rem;
  background: var(--panel-muted);
  border-radius: 2rem;
  border: 1px solid var(--line);
}

.live-api-signin {
  font-size: 0.85rem;
  padding: 0.45rem 1rem;
  white-space: nowrap;
}

body.dashboard-page {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 18% 4%, rgba(249, 115, 22, 0.16), transparent 24rem),
    linear-gradient(180deg, var(--body-start) 0%, var(--bg) 100%);
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100dvh;
}

.dashboard-sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 24px 18px;
  border-right: 1px solid var(--line);
  background: var(--panel-glass-strong);
  backdrop-filter: blur(18px);
}

.dashboard-brand {
  padding: 4px 6px 18px;
  border-bottom: 1px solid var(--line);
}

.sidebar-nav {
  display: grid;
  gap: 8px;
}

.sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  color: var(--muted);
  font-weight: 800;
}

.sidebar-nav a span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: var(--panel-muted);
  color: var(--primary);
}

.sidebar-nav a.active,
.sidebar-nav a:hover {
  background: var(--panel-tint);
  color: var(--primary-dark);
}

.sidebar-footer {
  display: grid;
  gap: 12px;
  margin-top: auto;
}

.dashboard-main {
  width: min(1320px, 100%);
  margin: 0 auto;
  padding: 24px;
}

.dashboard-topbar,
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.dashboard-topbar {
  margin-bottom: 22px;
}

.dashboard-topbar h1,
.dashboard-hero-panel h2,
.dashboard-panel h2 {
  margin: 0;
  color: var(--ink);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.dashboard-topbar h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dashboard-hero-panel,
.dashboard-panel,
.hero-stat-card,
.dashboard-kpi-grid article {
  border: 1px solid var(--line-strong);
  background: var(--panel-glass);
  box-shadow: var(--soft-shadow);
}

.dashboard-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
  padding: 30px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(249, 115, 22, 0.22), transparent 18rem),
    var(--panel);
}

.dashboard-hero-panel p:not(.eyebrow) {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--muted);
}

.hero-stat-card {
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: var(--inverted-text);
}

.hero-stat-card span {
  color: rgba(255, 255, 255, 0.82);
  font-weight: 800;
}

.hero-stat-card strong {
  font-size: 3.1rem;
  line-height: 1;
}

.dashboard-kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 0 18px;
}

.dashboard-kpi-grid article {
  border-radius: 22px;
  background: var(--panel);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.75fr);
  gap: 18px;
}

.dashboard-panel {
  padding: 16px;
  border-radius: 16px;
}

.fleet-map-panel {
  grid-row: span 3;
}

.panel-heading {
  margin-bottom: 18px;
}

.panel-heading span {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--panel-tint);
  color: var(--primary-dark);
  font-size: 0.8rem;
  font-weight: 900;
}

.dashboard-map {
  min-height: 470px;
  border-radius: 22px;
}

.dashboard-feed {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-feed li {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-soft);
}

.dashboard-feed strong,
.dashboard-feed span {
  display: block;
}

.dashboard-feed span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.86rem;
}

.dashboard-lower-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}

.mini-bars {
  display: flex;
  align-items: end;
  gap: 12px;
  height: 140px;
  margin-top: 24px;
}

.mini-bars span {
  flex: 1;
  height: var(--value);
  border-radius: 14px 14px 4px 4px;
  background: linear-gradient(180deg, var(--accent), var(--primary));
}

.donut-meter {
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  margin: 22px auto 0;
  border-radius: 50%;
  background: conic-gradient(var(--primary) 0 68%, var(--accent) 68% 84%, var(--panel-muted) 84% 100%);
}

.donut-meter span {
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border-radius: 50%;
  background: var(--panel);
  color: var(--primary-dark);
  font-weight: 900;
}

@media (max-width: 1040px) {
  .dashboard-shell {
    grid-template-columns: 1fr;
  }

  .dashboard-sidebar {
    position: static;
    height: auto;
  }

  .sidebar-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-grid,
  .dashboard-lower-grid,
  .dashboard-hero-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .dashboard-main,
  .dashboard-sidebar {
    padding: 16px;
  }

  .dashboard-topbar,
  .topbar-actions,
  .panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .sidebar-nav,
  .dashboard-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* Screenshot-aligned dashboard */
body.v2-dashboard {
  min-height: 100dvh;
  background: #f8fafc;
  color: #111827;
  line-height: 1.35;
}

.v2-dashboard .app-frame {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: 100dvh;
}

.v2-dashboard .dashboard-main {
  max-width: none;
  width: 100%;
  padding: 0 20px 20px;
}

.v2-dashboard .app-topbar {
  display: grid;
  grid-template-columns: auto 1fr minmax(220px, 320px);
  align-items: center;
  gap: 16px;
  min-height: 48px;
  margin: 0 -20px 16px;
  padding: 0 20px;
  border-bottom: 1px solid #e9edf3;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
}

.v2-dashboard .user-chip,
.v2-dashboard .topbar-icon-row,
.v2-dashboard .mode-pills,
.v2-dashboard .sidebar-head,
.v2-dashboard .search-box {
  display: flex;
  align-items: center;
}

.v2-dashboard .user-chip {
  gap: 10px;
  font-weight: 800;
}

.v2-dashboard .avatar {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 2px solid #e5e7eb;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff7ed, #fed7aa);
  color: #c2410c;
  font-size: 0.88rem;
  font-weight: 700;
}

.v2-dashboard .chevron,
.v2-dashboard .flag-chip,
.v2-dashboard .topbar-icon-row button {
  color: #111827;
}

.v2-dashboard .topbar-icon-row {
  gap: 14px;
}

.v2-dashboard .topbar-icon-row button,
.v2-dashboard .sidebar-head button {
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.v2-dashboard .notify-dot {
  position: relative;
}

.v2-dashboard .notify-dot::after {
  position: absolute;
  top: 2px;
  right: 2px;
  display: none;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  background: #ff5a1f;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  content: attr(data-notif-count);
}
.v2-dashboard .notify-dot.has-notifications::after {
  display: grid;
}

.v2-dashboard .icon-theme {
  width: auto;
  min-height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.v2-dashboard .icon-theme .theme-toggle-label,
.v2-dashboard .icon-theme .theme-toggle-track {
  display: none;
}

.v2-dashboard .search-box {
  justify-self: end;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  background: #f3f5f8;
}

.v2-dashboard .search-box button {
  width: 40px;
  height: 40px;
  border: 0;
  background: #ff5a1f;
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.v2-dashboard .search-box input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 14px;
  color: #64748b;
}

.v2-dashboard .dashboard-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.v2-dashboard .dashboard-title-row h1 {
  margin: 0;
  color: #111827;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.v2-dashboard .dashboard-title-row p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 0.78rem;
}

.v2-dashboard .mode-pills {
  gap: 12px;
}

.v2-dashboard .mode-pills > span,
.v2-dashboard .mode-theme {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  box-shadow: none;
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: capitalize;
}

.v2-dashboard .mode-theme {
  gap: 10px;
}

.v2-dashboard .mode-theme .theme-toggle-track {
  display: none;
}

.v2-dashboard .dashboard-panel,
.v2-dashboard .kpi-strip article {
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.v2-dashboard .health-card {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 12px;
  padding: 16px 18px;
}

.v2-dashboard .eyebrow {
  margin: 0 0 12px;
  color: #ff5a1f;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.v2-dashboard .health-score-block strong {
  display: block;
  color: #ff5a1f;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.v2-dashboard .health-score-block h2,
.v2-dashboard .panel-heading h2,
.v2-dashboard .secondary-grid h2 {
  margin: 10px 0 0;
  color: #111827;
  font-size: 0.97rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.v2-dashboard .health-score-block p:not(.eyebrow) {
  margin: 8px 0 0;
  color: #64748b;
  font-size: 0.86rem;
}

.v2-dashboard .line-chart-card {
  position: relative;
  min-height: 172px;
  padding: 8px 0 22px 34px;
}

.v2-dashboard .line-chart-card svg {
  width: 100%;
  height: 190px;
  overflow: visible;
}

.v2-dashboard .chart-area {
  fill: url(#healthFill);
}

.v2-dashboard .chart-line,
.v2-dashboard .map-card svg path {
  fill: none;
  stroke: #ff5a1f;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.v2-dashboard .chart-line {
  stroke-width: 4;
}

.v2-dashboard .chart-point,
.v2-dashboard .map-card svg circle {
  fill: #ff5a1f;
  stroke: #fff;
  stroke-width: 5;
}

.v2-dashboard .chart-scale {
  position: absolute;
  top: 8px;
  left: 0;
  bottom: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #64748b;
  font-size: 0.72rem;
}

.v2-dashboard .chart-times {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 34px;
  display: flex;
  justify-content: space-between;
  color: #64748b;
  font-size: 0.72rem;
}

.v2-dashboard .health-breakdown {
  display: grid;
  gap: 12px;
  padding-left: 26px;
  border-left: 1px solid #e5e7eb;
}

.v2-dashboard .health-breakdown div {
  position: relative;
  display: grid;
  grid-template-columns: 14px 1fr auto;
  gap: 8px;
  align-items: center;
  padding-bottom: 12px;
}

.v2-dashboard .health-breakdown i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 22px;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}

.v2-dashboard .health-breakdown i::before {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  content: "";
}

.v2-dashboard .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.v2-dashboard .healthy { background: #34d399; color: #34d399; }
.v2-dashboard .attention { background: #fb923c; color: #fb923c; }
.v2-dashboard .critical { background: #ef4444; color: #ef4444; }

.v2-dashboard .health-breakdown strong,
.v2-dashboard .health-breakdown b {
  font-size: 0.82rem;
}

.v2-dashboard .health-breakdown a,
.v2-dashboard .panel-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border-radius: 9px;
  background: #fff1e8;
  color: #ff5a1f;
  font-size: 0.78rem;
  font-weight: 900;
}

.v2-dashboard .kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.v2-dashboard .kpi-strip article {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 62px;
  padding: 10px 12px;
}

.v2-dashboard .kpi-icon {
  display: grid;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  place-items: center;
  border-radius: 8px;
  background: #fff1e8;
  color: #ff5a1f;
  font-weight: 950;
}

.v2-dashboard .kpi-strip small,
.v2-dashboard .kpi-strip em,
.v2-dashboard .route-stats span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-style: normal;
}

.v2-dashboard .kpi-strip strong {
  display: block;
  margin-top: 3px;
  color: #111827;
  font-size: 1.1rem;
  line-height: 1;
}

.v2-dashboard .operations-grid,
.v2-dashboard .secondary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.85fr);
  gap: 14px;
}

.v2-dashboard .secondary-grid {
  margin-top: 14px;
}

.v2-dashboard .routes-panel,
.v2-dashboard .recommendations-panel,
.v2-dashboard .secondary-grid .dashboard-panel {
  padding: 14px;
}

.v2-dashboard .panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.v2-dashboard .panel-heading span {
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff1e8;
  color: #ff5a1f;
  font-size: 0.72rem;
  font-weight: 900;
}

.v2-dashboard .panel-heading h2,
.v2-dashboard .secondary-grid h2 {
  margin-top: 0;
}

.v2-dashboard .map-card {
  position: relative;
  min-height: 170px;
  overflow: hidden;
  border-radius: 12px;
  background:
    linear-gradient(120deg, rgba(186, 230, 253, 0.45) 0 2px, transparent 2px 72px),
    linear-gradient(30deg, rgba(226, 232, 240, 0.9) 0 1px, transparent 1px 84px),
    #f4f8fb;
}

.v2-dashboard .map-card::before,
.v2-dashboard .map-card::after {
  position: absolute;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.18);
  content: "";
}

.v2-dashboard .map-card::before {
  width: 360px;
  height: 120px;
  left: -80px;
  bottom: -20px;
  transform: rotate(-20deg);
}

.v2-dashboard .map-card::after {
  width: 260px;
  height: 80px;
  right: 20px;
  top: 28px;
  transform: rotate(18deg);
}

.v2-dashboard .map-card svg {
  position: absolute;
  inset: 0 112px 0 0;
  z-index: 1;
  width: calc(100% - 112px);
  height: 100%;
}

.v2-dashboard .map-card svg path {
  stroke-width: 6;
}

.v2-dashboard .truck-pin {
  position: absolute;
  z-index: 2;
  right: 34%;
  bottom: 34px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 5px solid #fff;
  border-radius: 50%;
  background: #ff5a1f;
  color: #fff;
  box-shadow: 0 14px 28px rgba(255, 90, 31, 0.28);
}

.v2-dashboard .route-stats {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  bottom: 14px;
  display: grid;
  gap: 8px;
  width: 96px;
  padding-left: 14px;
  border-left: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.68);
}

.v2-dashboard .route-stats strong {
  color: #111827;
  font-size: 0.92rem;
}

.v2-dashboard .route-stats div:nth-child(2) strong { color: #10b981; }
.v2-dashboard .route-stats div:nth-child(3) strong { color: #2563eb; }
.v2-dashboard .route-stats div:nth-child(4) strong { color: #dc2626; }

.v2-dashboard .panel-cta {
  margin-top: 12px;
}

.v2-dashboard .dashboard-feed {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v2-dashboard .dashboard-feed li {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #fff;
}

.v2-dashboard .dashboard-feed li::before {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: #fff1e8;
  color: #ff5a1f;
  font-weight: 950;
  content: "▸";
}

.v2-dashboard .dashboard-feed strong,
.v2-dashboard .dashboard-feed span {
  display: block;
}

.v2-dashboard .dashboard-feed strong {
  color: #111827;
  font-size: 0.86rem;
}

.v2-dashboard .dashboard-feed span {
  margin-top: 2px;
  color: #64748b;
  font-size: 0.73rem;
}

.v2-dashboard .feed-badge {
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff1e8;
  color: #ff5a1f;
  font-size: 0.68rem;
  font-weight: 900;
}

.v2-dashboard .data-footnote {
  margin: 16px 0 0;
  color: #64748b;
  text-align: center;
  font-size: 0.78rem;
}

.v2-dashboard .right-sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 18px 16px;
  border-left: 1px solid #e9edf3;
  background: #fff;
}

.v2-dashboard .sidebar-head {
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}

.v2-dashboard .dashboard-brand {
  gap: 8px;
  padding: 0;
  border: 0;
  color: #111827;
  font-size: 0.9rem;
}

.v2-dashboard .brand-mark {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ff5a1f;
}

.v2-dashboard .sidebar-label {
  margin: 14px 0 8px;
  color: #64748b;
  text-align: right;
  font-size: 0.65rem;
}

.v2-dashboard .sidebar-nav {
  display: grid;
  gap: 4px;
}

.v2-dashboard .sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  color: #111827;
  font-size: 0.78rem;
  font-weight: 700;
}

.v2-dashboard .sidebar-nav a span {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  background: transparent;
  color: #ff5a1f;
}

.v2-dashboard .sidebar-nav a.active,
.v2-dashboard .sidebar-nav a:hover {
  background: #fff1e8;
  color: #ff5a1f;
}

.v2-dashboard .sidebar-footer {
  display: grid;
  gap: 12px;
  margin-top: auto;
}

.v2-dashboard .api-status {
  justify-content: flex-start;
  min-height: 36px;
  border-radius: 9px;
  background: #fff1e8;
  color: #ff5a1f;
}

.v2-dashboard .api-status[data-state="online"] {
  background: #fff1e8;
  color: #ff5a1f;
}

.v2-dashboard .api-status[data-state="online"]::before {
  background: #ff5a1f;
}

.v2-dashboard #nav-signout {
  min-height: 34px;
  border-radius: 9px;
  background: #fff;
  font-size: 0.75rem;
}

@media (max-width: 1180px) {
  .v2-dashboard .app-frame {
    grid-template-columns: 1fr;
  }

  .v2-dashboard .right-sidebar {
    position: static;
    height: auto;
    order: -1;
    border-left: 0;
    border-bottom: 1px solid #e9edf3;
  }

  .v2-dashboard .sidebar-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-dashboard .sidebar-footer {
    grid-template-columns: 1fr auto;
  }
}

@media (max-width: 980px) {
  .v2-dashboard .app-topbar,
  .v2-dashboard .health-card,
  .v2-dashboard .operations-grid,
  .v2-dashboard .secondary-grid {
    grid-template-columns: 1fr;
  }

  .v2-dashboard .search-box {
    justify-self: stretch;
  }

  .v2-dashboard .kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .v2-dashboard .dashboard-main {
    padding: 0 12px 16px;
  }

  .v2-dashboard .app-topbar {
    margin: 0 -12px 14px;
    padding: 10px 12px;
  }

  .v2-dashboard .dashboard-title-row,
  .v2-dashboard .panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .v2-dashboard .kpi-strip,
  .v2-dashboard .sidebar-nav,
  .v2-dashboard .sidebar-footer {
    grid-template-columns: 1fr;
  }

  .v2-dashboard .health-card {
    padding: 20px;
  }

  .v2-dashboard .health-breakdown {
    padding-left: 0;
    border-left: 0;
  }
}

.v2-dashboard .secondary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v2-dashboard .status-summary p:not(.eyebrow) {
  margin: 12px 0 0;
  color: #64748b;
  font-size: 0.8rem;
}

.v2-dashboard .summary-meter {
  height: 9px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}

.v2-dashboard .summary-meter span {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff5a1f, #fb923c);
}

@media (max-width: 1180px) {
  .v2-dashboard .secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .v2-dashboard .secondary-grid {
    grid-template-columns: 1fr;
  }
}

/* ─────────────────────────────────────────────────────────────
   Client Dashboard – Panels & Layout
───────────────────────────────────────────────────────────── */
.v2-dashboard .client-banner {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 12px 18px;
  margin-bottom: 16px;
  border-radius: 12px;
  background: #fff1e8;
  border: 1px solid #fed7aa;
}

.v2-dashboard .client-banner button {
  border: 0;
  background: transparent;
  color: #ff5a1f;
  font-weight: 900;
  cursor: pointer;
}

.v2-dashboard .client-banner span {
  font-weight: 800;
  color: #111827;
}

/* ── Clients Grid ── */
.v2-dashboard .admin-clients-section {
  padding: 16px;
  margin-bottom: 12px;
}

.v2-dashboard .clients-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.v2-dashboard .client-card {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 11px 13px;
  border: 1px solid #e4e8ef;
  border-radius: 10px;
  background: #fff;
}

.v2-dashboard .client-avatar {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg, #fff7ed, #fed7aa);
  color: #c2410c;
  font-size: 0.82rem;
  font-weight: 900;
}

.v2-dashboard .client-card > div strong { display: block; color: #111827; font-size: 0.9rem; }
.v2-dashboard .client-card > div span  { display: block; color: #64748b; font-size: 0.78rem; }
.v2-dashboard .client-card > div em    { display: block; color: #9ca3af; font-size: 0.72rem; margin-top: 2px; }

/* ── Client KPI strip (6 cards) ── */
.v2-dashboard .client-kpi {
  margin-bottom: 16px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* ── Clickable KPI cards ── */
.v2-dashboard .kpi-strip article[data-nav-to] {
  cursor: pointer;
  position: relative;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.v2-dashboard .kpi-strip article[data-nav-to]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,90,31,0.10);
  border-color: #ff5a1f;
}
.v2-dashboard .kpi-strip article[data-nav-to]:hover .kpi-nav-arrow {
  opacity: 1;
  transform: translate(1px,-1px);
}
.v2-dashboard .kpi-nav-arrow {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 13px;
  height: 13px;
  opacity: 0;
  color: #ff5a1f;
  transition: opacity 0.15s, transform 0.15s;
  pointer-events: none;
}
[data-theme="dark"] .v2-dashboard .kpi-strip article[data-nav-to]:hover {
  box-shadow: 0 6px 20px rgba(255,90,31,0.18);
  border-color: #ff5a1f;
}

.v2-dashboard #ck-pnl[data-sign="neg"] { color: #dc2626; }
.v2-dashboard #ck-pnl[data-sign="pos"] { color: #16a34a; }
.v2-dashboard #pl-net[data-sign="neg"]  { color: #dc2626; }
.v2-dashboard #pl-net[data-sign="pos"]  { color: #16a34a; }

/* ── Vehicles Grid ── */
.v2-dashboard .client-vehicles-section,
.v2-dashboard .client-listings-section,
.v2-dashboard .client-pl-section {
  margin-bottom: 16px;
}

.v2-dashboard .vehicles-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 14px;
}

.v2-dashboard .vehicle-card {
  padding: 14px;
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15,23,42,0.05);
}

.v2-dashboard .vehicle-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.v2-dashboard .vehicle-card strong { display: block; color: #111827; font-size: 0.97rem; font-weight: 900; letter-spacing: -0.02em; margin-bottom: 6px; }

.v2-dashboard .vc-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.v2-dashboard .vc-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.v2-dashboard .vc-plate {
  font-size: 0.7rem;
  color: #9ca3af;
  font-style: italic;
}

.v2-dashboard .vc-rate-chip {
  padding: 2px 8px;
  border-radius: 999px;
  background: #f3f5f8;
  color: #374151;
  font-size: 0.7rem;
  font-weight: 700;
}

.v2-dashboard .vehicle-card-actions {
  display: flex;
  gap: 6px;
}

/* ── Listing status badges ── */
.v2-dashboard .listing-badge {
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: capitalize;
}

.v2-dashboard .listing-badge.listed,
.v2-dashboard .listing-badge.active    { background: #dcfce7; color: #15803d; }
.v2-dashboard .listing-badge.unlisted  { background: #f3f5f8; color: #64748b; }
.v2-dashboard .listing-badge.paused    { background: #fef9c3; color: #854d0e; }
.v2-dashboard .listing-badge.maintenance { background: #fee2e2; color: #b91c1c; }

/* ── Listings checklist ── */

/* "Select All" header control */
.v2-dashboard .bulk-select-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: #374151;
  user-select: none;
  padding: 6px 14px;
  border: 1.5px solid #e4e8ef;
  border-radius: 8px;
  background: #f8fafc;
  transition: background 0.12s, border-color 0.12s;
}
.v2-dashboard .bulk-select-label:hover {
  background: #f0f4ff;
  border-color: #c7d2fe;
}
.v2-dashboard .bulk-select-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #3b82f6;
  flex-shrink: 0;
}

/* Scrollable checklist container */
.v2-dashboard .listings-checklist-wrap {
  max-height: 360px;
  overflow-y: auto;
  border: 1.5px solid #e4e8ef;
  border-radius: 14px;
  background: #fff;
}

/* Each vehicle row */
.v2-dashboard .listing-check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
  transition: background 0.12s;
  position: relative;
}
.v2-dashboard .listing-check-row:last-child {
  border-bottom: none;
}
.v2-dashboard .listing-check-row:hover:not(.readonly) {
  background: #f8fafc;
}
.v2-dashboard .listing-check-row.is-listed {
  background: #f0fdf4;
}
.v2-dashboard .listing-check-row.is-listed:hover:not(.readonly) {
  background: #dcfce7;
}
.v2-dashboard .listing-check-row.readonly {
  cursor: default;
}

/* Row checkbox */
.v2-dashboard .listing-check-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: #3b82f6;
}
.v2-dashboard .listing-check-row input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Vehicle icon */
.v2-dashboard .lcv-icon {
  font-size: 1.6rem;
  flex-shrink: 0;
  line-height: 1;
}

/* Vehicle info block */
.v2-dashboard .lcv-details {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}
.v2-dashboard .lcv-details strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.v2-dashboard .lcv-meta {
  font-size: 0.72rem;
  color: #64748b;
}

/* Saving indicator */
.v2-dashboard .listing-saving {
  font-size: 0.72rem;
  color: #3b82f6;
  font-weight: 600;
  margin-left: auto;
  flex-shrink: 0;
  animation: pulse-text 1s ease infinite;
}
@keyframes pulse-text {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

/* ── Data table ── */
.v2-dashboard .listings-table-wrap {
  overflow-x: auto;
  margin-top: 14px;
  border: 1px solid #e4e8ef;
  border-radius: 14px;
}

.v2-dashboard .data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.v2-dashboard .data-table th {
  padding: 8px 12px;
  background: #f8fafc;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #e4e8ef;
}

.v2-dashboard .data-table td {
  padding: 8px 12px;
  color: #111827;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}

.v2-dashboard .data-table tbody tr:last-child td { border-bottom: 0; }
.v2-dashboard .data-table tbody tr:hover td { background: #fafafa; }

.v2-dashboard .amount-pos { color: #16a34a; font-weight: 800; }
.v2-dashboard .amount-neg { color: #dc2626; font-weight: 800; }

/* transaction type badges */
.v2-dashboard .feed-badge.earning       { background: #dcfce7; color: #15803d; }
.v2-dashboard .feed-badge.expense       { background: #fee2e2; color: #b91c1c; }
.v2-dashboard .feed-badge.capital       { background: #dbeafe; color: #1d4ed8; }
.v2-dashboard .feed-badge.reimbursement { background: #fef9c3; color: #854d0e; }

/* ── P&L Summary Row ── */
.v2-dashboard .pl-summary-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.v2-dashboard .pl-card {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #e4e8ef;
  background: #fff;
}

.v2-dashboard .pl-card span  { display: block; color: #64748b; font-size: 0.72rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em; }
.v2-dashboard .pl-card strong { display: block; margin-top: 4px; font-size: 1.1rem; line-height: 1; color: #111827; }
.v2-dashboard .pl-card.earning strong { color: #16a34a; }
.v2-dashboard .pl-card.expense strong { color: #dc2626; }

/* ── Buttons ── */
.v2-dashboard .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: #ff5a1f;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.v2-dashboard .btn-primary:hover { background: #ea4b0f; }

.v2-dashboard .btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #e4e8ef;
  border-radius: 9px;
  background: #fff;
  color: #374151;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
}

.v2-dashboard .btn-sm { min-height: 30px; font-size: 0.72rem; padding: 0 12px; }

.v2-dashboard .icon-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #e4e8ef;
  border-radius: 7px;
  background: #fff;
  color: #374151;
  cursor: pointer;
  font-size: 0.8rem;
}

.v2-dashboard .icon-btn.danger { border-color: #fca5a5; color: #dc2626; }
.v2-dashboard .icon-btn.danger:hover { background: #fee2e2; }

/* ── Modals ── */
.v2-dashboard .modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(4px);
}

.v2-dashboard .modal-card {
  width: 100%;
  max-width: 520px;
  max-height: 90dvh;
  overflow-y: auto;
  padding: 20px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.18);
}

.v2-dashboard .modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.v2-dashboard .modal-head h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #111827;
}

.v2-dashboard .modal-close {
  width: 30px;
  height: 30px;
  border: 1px solid #e4e8ef;
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
  color: #374151;
}

.v2-dashboard .modal-form {
  display: grid;
  gap: 14px;
}

.v2-dashboard .modal-form label {
  display: grid;
  gap: 5px;
  color: #374151;
  font-size: 0.78rem;
  font-weight: 800;
}

.v2-dashboard .modal-form input,
.v2-dashboard .modal-form select,
.v2-dashboard .modal-form textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #e4e8ef;
  border-radius: 9px;
  background: #f8fafc;
  color: #111827;
  font-size: 0.82rem;
  font: inherit;
  outline: none;
  box-sizing: border-box;
}

.v2-dashboard .modal-form input:focus,
.v2-dashboard .modal-form select:focus,
.v2-dashboard .modal-form textarea:focus {
  border-color: #ff5a1f;
  background: #fff;
}

.v2-dashboard .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.v2-dashboard .modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 6px;
}

.v2-dashboard .form-alert {
  padding: 10px 14px;
  border-radius: 9px;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 0.8rem;
}

.v2-dashboard .checkbox-label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  font-weight: 800;
}

.v2-dashboard .checkbox-label input { width: auto !important; }

.v2-dashboard .muted-note {
  color: #9ca3af;
  font-size: 0.82rem;
  padding: 12px 0;
}

/* ── Role-visibility helpers ── */
.v2-dashboard .hidden { display: none !important; }

@media (max-width: 640px) {
  .v2-dashboard .form-row,
  .v2-dashboard .pl-summary-row { grid-template-columns: 1fr; }
  .v2-dashboard .vehicles-grid  { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────
   Setup hints / empty-state helpers
───────────────────────────────────────────────────────────── */
.v2-dashboard .setup-hint {
  padding: 18px 20px;
  border: 1.5px dashed #e4e8ef;
  border-radius: 14px;
  background: #fafafa;
}

.v2-dashboard .setup-hint code {
  display: inline;
  padding: 1px 6px;
  border-radius: 5px;
  background: #f1f5f9;
  color: #334155;
  font-family: monospace;
  font-size: 0.78rem;
}

/* ═══════════════════════════════════════════════════════════════════
   DARK MODE — v2 Dashboard (comprehensive)
═══════════════════════════════════════════════════════════════════ */

/* ── Page body ───────────────────────────────────────────────────── */
[data-theme="dark"] body.v2-dashboard {
  background: #0f172a;
  color: #e2e8f0;
}

/* ── Top bar ─────────────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .app-topbar {
  background: rgba(13, 20, 38, 0.92);
  border-bottom-color: #1e2d45;
}
[data-theme="dark"] .v2-dashboard .chevron,
[data-theme="dark"] .v2-dashboard .flag-chip,
[data-theme="dark"] .v2-dashboard .topbar-icon-row button { color: #e2e8f0; }
[data-theme="dark"] .v2-dashboard .search-box { background: #1a2535; }
[data-theme="dark"] .v2-dashboard .search-box input { color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .avatar { border-color: #2d3748; }

/* ── Title row + mode pills ──────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .dashboard-title-row h1 { color: #f1f5f9; }
[data-theme="dark"] .v2-dashboard .dashboard-title-row p  { color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .mode-pills > span,
[data-theme="dark"] .v2-dashboard .mode-theme {
  background: #1e2535;
  border-color: #2d3748;
  color: #e2e8f0;
}

/* ── Cards & panels ──────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .dashboard-panel,
[data-theme="dark"] .v2-dashboard .kpi-strip article {
  background: #1a2535;
  border-color: #2d3748;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}
[data-theme="dark"] .v2-dashboard .client-card,
[data-theme="dark"] .v2-dashboard .vehicle-card,
[data-theme="dark"] .v2-dashboard .pl-card,
[data-theme="dark"] .v2-dashboard .modal-card,
[data-theme="dark"] .v2-dashboard .setup-hint {
  background: #1e2535;
  border-color: #2d3748;
}

/* ── Section headings ────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .health-score-block h2,
[data-theme="dark"] .v2-dashboard .panel-heading h2,
[data-theme="dark"] .v2-dashboard .secondary-grid h2 { color: #f1f5f9; }
[data-theme="dark"] .v2-dashboard .health-score-block p:not(.eyebrow) { color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .status-summary p:not(.eyebrow) { color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .panel-heading span {
  background: rgba(255, 90, 31, 0.15);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard .panel-cta,
[data-theme="dark"] .v2-dashboard .health-breakdown a {
  background: rgba(255, 90, 31, 0.12);
  color: #fb923c;
}

/* ── KPI strip ───────────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .kpi-strip strong  { color: #f1f5f9; }
[data-theme="dark"] .v2-dashboard .kpi-icon {
  background: rgba(255, 90, 31, 0.15);
  color: #fb923c;
}

/* ── Health breakdown ────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .health-breakdown { border-left-color: #2d3748; }
[data-theme="dark"] .v2-dashboard .health-breakdown i { background: #1e2d45; }
[data-theme="dark"] .v2-dashboard .chart-point,
[data-theme="dark"] .v2-dashboard .map-card svg circle { stroke: #0f172a; }

/* ── Operations panels ───────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .map-card {
  background: linear-gradient(120deg, rgba(30, 58, 138, 0.2) 0 2px, transparent 2px 72px),
              linear-gradient(30deg, rgba(30, 41, 59, 0.9) 0 1px, transparent 1px 84px),
              #111827;
}
[data-theme="dark"] .v2-dashboard .route-stats {
  background: rgba(15, 23, 42, 0.75);
  border-left-color: #2d3748;
}
[data-theme="dark"] .v2-dashboard .route-stats strong { color: #f1f5f9; }

/* ── Dispatch / maintenance feed items ───────────────────────────── */
[data-theme="dark"] .v2-dashboard .dashboard-feed li {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .v2-dashboard .dashboard-feed li::before {
  background: rgba(255, 90, 31, 0.15);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard .dashboard-feed strong { color: #e2e8f0; }
[data-theme="dark"] .v2-dashboard .dashboard-feed span   { color: #64748b; }
[data-theme="dark"] .v2-dashboard .feed-badge {
  background: rgba(255, 90, 31, 0.15);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard .data-footnote { color: #64748b; }

/* ── Right sidebar ───────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .right-sidebar {
  background: #131c2e;
  border-left-color: #1e2d45;
}
[data-theme="dark"] .v2-dashboard .sidebar-head { border-bottom-color: #1e2d45; }
[data-theme="dark"] .v2-dashboard .dashboard-brand { color: #f1f5f9; }
[data-theme="dark"] .v2-dashboard .sidebar-nav a { color: #cbd5e1; }
[data-theme="dark"] .v2-dashboard .sidebar-nav a.active,
[data-theme="dark"] .v2-dashboard .sidebar-nav a:hover {
  background: rgba(255, 90, 31, 0.12);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard .sidebar-label { color: #64748b; }
[data-theme="dark"] .v2-dashboard .api-status {
  background: rgba(255, 90, 31, 0.12);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard .api-status[data-state="online"] {
  background: rgba(255, 90, 31, 0.12);
  color: #fb923c;
}
[data-theme="dark"] .v2-dashboard #nav-signout {
  background: #1e2535;
  border-color: #2d3748;
  color: #e2e8f0;
}

/* ── 1180px static sidebar ───────────────────────────────────────── */
@media (max-width: 1180px) {
  [data-theme="dark"] .v2-dashboard .right-sidebar { border-bottom-color: #1e2d45; }
}

/* ── Tables ──────────────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .data-table th  { background: #1a2030; color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .data-table td  { color: #e2e8f0; border-color: #2d3748; }
[data-theme="dark"] .v2-dashboard .data-table tbody tr:hover td { background: #232d3f; }
[data-theme="dark"] .v2-dashboard .listings-table-wrap { border-color: #2d3748; }

/* ── Modals ──────────────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .modal-form input,
[data-theme="dark"] .v2-dashboard .modal-form select,
[data-theme="dark"] .v2-dashboard .modal-form textarea {
  background: #131c2e;
  border-color: #2d3748;
  color: #e2e8f0;
}
[data-theme="dark"] .v2-dashboard .modal-head { border-bottom-color: #2d3748; }

/* ── Buttons ─────────────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .btn-secondary { background: #1e2535; border-color: #2d3748; color: #e2e8f0; }
[data-theme="dark"] .v2-dashboard .icon-btn      { background: #1e2535; border-color: #2d3748; color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .icon-btn.danger:hover { background: #3f1a1a; }

/* ── Vehicle cards ───────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .vehicle-card strong  { color: #f1f5f9; }
[data-theme="dark"] .v2-dashboard .vc-plate             { color: #64748b; }
[data-theme="dark"] .v2-dashboard .vc-rate-chip         { background: #131c2e; color: #cbd5e1; }

/* ── Client banner ───────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .client-banner { background: #2d1e0f; border-color: #92400e; }
[data-theme="dark"] .v2-dashboard .client-banner span { color: #f3f4f6; }

/* ── Listing badges ──────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .listing-badge.unlisted { background: #1e2535; color: #94a3b8; }

/* ── Setup hint code ─────────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .setup-hint code { background: #131c2e; color: #94a3b8; }
[data-theme="dark"] .v2-dashboard .setup-hint      { border-color: #2d3748; background: #1a2535; }

/* ── Checklist (listings) ────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .bulk-select-label           { background: #1a2030; border-color: #2d3748; color: #cbd5e1; }
[data-theme="dark"] .v2-dashboard .bulk-select-label:hover      { background: #1e3a5f; border-color: #3b82f6; }
[data-theme="dark"] .v2-dashboard .listings-checklist-wrap      { background: #131c2e; border-color: #2d3748; }
[data-theme="dark"] .v2-dashboard .listing-check-row            { border-color: #1e2535; }
[data-theme="dark"] .v2-dashboard .listing-check-row:hover:not(.readonly) { background: #1a2030; }
[data-theme="dark"] .v2-dashboard .listing-check-row.is-listed  { background: #0f2818; }
[data-theme="dark"] .v2-dashboard .listing-check-row.is-listed:hover:not(.readonly) { background: #14391f; }
[data-theme="dark"] .v2-dashboard .lcv-details strong           { color: #e2e8f0; }
[data-theme="dark"] .v2-dashboard .lcv-meta                     { color: #64748b; }

/* ── Muted / helper text ─────────────────────────────────────────── */
[data-theme="dark"] .v2-dashboard .muted-note { color: #64748b; }

/* ═══════════════════════════════════════════════════════════════════
   PRICING DASHBOARD
═══════════════════════════════════════════════════════════════════ */

/* ── Month chip ──────────────────────────────────────────────────── */
.pricing-month-chip {
  padding: 5px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f8fafc;
  color: #374151;
  font-size: 0.8rem;
  font-weight: 700;
}

/* ── Fleet summary bar ───────────────────────────────────────────── */
.pricing-fleet-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.pfs-m {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #e4e8ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}
.pfs-m span {
  font-size: 0.68rem;
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.pfs-m strong {
  font-size: 1.22rem;
  color: #111827;
  font-weight: 950;
  letter-spacing: -0.025em;
}
.pfs-m.pos strong { color: #10b981; }
.pfs-m.neg strong { color: #ef4444; }

/* ── Cards grid ──────────────────────────────────────────────────── */
.pricing-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.pricing-vehicle-card {
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

/* ── Card header ─────────────────────────────────────────────────── */
.pvc-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.pvc-name {
  margin: 0 0 5px;
  font-size: 1rem;
  color: #111827;
  font-weight: 900;
  letter-spacing: -0.025em;
}
.pvc-meta-row {
  display: flex;
  align-items: center;
  gap: 7px;
}
.pvc-unit {
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 600;
}

/* ── Discount signal badge ───────────────────────────────────────── */
.pvc-signal {
  flex-shrink: 0;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
}
.signal-raise    { background: #d1fae5; color: #065f46; }
.signal-ok       { background: #dbeafe; color: #1e40af; }
.signal-hold     { background: #fef3c7; color: #92400e; }
.signal-discount { background: #fee2e2; color: #991b1b; }

/* ── Utilization bar ─────────────────────────────────────────────── */
.pvc-util-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.pvc-util-label {
  font-size: 0.74rem;
  font-weight: 700;
  color: #374151;
  white-space: nowrap;
  min-width: 118px;
}
.pvc-util-bar-wrap {
  flex: 1;
  height: 8px;
  border-radius: 999px;
  background: #eef2f7;
  overflow: hidden;
}
.pvc-util-fill {
  height: 100%;
  width: var(--u, 0%);
  border-radius: inherit;
  background: linear-gradient(90deg, #ff5a1f, #fb923c);
  transition: width 0.5s ease;
}
.pvc-util-vs {
  font-size: 0.68rem;
  color: #94a3b8;
  white-space: nowrap;
}

/* ── Metrics grid ────────────────────────────────────────────────── */
.pvc-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.pvc-m {
  padding: 9px 11px;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
  background: #f8fafc;
}
.pvc-m-wide { grid-column: span 2; }
.pvc-m span {
  display: block;
  font-size: 0.6rem;
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
  line-height: 1.3;
}
.pvc-m strong {
  display: block;
  font-size: 0.88rem;
  color: #111827;
  font-weight: 900;
}
.pvc-m.pos strong, .pvc-m strong.pos { color: #10b981; }
.pvc-m.neg strong, .pvc-m strong.neg { color: #ef4444; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .pricing-fleet-summary          { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pvc-metrics                    { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .v2-dashboard .vehicles-grid   { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .pricing-fleet-summary          { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pvc-metrics                    { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .pricing-fleet-summary          { grid-template-columns: 1fr 1fr; }
  .pvc-util-label                 { min-width: 90px; font-size: 0.68rem; }
}

/* ── Dark mode ───────────────────────────────────────────────────── */
[data-theme="dark"] .pricing-month-chip {
  background: #1a2535;
  border-color: #2d3748;
  color: #cbd5e1;
}
[data-theme="dark"] .pfs-m {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .pfs-m strong         { color: #f1f5f9; }
[data-theme="dark"] .pfs-m.pos strong     { color: #34d399; }
[data-theme="dark"] .pfs-m.neg strong     { color: #f87171; }
[data-theme="dark"] .pricing-vehicle-card {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .pvc-name             { color: #f1f5f9; }
[data-theme="dark"] .pvc-util-label       { color: #cbd5e1; }
[data-theme="dark"] .pvc-util-bar-wrap    { background: #1e2d45; }
[data-theme="dark"] .pvc-util-vs          { color: #64748b; }
[data-theme="dark"] .pvc-m               { background: #131c2e; border-color: #1e2d45; }
[data-theme="dark"] .pvc-m span          { color: #64748b; }
[data-theme="dark"] .pvc-m strong        { color: #e2e8f0; }
[data-theme="dark"] .pvc-m.pos strong,
[data-theme="dark"] .pvc-m strong.pos   { color: #34d399; }
[data-theme="dark"] .pvc-m.neg strong,
[data-theme="dark"] .pvc-m strong.neg   { color: #f87171; }
[data-theme="dark"] .signal-raise    { background: rgba(16, 185, 129, 0.15); color: #6ee7b7; }
[data-theme="dark"] .signal-ok       { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
[data-theme="dark"] .signal-hold     { background: rgba(245, 158, 11, 0.15); color: #fcd34d; }
[data-theme="dark"] .signal-discount { background: rgba(239, 68,  68, 0.15); color: #fca5a5; }

/* ═══════════════════════════════════════════════════════════════════
   EARNINGS SECTION
═══════════════════════════════════════════════════════════════════ */

.v2-dashboard .client-earnings-section {
  margin-bottom: 28px;
}

/* ── Section header ─────────────────────────────────────────────── */
.earnings-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.earnings-section-title {
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #111827;
  margin: 0 0 6px;
}

.earnings-total-display {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.earnings-total-amount {
  font-size: 1.2rem;
  font-weight: 900;
  color: #111827;
  letter-spacing: -0.03em;
}

.earnings-total-label {
  font-size: 0.82rem;
  color: #64748b;
  font-weight: 600;
}

.earnings-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.earnings-select {
  padding: 8px 14px;
  border: 1.5px solid #e4e8ef;
  border-radius: 10px;
  background: #fff;
  color: #374151;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  min-width: 145px;
  appearance: auto;
}
.earnings-select:focus { border-color: #4f46e5; }

/* ── Search bar (shared) ────────────────────────────────────────── */
.earnings-search-row,
.vehicles-search-row {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}

.earnings-search-row .search-icon,
.vehicles-search-row .search-icon {
  position: absolute;
  left: 14px;
  font-size: 0.85rem;
  pointer-events: none;
  color: #94a3b8;
  line-height: 1;
}

.earnings-search-input,
.vehicles-search-input {
  width: 100%;
  padding: 10px 14px 10px 38px;
  border: 1.5px solid #e4e8ef;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  font-size: 0.85rem;
  font-weight: 500;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.earnings-search-input:focus,
.vehicles-search-input:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(79,70,229,0.1);
}

.earnings-search-input::placeholder,
.vehicles-search-input::placeholder { color: #94a3b8; }

[data-theme="dark"] .earnings-search-input,
[data-theme="dark"] .vehicles-search-input {
  background: #1a2535;
  border-color: #2d3748;
  color: #e2e8f0;
}
[data-theme="dark"] .earnings-search-input::placeholder,
[data-theme="dark"] .vehicles-search-input::placeholder { color: #4b5563; }
[data-theme="dark"] .earnings-search-input:focus,
[data-theme="dark"] .vehicles-search-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}
[data-theme="dark"] .earnings-search-row .search-icon,
[data-theme="dark"] .vehicles-search-row .search-icon { color: #4b5563; }

/* ── Chart ──────────────────────────────────────────────────────── */
.earnings-chart-wrap {
  position: relative;
  height: 280px;
  padding: 20px 20px 8px;
  background: #fff;
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15,23,42,0.05);
  margin-bottom: 16px;
}

/* ── Legend ─────────────────────────────────────────────────────── */
.earnings-legend {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 0 4px;
}

.eleg-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.83rem;
  color: #374151;
}

.eleg-item strong, .eleg-item .eleg-pos, .eleg-item .eleg-neg {
  font-weight: 900;
  font-size: 0.9rem;
  color: #111827;
}

.eleg-neg { color: #ef4444 !important; }
.eleg-pos { color: #10b981 !important; }

.eleg-dot {
  width: 13px;
  height: 13px;
  border-radius: 4px;
  display: inline-block;
  flex-shrink: 0;
}

.eleg-dot.income  { background: #4f46e5; }
.eleg-dot.expense { background: #f97316; }
.eleg-dot.net     { background: #10b981; }

/* ── Vehicle earnings table ─────────────────────────────────────── */
.earnings-vehicle-table {
  border: 1px solid #e4e8ef;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(15,23,42,0.04);
}

.evt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e4e8ef;
  font-size: 0.78rem;
  font-weight: 800;
  color: #374151;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.evt-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.15s;
}
.evt-row:last-child { border-bottom: none; }
.evt-row:hover { background: #f8fafc; }

.evt-vehicle-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.evt-vehicle-name {
  font-size: 0.9rem;
  font-weight: 800;
  color: #111827;
}

.evt-vehicle-unit {
  font-size: 0.72rem;
  color: #64748b;
}

.evt-vehicle-amounts {
  display: flex;
  align-items: center;
  gap: 12px;
}

.evt-tag {
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}

.evt-tag.income-tag  { background: #ede9fe; color: #4f46e5; }
.evt-tag.expense-tag { background: #ffedd5; color: #c2410c; }

.evt-net {
  font-size: 1rem;
  font-weight: 900;
  min-width: 90px;
  text-align: right;
  color: #111827;
}
.evt-net.pos { color: #10b981; }
.evt-net.neg { color: #ef4444; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .earnings-section-header { flex-direction: column; gap: 12px; }
  .earnings-chart-wrap     { height: 220px; }
  .evt-row                 { flex-direction: column; align-items: flex-start; gap: 8px; }
  .evt-vehicle-amounts     { flex-wrap: wrap; }
}

/* ── Dark mode ───────────────────────────────────────────────────── */
[data-theme="dark"] .earnings-section-title,
[data-theme="dark"] .earnings-total-amount  { color: #f1f5f9; }
[data-theme="dark"] .earnings-total-label   { color: #64748b; }
[data-theme="dark"] .earnings-select {
  background: #1a2535;
  border-color: #2d3748;
  color: #e2e8f0;
}
[data-theme="dark"] .earnings-select:focus  { border-color: #6366f1; }
[data-theme="dark"] .earnings-chart-wrap {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .earnings-vehicle-table {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .evt-header {
  background: #131c2e;
  border-color: #2d3748;
  color: #94a3b8;
}
[data-theme="dark"] .evt-row               { border-color: #1e2d45; }
[data-theme="dark"] .evt-row:hover         { background: #1e2d45; }
[data-theme="dark"] .evt-vehicle-name      { color: #f1f5f9; }
[data-theme="dark"] .evt-vehicle-unit      { color: #64748b; }
[data-theme="dark"] .evt-tag.income-tag    { background: rgba(79,70,229,0.2); color: #a5b4fc; }
[data-theme="dark"] .evt-tag.expense-tag   { background: rgba(249,115,22,0.15); color: #fdba74; }
[data-theme="dark"] .evt-net               { color: #e2e8f0; }
[data-theme="dark"] .evt-net.pos           { color: #34d399; }
[data-theme="dark"] .evt-net.neg           { color: #f87171; }
[data-theme="dark"] .eleg-item             { color: #94a3b8; }
[data-theme="dark"] .eleg-item strong,
[data-theme="dark"] .eleg-item .eleg-pos,
[data-theme="dark"] .eleg-item .eleg-neg  { color: #f1f5f9; }
[data-theme="dark"] .eleg-neg             { color: #f87171 !important; }
[data-theme="dark"] .eleg-pos             { color: #34d399 !important; }

/* ═══════════════════════════════════════════════════════════════════
   BOOKINGS CALENDAR
═══════════════════════════════════════════════════════════════════ */

/* Section wrapper */
.client-calendar-section {
  margin-bottom: 28px;
}

/* Nav controls row */
.cal-nav-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cal-nav-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1;
  border-radius: 8px;
}

.cal-month-label {
  font-weight: 600;
  font-size: 1rem;
  min-width: 150px;
  text-align: center;
}

/* Scroll container */
.calendar-scroll-outer {
  overflow-x: auto;
  border-radius: 14px;
  border: 1.5px solid #e4e8ef;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

/* Inner frame — grows to fit all day columns */
.cal-frame {
  display: flex;
  flex-direction: column;
  min-width: max-content;
}

/* Header row */
.cal-head {
  display: flex;
  align-items: stretch;
  border-bottom: 2px solid #e4e8ef;
  background: #f8fafc;
  position: sticky;
  top: 0;
  z-index: 5;
}

.cal-head-label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 8px 14px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  border-right: 1.5px solid #e4e8ef;
}

.cal-head-dates {
  display: flex;
}

.cal-head-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 2px;
  border-right: 1px solid #e4e8ef;
  gap: 2px;
}

.cal-today-head {
  background: #eff6ff;
}

.cal-day-abbr {
  font-size: 0.62rem;
  color: #94a3b8;
  font-weight: 600;
  text-transform: uppercase;
}

.cal-day-num {
  font-size: 0.8rem;
  font-weight: 600;
  color: #475569;
}

.cal-today-num {
  background: #3b82f6;
  color: #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}

/* Body */
.cal-body {
  display: flex;
  flex-direction: column;
}

/* Vehicle row */
.cal-row {
  display: flex;
  border-bottom: 1.5px solid #e4e8ef;
  min-height: 54px;
}

.cal-row:last-child {
  border-bottom: none;
}

/* Vehicle label column */
.cal-row-label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-right: 1.5px solid #e4e8ef;
  background: #fafbfc;
}

.cal-vehicle-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
}

.cal-vehicle-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cal-vehicle-info strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 130px;
}

.cal-plate {
  font-size: 0.68rem;
  font-family: monospace;
  color: #64748b;
  background: #f1f5f9;
  padding: 1px 5px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  display: inline-block;
}

.cal-vrate {
  font-size: 0.68rem;
  color: #3b82f6;
  font-weight: 600;
}

/* Day cells area */
.cal-row-days {
  display: flex;
  position: relative;
  flex-shrink: 0;
}

/* Individual day cell */
.cal-day-cell {
  flex-shrink: 0;
  border-right: 1px solid #f1f5f9;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 2px 2px 4px;
  cursor: pointer;
  transition: background 0.12s;
  height: 54px;
  box-sizing: border-box;
}

.cal-day-cell.cal-day-avail:hover {
  background: #f0f9ff;
}

.cal-day-cell.cal-day-booked {
  background: #f8fafc;
  cursor: default;
}

.cal-day-cell.cal-day-today {
  background: #eff6ff;
}

.cal-rate {
  font-size: 0.6rem;
  color: #64748b;
  font-weight: 500;
  white-space: nowrap;
}

/* Booking bars (absolute) */
.cal-booking-bar {
  position: absolute;
  top: 8px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  gap: 4px;
  overflow: hidden;
  z-index: 3;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,0.18);
  transition: filter 0.12s;
}

.cal-booking-bar:hover {
  filter: brightness(0.92);
}

.cal-bar-text {
  font-size: 0.7rem;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

.cal-bar-edit,
.cal-bar-del {
  background: rgba(255,255,255,0.25);
  border: none;
  color: #fff;
  border-radius: 4px;
  width: 18px;
  height: 18px;
  font-size: 0.65rem;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}

.cal-bar-edit:hover,
.cal-bar-del:hover {
  background: rgba(255,255,255,0.4);
}

/* Loading / empty states */
.cal-loading,
.cal-empty {
  padding: 32px 24px;
  color: #94a3b8;
  font-size: 0.9rem;
  text-align: center;
}

/* ── Dark mode ────────────────────────────────────────────────────── */
[data-theme="dark"] .calendar-scroll-outer { background: #131c2e; border-color: #2d3748; }
[data-theme="dark"] .cal-head              { background: #1a2030; }
[data-theme="dark"] .cal-head-label        { border-color: #2d3748; color: #94a3b8; }
[data-theme="dark"] .cal-head-day          { border-color: #2d3748; }
[data-theme="dark"] .cal-today-head        { background: #1e3a5f; }
[data-theme="dark"] .cal-day-num           { color: #cbd5e1; }
[data-theme="dark"] .cal-today-num         { background: #3b82f6; color: #fff; }
[data-theme="dark"] .cal-row              { border-color: #2d3748; }
[data-theme="dark"] .cal-row-label         { background: #1e2535; border-color: #2d3748; }
[data-theme="dark"] .cal-vehicle-info strong { color: #e2e8f0; }
[data-theme="dark"] .cal-plate             { background: #0f172a; color: #94a3b8; }
[data-theme="dark"] .cal-day-cell          { border-color: #1e2535; }
[data-theme="dark"] .cal-day-cell.cal-day-avail:hover { background: #1e3a5f; }
[data-theme="dark"] .cal-day-cell.cal-day-today       { background: #1e3a5f; }
[data-theme="dark"] .cal-day-cell.cal-day-booked      { background: #1a2030; }
[data-theme="dark"] .cal-rate              { color: #64748b; }
[data-theme="dark"] .cal-loading,
[data-theme="dark"] .cal-empty             { color: #475569; }

/* ═══════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE  —  v2 Dashboard
   Breakpoints: 768px (tablet/phone) · 480px (small phone)
═══════════════════════════════════════════════════════════════════ */

/* ── 768px ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* App shell: single column; sidebar taken out of flow (fixed) */
  .v2-dashboard .app-frame {
    display: block;
  }

  .v2-dashboard .dashboard-main {
    padding: 0 14px 76px;   /* bottom clearance for nav bar */
  }

  /* ── Bottom navigation bar ──────────────────────────────────── */
  .v2-dashboard .right-sidebar {
    position: fixed;
    inset: auto 0 0 0;
    top: auto;
    height: auto;
    max-height: none;
    width: 100%;
    border-left: none;
    border-top: 1.5px solid #e4e8ef;
    background: #fff;
    z-index: 200;
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
    overflow: visible;
    gap: 0;
    order: 0;
  }

  /* Hide sidebar chrome */
  .v2-dashboard .sidebar-head,
  .v2-dashboard .right-sidebar > .sidebar-label {
    display: none !important;
  }

  /* Nav: horizontal scrollable tab strip */
  .v2-dashboard .sidebar-nav {
    display: flex !important;
    flex-direction: row;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 0;
    grid-template-columns: none;
    margin: 0;
  }
  .v2-dashboard .sidebar-nav::-webkit-scrollbar { display: none; }

  .v2-dashboard .sidebar-nav a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 10px 6px;
    min-width: 58px;
    min-height: 56px;
    font-size: 0.6rem;
    border-radius: 0;
    border-left: none;
    border-top: 3px solid transparent;
    gap: 3px;
    flex-shrink: 0;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0;
    color: #64748b;
  }
  .v2-dashboard .sidebar-nav a span {
    font-size: 1.25rem;
    line-height: 1;
    width: auto;
    height: auto;
    background: transparent;
  }
  .v2-dashboard .sidebar-nav a.active {
    border-left: none;
    border-top: 3px solid #3b82f6;
    color: #3b82f6;
    background: #f0f6ff;
  }
  .v2-dashboard .sidebar-nav a:hover:not(.active) {
    background: #f8fafc;
    border-left: none;
  }

  /* Footer: sign-out button only, flush right */
  .v2-dashboard .sidebar-footer {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    grid-template-columns: none;
    padding: 0 10px;
    flex-shrink: 0;
    border-left: 1.5px solid #e4e8ef;
    margin-top: 0;
  }
  .v2-dashboard .sidebar-footer .sidebar-label,
  .v2-dashboard .sidebar-footer .api-status {
    display: none !important;
  }
  .v2-dashboard #nav-signout {
    font-size: 0.68rem;
    padding: 8px 10px;
    height: auto;
    white-space: nowrap;
  }

  /* ── Top bar ─────────────────────────────────────────────────── */
  .v2-dashboard .app-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    margin: 0 0 14px;
    grid-template-columns: none;
  }
  .v2-dashboard .search-box {
    width: 100%;
    order: 3;
    max-width: none;
    justify-self: unset;
  }
  .v2-dashboard .user-chip  { order: 1; flex: 1; }
  .v2-dashboard .topbar-icon-row { order: 2; gap: 6px; }
  .v2-dashboard .flag-chip { display: none; }

  /* ── Dashboard title row ─────────────────────────────────────── */
  .v2-dashboard .dashboard-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .v2-dashboard .dashboard-title-row h1 { font-size: 1.35rem; }

  /* ── KPI strips ─────────────────────────────────────────────── */
  .v2-dashboard .kpi-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* ── Panel headings wrap ─────────────────────────────────────── */
  .v2-dashboard .panel-heading {
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
  }

  /* ── P&L filter row ─────────────────────────────────────────── */
  .v2-dashboard .pl-controls {
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
  }
  .v2-dashboard #pl-vehicle-filter {
    flex: 1;
    min-width: 0;
  }

  /* ── Vehicles grid ───────────────────────────────────────────── */
  .v2-dashboard .vehicles-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* ── Listing checklist ───────────────────────────────────────── */
  .v2-dashboard .bulk-select-label {
    width: 100%;
    justify-content: flex-start;
  }

  /* ── Data tables: horizontal scroll ─────────────────────────── */
  .v2-dashboard .listings-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .v2-dashboard .data-table {
    min-width: 580px;
  }

  /* ── Bookings calendar ───────────────────────────────────────── */
  .client-calendar-section .panel-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .cal-nav-controls { flex-wrap: wrap; }
  .cal-row-label,
  .cal-head-label { width: 130px !important; min-width: 130px; }

  /* ── Modals → bottom sheet ───────────────────────────────────── */
  .v2-dashboard .modal-overlay {
    align-items: flex-end;
    padding: 0;
  }
  .v2-dashboard .modal-card {
    width: 100%;
    max-width: 100%;
    max-height: 92svh;
    border-radius: 20px 20px 0 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ── Client viewing banner ───────────────────────────────────── */
  .v2-dashboard .client-banner {
    flex-wrap: wrap;
    gap: 8px;
  }

  /* ── Health card (fleet ops) ─────────────────────────────────── */
  .v2-dashboard .health-card {
    grid-template-columns: 1fr;
  }
  .v2-dashboard .line-chart-card svg {
    width: 100%;
    height: auto;
  }

  /* ── Clients grid (super admin) ──────────────────────────────── */
  .v2-dashboard .clients-grid {
    grid-template-columns: 1fr;
  }
}

/* ── 480px (small phones) ───────────────────────────────────────── */
@media (max-width: 480px) {

  .v2-dashboard .dashboard-main { padding-bottom: 72px; }

  .v2-dashboard .vehicles-grid { grid-template-columns: 1fr; }

  .v2-dashboard .sidebar-nav a {
    min-width: 50px;
    padding: 8px 6px 6px;
    font-size: 0.58rem;
  }

  .v2-dashboard .modal-card { max-height: 95svh; }

  .v2-dashboard .data-table { min-width: 520px; }

  .cal-row-label,
  .cal-head-label { width: 110px !important; min-width: 110px; }

  .v2-dashboard .dashboard-title-row h1 { font-size: 1.15rem; }

  /* Vehicle card tighter */
  .v2-dashboard .vehicle-card { padding: 14px; }
}

/* ── Dark mode overrides for bottom nav ─────────────────────────── */
@media (max-width: 768px) {
  [data-theme="dark"] .v2-dashboard .right-sidebar {
    background: #131c2e;
    border-top-color: #2d3748;
  }
  [data-theme="dark"] .v2-dashboard .sidebar-nav a {
    color: #94a3b8;
  }
  [data-theme="dark"] .v2-dashboard .sidebar-nav a.active {
    background: #1e3a5f;
    color: #60a5fa;
  }
  [data-theme="dark"] .v2-dashboard .sidebar-nav a:hover:not(.active) {
    background: #1a2030;
  }
  [data-theme="dark"] .v2-dashboard .sidebar-footer {
    border-left-color: #2d3748;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   LEFT SIDEBAR — Dark navy
═══════════════════════════════════════════════════════════════════ */
.left-sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 20px 14px 16px;
  background: #1b2133;
  overflow-y: auto;
  overflow-x: hidden;
  flex-shrink: 0;
}

.ls-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 4px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  margin-bottom: 16px;
  flex-shrink: 0;
}

.ls-brand-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #ff5a1f;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  flex-shrink: 0;
}

.ls-brand-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ls-brand-name {
  color: #f1f5f9;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.1;
}

.ls-brand-sub {
  color: #64748b;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Sidebar nav — left sidebar scope */
.left-sidebar .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow-y: auto;
}

.left-sidebar .sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  background: #ff5a1f;
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.14s, color 0.14s;
  white-space: nowrap;
}

.left-sidebar .sidebar-nav a svg[data-lucide] {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  stroke-width: 1.75;
  color: #ffffff;
  transition: color 0.14s;
}

.left-sidebar .sidebar-nav a span {
  display: block;
  width: auto;
  height: auto;
  background: transparent;
  color: inherit;
}

.left-sidebar .sidebar-nav a:hover {
  background: #ffffff;
  color: #ff5a1f;
}

.left-sidebar .sidebar-nav a:hover svg[data-lucide] {
  color: #ff5a1f;
}

.left-sidebar .sidebar-nav a.active {
  background: #ffffff;
  color: #ff5a1f;
  font-weight: 700;
}

.left-sidebar .sidebar-nav a.active svg[data-lucide] {
  color: #ff5a1f;
}

[data-theme="dark"] .left-sidebar .sidebar-nav a {
  background: #ff5a1f;
  color: #ffffff;
}
[data-theme="dark"] .left-sidebar .sidebar-nav a svg[data-lucide] { color: #ffffff; }
[data-theme="dark"] .left-sidebar .sidebar-nav a:hover,
[data-theme="dark"] .left-sidebar .sidebar-nav a.active {
  background: #ffffff;
  color: #ff5a1f;
}
[data-theme="dark"] .left-sidebar .sidebar-nav a:hover svg[data-lucide],
[data-theme="dark"] .left-sidebar .sidebar-nav a.active svg[data-lucide] {
  color: #ff5a1f;
}

/* Sidebar footer */
.ls-footer {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0;
}

.left-sidebar .api-status {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 500;
  min-height: auto;
  border: none;
}

.ls-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
  animation: pulse-dot 2.5s ease infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.ls-signout {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.08);
  background: transparent;
  color: #64748b;
  font-size: 0.75rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.14s, color 0.14s;
  text-align: left;
}

.ls-signout:hover {
  background: rgba(255,255,255,0.06);
  color: #e2e8f0;
}

.ls-signout svg[data-lucide] {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.ls-version {
  color: #3d4f68;
  font-size: 0.65rem;
  margin: 2px 0 0;
  padding: 0 2px;
}

/* ═══════════════════════════════════════════════════════════════════
   TOP BAR — New design
═══════════════════════════════════════════════════════════════════ */
.v2-dashboard .app-topbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  min-height: 52px;
  padding: 0 24px;
  margin: 0 -20px 18px;
  border-bottom: 1px solid #e9edf3;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.topbar-page-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.025em;
  white-space: nowrap;
}

.v2-dashboard .search-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  height: 34px;
  background: #f1f5f9;
  border-radius: 999px;
  border: 1px solid transparent;
  max-width: 300px;
  width: 100%;
  justify-self: center;
  transition: border-color 0.15s, background 0.15s;
}

.v2-dashboard .search-box:focus-within {
  border-color: #ff5a1f;
  background: #fff;
}

.v2-dashboard .search-box input {
  border: 0;
  background: transparent;
  outline: 0;
  font: inherit;
  font-size: 0.78rem;
  color: #374151;
  flex: 1;
  min-width: 0;
}

.v2-dashboard .search-box input::placeholder { color: #9ca3af; }

.v2-dashboard .search-box svg[data-lucide],
.v2-dashboard .search-box > i[data-lucide] {
  width: 13px;
  height: 13px;
  color: #9ca3af;
  flex-shrink: 0;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sys-live-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
  font-size: 0.68rem;
  font-weight: 600;
  white-space: nowrap;
}

.sys-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
}

.topbar-icon-btn {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  background: #fff;
  color: #374151;
  cursor: pointer;
}

.topbar-icon-btn svg[data-lucide] {
  width: 19px;
  height: 19px;
}

.v2-dashboard .user-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 8px;
  transition: background 0.14s;
}

.v2-dashboard .user-chip:hover { background: #f1f5f9; }

.user-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.user-org {
  font-size: 0.84rem;
  font-weight: 700;
  color: #111827;
}

.user-role-txt {
  font-size: 0.72rem;
  color: #64748b;
}

/* ═══════════════════════════════════════════════════════════════════
   FLEET HEALTH PANEL — Donut + Legend + 7-day bars
═══════════════════════════════════════════════════════════════════ */
.fleet-health-panel {
  padding: 18px 22px 16px;
  margin-bottom: 12px;
}

.fh-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 12px;
}

.fh-title {
  margin: 0 0 2px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
}

.fh-sub {
  margin: 0;
  font-size: 0.72rem;
  color: #64748b;
}

.fh-detail-link {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #ff5a1f;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.fh-detail-link:hover { text-decoration: underline; }

.fh-detail-link svg[data-lucide] {
  width: 11px;
  height: 11px;
}

.fh-body {
  display: grid;
  grid-template-columns: 160px 1fr 190px;
  gap: 24px;
  align-items: center;
}

/* Donut */
.fh-donut {
  position: relative;
  width: 140px;
  height: 140px;
  margin: 0 auto;
}

.fh-donut-ring {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: conic-gradient(
    #22c55e 0deg 158.4deg,
    #f59e0b 158.4deg 259.2deg,
    #ef4444 259.2deg 324deg,
    #d1d5db 324deg 360deg
  );
}

.fh-donut-ring::after {
  content: '';
  position: absolute;
  inset: 28px;
  background: #fff;
  border-radius: 50%;
}

.fh-donut-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  pointer-events: none;
}

.fh-donut-center strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  letter-spacing: -0.03em;
}

.fh-donut-center span {
  font-size: 0.58rem;
  color: #64748b;
  font-weight: 500;
  margin-top: 3px;
  text-align: center;
  line-height: 1.2;
}

.fh-trend-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 10px 0 0;
  font-size: 0.7rem;
  color: #ef4444;
  font-weight: 500;
}

.fh-trend-note svg[data-lucide] { width: 11px; height: 11px; }

/* Legend */
.fh-legend-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.fh-leg-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fh-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.fh-healthy  { background: #22c55e; }
.fh-attention { background: #f59e0b; }
.fh-critical  { background: #ef4444; }
.fh-offline   { background: #9ca3af; }

.fh-leg-name {
  flex: 1;
  font-size: 0.78rem;
  color: #374151;
  font-weight: 500;
}

.fh-leg-pct {
  font-size: 0.78rem;
  font-weight: 700;
  color: #111827;
  min-width: 34px;
  text-align: right;
}

.fh-leg-count {
  font-size: 0.68rem;
  color: #9ca3af;
  min-width: 74px;
  text-align: right;
}

/* 7-day trend bars */
.fh-bars-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fh-bars-title {
  margin: 0;
  font-size: 0.68rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fh-bars {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 80px;
}

.fh-bar {
  flex: 1;
  background: #fed7aa;
  border-radius: 3px 3px 0 0;
  min-height: 4px;
  transition: background 0.2s;
}

.fh-bar-active {
  background: #ff5a1f;
}

/* ═══════════════════════════════════════════════════════════════════
   METRIC CARDS — 5-column KPI strip
═══════════════════════════════════════════════════════════════════ */
.metric-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.metric-card {
  padding: 16px 14px 12px;
  background: #fff;
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(15,23,42,0.04);
}

.mc-icon {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  margin-bottom: 10px;
}

.mc-icon svg[data-lucide] {
  width: 15px;
  height: 15px;
  stroke-width: 2;
}

.mc-green  { background: #f0fdf4; color: #16a34a; }
.mc-orange { background: #fff7ed; color: #ea580c; }
.mc-amber  { background: #fffbeb; color: #d97706; }
.mc-blue   { background: #eff6ff; color: #2563eb; }

.mc-value {
  display: block;
  font-size: 1.7rem;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin-bottom: 5px;
  letter-spacing: -0.04em;
}

.mc-label {
  margin: 0 0 3px;
  font-size: 0.75rem;
  color: #374151;
  font-weight: 500;
  line-height: 1.3;
}

.mc-sub {
  font-size: 0.68rem;
  color: #9ca3af;
}

/* ═══════════════════════════════════════════════════════════════════
   OVERVIEW BOTTOM GRID — Map + Recommendations
═══════════════════════════════════════════════════════════════════ */
.overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
  gap: 12px;
  margin-bottom: 12px;
}

.overview-map-panel,
.overview-recs-panel {
  padding: 16px 18px;
}

.map-toolbar {
  display: flex;
  gap: 5px;
}

.map-toolbar button {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid #e4e8ef;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  cursor: pointer;
  transition: background 0.12s;
}

.map-toolbar button:hover { background: #f1f5f9; }

.map-toolbar button svg[data-lucide] {
  width: 12px;
  height: 12px;
}

.map-region-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 9px;
  background: #fff;
  border: 1px solid #e4e8ef;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  color: #374151;
  z-index: 2;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.map-dot-green {
  fill: #22c55e;
  stroke: #fff;
  stroke-width: 2.5;
}

.map-dot-orange {
  fill: #f97316;
  stroke: #fff;
  stroke-width: 2.5;
}

.recs-subtitle {
  margin: -8px 0 12px;
  font-size: 0.7rem;
  color: #64748b;
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — left sidebar collapse
═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1080px) {
  .v2-dashboard .app-frame {
    grid-template-columns: 1fr;
  }
  /* sidebar visibility is handled by the hamburger / sidebar-open class */
}

@media (max-width: 768px) {
  .metric-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .fh-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .fh-donut { margin: 0 auto; }

  .overview-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   DARK MODE — new components
═══════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .left-sidebar {
  background: #111827;
  border-right: 1px solid #1e2d45;
}

[data-theme="dark"] .ls-brand {
  border-bottom-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .ls-footer {
  border-top-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .v2-dashboard .app-topbar {
  background: rgba(15, 23, 42, 0.96);
  border-bottom-color: #1e2d45;
}

[data-theme="dark"] .topbar-page-title { color: #f1f5f9; }

[data-theme="dark"] .v2-dashboard .search-box {
  background: #1a2535;
  border-color: #2d3748;
}

[data-theme="dark"] .v2-dashboard .search-box input { color: #cbd5e1; }

[data-theme="dark"] .topbar-icon-btn {
  background: #1a2535;
  border-color: #2d3748;
  color: #cbd5e1;
}

[data-theme="dark"] .user-org { color: #f1f5f9; }

[data-theme="dark"] .sys-live-badge {
  background: rgba(34,197,94,0.1);
  border-color: rgba(34,197,94,0.25);
  color: #4ade80;
}

[data-theme="dark"] .fleet-health-panel,
[data-theme="dark"] .metric-card,
[data-theme="dark"] .overview-map-panel,
[data-theme="dark"] .overview-recs-panel {
  background: #1a2535;
  border-color: #2d3748;
}

[data-theme="dark"] .fh-donut-ring::after {
  background: #1a2535;
}

[data-theme="dark"] .fh-donut-center strong,
[data-theme="dark"] .fh-title,
[data-theme="dark"] .mc-value { color: #f1f5f9; }

[data-theme="dark"] .fh-leg-name,
[data-theme="dark"] .mc-label { color: #cbd5e1; }

[data-theme="dark"] .map-region-tag {
  background: #1e2d45;
  border-color: #2d3748;
  color: #cbd5e1;
}

[data-theme="dark"] .map-toolbar button {
  background: #1e2d45;
  border-color: #2d3748;
  color: #cbd5e1;
}

[data-theme="dark"] .recs-subtitle { color: #64748b; }

/* ── Map vehicle dot color overrides (higher specificity to beat generic circle rule) ── */
.v2-dashboard .map-card svg circle.map-dot-green {
  fill: #22c55e;
  stroke: #fff;
  stroke-width: 2.5;
}

.v2-dashboard .map-card svg circle.map-dot-orange {
  fill: #f97316;
  stroke: #fff;
  stroke-width: 2.5;
}

/* Ensure map card is positioned for absolute region tag */
.overview-map-panel .map-card {
  position: relative;
  min-height: 200px;
}

/* ═══════════════════════════════════════════════════════════════════
   OVERVIEW ENHANCEMENTS
═══════════════════════════════════════════════════════════════════ */

/* ── Fleet Health: thinner, cleaner donut ring ── */
.fh-donut-ring {
  background: conic-gradient(
    #22c55e 0deg 158.4deg,
    #f59e0b 158.4deg 259.2deg,
    #ef4444 259.2deg 324deg,
    #e5e7eb 324deg 360deg
  );
}

.fh-donut-ring::after {
  inset: 30px;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.04);
}

/* ── Fleet Health: legend right-alignment ── */
.fh-leg-pct {
  min-width: 40px;
}

.fh-leg-count {
  min-width: 80px;
  color: #94a3b8;
}

/* ── Metric card: positioning for badge ── */
.metric-card {
  position: relative;
}

/* ── Northstar badge ── */
.mc-northstar-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #2563eb;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* ── Map panel: grid background ── */
.overview-map-panel .map-card {
  background:
    linear-gradient(rgba(148,163,184,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,0.12) 1px, transparent 1px),
    #f8fafc;
  background-size: 36px 36px;
  min-height: 220px;
}

/* ── Map SVG path: dashed route line ── */
.overview-map-panel .map-card svg path {
  stroke-dasharray: 7 5;
  stroke-width: 2.5;
  stroke: #94a3b8;
  stroke-opacity: 0.7;
}

/* ── Map SVG: fill area for background ── */
.overview-map-panel .map-card svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ── Recommendation cards in overview panel ── */
.overview-recs-panel .dashboard-feed {
  gap: 8px;
  max-height: 340px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,90,31,0.3) transparent;
  padding-right: 2px;
}

.overview-recs-panel .dashboard-feed li {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e4e8ef;
  border-left: 3px solid #ef4444;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
  cursor: pointer;
  transition: background 0.12s, box-shadow 0.12s;
}

.overview-recs-panel .dashboard-feed li > div {
  flex: 1;
  min-width: 0;
}

.overview-recs-panel .dashboard-feed li:hover {
  background: #fafafa;
  box-shadow: 0 2px 8px rgba(15,23,42,0.06);
}
.overview-recs-panel .dashboard-feed li[data-nav-to] {
  cursor: pointer;
}

.overview-recs-panel .dashboard-feed li[data-priority="critical"] { border-left-color: #ef4444; }
.overview-recs-panel .dashboard-feed li[data-priority="high"]     { border-left-color: #f59e0b; }
.overview-recs-panel .dashboard-feed li[data-priority="attention"]{ border-left-color: #f59e0b; }
.overview-recs-panel .dashboard-feed li[data-priority="info"]     { border-left-color: #22c55e; }

/* Hide the default triangle icon in recs panel */
.overview-recs-panel .dashboard-feed li::before {
  display: none;
}

.overview-recs-panel .dashboard-feed strong {
  font-size: 0.82rem;
  color: #111827;
}

.overview-recs-panel .dashboard-feed span {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 1px;
}

/* Feed badge inside recs panel */
.overview-recs-panel .feed-badge {
  flex-shrink: 0;
  padding: 3px 8px;
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 700;
  border-radius: 999px;
  text-transform: capitalize;
}

/* ── Chevron affordance on rec items ── */
.overview-recs-panel .dashboard-feed li::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid #9ca3af;
  border-top: 1.5px solid #9ca3af;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: 4px;
}

/* ── Dark mode overrides for enhancements ── */
[data-theme="dark"] .overview-map-panel .map-card {
  background:
    linear-gradient(rgba(71,85,105,0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(71,85,105,0.2) 1px, transparent 1px),
    #111827;
  background-size: 36px 36px;
}

[data-theme="dark"] .overview-map-panel .map-card svg path {
  stroke: #475569;
}

[data-theme="dark"] .overview-recs-panel .dashboard-feed li {
  background: #1a2535;
  border-color: #2d3748;
}
[data-theme="dark"] .overview-recs-panel .dashboard-feed li[data-priority="critical"] { border-left-color: #ef4444; }
[data-theme="dark"] .overview-recs-panel .dashboard-feed li[data-priority="high"]     { border-left-color: #f59e0b; }
[data-theme="dark"] .overview-recs-panel .dashboard-feed li[data-priority="attention"]{ border-left-color: #f59e0b; }
[data-theme="dark"] .overview-recs-panel .dashboard-feed li[data-priority="info"]     { border-left-color: #22c55e; }
[data-theme="dark"] .overview-recs-panel .dashboard-feed { scrollbar-color: rgba(255,90,31,0.25) transparent; }
[data-theme="dark"] .overview-recs-panel .dashboard-feed li[data-nav-to]:hover {
  background: #1e2f45;
}

[data-theme="dark"] .overview-recs-panel .dashboard-feed strong {
  color: #f1f5f9;
}

[data-theme="dark"] .mc-northstar-badge {
  background: rgba(37,99,235,0.15);
  border-color: rgba(37,99,235,0.3);
  color: #60a5fa;
}

[data-theme="dark"] .fh-donut-ring::after {
  background: #1a2535;
}

/* ═══════════════════════════════════════════════════════════════════
   SPA NAVIGATION – HAMBURGER + MOBILE SIDEBAR + RESPONSIVE
═══════════════════════════════════════════════════════════════════ */

/* Hamburger — hidden on desktop */
.hamburger-btn {
  display: none;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
  color: #374151;
  transition: background 0.15s;
  flex-shrink: 0;
}
.hamburger-btn:hover { background: rgba(0,0,0,0.06); }
.hamburger-btn svg   { width: 22px; height: 22px; }

/* Sidebar overlay */
.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,0.5);
  z-index: 199;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.sidebar-overlay.active { display: block; }

/* Page-switch fade-in */
[data-page]:not(.hidden) {
  animation: pageFadeIn 0.2s ease;
}
@keyframes pageFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Tablet / mobile: ≤ 1080px (matches where sidebar disappears) ── */
@media (max-width: 1080px) {
  .hamburger-btn { display: flex; }

  .v2-dashboard .app-frame {
    grid-template-columns: 1fr !important;
  }

  .v2-dashboard .left-sidebar {
    display: flex !important;       /* override the display:none from earlier rule */
    position: fixed;
    left: 0;
    top: 0;
    height: 100dvh;
    z-index: 200;
    transform: translateX(-100%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 6px 0 40px rgba(0,0,0,0.22);
    width: 260px;
  }
  .v2-dashboard .left-sidebar.sidebar-open { transform: translateX(0); }

  .v2-dashboard .dashboard-main {
    width: 100%;
    min-height: 100dvh;
  }

  .v2-dashboard .app-topbar {
    grid-template-columns: auto 1fr auto !important;
    gap: 8px !important;
    padding: 0 14px !important;
  }

  /* Hide search bar on mobile so the 3-column topbar grid stays intact */
  .v2-dashboard .search-box { display: none !important; }

  .v2-dashboard .overview-grid     { grid-template-columns: 1fr !important; }
  .v2-dashboard .secondary-grid    { grid-template-columns: 1fr 1fr !important; }
  .v2-dashboard .metric-cards      { grid-template-columns: repeat(2, 1fr) !important; }
  .v2-dashboard .kpi-strip         { grid-template-columns: repeat(2, 1fr) !important; }
  .v2-dashboard .client-kpi         { grid-template-columns: repeat(3, 1fr) !important; }
  .v2-dashboard .vehicles-grid     { grid-template-columns: 1fr !important; }
  .v2-dashboard .clients-grid      { grid-template-columns: 1fr !important; }

  .v2-dashboard .fh-body           { flex-direction: column !important; }
  .v2-dashboard .fh-legend-col,
  .v2-dashboard .fh-bars-col       { width: 100% !important; }

  .v2-dashboard .earnings-section-header { flex-direction: column !important; gap: 12px; }
  .v2-dashboard .earnings-controls       { flex-wrap: wrap; gap: 8px; }
  .v2-dashboard .pl-summary-row          { flex-direction: column !important; gap: 10px; }

  .v2-dashboard .listings-table-wrap { overflow-x: auto; }
  .v2-dashboard .data-table          { min-width: 600px; }
  .v2-dashboard .calendar-scroll-outer { overflow-x: auto; }
}

/* ── Small phones: ≤ 480px ── */
@media (max-width: 480px) {
  .v2-dashboard .metric-cards  { grid-template-columns: 1fr !important; }
  .v2-dashboard .kpi-strip     { grid-template-columns: 1fr 1fr !important; }
  .v2-dashboard .secondary-grid { grid-template-columns: 1fr !important; }

  .v2-dashboard .sys-live-badge { display: none; }

  .v2-dashboard .topbar-page-title { font-size: 1rem !important; }
  .v2-dashboard .topbar-right      { gap: 6px !important; }

  .v2-dashboard .fh-donut          { width: 140px !important; height: 140px !important; }
  .v2-dashboard .map-card          { min-height: 160px !important; }
}

/* ═══════════════════════════════════════════════════════════
   CLIENT PAGES — Shared page wrapper
═══════════════════════════════════════════════════════════ */
.cl-client-page {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: calc(100dvh - 64px);
}
.cl-section-sub {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-secondary, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── Dispatch / shared KPI strip ── */
.dispatch-kpi-row,
.maint-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 4px;
}
.dispatch-kpi-card {
  background: var(--card-bg, #fff);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dkpi-label {
  font-size: 0.74rem;
  color: var(--text-muted, #94a3b8);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dkpi-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
  line-height: 1.1;
}
.dispatch-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── Status badge variants ── */
.status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: capitalize;
}
.badge-green  { background: #dcfce7; color: #15803d; }
.badge-blue   { background: #dbeafe; color: #1d4ed8; }
.badge-orange { background: #fef3c7; color: #b45309; }
.badge-red    { background: #fee2e2; color: #dc2626; }
.badge-gray   { background: #f1f5f9; color: #64748b; }

/* ── Reports ── */
.reports-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.rpt-vehicle-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 260px;
  overflow-y: auto;
}
.rpt-vehicle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--surface, #f8fafc);
  border: 1px solid var(--border, #e2e8f0);
}
.rpt-veh-info {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rpt-veh-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-primary, #0f172a);
}
.rpt-veh-earn {
  font-size: 0.9rem;
  font-weight: 700;
  color: #15803d;
}

/* ── Profile dropdown ── */
.profile-dropdown {
  position: fixed;
  z-index: 9999;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px;
  min-width: 210px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  display: none;
  flex-direction: column;
  gap: 4px;
}
.profile-dropdown.visible {
  display: flex;
  animation: pd-in 0.18s cubic-bezier(.22,1,.36,1);
}
@keyframes pd-in {
  from { opacity: 0; transform: translateY(-8px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.pd-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 4px;
}
.pd-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff7ed, #fed7aa);
  color: #c2410c;
  font-size: 0.88rem;
  font-weight: 700;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 2px solid #fed7aa;
}
.pd-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pd-name {
  font-size: 0.84rem;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pd-role {
  font-size: 0.7rem;
  color: #64748b;
}
.pd-divider {
  border: none;
  border-top: 1px solid #f1f5f9;
  margin: 2px 0;
}
.pd-signout-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #ef4444;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: background 0.13s;
}
.pd-signout-btn:hover { background: #fef2f2; }
.pd-signout-btn svg { flex-shrink: 0; }
[data-theme="dark"] .profile-dropdown {
  background: #0d1929;
  border-color: rgba(255,90,31,0.3);
  box-shadow: 0 10px 40px rgba(0,0,0,0.45);
}
[data-theme="dark"] .pd-header { border-bottom-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .pd-name { color: #f1f5f9; }
[data-theme="dark"] .pd-role { color: #64748b; }
[data-theme="dark"] .pd-divider { border-top-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .pd-signout-btn { color: #f87171; }
[data-theme="dark"] .pd-signout-btn:hover { background: rgba(239,68,68,0.12); }

/* ── Notification blur overlay ── */
.notif-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(5, 10, 20, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.notif-overlay.visible {
  opacity: 1;
  pointer-events: all;
}
.notif-overlay-panel {
  background: #0d1929;
  border: 1px solid rgba(255, 90, 31, 0.5);
  border-radius: 20px;
  width: 100%;
  max-width: 500px;
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 90, 31, 0.1), 0 0 60px rgba(255, 90, 31, 0.08);
  transform: scale(0.94) translateY(16px);
  transition: transform 0.25s cubic-bezier(.22, 1, .36, 1);
  overflow: hidden;
}
.notif-overlay.visible .notif-overlay-panel {
  transform: scale(1) translateY(0);
}
.notif-overlay-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 22px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  flex-shrink: 0;
}
.notif-overlay-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ff5a1f;
  margin-bottom: 4px;
}
.notif-overlay-title {
  font-size: 1.1rem;
  font-weight: 800;
  color: #f1f5f9;
  margin: 0;
  line-height: 1.2;
}
.notif-overlay-subtitle {
  font-size: 0.73rem;
  color: #64748b;
  margin: 3px 0 0;
}
.notif-overlay-close {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 0.82rem;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
  margin-left: 12px;
}
.notif-overlay-close:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #f1f5f9;
}
.notif-overlay-body {
  overflow-y: auto;
  padding: 16px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 90, 31, 0.3) transparent;
}
.notif-overlay-empty {
  padding: 32px 0;
  text-align: center;
  color: #475569;
  font-size: 0.85rem;
}
.notif-overlay-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left-width: 3px;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: background 0.15s, box-shadow 0.15s, transform 0.12s;
}
.notif-overlay-item:hover {
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  transform: translateX(2px);
}
.notif-overlay-item[data-priority="critical"] { border-left-color: #ef4444; }
.notif-overlay-item[data-priority="high"]     { border-left-color: #f59e0b; }
.notif-overlay-item[data-priority="attention"]{ border-left-color: #f59e0b; }
.notif-overlay-item[data-priority="info"]     { border-left-color: #22c55e; }
.notif-overlay-item-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.notif-overlay-item[data-priority="critical"] .notif-overlay-item-icon { background: rgba(239,68,68,0.15); color: #ef4444; }
.notif-overlay-item[data-priority="high"]     .notif-overlay-item-icon { background: rgba(245,158,11,0.15); color: #f59e0b; }
.notif-overlay-item[data-priority="attention"].notif-overlay-item-icon { background: rgba(245,158,11,0.15); color: #f59e0b; }
.notif-overlay-item-text { flex: 1; min-width: 0; }
.notif-overlay-item-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notif-overlay-item-desc {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notif-overlay-item-arrow {
  color: #334155;
  flex-shrink: 0;
  transition: color 0.15s;
}
.notif-overlay-item:hover .notif-overlay-item-arrow { color: #ff5a1f; }
.notif-overlay-footer {
  padding: 14px 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  text-align: center;
  flex-shrink: 0;
}
.notif-overlay-dismiss {
  background: none;
  border: none;
  color: #475569;
  font-size: 0.75rem;
  cursor: pointer;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  transition: color 0.15s;
}
.notif-overlay-dismiss:hover { color: #94a3b8; }

/* ── Editable inspection date cell ── */
.insp-editable {
  cursor: pointer;
  transition: background 0.15s;
}
.insp-editable:hover {
  background: rgba(255, 90, 31, 0.06) !important;
}
.insp-edit-icon {
  display: inline-block;
  margin-left: 5px;
  opacity: 0;
  color: #ff5a1f;
  vertical-align: middle;
  transition: opacity 0.15s;
  width: 11px;
  height: 11px;
}
.insp-editable:hover .insp-edit-icon { opacity: 1; }

/* ── Inspection date popover ── */
.insp-date-popover {
  position: fixed;
  z-index: 10000;
  background: #0d1929;
  border: 1px solid rgba(255, 90, 31, 0.45);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 90, 31, 0.08);
  min-width: 256px;
  display: none;
  flex-direction: column;
  gap: 12px;
}
.insp-date-popover.visible {
  display: flex;
  animation: idp-in 0.22s cubic-bezier(.22, 1, .36, 1);
}
@keyframes idp-in {
  from { opacity: 0; transform: translateY(6px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.idp-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.idp-title {
  font-size: 0.72rem;
  font-weight: 700;
  color: #94a3b8;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.idp-close {
  background: none;
  border: none;
  color: #475569;
  cursor: pointer;
  font-size: 0.78rem;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 5px;
  transition: background 0.12s, color 0.12s;
}
.idp-close:hover { background: rgba(255,255,255,0.08); color: #f1f5f9; }
.idp-vehicle-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.idp-date-input {
  padding: 9px 12px;
  border: 1.5px solid #1e3a5f;
  border-radius: 9px;
  background: #131c2e;
  color: #f1f5f9;
  font: inherit;
  font-size: 0.86rem;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  color-scheme: dark;
  transition: border-color 0.15s;
}
.idp-date-input:focus { border-color: #ff5a1f; }
.idp-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.idp-save-btn {
  padding: 7px 18px;
  background: #ff5a1f;
  color: #fff;
  border: none;
  border-radius: 8px;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
}
.idp-save-btn:hover:not(:disabled) { background: #e04010; }
.idp-save-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.idp-cancel-btn {
  padding: 7px 14px;
  background: rgba(255,255,255,0.06);
  color: #94a3b8;
  border: 1px solid #1e3a5f;
  border-radius: 8px;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  transition: background 0.12s;
}
.idp-cancel-btn:hover { background: rgba(255,255,255,0.1); color: #f1f5f9; }
.idp-status-msg {
  font-size: 0.73rem;
  color: #ef4444;
  min-height: 13px;
  text-align: right;
}

/* ── No-match search card ── */
.no-match-card {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 52px 24px;
  border-radius: 18px;
  border: 1.5px dashed rgba(255,90,31,0.35);
  background: linear-gradient(135deg, rgba(255,90,31,0.04) 0%, rgba(99,102,241,0.04) 100%);
  text-align: center;
  animation: no-match-in 0.35s cubic-bezier(.22,1,.36,1);
}
@keyframes no-match-in {
  from { opacity: 0; transform: scale(0.94) translateY(12px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.no-match-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255,90,31,0.10);
  display: grid;
  place-items: center;
  color: #ff5a1f;
}
.no-match-icon svg {
  width: 26px;
  height: 26px;
}
.no-match-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
  margin: 0;
  letter-spacing: 0.01em;
}
.no-match-sub {
  font-size: 0.78rem;
  color: var(--text-muted, #94a3b8);
  display: block;
}
[data-theme="dark"] .no-match-card {
  background: linear-gradient(135deg, rgba(255,90,31,0.07) 0%, rgba(99,102,241,0.07) 100%);
  border-color: rgba(255,90,31,0.25);
}
[data-theme="dark"] .no-match-title { color: #f1f5f9; }

/* ── P&L vehicle filter select ── */
#pl-vehicle-filter {
  appearance: none;
  -webkit-appearance: none;
  padding: 8px 36px 8px 14px;
  border: 1.5px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--card-bg, #fff)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")
    no-repeat right 12px center;
  color: var(--text-primary, #0f172a);
  font-size: 0.83rem;
  font: inherit;
  font-size: 0.83rem;
  font-weight: 500;
  min-width: 160px;
  cursor: pointer;
  outline: none;
  transition: border-color 0.18s, box-shadow 0.18s;
}
#pl-vehicle-filter:focus {
  border-color: #ff5a1f;
  box-shadow: 0 0 0 3px rgba(255,90,31,0.12);
}
#pl-vehicle-filter:hover { border-color: #cbd5e1; }

[data-theme="dark"] #pl-vehicle-filter {
  background-color: #1a2535;
  border-color: #2d3748;
  color: #e2e8f0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}
[data-theme="dark"] #pl-vehicle-filter:focus { border-color: #ff5a1f; }

/* ── Shared form-group (label stacked above input) ── */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.form-group label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--border, #e2e8f0);
  border-radius: 10px;
  background: var(--surface, #f8fafc);
  color: var(--text-primary, #0f172a);
  font: inherit;
  font-size: 0.88rem;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
  -webkit-appearance: none;
  appearance: none;
}
.form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  cursor: pointer;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #ff5a1f;
  background: var(--card-bg, #fff);
  box-shadow: 0 0 0 3px rgba(255,90,31,0.11);
}
.form-group input:disabled,
.form-group select:disabled {
  background: var(--surface, #f1f5f9);
  color: var(--text-muted, #94a3b8);
  cursor: not-allowed;
  border-style: dashed;
}
.form-group .muted-note {
  font-size: 0.73rem;
  color: var(--text-muted, #94a3b8);
  margin-top: 2px;
}

[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea {
  background: #131c2e;
  border-color: #2d3748;
  color: #e2e8f0;
}
[data-theme="dark"] .form-group input:focus,
[data-theme="dark"] .form-group select:focus,
[data-theme="dark"] .form-group textarea:focus {
  border-color: #ff5a1f;
  background: #1a2535;
}
[data-theme="dark"] .form-group input:disabled,
[data-theme="dark"] .form-group select:disabled {
  background: #0f172a;
  color: #475569;
}

/* ── Settings ── */
.settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 4px;
}
.settings-panel {
  padding: 24px;
}
.settings-panel-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-primary, #0f172a);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.settings-panel-title svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.settings-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.settings-info-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.settings-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--border, #e2e8f0);
  font-size: 0.85rem;
}
.settings-info-row:last-child { border-bottom: none; }
.settings-info-row > span:first-child {
  color: var(--text-muted, #64748b);
}
.settings-info-row > span:last-child {
  font-weight: 600;
  color: var(--text-primary, #0f172a);
}
.role-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: #ede9fe;
  color: #6d28d9;
  text-transform: capitalize;
}
.form-alert { padding: 8px 12px; border-radius: 6px; font-size: 0.82rem; font-weight: 500; }
.form-alert-success { background: #dcfce7; color: #15803d; }
.form-alert-error   { background: #fee2e2; color: #dc2626; }

/* ── Mobile responsive for new pages ── */
@media (max-width: 1080px) {
  .cl-client-page { padding: 16px; }
  .reports-grid   { grid-template-columns: 1fr; }
  .settings-grid  { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .dispatch-kpi-row,
  .maint-kpi-row { grid-template-columns: repeat(2, 1fr); }
  .dkpi-value    { font-size: 1.2rem; }
}

/* Dark mode hamburger */
[data-theme="dark"] .hamburger-btn       { color: #cbd5e1; }
[data-theme="dark"] .hamburger-btn:hover { background: rgba(255,255,255,0.08); }


/* Super-admin company and access center */
.client-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.access-pill{padding:5px 8px;border-radius:999px;background:#eaf8ef;color:#168247;font-size:.68rem;font-weight:700;text-transform:capitalize}.access-pill.suspended{background:#fff0ee;color:#c4322b}.admin-access-card{width:min(720px,calc(100vw - 32px))}.admin-invite-result{padding:14px;border:1px solid #b7e4c7;border-radius:12px;background:#f0fdf4}.admin-invite-result strong,.admin-invite-result p{display:block}.admin-invite-result p{margin:4px 0 10px;color:var(--muted);font-size:.78rem}.admin-invite-result>div{display:grid;grid-template-columns:1fr auto;gap:8px}.admin-invite-result input{min-width:0}.password-guidance{margin:-4px 0 12px;color:var(--muted);font-size:.75rem}.lock-brand{position:relative;display:inline-block!important;width:38px!important;height:38px!important;border-radius:10px!important;background:linear-gradient(145deg,#ff5a38,#ef3516)!important;box-shadow:0 8px 20px rgba(255,59,31,.22)}.lock-brand .lock-shackle{position:absolute;left:12px;top:7px;width:14px;height:13px;border:2px solid #fff;border-bottom:0;border-radius:8px 8px 0 0}.lock-brand .lock-body{position:absolute;left:9px;top:17px;width:20px;height:15px;border:2px solid #fff;border-radius:4px}@media(max-width:720px){.client-card-actions{justify-content:flex-start}.admin-access-card .form-row{grid-template-columns:1fr}}


/* Connected hardware and vehicle cost intelligence */
.hardware-page{padding-bottom:48px}
.hardware-heading{align-items:flex-end;margin-bottom:20px}
.section-subtitle{color:var(--muted,#667085);margin-top:6px;max-width:650px}
.hardware-actions{display:flex;gap:9px;flex-wrap:wrap}
.hardware-actions button{display:inline-flex;align-items:center;gap:7px}
.hardware-actions svg{width:16px;height:16px}
.hardware-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.hardware-kpi{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--border,#e4e7ec);border-radius:16px;background:var(--card,#fff);box-shadow:0 8px 28px rgba(15,23,42,.05)}
.hardware-kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff1ed;color:#ff3b1f}
.hardware-kpi-icon.online{background:#ecfdf3;color:#079455}.hardware-kpi-icon.warning{background:#fff7ed;color:#e04f16}
.hardware-kpi-icon svg{width:21px;height:21px}.hardware-kpi small{display:block;color:var(--muted,#667085);font-size:.75rem;margin-bottom:3px}.hardware-kpi strong{font-size:1.35rem;letter-spacing:-.03em}
.hardware-layout{display:grid;gap:18px}.hardware-layout .dashboard-panel{overflow:hidden}
.panel-heading.compact{margin-bottom:14px}.hardware-live-key{font-size:.76rem;color:var(--muted,#667085);display:flex;align-items:center;gap:6px}.hardware-live-key i{width:8px;height:8px;border-radius:99px;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.12)}
.hardware-table td:nth-child(2){display:flex;align-items:center;gap:9px}.hardware-table td:nth-child(2) small{display:block;text-transform:capitalize;color:var(--muted,#667085);margin-top:2px}
.device-cell-icon{width:34px;height:34px;min-width:34px;border-radius:10px;background:#fff1ed;color:#ff3b1f;display:grid;place-items:center}.device-cell-icon svg{width:17px;height:17px}
.identifier-stack{font:500 .72rem/1.6 Geist,Arial,sans-serif;color:var(--muted,#667085)}
.connection-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:650;text-transform:capitalize;background:#f2f4f7;color:#475467}.connection-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}
.connection-badge.online{background:#ecfdf3;color:#067647}.connection-badge.offline{background:#fef3f2;color:#b42318}.connection-badge.service{background:#fff7ed;color:#c4320a}
.expense-total{color:#ff3b1f}.empty-cell{text-align:center!important;color:var(--muted,#667085);padding:34px!important}.error-text{color:#b42318}
.hardware-modal-card{width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}.hardware-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hardware-form .full{grid-column:1/-1}.hardware-form textarea{resize:vertical}
@media(max-width:1050px){.hardware-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.hardware-heading{align-items:flex-start}.hardware-kpis{grid-template-columns:1fr}.hardware-actions{width:100%}.hardware-actions button{flex:1;justify-content:center}.hardware-form .form-grid{grid-template-columns:1fr}.hardware-form .full{grid-column:auto}}

/* Super-admin client onboarding */
.admin-clients-section>.panel-heading{align-items:flex-start}.admin-clients-section>.panel-heading .btn-primary{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.admin-clients-section>.panel-heading svg{width:17px;height:17px}
.onboarding-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.onboarding-flow>div{position:relative;padding:16px 16px 16px 56px;border:1px solid var(--border,#e4e7ec);border-radius:14px;background:linear-gradient(135deg,var(--card,#fff),rgba(255,79,40,.035))}
.onboarding-flow span{position:absolute;left:15px;top:16px;width:30px;height:30px;border-radius:10px;background:#ff3b1f;color:#fff;display:grid;place-items:center;font-weight:750}
.onboarding-flow strong,.onboarding-flow small{display:block}.onboarding-flow small{color:var(--muted,#667085);font-size:.74rem;margin-top:3px}
.admin-credential-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #fed7cc;background:#fff8f5;border-radius:13px;padding:14px 15px;margin-top:4px}
.admin-credential-tools p{font-size:.76rem;color:#667085;margin:3px 0 0}.admin-credential-tools button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.admin-credential-tools svg{width:16px;height:16px}
.auth-alert.success{border-color:#abefc6;background:#ecfdf3;color:#067647}
@media(max-width:720px){.onboarding-flow{grid-template-columns:1fr}.admin-clients-section>.panel-heading{gap:14px}.admin-credential-tools{align-items:flex-start;flex-direction:column}}


/* Modern super-admin command center */
.sa-overview{display:grid;gap:18px}.sa-overview.hidden{display:none}
.sa-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:34px;border:1px solid #fed7cc;border-radius:22px;background:radial-gradient(circle at 92% 18%,rgba(255,79,40,.17),transparent 28%),linear-gradient(135deg,#fff 0%,#fff8f5 100%);box-shadow:0 18px 50px rgba(16,24,40,.07)}
.sa-hero:after{content:"";position:absolute;right:-70px;bottom:-105px;width:260px;height:260px;border:42px solid rgba(255,74,40,.055);border-radius:50%;pointer-events:none}
.sa-hero>div{position:relative;z-index:1}.sa-hero-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #fec5b6;border-radius:999px;background:#fff;color:#e63c1e;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.sa-hero-badge svg{width:15px;height:15px}
.sa-hero h1{margin:15px 0 10px;max-width:720px;color:#0f172a;font-size:clamp(2rem,3vw,3rem);line-height:1.04;letter-spacing:-.055em}.sa-hero h1 span{color:#ff3b1f}.sa-hero p{max-width:690px;color:#667085;font-size:.96rem;line-height:1.65}
.sa-hero-actions{display:flex;flex-direction:column;min-width:205px;gap:10px}.sa-hero-actions button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:11px;font-weight:700}.sa-hero-actions svg{width:17px;height:17px}
.sa-btn-primary{border:1px solid #ff3b1f;background:#ff3b1f;color:#fff;box-shadow:0 10px 22px rgba(255,59,31,.22)}.sa-btn-secondary{border:1px solid #d0d5dd;background:#fff;color:#101828}
.sa-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sa-metric-grid article{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #e4e7ec;border-radius:16px;background:var(--card,#fff);box-shadow:0 8px 25px rgba(16,24,40,.045)}.sa-metric-grid small,.sa-metric-grid strong,.sa-metric-grid em{display:block}.sa-metric-grid small{color:#667085;font-size:.75rem}.sa-metric-grid strong{margin:2px 0;color:var(--text,#101828);font-size:1.7rem;line-height:1}.sa-metric-grid em{color:#98a2b3;font-size:.69rem;font-style:normal}
.sa-metric-icon{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border-radius:13px}.sa-metric-icon svg{width:21px;height:21px}.sa-metric-icon.orange{background:#fff1ed;color:#f04438}.sa-metric-icon.green{background:#ecfdf3;color:#079455}.sa-metric-icon.blue{background:#eff8ff;color:#1570ef}.sa-metric-icon.amber{background:#fffaeb;color:#dc6803}
.sa-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);gap:18px}.sa-panel{padding:22px;border:1px solid #e4e7ec;border-radius:18px;background:var(--card,#fff);box-shadow:0 10px 30px rgba(16,24,40,.045)}.sa-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.sa-panel-head h2{font-size:1.05rem}.sa-text-btn{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#f04438;font-size:.78rem;font-weight:700}.sa-text-btn svg{width:15px;height:15px}
.sa-company-list{display:grid}.sa-company-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f2f4f7}.sa-company-row:last-child{border-bottom:0}.sa-company-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#ff6548,#f04424);color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 7px 15px rgba(240,68,56,.18)}.sa-company-row strong,.sa-company-row small{display:block}.sa-company-row strong{font-size:.84rem}.sa-company-row small{margin-top:3px;color:#667085;font-size:.69rem;text-transform:capitalize}.sa-company-status{display:flex;align-items:center;gap:6px;color:#067647;font-size:.69rem;font-weight:700}.sa-company-status i{width:7px;height:7px;border-radius:50%;background:#12b76a}.sa-company-status.suspended{color:#b42318}.sa-company-status.suspended i{background:#f04438}.sa-enter-company{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-size:.72rem;font-weight:700}.sa-enter-company svg{width:14px;height:14px}
.sa-actions-panel>button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 0;border:0;border-bottom:1px solid #f2f4f7;background:transparent;text-align:left}.sa-actions-panel>button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff1ed;color:#f04438}.sa-actions-panel>button svg{width:17px;height:17px}.sa-actions-panel>button>svg{color:#98a2b3;width:15px}.sa-actions-panel button strong,.sa-actions-panel button small{display:block}.sa-actions-panel button strong{font-size:.8rem}.sa-actions-panel button small{margin-top:2px;color:#667085;font-size:.68rem}.sa-security-note{display:flex;gap:10px;margin-top:15px;padding:13px;border-radius:12px;background:#f8fafc;color:#475467}.sa-security-note>svg{width:18px;min-width:18px;color:#f04438}.sa-security-note strong,.sa-security-note small{display:block}.sa-security-note strong{font-size:.75rem}.sa-security-note small{margin-top:3px;font-size:.66rem;line-height:1.45}.sa-loading,.sa-empty{padding:38px;text-align:center;color:#667085}.sa-empty svg{display:block;margin:0 auto 9px}.sa-empty strong,.sa-empty span{display:block}.sa-empty span{margin-top:4px;font-size:.76rem}
[data-theme="dark"] .sa-hero{border-color:#3c2724;background:radial-gradient(circle at 92% 18%,rgba(255,79,40,.14),transparent 28%),linear-gradient(135deg,#151b2c,#171923)}[data-theme="dark"] .sa-hero h1{color:#f8fafc}[data-theme="dark"] .sa-btn-secondary,[data-theme="dark"] .sa-enter-company{border-color:#344054;background:#1d2433;color:#e4e7ec}

/* Calendar readability */
.client-calendar-section .panel-heading h2{font-size:1.35rem}.cal-month-label{font-size:1.1rem!important;font-weight:750!important}.cal-nav-btn{min-height:40px;font-size:.88rem!important}.cal-head-label,.cal-head-day{font-size:.78rem!important}.cal-day-abbr{font-size:.72rem!important;font-weight:700!important}.cal-day-num{font-size:1rem!important;font-weight:750!important}.cal-row-label{font-size:.86rem!important}.cal-vehicle-info strong{font-size:.84rem!important}.cal-plate,.cal-vrate{font-size:.72rem!important}.cal-rate{font-size:.72rem!important;font-weight:650!important}.cal-booking-bar{min-height:29px!important}.cal-bar-text{font-size:.72rem!important;font-weight:700!important;line-height:1.2!important}.cal-loading,.cal-empty{font-size:.9rem!important}
@media(max-width:1100px){.sa-metric-grid{grid-template-columns:repeat(2,1fr)}.sa-dashboard-grid{grid-template-columns:1fr}}@media(max-width:720px){.sa-hero{align-items:flex-start;flex-direction:column;padding:24px}.sa-hero-actions{width:100%;min-width:0}.sa-metric-grid{grid-template-columns:1fr}.sa-company-row{grid-template-columns:auto 1fr auto}.sa-company-status{display:none}.sa-enter-company{grid-column:2/-1;justify-self:start}.cal-head-day,.cal-row-days{min-width:76px}}


/* Unified CreekFleet lock + wordmark */
.cf-lock{position:relative;display:inline-block;width:28px;height:32px;flex:0 0 auto;color:#ff3b1f}
.cf-lock-shackle{position:absolute;left:7px;top:1px;width:14px;height:15px;border:2.2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.cf-lock-body{position:absolute;left:3px;top:13px;width:22px;height:18px;border:2.2px solid currentColor;border-radius:4px}
.cf-lock-body::after{content:"";position:absolute;left:8px;top:5px;width:2px;height:6px;border-radius:2px;background:currentColor}
.cf-wordmark{display:inline-flex;align-items:center;font-size:1.38rem;line-height:1;letter-spacing:-.055em;text-transform:uppercase}
.cf-wordmark strong{font-weight:800;color:#0b132b}
.cf-wordmark strong:last-child{color:#ff3b1f}
.cf-lock-sidebar{width:25px;height:29px;color:#ff4b2b}
.cf-lock-sidebar .cf-lock-shackle{left:6px;width:13px;height:14px}
.cf-lock-sidebar .cf-lock-body{left:2px;top:12px;width:21px;height:17px}
.cf-wordmark-sidebar{font-size:.94rem;letter-spacing:-.045em}
.cf-wordmark-sidebar strong:first-child{color:#f8fafc}

/* Super Admin — same flow and density as the client dashboard */
.sa-flow-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 20px}
.sa-flow-head h1{margin:3px 0 5px;font-size:1.55rem;line-height:1.15;letter-spacing:-.035em;color:var(--ink)}
.sa-flow-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:.88rem}
.sa-flow-head .eyebrow{margin:0;color:#ff5a1f;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sa-flow-head .btn-primary,.sa-link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.sa-flow-head .btn-primary svg,.sa-link-button svg{width:15px;height:15px}
.sa-link-button{border:0;background:transparent;font:inherit;cursor:pointer}
.sa-platform-health{margin-bottom:16px}
.sa-kpi-strip{margin-bottom:16px}
.sa-kpi-strip .kpi-card{min-width:0}
.sa-health-ring{background:conic-gradient(#22c55e 0 300deg,#ff5a1f 300deg 360deg)}

/* Professional account access */
body.auth-page{background:#f5f7fb;color:#0b132b}
.auth-page .site-header{position:relative;background:#fff;border-bottom:1px solid #e8edf4;backdrop-filter:none}
.auth-page .nav-shell{width:min(1180px,calc(100% - 40px));padding:18px 0}
.auth-page .brand{gap:12px;text-decoration:none}
.auth-page .auth-main{padding:34px 20px 54px;align-items:center}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);width:min(1120px,100%);min-height:650px;background:#fff;border:1px solid #e3e8f0;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.1)}
.auth-showcase{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:650px;padding:52px;background:linear-gradient(145deg,#fff4ef 0%,#fff 48%,#f2f6fb 100%);border-right:1px solid #edf0f5;overflow:hidden}
.auth-showcase::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-150px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(255,75,43,.22),rgba(255,75,43,0) 68%)}
.auth-showcase::after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%)}
.auth-showcase-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,75,43,.22);border-radius:999px;background:rgba(255,255,255,.78);color:#b72d14;font-size:.72rem;font-weight:750}
.auth-showcase-badge span{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.auth-showcase .eyebrow{margin:0 0 12px;color:#ff3b1f;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.auth-showcase h1{max-width:590px;margin:0;font-size:clamp(2.25rem,4vw,3.65rem);line-height:1.02;letter-spacing:-.06em;color:#0b132b}
.auth-showcase>div>p:last-child{max-width:560px;margin:22px 0 0;color:#56627a;font-size:1rem;line-height:1.65}
.auth-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.auth-proof-grid>div{display:flex;flex-direction:column;gap:5px;padding:16px 14px;background:rgba(255,255,255,.78);border:1px solid #e4e9f1;border-radius:14px}
.auth-proof-grid svg{width:20px;height:20px;color:#ff3b1f}
.auth-proof-grid strong{font-size:.78rem;color:#0b132b}
.auth-proof-grid span{font-size:.67rem;line-height:1.35;color:#6b7280}
.auth-showcase-foot{display:flex;align-items:center;gap:8px;margin:0;color:#64748b;font-size:.72rem}
.auth-showcase-foot svg{width:15px;height:15px;color:#ff3b1f}
.auth-shell .auth-card{align-self:center;max-width:none;padding:54px 48px;border:0;border-radius:0;box-shadow:none;background:#fff}
.auth-shell .auth-title{font-size:1.9rem;letter-spacing:-.045em}
.auth-shell .auth-subtitle{margin-bottom:28px}
.auth-shell .field-group{gap:7px}
.auth-shell .field-group input{min-height:48px;padding:0 14px;background:#fbfcfe;border-color:#dbe2ea;border-radius:10px}
.auth-shell .button.primary{min-height:49px;border-radius:10px;background:linear-gradient(135deg,#ff5a1f,#ff3219);box-shadow:0 10px 24px rgba(255,75,43,.2)}
.auth-shell .button.primary:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(255,75,43,.28)}
html[data-theme="dark"] body.auth-page{background:#0f1524}
html[data-theme="dark"] .auth-page .site-header,html[data-theme="dark"] .auth-shell,html[data-theme="dark"] .auth-shell .auth-card{background:#141b2d}
html[data-theme="dark"] .auth-showcase{background:linear-gradient(145deg,#251b23,#141b2d 55%,#111827);border-color:#2a3346}
html[data-theme="dark"] .auth-showcase h1,html[data-theme="dark"] .cf-wordmark strong:first-child{color:#f8fafc}
html[data-theme="dark"] .auth-proof-grid>div{background:rgba(22,29,47,.78);border-color:#30394d}
html[data-theme="dark"] .auth-proof-grid strong{color:#f8fafc}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;max-width:580px}.auth-showcase{min-height:auto;padding:34px}.auth-showcase h1{font-size:2.25rem}.auth-proof-grid{margin-top:32px}.auth-shell .auth-card{padding:40px 34px}}
@media(max-width:560px){.auth-page .nav-shell{width:calc(100% - 28px)}.auth-page .theme-toggle-label{display:none}.auth-page .auth-main{padding:18px 12px 34px}.auth-shell{border-radius:18px}.auth-showcase{padding:28px 24px}.auth-showcase h1{font-size:1.9rem}.auth-showcase>div>p:last-child{font-size:.9rem}.auth-proof-grid{grid-template-columns:1fr}.auth-proof-grid>div{display:grid;grid-template-columns:24px 1fr;align-items:center}.auth-proof-grid span{grid-column:2}.auth-showcase-foot{margin-top:24px}.auth-shell .auth-card{padding:34px 24px}}

.panel-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.panel-heading-actions button{display:inline-flex;align-items:center;gap:7px}.panel-heading-actions svg{width:16px;height:16px}
.role-manager-card{width:min(960px,calc(100vw - 30px));max-width:960px;padding:0;overflow:hidden}.role-manager-card>.modal-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.role-manager-card>.modal-head p:last-child{margin:5px 0 0;color:var(--muted);font-size:.82rem}
.role-company-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px 26px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.role-company-bar label{display:flex;flex-direction:column;gap:6px;min-width:260px;font-size:.75rem;font-weight:700;color:var(--muted)}.role-company-bar select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font:inherit}
.role-manager-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:490px}.role-list-panel{padding:20px;border-right:1px solid var(--line);background:var(--panel-soft)}.role-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.role-list-heading strong{font-size:.82rem}.role-list-heading span{font-size:.7rem;color:var(--muted)}.company-role-list{display:flex;flex-direction:column;gap:7px}
.company-role-item{display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:9px;width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.company-role-item:hover{border-color:#ff8b6e}.company-role-item>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.company-role-item strong{font-size:.78rem}.company-role-item small{font-size:.66rem;color:var(--muted)}.company-role-item>svg{width:14px}
.role-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff0eb;color:#ff4b2b}.role-icon svg{width:17px;height:17px}.role-editor{padding:22px 26px;overflow-y:auto}.role-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.role-editor-head>div{display:flex;align-items:center;gap:10px}.role-editor-head>div>div{display:flex;flex-direction:column}.role-editor-head small{color:var(--muted);font-size:.7rem}.role-delete{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#dc2626;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.role-delete svg{width:15px}
.role-permission-fieldset{margin:18px 0 0;padding:0;border:0}.role-permission-fieldset legend{margin-bottom:10px;font-size:.78rem;font-weight:750}.role-permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.role-permission-option{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);cursor:pointer}.role-permission-option input{margin-top:3px;accent-color:#ff4b2b}.role-permission-option span{display:flex;flex-direction:column;gap:2px}.role-permission-option strong{font-size:.73rem}.role-permission-option small{font-size:.65rem;color:var(--muted)}
@media(max-width:760px){.panel-heading-actions{width:100%}.panel-heading-actions button{flex:1}.role-manager-layout{grid-template-columns:1fr}.role-list-panel{border-right:0;border-bottom:1px solid var(--line)}.role-permission-grid{grid-template-columns:1fr}.role-company-bar{align-items:stretch;flex-direction:column}.role-company-bar label{min-width:0}.role-editor{padding:20px}}
.role-member-fieldset{margin:18px 0 0;padding:0;border:0}.role-member-fieldset legend{margin-bottom:10px;font-size:.78rem;font-weight:750}.role-member-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:160px;overflow:auto}.role-member-option{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);cursor:pointer}.role-member-option input{accent-color:#ff4b2b}.role-member-option .sa-company-avatar{width:30px;height:30px;font-size:.6rem}.role-member-option>span:last-child{display:flex;flex-direction:column}.role-member-option strong{font-size:.7rem}.role-member-option small{font-size:.62rem;color:var(--muted)}@media(max-width:760px){.role-member-list{grid-template-columns:1fr}}

/* Super Admin dashboard parity and typography system */
.v2-dashboard .sa-view{font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink,#101828)}
.v2-dashboard .sa-view h1,.v2-dashboard .sa-view h2,.v2-dashboard .sa-view h3,.v2-dashboard .sa-view strong,.v2-dashboard .sa-view button,.v2-dashboard .sa-view input,.v2-dashboard .sa-view select{font-family:inherit}
.v2-dashboard .sa-overview{gap:16px}
.v2-dashboard .sa-flow-head{align-items:center;margin:0 0 2px}
.v2-dashboard .sa-flow-head h1,.v2-dashboard .sa-page-toolbar h1{margin:3px 0 5px;font-size:1.45rem;font-weight:750;line-height:1.18;letter-spacing:-.035em}
.v2-dashboard .sa-flow-head p:not(.eyebrow),.v2-dashboard .sa-page-toolbar>div>p:not(.eyebrow){font-size:.8rem;line-height:1.5;color:#667085}
.v2-dashboard .sa-flow-head .eyebrow,.v2-dashboard .sa-page-toolbar .eyebrow,.v2-dashboard .sa-panel-head .eyebrow{font-size:.65rem;font-weight:750;letter-spacing:.09em}
.v2-dashboard .sa-platform-health,.v2-dashboard .sa-panel,.v2-dashboard .sa-onboarding-panel,.v2-dashboard .sa-directory-panel{border:1px solid #e4e8ef;border-radius:12px;background:var(--panel,#fff);box-shadow:0 4px 14px rgba(15,23,42,.045)}
.v2-dashboard .sa-platform-health{margin-bottom:0}
.v2-dashboard .sa-kpi-strip{margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.v2-dashboard .sa-kpi-strip .kpi-card{min-height:86px;padding:13px 14px;border-radius:11px}
.v2-dashboard .sa-kpi-strip .kpi-card small{font-size:.68rem;font-weight:600}
.v2-dashboard .sa-kpi-strip .kpi-card strong{font-size:1.25rem;font-weight:750}
.v2-dashboard .sa-kpi-strip .kpi-card em{font-size:.63rem}
.v2-dashboard .sa-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px}
.v2-dashboard .sa-panel{padding:18px}
.v2-dashboard .sa-panel-head{margin-bottom:9px}
.v2-dashboard .sa-panel-head h2{font-size:.95rem;font-weight:700;letter-spacing:-.015em}
.v2-dashboard .sa-company-row{min-height:58px;padding:10px 0;gap:10px}
.v2-dashboard .sa-company-row strong{font-size:.78rem;font-weight:650}.v2-dashboard .sa-company-row small{font-size:.65rem}
.v2-dashboard .sa-company-avatar{width:36px;height:36px;border-radius:9px;font-size:.66rem;box-shadow:none}
.v2-dashboard .sa-actions-panel button strong{font-size:.76rem;font-weight:650}.v2-dashboard .sa-actions-panel button small{font-size:.64rem}
.v2-dashboard .sa-security-note strong{font-size:.71rem}.v2-dashboard .sa-security-note small{font-size:.63rem}

.v2-dashboard .sa-admin-page{display:grid;gap:16px}.v2-dashboard .sa-admin-page.hidden{display:none}
.v2-dashboard .sa-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 0 0}
.v2-dashboard .sa-page-toolbar .panel-heading-actions{flex-shrink:0}
.v2-dashboard .sa-page-toolbar .btn-primary,.v2-dashboard .sa-page-toolbar .btn-secondary{min-height:40px;padding:0 13px;border-radius:9px;font-size:.75rem;font-weight:700}
.v2-dashboard .sa-onboarding-panel,.v2-dashboard .sa-directory-panel{padding:18px;margin:0}
.v2-dashboard .sa-section-heading,.v2-dashboard .sa-directory-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.v2-dashboard .sa-section-heading>div{display:flex;align-items:center;gap:11px}.v2-dashboard .sa-section-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff1ed;color:#ff4b2b}.v2-dashboard .sa-section-icon svg{width:18px}
.v2-dashboard .sa-section-heading h2,.v2-dashboard .sa-directory-head h2{margin:0;font-size:.92rem;font-weight:700;letter-spacing:-.015em}.v2-dashboard .sa-section-heading p,.v2-dashboard .sa-directory-head p{margin:3px 0 0;color:#667085;font-size:.68rem}
.v2-dashboard .sa-secure-label{display:inline-flex;align-items:center;gap:6px;color:#067647;font-size:.66rem;font-weight:700}.v2-dashboard .sa-secure-label svg{width:14px}
.v2-dashboard .sa-onboarding-panel .onboarding-flow{margin:16px 0 0;gap:0;border:1px solid #e9edf3;border-radius:10px;overflow:hidden}
.v2-dashboard .sa-onboarding-panel .onboarding-flow>div{position:relative;min-height:82px;padding:15px 16px 14px 54px;border-right:1px solid #e9edf3;background:#fbfcfe}
.v2-dashboard .sa-onboarding-panel .onboarding-flow>div:last-child{border-right:0}.v2-dashboard .sa-onboarding-panel .onboarding-flow>div>span{position:absolute;left:15px;top:16px;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#fff0eb;color:#ff4b2b;font-size:.65rem;font-weight:800}
.v2-dashboard .sa-onboarding-panel .onboarding-flow strong{display:block;font-size:.75rem;font-weight:700}.v2-dashboard .sa-onboarding-panel .onboarding-flow small{display:block;margin-top:4px;color:#667085;font-size:.64rem;line-height:1.4}
.v2-dashboard .sa-directory-head{padding-bottom:14px;border-bottom:1px solid #edf0f4}
.v2-dashboard .sa-directory-tools{display:flex;align-items:center;gap:8px}.v2-dashboard .sa-search{display:flex;align-items:center;gap:8px;width:270px;min-height:38px;padding:0 11px;border:1px solid #d9e0e8;border-radius:9px;background:var(--panel,#fff)}.v2-dashboard .sa-search svg{width:15px;color:#98a2b3}.v2-dashboard .sa-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.72rem}
.v2-dashboard .sa-filter select{min-height:38px;padding:0 30px 0 10px;border:1px solid #d9e0e8;border-radius:9px;background:var(--panel,#fff);color:var(--ink);font-size:.72rem}
.v2-dashboard .sa-directory-labels{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,1fr) 130px 90px 190px;gap:12px;padding:11px 12px 8px;color:#98a2b3;font-size:.61rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.v2-dashboard .clients-grid{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.v2-dashboard .client-card.sa-directory-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,1fr) 130px 90px 190px;align-items:center;gap:12px;min-height:68px;padding:10px 12px;border:0;border-top:1px solid #edf0f4;border-radius:0;background:transparent;box-shadow:none}
.v2-dashboard .client-card.sa-directory-row:first-child{border-top:0}.v2-dashboard .client-card.sa-directory-row:hover{background:#fbfcfe}
.v2-dashboard .sa-account-cell,.v2-dashboard .sa-company-cell{display:flex;align-items:center;gap:10px;min-width:0}.v2-dashboard .sa-account-cell>span:last-child,.v2-dashboard .sa-company-cell>span{min-width:0}.v2-dashboard .sa-account-cell strong,.v2-dashboard .sa-company-cell strong{display:block;overflow:hidden;color:#101828;font-size:.74rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.v2-dashboard .sa-account-cell small,.v2-dashboard .sa-company-cell small{display:block;overflow:hidden;margin-top:3px;color:#667085;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}
.v2-dashboard .sa-company-cell>svg{width:17px;min-width:17px;color:#98a2b3}.v2-dashboard .sa-role-pill{display:inline-flex;align-items:center;gap:5px;color:#475467;font-size:.68rem;font-weight:600;text-transform:capitalize}.v2-dashboard .sa-role-pill svg{width:14px;color:#ff5a1f}
.v2-dashboard .access-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px 8px;font-size:.63rem}.v2-dashboard .access-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.v2-dashboard .client-card-actions{flex-wrap:nowrap;gap:6px}.v2-dashboard .client-card-actions button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border-radius:8px;font-size:.65rem;white-space:nowrap}.v2-dashboard .client-card-actions svg{width:13px}
.v2-dashboard .sa-loading-row{display:flex;align-items:center;gap:12px;padding:24px 12px}.v2-dashboard .sa-loading-row>span{width:32px;height:32px;border:3px solid #ffe0d6;border-top-color:#ff4b2b;border-radius:50%;animation:spin .8s linear infinite}.v2-dashboard .sa-loading-row strong,.v2-dashboard .sa-loading-row small{display:block}.v2-dashboard .sa-loading-row strong{font-size:.75rem}.v2-dashboard .sa-loading-row small{margin-top:3px;color:#667085;font-size:.65rem}.v2-dashboard .sa-directory-empty{grid-column:1/-1;padding:46px}
[data-theme="dark"] .v2-dashboard .sa-platform-health,[data-theme="dark"] .v2-dashboard .sa-panel,[data-theme="dark"] .v2-dashboard .sa-onboarding-panel,[data-theme="dark"] .v2-dashboard .sa-directory-panel{border-color:#2a3346;background:#171f31}
[data-theme="dark"] .v2-dashboard .sa-onboarding-panel .onboarding-flow{border-color:#2a3346}[data-theme="dark"] .v2-dashboard .sa-onboarding-panel .onboarding-flow>div,[data-theme="dark"] .v2-dashboard .client-card.sa-directory-row:hover{background:#141b2b}[data-theme="dark"] .v2-dashboard .sa-onboarding-panel .onboarding-flow>div{border-color:#2a3346}
[data-theme="dark"] .v2-dashboard .sa-directory-head,[data-theme="dark"] .v2-dashboard .client-card.sa-directory-row{border-color:#2a3346}[data-theme="dark"] .v2-dashboard .sa-account-cell strong,[data-theme="dark"] .v2-dashboard .sa-company-cell strong{color:#f8fafc}
@media(max-width:1120px){.v2-dashboard .sa-directory-labels{display:none}.v2-dashboard .client-card.sa-directory-row{grid-template-columns:minmax(200px,1.5fr) minmax(150px,1fr) 110px 88px auto}.v2-dashboard .sa-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:820px){.v2-dashboard .sa-flow-head,.v2-dashboard .sa-page-toolbar,.v2-dashboard .sa-directory-head{align-items:flex-start;flex-direction:column}.v2-dashboard .sa-kpi-strip{grid-template-columns:repeat(2,1fr)}.v2-dashboard .sa-directory-tools{width:100%}.v2-dashboard .sa-search{width:100%}.v2-dashboard .client-card.sa-directory-row{grid-template-columns:1fr auto}.v2-dashboard .sa-company-cell,.v2-dashboard .sa-role-pill{grid-column:1}.v2-dashboard .access-pill{grid-column:2;grid-row:1}.v2-dashboard .client-card-actions{grid-column:1/-1;justify-content:flex-start}.v2-dashboard .sa-onboarding-panel .onboarding-flow{grid-template-columns:1fr}.v2-dashboard .sa-onboarding-panel .onboarding-flow>div{border-right:0;border-bottom:1px solid #e9edf3}.v2-dashboard .sa-onboarding-panel .onboarding-flow>div:last-child{border-bottom:0}}
@media(max-width:520px){.v2-dashboard .sa-kpi-strip{grid-template-columns:1fr}.v2-dashboard .sa-directory-tools{flex-direction:column;align-items:stretch}.v2-dashboard .sa-filter select{width:100%}.v2-dashboard .sa-page-toolbar .panel-heading-actions{width:100%}.v2-dashboard .sa-page-toolbar .panel-heading-actions button{flex:1}.v2-dashboard .sa-company-row{grid-template-columns:auto 1fr}.v2-dashboard .sa-company-status,.v2-dashboard .sa-enter-company{grid-column:2}.v2-dashboard .sa-flow-head .btn-primary{width:100%}}

.v2-dashboard .admin-access-card,.v2-dashboard .role-manager-card{font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.v2-dashboard .admin-access-card h3,.v2-dashboard .role-manager-card h3{font-size:1rem;font-weight:700;letter-spacing:-.02em}
.v2-dashboard .admin-access-card label,.v2-dashboard .role-manager-card label{font-size:.72rem;font-weight:650}
.v2-dashboard .admin-access-card input,.v2-dashboard .admin-access-card select,.v2-dashboard .role-manager-card input,.v2-dashboard .role-manager-card select{font-family:inherit;font-size:.75rem;font-weight:450}
.v2-dashboard .admin-access-card button,.v2-dashboard .role-manager-card button{font-family:inherit}


/* Dashboard-wide visual unification — CreekFleet 2026 */
.v2-dashboard{--cf-orange:#ff4b2b;--cf-orange-dark:#e63b1f;--cf-ink:#101828;--cf-muted:#667085;--cf-line:#e6eaf0;--cf-soft:#f8fafc;--cf-radius:12px;--cf-shadow:0 4px 14px rgba(15,23,42,.045)}
.v2-dashboard .left-sidebar .sidebar-nav a{min-height:38px;padding:0 11px;background:transparent;color:#aeb8ca;font-size:.76rem;font-weight:550}
.v2-dashboard .left-sidebar .sidebar-nav a svg[data-lucide]{width:16px;height:16px;color:#78869f;stroke-width:1.8}
.v2-dashboard .left-sidebar .sidebar-nav a:hover{background:rgba(255,255,255,.065);color:#f8fafc}
.v2-dashboard .left-sidebar .sidebar-nav a:hover svg[data-lucide]{color:#ff6a48}
.v2-dashboard .left-sidebar .sidebar-nav a.active{background:linear-gradient(90deg,rgba(255,75,43,.2),rgba(255,75,43,.08));color:#fff;font-weight:700;box-shadow:inset 3px 0 0 #ff4b2b}
.v2-dashboard .left-sidebar .sidebar-nav a.active svg[data-lucide]{color:#ff6a48}
[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a{background:transparent;color:#aeb8ca}
[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a:hover{background:rgba(255,255,255,.065);color:#fff}
[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a.active{background:linear-gradient(90deg,rgba(255,75,43,.2),rgba(255,75,43,.08));color:#fff}
.v2-dashboard .app-topbar{min-height:58px;margin:0 -24px 18px;padding:0 24px}
.v2-dashboard .topbar-page-title{font-size:.95rem;font-weight:700;letter-spacing:-.02em}
.v2-dashboard .search-box{min-height:38px;border:1px solid #e1e6ed;border-radius:9px;background:#f9fafb}
.v2-dashboard .search-box input{font-family:Geist,sans-serif;font-size:.72rem}
.v2-dashboard .dashboard-main{padding:0 24px 32px;background:#f6f8fb}

/* One page shell for every client and Super Admin managed section */
.v2-dashboard .client-earnings-section,.v2-dashboard .client-vehicles-section,.v2-dashboard .client-listings-section,.v2-dashboard .client-pl-section,.v2-dashboard .client-calendar-section,.v2-dashboard .cl-client-page{min-height:auto;margin:0;padding:20px;border:1px solid var(--cf-line);border-radius:var(--cf-radius);background:var(--panel,#fff);box-shadow:var(--cf-shadow);font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.v2-dashboard .client-earnings-section.hidden,.v2-dashboard .client-vehicles-section.hidden,.v2-dashboard .client-listings-section.hidden,.v2-dashboard .client-pl-section.hidden,.v2-dashboard .client-calendar-section.hidden,.v2-dashboard .cl-client-page.hidden{display:none}
.v2-dashboard .panel-heading,.v2-dashboard .earnings-section-header{min-height:48px;margin:0 0 16px!important;padding:0 0 14px;border-bottom:1px solid #edf0f4}
.v2-dashboard .panel-heading h2,.v2-dashboard .earnings-section-title{margin:2px 0 0;color:var(--cf-ink);font-size:1.05rem;font-weight:720;line-height:1.2;letter-spacing:-.025em}
.v2-dashboard .panel-heading h3{margin:2px 0 0;font-size:.9rem;font-weight:700;letter-spacing:-.02em}
.v2-dashboard .panel-heading .eyebrow,.v2-dashboard .cl-client-page>.panel-heading .eyebrow{margin:0;color:var(--cf-orange);font-size:.63rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.v2-dashboard .section-subtitle{margin-top:5px;font-size:.72rem;line-height:1.45}
.v2-dashboard .cl-section-sub{margin:18px 0 8px!important;color:#475467;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:none}

/* Shared controls */
.v2-dashboard .btn-primary,.v2-dashboard .btn-secondary{min-height:38px;padding:0 12px;border-radius:9px;font-family:Geist,sans-serif;font-size:.7rem;font-weight:700}
.v2-dashboard .btn-primary{border-color:var(--cf-orange);background:linear-gradient(135deg,#ff5a36,#ff3b1f);box-shadow:0 6px 14px rgba(255,75,43,.16)}
.v2-dashboard .btn-primary:hover{background:linear-gradient(135deg,#f04b2a,#e93217);transform:translateY(-1px)}
.v2-dashboard .btn-secondary{border-color:#d9e0e8;background:var(--panel,#fff);color:#344054;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.v2-dashboard .btn-secondary:hover{border-color:#ff9b83;color:#d9361b;background:#fff9f7}
.v2-dashboard .earnings-select,.v2-dashboard .pl-controls select,.v2-dashboard .cal-nav-controls select{min-height:38px;padding:0 11px;border:1px solid #d9e0e8;border-radius:9px;background:var(--panel,#fff);color:#344054;font-family:Geist,sans-serif;font-size:.7rem;font-weight:550;outline:0}
.v2-dashboard .earnings-select:focus,.v2-dashboard .pl-controls select:focus{border-color:var(--cf-orange);box-shadow:0 0 0 3px rgba(255,75,43,.1)}
.v2-dashboard .earnings-search-input,.v2-dashboard .vehicles-search-input{min-height:40px;padding:0 14px 0 38px;border:1px solid #d9e0e8;border-radius:9px;background:#fbfcfe;font-family:Geist,sans-serif;font-size:.72rem}
.v2-dashboard .earnings-search-input:focus,.v2-dashboard .vehicles-search-input:focus{border-color:var(--cf-orange);box-shadow:0 0 0 3px rgba(255,75,43,.1)}
.v2-dashboard .pricing-month-chip,.v2-dashboard .bulk-select-label{font-family:Geist,sans-serif;font-size:.68rem}

/* KPI language shared by dispatch, maintenance, fuel, compliance, safety, reports and hardware */
.v2-dashboard .dispatch-kpi-row,.v2-dashboard .maint-kpi-row,.v2-dashboard .hardware-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px}
.v2-dashboard .dispatch-kpi-card,.v2-dashboard .hardware-kpi{position:relative;overflow:hidden;min-height:78px;padding:13px 14px;border:1px solid var(--cf-line);border-radius:10px;background:var(--panel,#fff);box-shadow:none}
.v2-dashboard .dispatch-kpi-card::before,.v2-dashboard .hardware-kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#ff6545,#ff3b1f)}
.v2-dashboard .dkpi-label,.v2-dashboard .hardware-kpi small{margin:0;color:#667085;font-size:.65rem;font-weight:600;letter-spacing:0;text-transform:none}
.v2-dashboard .dkpi-value,.v2-dashboard .hardware-kpi strong{color:var(--cf-ink);font-size:1.15rem;font-weight:750;line-height:1.15;letter-spacing:-.03em}
.v2-dashboard .hardware-kpi-icon{width:36px;height:36px;border-radius:9px}.v2-dashboard .hardware-kpi-icon svg{width:17px}

/* Tables */
.v2-dashboard .listings-table-wrap,.v2-dashboard .table-wrap,.v2-dashboard .earnings-vehicle-table{overflow:auto;border:1px solid var(--cf-line);border-radius:10px;background:var(--panel,#fff)}
.v2-dashboard .data-table{font-family:Geist,sans-serif;font-size:.72rem}
.v2-dashboard .data-table th{height:38px;padding:0 12px;background:#f8fafc;color:#667085;font-size:.61rem;font-weight:700;letter-spacing:.055em}
.v2-dashboard .data-table td{height:44px;padding:8px 12px;color:#344054;font-size:.69rem;border-color:#edf0f4}
.v2-dashboard .data-table tbody tr:hover td{background:#fff9f7}
.v2-dashboard .status-badge,.v2-dashboard .feed-badge,.v2-dashboard .connection-badge{padding:4px 8px;font-size:.61rem;font-weight:650}

/* Earnings */
.v2-dashboard .earnings-total-display{gap:8px}.v2-dashboard .earnings-total-amount{font-size:1.35rem;font-weight:750}.v2-dashboard .earnings-total-label{font-size:.7rem;font-weight:500}
.v2-dashboard .earnings-chart-wrap{height:300px;padding:16px;border:1px solid var(--cf-line);border-radius:10px;background:#fbfcfe}
.v2-dashboard .earnings-legend{gap:10px;margin:12px 0}.v2-dashboard .eleg-item{padding:9px 12px;border:1px solid var(--cf-line);border-radius:9px;background:#fff}.v2-dashboard .eleg-item strong{font-size:.78rem}.v2-dashboard .eleg-item span:last-child{font-size:.64rem}

/* Vehicle and listing cards */
.v2-dashboard .vehicles-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.v2-dashboard .vehicle-card{padding:15px;border:1px solid var(--cf-line);border-radius:10px;box-shadow:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.v2-dashboard .vehicle-card:hover{transform:translateY(-1px);border-color:#ffab96;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.v2-dashboard .vehicle-card strong{font-size:.86rem;font-weight:700}.v2-dashboard .vc-rate-chip,.v2-dashboard .vc-plate{font-size:.63rem}
.v2-dashboard .listings-checklist-wrap{display:grid;gap:8px}.v2-dashboard .listing-check-row{border-color:var(--cf-line)!important;border-radius:10px!important;box-shadow:none!important}

/* Financial cards */
.v2-dashboard .pl-summary-row{gap:10px}.v2-dashboard .pl-card{position:relative;overflow:hidden;min-height:76px;padding:13px 14px;border-color:var(--cf-line);border-radius:10px;box-shadow:none}.v2-dashboard .pl-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#ff4b2b}.v2-dashboard .pl-card span{font-size:.65rem;font-weight:600;text-transform:none}.v2-dashboard .pl-card strong{font-size:1.15rem;font-weight:750}

/* Calendar */
.v2-dashboard .cal-nav-controls{gap:7px}.v2-dashboard .cal-nav-btn{width:38px;padding:0}.v2-dashboard .cal-month-label{min-width:120px;font-size:.78rem;font-weight:700}
.v2-dashboard .calendar-scroll-outer{border:1px solid var(--cf-line);border-radius:10px;background:var(--panel,#fff)}.v2-dashboard .cal-frame{font-family:Geist,sans-serif}.v2-dashboard .cal-day-num{font-size:.7rem!important}.v2-dashboard .cal-day-name,.v2-dashboard .cal-vehicle-name{font-size:.64rem!important}

/* Reports, settings, hardware */
.v2-dashboard .reports-grid{gap:12px!important;margin-top:16px!important}.v2-dashboard .reports-grid .dashboard-panel,.v2-dashboard .settings-panel,.v2-dashboard .hardware-layout .dashboard-panel{padding:16px;border:1px solid var(--cf-line);border-radius:10px;background:var(--panel,#fff);box-shadow:none}
.v2-dashboard .reports-grid h3,.v2-dashboard .settings-panel-title{font-size:.82rem;font-weight:700;letter-spacing:-.015em}
.v2-dashboard .rpt-vehicle-row{padding:9px 10px;border-color:var(--cf-line);border-radius:8px}.v2-dashboard .rpt-vehicle-row *{font-size:.67rem}
.v2-dashboard .settings-grid{gap:12px}.v2-dashboard .settings-form{gap:12px}.v2-dashboard .settings-form label,.v2-dashboard .form-group label{font-family:Geist,sans-serif;font-size:.68rem;font-weight:650}.v2-dashboard .settings-form input,.v2-dashboard .form-group input,.v2-dashboard .form-group select,.v2-dashboard .form-group textarea{min-height:40px;border:1px solid #d9e0e8;border-radius:9px;background:#fbfcfe;font-family:Geist,sans-serif;font-size:.72rem}.v2-dashboard .settings-info-row{padding:11px 0;font-size:.72rem}
.v2-dashboard .hardware-heading{align-items:center}.v2-dashboard .hardware-layout{gap:12px}.v2-dashboard .identifier-stack{font-family:Geist,sans-serif;font-size:.65rem}

/* Every modal follows the same visual system */
.v2-dashboard .modal-overlay,.v2-dashboard .modal-backdrop{background:rgba(15,23,42,.5);backdrop-filter:blur(5px)}
.v2-dashboard .modal-card{padding:20px;border:1px solid #e4e8ef;border-radius:13px;background:var(--panel,#fff);font-family:Geist,sans-serif;box-shadow:0 24px 70px rgba(15,23,42,.2)}
.v2-dashboard .modal-head,.v2-dashboard .modal-header{min-height:42px;margin:0 0 16px;padding:0 0 13px;border-bottom:1px solid #edf0f4}
.v2-dashboard .modal-head h3,.v2-dashboard .modal-header h3{font-size:.95rem;font-weight:720;letter-spacing:-.02em}
.v2-dashboard .modal-form{gap:12px}.v2-dashboard .modal-form label{font-size:.69rem;font-weight:650}.v2-dashboard .modal-form input,.v2-dashboard .modal-form select,.v2-dashboard .modal-form textarea{min-height:41px;padding:0 11px;border:1px solid #d9e0e8;border-radius:9px;background:#fbfcfe;font-family:Geist,sans-serif;font-size:.72rem;font-weight:450}.v2-dashboard .modal-form textarea{min-height:88px;padding-top:10px}
.v2-dashboard .modal-actions{gap:8px;padding-top:4px}

/* Dark theme parity */
[data-theme="dark"] .v2-dashboard .dashboard-main{background:#101625}
[data-theme="dark"] .v2-dashboard .client-earnings-section,[data-theme="dark"] .v2-dashboard .client-vehicles-section,[data-theme="dark"] .v2-dashboard .client-listings-section,[data-theme="dark"] .v2-dashboard .client-pl-section,[data-theme="dark"] .v2-dashboard .client-calendar-section,[data-theme="dark"] .v2-dashboard .cl-client-page,[data-theme="dark"] .v2-dashboard .dispatch-kpi-card,[data-theme="dark"] .v2-dashboard .hardware-kpi,[data-theme="dark"] .v2-dashboard .vehicle-card,[data-theme="dark"] .v2-dashboard .pl-card,[data-theme="dark"] .v2-dashboard .reports-grid .dashboard-panel,[data-theme="dark"] .v2-dashboard .settings-panel,[data-theme="dark"] .v2-dashboard .hardware-layout .dashboard-panel{border-color:#2a3346;background:#171f31}
[data-theme="dark"] .v2-dashboard .panel-heading,[data-theme="dark"] .v2-dashboard .earnings-section-header,[data-theme="dark"] .v2-dashboard .modal-head,[data-theme="dark"] .v2-dashboard .modal-header{border-color:#2a3346}
[data-theme="dark"] .v2-dashboard .panel-heading h2,[data-theme="dark"] .v2-dashboard .earnings-section-title,[data-theme="dark"] .v2-dashboard .dkpi-value,[data-theme="dark"] .v2-dashboard .hardware-kpi strong,[data-theme="dark"] .v2-dashboard .vehicle-card strong,[data-theme="dark"] .v2-dashboard .pl-card strong{color:#f8fafc}
[data-theme="dark"] .v2-dashboard .data-table th{background:#141b2b}[data-theme="dark"] .v2-dashboard .data-table td{color:#d4d9e4;border-color:#2a3346}[data-theme="dark"] .v2-dashboard .data-table tbody tr:hover td{background:#1c263a}
[data-theme="dark"] .v2-dashboard .earnings-chart-wrap,[data-theme="dark"] .v2-dashboard .search-box,[data-theme="dark"] .v2-dashboard .earnings-search-input,[data-theme="dark"] .v2-dashboard .vehicles-search-input,[data-theme="dark"] .v2-dashboard .settings-form input,[data-theme="dark"] .v2-dashboard .form-group input,[data-theme="dark"] .v2-dashboard .form-group select,[data-theme="dark"] .v2-dashboard .modal-form input,[data-theme="dark"] .v2-dashboard .modal-form select,[data-theme="dark"] .v2-dashboard .modal-form textarea{border-color:#303a4e;background:#141b2b;color:#eef2f8}

@media(max-width:900px){.v2-dashboard .dashboard-main{padding:0 16px 28px}.v2-dashboard .app-topbar{margin:0 -16px 16px;padding:0 16px}.v2-dashboard .client-earnings-section,.v2-dashboard .client-vehicles-section,.v2-dashboard .client-listings-section,.v2-dashboard .client-pl-section,.v2-dashboard .client-calendar-section,.v2-dashboard .cl-client-page{padding:16px}.v2-dashboard .panel-heading,.v2-dashboard .earnings-section-header{align-items:flex-start;flex-direction:column}.v2-dashboard .earnings-controls,.v2-dashboard .hardware-actions{width:100%}}
@media(max-width:600px){.v2-dashboard .dispatch-kpi-row,.v2-dashboard .maint-kpi-row,.v2-dashboard .hardware-kpis,.v2-dashboard .pl-summary-row{grid-template-columns:1fr 1fr}.v2-dashboard .vehicles-grid{grid-template-columns:1fr}.v2-dashboard .earnings-controls>*,.v2-dashboard .hardware-actions>*,.v2-dashboard .panel-heading-actions>*{flex:1}.v2-dashboard .client-earnings-section,.v2-dashboard .client-vehicles-section,.v2-dashboard .client-listings-section,.v2-dashboard .client-pl-section,.v2-dashboard .client-calendar-section,.v2-dashboard .cl-client-page{padding:14px}.v2-dashboard .data-table{min-width:660px}}


/* CreekFleet new dashboard experience — target parity */
.v2-dashboard .app-frame{grid-template-columns:262px minmax(0,1fr)}
.v2-dashboard .left-sidebar{padding:22px 14px 14px;background:linear-gradient(180deg,#0c0b19 0%,#081225 100%)}
.v2-dashboard .ls-brand{gap:12px;padding:0 6px 20px;margin-bottom:24px}
.v2-dashboard .cf-lock-sidebar{width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,#ff6548,#ff3b1f);color:#fff;box-shadow:0 8px 20px rgba(255,75,43,.22)}
.v2-dashboard .cf-lock-sidebar .cf-lock-shackle{left:12px;top:7px;width:16px;height:14px}.v2-dashboard .cf-lock-sidebar .cf-lock-body{left:8px;top:18px;width:24px;height:18px}
.v2-dashboard .cf-wordmark-sidebar{font-size:1rem}.v2-dashboard .ls-brand-sub{margin-top:4px;color:#8390a8;font-size:.58rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.v2-dashboard .nav-section-label{display:block;padding:10px 10px 7px;color:#61739a;font-size:.56rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.v2-dashboard .nav-section-label.hidden{display:none}.v2-dashboard .sidebar-nav{gap:3px}
.v2-dashboard .left-sidebar .sidebar-nav a{min-height:42px;padding:0 11px;border-radius:9px;color:#c5cee0;font-size:.74rem;font-weight:600}
.v2-dashboard .left-sidebar .sidebar-nav a.active{background:linear-gradient(90deg,rgba(255,75,43,.22),rgba(255,75,43,.09));box-shadow:inset 3px 0 0 #ff4b2b}
.v2-dashboard .left-sidebar .sidebar-nav a svg[data-lucide]{width:16px;height:16px;color:#9aa7bd}.v2-dashboard .left-sidebar .sidebar-nav a.active svg[data-lucide]{color:#fff}
.v2-dashboard .left-sidebar .sidebar-nav .nav-secondary-hidden{display:none!important}
.v2-dashboard .ls-footer{gap:9px}.v2-dashboard .left-sidebar .api-status{min-height:36px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#d8dfec}.v2-dashboard .ls-signout{min-height:38px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#eef2f8}

.v2-dashboard .dashboard-main{padding:0 20px 34px;background:#f7f8fb}
.v2-dashboard .app-topbar{grid-template-columns:minmax(190px,.7fr) minmax(320px,520px) minmax(300px,.8fr);min-height:72px;margin:0 -20px 24px;padding:0 20px;border-bottom:1px solid #e3e7ee;background:rgba(255,255,255,.96)}
.v2-dashboard .topbar-page-title{font-size:.88rem;font-weight:750}.v2-dashboard .search-box{max-width:520px;height:42px;border:1px solid #dce2ea;border-radius:10px;background:#f9fafc}
.v2-dashboard .search-box input{font-size:.75rem}.v2-dashboard .user-chip{justify-self:end;padding:6px 9px;border:1px solid #dce2ea;border-radius:10px;background:#fff}.v2-dashboard .avatar{width:34px;height:34px;border:1px solid #ffc9b9;border-radius:9px;background:#fff2ed;color:#ff4b2b}
.v2-dashboard .nav-actions,.v2-dashboard .topbar-icon-row{gap:8px}
.v2-dashboard .topbar-icon-row button{width:38px;height:38px;border:1px solid #dce2ea;border-radius:9px;background:#fff}

/* Larger page headings, transparent page canvas */
.v2-dashboard .client-earnings-section,.v2-dashboard .client-vehicles-section,.v2-dashboard .client-listings-section,.v2-dashboard .client-pl-section,.v2-dashboard .client-calendar-section,.v2-dashboard .cl-client-page{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.v2-dashboard .cl-client-page>.panel-heading,.v2-dashboard .client-vehicles-section>.panel-heading,.v2-dashboard .client-listings-section>.panel-heading,.v2-dashboard .client-pl-section>.panel-heading{min-height:78px;margin:0!important;padding:0 0 18px;border:0}
.v2-dashboard .cl-client-page>.panel-heading h2,.v2-dashboard .client-vehicles-section>.panel-heading h2,.v2-dashboard .client-listings-section>.panel-heading h2,.v2-dashboard .client-pl-section>.panel-heading h2{font-size:1.5rem;font-weight:780;letter-spacing:-.045em}
.v2-dashboard .cl-client-page>.panel-heading .eyebrow,.v2-dashboard .client-vehicles-section>.panel-heading .eyebrow,.v2-dashboard .client-listings-section>.panel-heading .eyebrow,.v2-dashboard .client-pl-section>.panel-heading .eyebrow{font-size:.62rem}
.v2-dashboard .client-vehicles-section .vehicles-search-row,.v2-dashboard .client-listings-section .listings-checklist-wrap,.v2-dashboard .client-pl-section .pl-summary-row,.v2-dashboard .client-pl-section .listings-table-wrap,.v2-dashboard .cl-client-page>.dispatch-kpi-row,.v2-dashboard .cl-client-page>.maint-kpi-row,.v2-dashboard .cl-client-page>.listings-table-wrap{border-color:#e2e7ee}
.v2-dashboard .cl-client-page>.listings-table-wrap,.v2-dashboard .client-pl-section>.listings-table-wrap{background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.045)}
.v2-dashboard .dispatch-kpi-card,.v2-dashboard .hardware-kpi,.v2-dashboard .pl-card{min-height:92px;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.035)}
.v2-dashboard .dkpi-value,.v2-dashboard .hardware-kpi strong,.v2-dashboard .pl-card strong{font-size:1.35rem}
.v2-dashboard .vehicles-grid{gap:14px}.v2-dashboard .vehicle-card{border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.v2-dashboard .reports-grid .dashboard-panel,.v2-dashboard .settings-panel,.v2-dashboard .hardware-layout .dashboard-panel{border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.045)}

/* New fleet calendar */
.v2-dashboard .new-calendar-page{display:block}.v2-dashboard .new-calendar-page.hidden{display:none}
.v2-dashboard .new-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}
.v2-dashboard .new-page-heading h1{margin:0;color:#091126;font-size:1.6rem;font-weight:790;line-height:1.15;letter-spacing:-.05em}
.v2-dashboard .new-page-heading p{margin:5px 0 0;color:#53627d;font-size:.76rem}
.v2-dashboard .new-page-actions{display:flex;gap:8px}.v2-dashboard .new-page-actions button{display:inline-flex;align-items:center;gap:7px}.v2-dashboard .new-page-actions svg{width:15px}
.v2-dashboard .new-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.v2-dashboard .new-calendar-main,.v2-dashboard .new-side-card{border:1px solid #e1e6ed;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.055)}
.v2-dashboard .new-calendar-main{padding:20px}.v2-dashboard .new-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 0 13px}.v2-dashboard .new-calendar-toolbar>strong{font-size:.95rem;font-weight:750}.v2-dashboard .new-calendar-toolbar>div{display:flex;gap:7px}.v2-dashboard .new-calendar-toolbar .cal-nav-btn{width:38px;padding:0}.v2-dashboard .new-calendar-toolbar svg{width:16px}
.v2-dashboard .month-calendar-frame{overflow:hidden;border:1px solid #e2e7ee;border-radius:0;background:#fff}
.v2-dashboard .month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);height:32px;border-bottom:1px solid #e2e7ee;background:#fafbfd}.v2-dashboard .month-weekdays span{display:grid;place-items:center;color:#6d7890;font-size:.57rem;font-weight:750;text-transform:uppercase}
.v2-dashboard .month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.v2-dashboard .month-day-cell{position:relative;min-width:0;height:104px;padding:10px;border-right:1px solid #e5e9ef;border-bottom:1px solid #e5e9ef;background:#fff;cursor:pointer;transition:background .15s}
.v2-dashboard .month-day-cell:nth-child(7n){border-right:0}.v2-dashboard .month-day-cell:nth-last-child(-n+7){border-bottom:0}.v2-dashboard .month-day-cell:hover{background:#fffaf8}.v2-dashboard .month-day-cell.outside{background:#fafbfd;color:#b7c0cf}.v2-dashboard .month-day-number{display:grid;place-items:center;width:24px;height:24px;color:#111827;font-size:.66rem;font-weight:700}.v2-dashboard .month-day-cell.outside .month-day-number{color:#b4bdcb}.v2-dashboard .month-day-cell.today .month-day-number{border-radius:8px;background:#ff4b2b;color:#fff}
.v2-dashboard .month-event{display:block;overflow:hidden;width:100%;margin-top:4px;padding:5px 6px;border:0;border-radius:6px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font:650 .57rem/1 Geist,sans-serif;cursor:pointer}.v2-dashboard .month-event.maintenance{background:#fff0eb;color:#d9361b}.v2-dashboard .month-event.inspection{background:#edf4ff;color:#315cba}.v2-dashboard .month-event.reservation{background:#eaf9f0;color:#087a47}.v2-dashboard .month-event.unavailable{background:#eef1f5;color:#5e687a}.v2-dashboard .month-more{display:block;margin-top:4px;color:#667085;font-size:.55rem}
.v2-dashboard .new-calendar-legend{display:flex;align-items:center;gap:14px;padding:12px 4px 0;color:#667085;font-size:.58rem}.v2-dashboard .new-calendar-legend span,.v2-dashboard .cal-summary-list span{display:flex;align-items:center;gap:6px}.v2-dashboard .new-calendar-legend i,.v2-dashboard .cal-summary-list i{width:8px;height:8px;border-radius:3px}.v2-dashboard i.maintenance{background:#ff9b84}.v2-dashboard i.inspection{background:#8ab4ff}.v2-dashboard i.reservation{background:#65c993}.v2-dashboard i.unavailable{background:#c5ceda}
.v2-dashboard .new-calendar-side{display:grid;gap:14px}.v2-dashboard .new-side-card{padding:17px}.v2-dashboard .new-side-card h2{margin:0;color:#101828;font-size:.82rem;font-weight:750;letter-spacing:-.02em}.v2-dashboard .new-side-card>p{margin:8px 0 13px;color:#344054;font-size:.72rem}
.v2-dashboard .cal-upcoming-list{display:grid;gap:8px}.v2-dashboard .cal-upcoming-item{display:grid;grid-template-columns:4px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:10px;border:1px solid #e4e8ef;border-radius:10px;background:#fbfcfe}.v2-dashboard .cal-upcoming-type{width:4px;height:32px;border-radius:4px}.v2-dashboard .cal-upcoming-type.maintenance{background:#ff7b5e}.v2-dashboard .cal-upcoming-type.inspection{background:#6398ee}.v2-dashboard .cal-upcoming-type.reservation{background:#29a76d}.v2-dashboard .cal-upcoming-type.unavailable{background:#98a2b3}.v2-dashboard .cal-upcoming-item strong,.v2-dashboard .cal-upcoming-item small{display:block}.v2-dashboard .cal-upcoming-item strong{overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.v2-dashboard .cal-upcoming-item small{margin-top:4px;color:#667085;font-size:.55rem}.v2-dashboard .cal-upcoming-item button{display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:#98a2b3;cursor:pointer}.v2-dashboard .cal-upcoming-item svg{width:13px}.v2-dashboard .cal-upcoming-empty{display:grid;place-items:center;gap:6px;padding:24px;color:#98a2b3;font-size:.65rem}.v2-dashboard .cal-upcoming-empty svg{width:22px}
.v2-dashboard .cal-summary-list{display:grid;gap:13px;margin-top:17px}.v2-dashboard .cal-summary-list>div{display:flex;align-items:center;justify-content:space-between;color:#475467;font-size:.65rem}.v2-dashboard .cal-summary-list strong{color:#101828;font-size:.78rem}

/* Super Admin uses the exact same new page rhythm */
.v2-dashboard .sa-flow-head,.v2-dashboard .sa-page-toolbar{min-height:76px;align-items:center}
.v2-dashboard .sa-flow-head h1,.v2-dashboard .sa-page-toolbar h1{font-size:1.6rem;font-weight:790;letter-spacing:-.05em}
.v2-dashboard .sa-platform-health,.v2-dashboard .sa-panel,.v2-dashboard .sa-onboarding-panel,.v2-dashboard .sa-directory-panel{border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.05)}
.v2-dashboard .sa-kpi-strip{gap:10px}.v2-dashboard .sa-kpi-strip .kpi-card{min-height:92px;border-radius:12px}

[data-theme="dark"] .v2-dashboard .dashboard-main{background:#0f1524}
[data-theme="dark"] .v2-dashboard .new-calendar-main,[data-theme="dark"] .v2-dashboard .new-side-card,[data-theme="dark"] .v2-dashboard .month-day-cell,[data-theme="dark"] .v2-dashboard .month-calendar-frame{border-color:#2a3346;background:#171f31}
[data-theme="dark"] .v2-dashboard .month-day-cell.outside,[data-theme="dark"] .v2-dashboard .month-weekdays{background:#141b2b}
[data-theme="dark"] .v2-dashboard .new-page-heading h1,[data-theme="dark"] .v2-dashboard .new-side-card h2,[data-theme="dark"] .v2-dashboard .month-day-number,[data-theme="dark"] .v2-dashboard .cal-summary-list strong{color:#f8fafc}
@media(max-width:1100px){.v2-dashboard .new-calendar-layout{grid-template-columns:1fr}.v2-dashboard .new-calendar-side{grid-template-columns:1fr 1fr}.v2-dashboard .app-topbar{grid-template-columns:auto 1fr auto}}
@media(max-width:760px){.v2-dashboard .app-frame{grid-template-columns:1fr}.v2-dashboard .new-page-heading{align-items:flex-start;flex-direction:column}.v2-dashboard .new-page-actions{width:100%}.v2-dashboard .new-page-actions button{flex:1}.v2-dashboard .new-calendar-main{padding:12px}.v2-dashboard .month-day-cell{height:82px;padding:6px}.v2-dashboard .month-event{font-size:.5rem}.v2-dashboard .new-calendar-side{grid-template-columns:1fr}.v2-dashboard .app-topbar{grid-template-columns:auto 1fr}.v2-dashboard .search-box{display:none}}

/* ============================================================
   UNIFIED CREEKFLEET PRODUCT UI — CLIENT + SUPER ADMIN
   ============================================================ */
:root{--cf-navy:#071126;--cf-orange:#ff3b24;--cf-orange-soft:#fff0ec;--cf-canvas:#f7f8fa;--cf-border:#dde3eb;--cf-text:#071126;--cf-muted:#53627c;--cf-green:#16a566;--cf-shadow:0 12px 32px rgba(7,17,38,.055)}
body{font-family:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--cf-canvas);color:var(--cf-text)}
.dashboard-content,.main-content{background:var(--cf-canvas)}
.cf-page{padding:26px 28px 42px;max-width:none!important}
.cf-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}
.cf-page-heading h1{font-size:30px!important;line-height:1.08!important;letter-spacing:-.045em!important;font-weight:750!important;margin:0 0 6px!important;color:var(--cf-text)}
.cf-page-heading p,.cf-card-head p,.cf-capability p{margin:0;color:var(--cf-muted);font-size:13px;line-height:1.5}
.cf-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.cf-date-control{min-height:40px}
.cf-card,.cf-capability,.cf-kpi,.cf-reminder-strip{background:#fff;border:1px solid var(--cf-border);border-radius:14px;box-shadow:var(--cf-shadow)}
.cf-card{padding:20px}
.cf-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid #edf0f4;padding-bottom:15px;margin-bottom:16px}
.cf-card-head h2,.cf-capability h3{margin:0 0 3px;color:var(--cf-text);font-size:16px;line-height:1.25;font-weight:720;letter-spacing:-.02em}
.cf-icon-chip{width:40px;height:40px;border-radius:11px;background:var(--cf-orange-soft);color:var(--cf-orange);display:grid;place-items:center;flex:0 0 auto}
.cf-icon-chip svg{width:19px;height:19px;stroke-width:1.8}
.cf-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--cf-orange-soft);color:var(--cf-orange);font-size:10px;font-weight:750;letter-spacing:.03em}
.cf-reminder-strip{display:grid;grid-template-columns:auto 1fr 1fr 1fr;align-items:center;gap:18px;padding:12px 15px;margin-bottom:16px;border-color:#ffc9be;background:#fffdfc}
.cf-reminder-strip>div{display:flex;flex-direction:column;min-width:0}
.cf-reminder-strip strong{font-size:12px}.cf-reminder-strip small{font-size:10px;color:var(--cf-muted)}
.cf-reminder-stat{border-left:1px solid #f0d9d3;padding-left:18px}
.cf-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cf-kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cf-kpi{min-height:102px;padding:15px;display:flex;gap:13px;align-items:flex-start}
.cf-kpi>div{display:flex;flex-direction:column;min-width:0}
.cf-kpi small{text-transform:uppercase;color:var(--cf-muted);font-size:9px;font-weight:700;letter-spacing:.055em}
.cf-kpi strong{font-size:25px;line-height:1.08;margin:6px 0;color:var(--cf-text);letter-spacing:-.035em}
.cf-kpi em{font-size:9px;color:var(--cf-green);font-style:normal;font-weight:650}
.cf-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.95fr);gap:16px}
.cf-chart-card{min-height:330px}.cf-table-card{min-height:265px}
.cf-legend{display:flex;gap:18px;color:#718096;font-size:10px}.cf-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#aab4c4;margin-right:6px}.cf-legend .orange:before{background:var(--cf-orange)}
.cf-line-chart{height:230px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 48px,#eef1f5 49px);overflow:hidden}
.cf-line-chart svg{width:100%;height:100%}.cf-line-chart path{fill:none;stroke-linecap:round;stroke-linejoin:round}.cf-line-chart .area{fill:url(#cfArea);stroke:none}.cf-line-chart .primary{stroke:var(--cf-orange);stroke-width:4}.cf-line-chart .secondary{stroke:#aab5c4;stroke-width:2.4}
.cf-status-body{display:flex;align-items:center;gap:20px;padding:5px 0 10px}.cf-status-body .fh-donut{flex:0 0 150px}
.cf-status-list{list-style:none;margin:0;padding:0;flex:1}.cf-status-list li{display:grid;grid-template-columns:9px 1fr auto auto;gap:8px;align-items:center;padding:7px 0;font-size:11px}.cf-status-list i{width:8px;height:8px;border-radius:50%}.cf-status-list .green{background:#20a86b}.cf-status-list .amber{background:#f59e0b}.cf-status-list .red{background:#ef4444}.cf-status-list .gray{background:#b5bfcc}.cf-status-list small{color:#8792a4}
.cf-good-health{font-size:10px;color:var(--cf-green);font-weight:650}
.cf-link-btn{border:0;background:var(--cf-orange-soft);color:var(--cf-orange);border-radius:999px;font-size:10px;font-weight:700;padding:6px 10px;cursor:pointer}
.cf-action-list{max-height:230px;overflow:auto}.cf-action-list li{border:1px solid var(--cf-border)!important;border-left:3px solid var(--cf-orange)!important;border-radius:11px!important;margin:0 0 9px!important;background:#fff!important}
.cf-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.cf-capability{padding:20px;min-height:150px}.cf-capability h3{margin-top:15px;font-size:15px}.cf-fleet-records{margin-top:4px}
.cf-split-wide{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(330px,.78fr);gap:16px}.cf-report-split{margin-bottom:16px}
.cf-intel-list,.cf-speed-list,.cf-rule-list{display:flex;flex-direction:column;gap:10px}.cf-intel-list>div,.cf-speed-list>div,.cf-rule-list>div{border:1px solid var(--cf-border);border-radius:11px;padding:11px;display:flex;align-items:center;gap:11px}.cf-intel-list p,.cf-rule-list p{display:flex;flex-direction:column;flex:1;margin:0}.cf-intel-list strong,.cf-rule-list strong,.cf-speed-list strong{font-size:11px}.cf-intel-list small,.cf-rule-list small,.cf-speed-list small{font-size:9px;color:var(--cf-muted)}.cf-intel-list em,.cf-speed-list em{font-style:normal;font-size:10px;font-weight:750}.cf-intel-list .ok,.cf-speed-list .ok{color:#078b4d;background:#e9f9f0;border-radius:999px;padding:5px 7px}.cf-intel-list .warn{color:#d48800}.cf-intel-list .danger,.cf-speed-list .danger{color:#ed3f34}
.cf-alert-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(320px,1fr);gap:16px;margin-bottom:16px}.cf-alert-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cf-alert-form label{font-size:11px;font-weight:650;color:var(--cf-text)}.cf-alert-form input,.cf-alert-form select{display:block;width:100%;height:43px;margin-top:7px;border:1px solid var(--cf-border);border-radius:10px;padding:0 13px;background:#fff;color:var(--cf-text);font:inherit}.cf-alert-form button{grid-column:1/-1}
.cf-speed-list>div span{display:flex;flex-direction:column;flex:1}.cf-speed-list b{font-size:14px}.cf-rules-card{margin-bottom:16px}.cf-rule-list>div{padding:11px 13px}.cf-switch{margin-left:auto;width:39px;height:23px;border:0;border-radius:999px;background:#ccd3dd;position:relative;cursor:pointer}.cf-switch:after{content:"";position:absolute;width:17px;height:17px;top:3px;left:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}.cf-switch.on{background:var(--cf-orange)}.cf-switch.on:after{left:19px}
.cf-incidents{margin-top:16px}
.rpt-chart-wrap{height:245px}
.data-table{font-size:11px}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#6a7892;background:#f8f9fb}.data-table td,.data-table th{padding:12px 11px}
.client-vehicles-section .vehicles-grid{margin-top:14px}
.sidebar,.dashboard-sidebar{background:linear-gradient(180deg,#120c19 0%,#071126 35%,#071126 100%)!important}.sidebar-logo-icon,.brand-icon,.logo-mark{background:var(--cf-orange)!important;border-radius:12px!important}
.sidebar .nav-item.active,.dashboard-sidebar .nav-item.active{background:rgba(255,59,36,.12)!important;border-left-color:var(--cf-orange)!important}
.btn-primary{background:var(--cf-orange)!important;border-color:var(--cf-orange)!important}.btn-primary:hover{background:#e82f1b!important}
.sa-view .dashboard-panel,.sa-view .stat-card,.admin-page .dashboard-panel{border-radius:14px!important;border-color:var(--cf-border)!important;box-shadow:var(--cf-shadow)!important}
.sa-view .panel-heading h2,.sa-view .page-title{letter-spacing:-.03em!important;font-weight:750!important}
@media(max-width:1200px){.cf-kpi-grid{grid-template-columns:repeat(3,1fr)}.cf-kpi-grid.four{grid-template-columns:repeat(2,1fr)}.cf-dashboard-grid,.cf-split-wide,.cf-alert-layout{grid-template-columns:1fr}}
@media(max-width:760px){.cf-page{padding:18px 14px 30px}.cf-page-heading{align-items:flex-start;flex-direction:column}.cf-page-heading h1{font-size:25px!important}.cf-reminder-strip{grid-template-columns:auto 1fr}.cf-reminder-stat{grid-column:1/-1;border-left:0;border-top:1px solid #f0d9d3;padding:10px 0 0}.cf-kpi-grid,.cf-kpi-grid.four,.cf-capability-grid{grid-template-columns:1fr}.cf-dashboard-grid{grid-template-columns:1fr}.cf-alert-form{grid-template-columns:1fr}.cf-alert-form button{grid-column:auto}.cf-status-body{align-items:flex-start;flex-direction:column}}

/* Clean vehicle portfolio cards */
.v2-dashboard .vehicles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.v2-dashboard .vehicle-card-clean{padding:18px;border-radius:14px;min-width:0;box-shadow:0 8px 28px rgba(15,23,42,.045);border:1px solid #dfe5ec}
.v2-dashboard .vehicle-card-clean:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.075)}
.v2-dashboard .vehicle-card-clean .vehicle-card-top{margin-bottom:16px}
.v2-dashboard .vehicle-card-clean .vehicle-card-actions{display:flex;gap:7px}
.v2-dashboard .vehicle-card-clean .icon-btn{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}
.v2-dashboard .vehicle-card-clean .icon-btn svg{width:15px;height:15px}
.v2-dashboard .vc-identity{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.v2-dashboard .vc-car-icon{width:42px;height:42px;border-radius:12px;background:#fff0ec;color:#ff3b24;display:grid;place-items:center;flex:0 0 auto}
.v2-dashboard .vc-car-icon svg{width:20px;height:20px}
.v2-dashboard .vehicle-card-clean .vc-identity strong{font-size:15px;margin:0 0 5px;line-height:1.25}
.v2-dashboard .vehicle-card-clean .vc-meta-row{gap:7px}
.v2-dashboard .vc-primary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}
.v2-dashboard .vc-primary-metrics>div{padding:12px;background:#f7f9fb;border:1px solid #e9edf2;border-radius:10px;min-width:0}
.v2-dashboard .vc-primary-metrics span,.v2-dashboard .vc-detail-grid span{display:block;color:#66758d;font-size:9px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;margin-bottom:5px}
.v2-dashboard .vc-primary-metrics strong{font-size:15px!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-dashboard .vc-primary-metrics strong.pos,.v2-dashboard .vc-detail-grid strong.pos{color:#079b5b}
.v2-dashboard .vc-primary-metrics strong.neg,.v2-dashboard .vc-detail-grid strong.neg{color:#e7463a}
.v2-dashboard .pvc-util-row.clean{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;gap:10px;align-items:center;padding:0;margin:0 0 15px}
.v2-dashboard .vc-util-copy{display:flex;gap:5px;align-items:center;font-size:10px;color:#5f6e85}.v2-dashboard .vc-util-copy strong{font-size:11px;margin:0}
.v2-dashboard .vehicle-card-clean .pvc-util-vs{font-size:9px;white-space:nowrap}
.v2-dashboard .vc-details{border-top:1px solid #e8ecf1;padding-top:3px}
.v2-dashboard .vc-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:11px 1px 7px;color:#344159;font-size:11px;font-weight:700;cursor:pointer}
.v2-dashboard .vc-details summary::-webkit-details-marker{display:none}.v2-dashboard .vc-details summary svg{width:15px;transition:transform .18s}.v2-dashboard .vc-details[open] summary svg{transform:rotate(180deg)}
.v2-dashboard .vc-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:8px}
.v2-dashboard .vc-detail-grid>div{padding:10px;background:#f8fafc;border-radius:9px;min-width:0}
.v2-dashboard .vc-detail-grid strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}
.v2-dashboard .vc-empty-pricing{display:flex;align-items:center;gap:9px;color:#718096;font-size:11px;background:#f8fafc;border-radius:10px;padding:13px}
.v2-dashboard .vc-empty-pricing svg{width:17px}
[data-theme="dark"] .v2-dashboard .vc-car-icon{background:rgba(255,59,36,.14)}
[data-theme="dark"] .v2-dashboard .vc-primary-metrics>div,[data-theme="dark"] .v2-dashboard .vc-detail-grid>div,[data-theme="dark"] .v2-dashboard .vc-empty-pricing{background:#111a2b;border-color:#263147}
[data-theme="dark"] .v2-dashboard .vc-details{border-color:#2a3346}[data-theme="dark"] .v2-dashboard .vc-details summary{color:#dbe4f1}
@media(max-width:1280px){.v2-dashboard .vehicles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v2-dashboard .vehicles-grid{grid-template-columns:1fr}.v2-dashboard .vc-primary-metrics,.v2-dashboard .vc-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.v2-dashboard .vc-primary-metrics,.v2-dashboard .vc-detail-grid{grid-template-columns:1fr 1fr}}

/* Listings and reservations visual refresh */
.v2-dashboard .cf-listings-page{padding-bottom:44px}
.v2-dashboard .cf-bulk-control{height:40px;padding:0 13px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;color:#344159;cursor:pointer}
.v2-dashboard .cf-bulk-control input{accent-color:#ff3b24;width:16px;height:16px}
.v2-dashboard .cf-listing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.v2-dashboard .cf-listing-kpis article{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.v2-dashboard .cf-listing-kpis article>div{display:flex;flex-direction:column}.v2-dashboard .cf-listing-kpis small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#66758d;font-weight:700}.v2-dashboard .cf-listing-kpis strong{font-size:22px;line-height:1.15;margin-top:3px}
.v2-dashboard .cf-listing-kpis .cf-icon-chip.green{background:#e9f9f0;color:#079b5b}
.v2-dashboard .cf-listings-card{padding:0;overflow:hidden}
.v2-dashboard .cf-listings-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border-bottom:1px solid #e7ebf0}
.v2-dashboard .cf-listings-toolbar h2{margin:0 0 4px;font-size:16px;letter-spacing:-.02em}.v2-dashboard .cf-listings-toolbar p{margin:0;color:#617087;font-size:11px}
.v2-dashboard .cf-listing-filters{display:flex;gap:9px;align-items:center}.v2-dashboard .cf-listing-filters label{height:38px;min-width:240px;border:1px solid #dfe5ec;border-radius:9px;display:flex;align-items:center;padding:0 11px;color:#728096}.v2-dashboard .cf-listing-filters label svg{width:15px}.v2-dashboard .cf-listing-filters input{border:0;outline:0;background:transparent;width:100%;padding:0 8px;font:inherit;font-size:11px}.v2-dashboard .cf-listing-filters select{height:38px;border:1px solid #dfe5ec;border-radius:9px;background:#fff;padding:0 30px 0 11px;font:inherit;font-size:11px;color:#344159}
.v2-dashboard .cf-listing-column-head{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(110px,.55fr) minmax(90px,.45fr) 110px;gap:16px;padding:10px 20px;background:#f7f9fb;color:#77849a;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.055em}
.v2-dashboard .cf-listings-card .listings-checklist-wrap{max-height:560px;overflow:auto;padding:0}
.v2-dashboard .cf-listing-row{display:grid;grid-template-columns:auto 42px minmax(200px,1.5fr) minmax(110px,.55fr) minmax(90px,.45fr) 110px auto;gap:12px;align-items:center;min-height:70px;padding:10px 20px;border:0;border-bottom:1px solid #e8ecf1;border-radius:0;background:#fff;cursor:pointer;transition:background .15s}
.v2-dashboard .cf-listing-row:last-child{border-bottom:0}.v2-dashboard .cf-listing-row:hover{background:#fffaf8}.v2-dashboard .cf-listing-row.is-listed{background:#fbfffd}.v2-dashboard .cf-listing-row.is-listed:hover{background:#f3fcf7}
.v2-dashboard .cf-listing-row>.listing-toggle{position:absolute;opacity:0;pointer-events:none}
.v2-dashboard .cf-listing-vehicle-icon{width:38px;height:38px;border-radius:10px;background:#fff0ec;color:#ff3b24;display:grid;place-items:center;grid-column:1}.v2-dashboard .cf-listing-vehicle-icon svg{width:18px}
.v2-dashboard .cf-listing-row .lcv-details{grid-column:2 / span 2;display:flex;flex-direction:column;min-width:0}.v2-dashboard .cf-listing-row .lcv-details strong{font-size:12px;margin:0}.v2-dashboard .cf-listing-row .lcv-details small{font-size:10px;color:#718096;margin-top:3px}
.v2-dashboard .cf-listing-rate{font-size:11px;font-weight:700;color:#253149}.v2-dashboard .cf-listing-row .listing-badge{justify-self:start;text-transform:none}.v2-dashboard .cf-listing-row .listing-badge.active{background:#e6f9ed;color:#078a4c}.v2-dashboard .cf-listing-row .listing-badge.unlisted{background:#f1f4f8;color:#617087}
.v2-dashboard .cf-listing-toggle-ui{width:38px;height:22px;border-radius:999px;background:#ccd4df;position:relative;justify-self:end}.v2-dashboard .cf-listing-toggle-ui i{position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;left:3px;top:3px;box-shadow:0 1px 4px rgba(15,23,42,.2);transition:.18s}.v2-dashboard .cf-listing-row.is-listed .cf-listing-toggle-ui{background:#19aa68}.v2-dashboard .cf-listing-row.is-listed .cf-listing-toggle-ui i{left:19px}
.v2-dashboard .cf-listing-row .listing-saving{font-size:9px;color:#ff3b24;position:absolute;right:70px}.v2-dashboard .cf-listing-empty{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#718096;gap:7px}.v2-dashboard .cf-listing-empty svg{width:30px;color:#ff3b24}.v2-dashboard .cf-listing-empty strong{font-size:13px;color:#172036}.v2-dashboard .cf-listing-empty span{font-size:11px}
[data-theme="dark"] .v2-dashboard .cf-bulk-control,[data-theme="dark"] .v2-dashboard .cf-listing-kpis article,[data-theme="dark"] .v2-dashboard .cf-listings-card,[data-theme="dark"] .v2-dashboard .cf-listing-row,[data-theme="dark"] .v2-dashboard .cf-listing-filters select{background:#171f31;border-color:#2a3346;color:#e7edf6}[data-theme="dark"] .v2-dashboard .cf-listing-column-head{background:#111827}[data-theme="dark"] .v2-dashboard .cf-listing-row.is-listed{background:#15251f}
@media(max-width:900px){.v2-dashboard .cf-listings-toolbar{align-items:flex-start;flex-direction:column}.v2-dashboard .cf-listing-filters{width:100%}.v2-dashboard .cf-listing-filters label{min-width:0;flex:1}.v2-dashboard .cf-listing-column-head{display:none}.v2-dashboard .cf-listing-row{grid-template-columns:38px 1fr auto;gap:10px}.v2-dashboard .cf-listing-row .lcv-details{grid-column:2}.v2-dashboard .cf-listing-rate{grid-column:2}.v2-dashboard .cf-listing-row .listing-badge{grid-column:2}.v2-dashboard .cf-listing-toggle-ui{grid-column:3;grid-row:1 / span 3}}
@media(max-width:600px){.v2-dashboard .cf-listing-kpis{grid-template-columns:1fr}.v2-dashboard .cf-listing-filters{align-items:stretch;flex-direction:column}.v2-dashboard .cf-listing-filters label,.v2-dashboard .cf-listing-filters select{width:100%}}

/* Dashboard-wide typography normalization */
.v2-dashboard,.v2-dashboard button,.v2-dashboard input,.v2-dashboard select,.v2-dashboard textarea,.v2-dashboard table{font-family:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.v2-dashboard{font-size:14px;line-height:1.45}
.v2-dashboard h1,.v2-dashboard .cf-page-heading h1,.v2-dashboard .new-page-heading h1,.v2-dashboard .sa-flow-head h1,.v2-dashboard .sa-page-toolbar h1{font-size:28px!important;line-height:1.12!important;font-weight:750!important;letter-spacing:-.045em!important;color:#071126;margin-top:0}
.v2-dashboard h2,.v2-dashboard .panel-heading h2,.v2-dashboard .cf-card-head h2,.v2-dashboard .sa-panel-head h2,.v2-dashboard .settings-panel-title,.v2-dashboard .earnings-section-title{font-size:16px!important;line-height:1.3!important;font-weight:720!important;letter-spacing:-.025em!important}
.v2-dashboard h3,.v2-dashboard .cf-capability h3{font-size:14px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:-.015em!important}
.v2-dashboard p,.v2-dashboard .section-subtitle,.v2-dashboard .cf-page-heading p,.v2-dashboard .new-page-heading p,.v2-dashboard .sa-flow-head p,.v2-dashboard .sa-page-toolbar p{font-size:12px!important;line-height:1.5!important}
.v2-dashboard .eyebrow,.v2-dashboard .dkpi-label,.v2-dashboard .kpi-strip small,.v2-dashboard .cf-kpi small,.v2-dashboard .hardware-kpi small{font-size:9px!important;line-height:1.3!important;font-weight:750!important;letter-spacing:.065em!important;text-transform:uppercase}
.v2-dashboard .btn-primary,.v2-dashboard .btn-secondary,.v2-dashboard .icon-btn,.v2-dashboard .sa-text-btn{font-size:11px!important;font-weight:680!important;line-height:1!important}
.v2-dashboard input,.v2-dashboard select,.v2-dashboard textarea{font-size:12px!important}
.v2-dashboard .data-table,.v2-dashboard .clients-grid,.v2-dashboard .dashboard-feed{font-size:11px!important}
.v2-dashboard .data-table th,.v2-dashboard .sa-directory-labels{font-size:9px!important;font-weight:750!important;letter-spacing:.055em!important;text-transform:uppercase}
.v2-dashboard .status-badge,.v2-dashboard .listing-badge,.v2-dashboard .pvc-signal,.v2-dashboard .cf-pill,.v2-dashboard .role-badge{font-size:9px!important;font-weight:720!important;line-height:1!important}
.v2-dashboard .sidebar-nav a,.v2-dashboard .ls-signout{font-size:12px!important;font-weight:620!important}
.v2-dashboard .topbar-page-title{font-size:15px!important;font-weight:720!important;letter-spacing:-.02em!important}
.v2-dashboard .search-box input{font-size:12px!important}
.v2-dashboard .user-org{font-size:11px!important;font-weight:700!important}.v2-dashboard .user-role-txt,.v2-dashboard .ls-brand-sub{font-size:9px!important}
[data-theme="dark"] .v2-dashboard h1,[data-theme="dark"] .v2-dashboard h2,[data-theme="dark"] .v2-dashboard h3{color:#f7f9fc}
@media(max-width:760px){.v2-dashboard h1,.v2-dashboard .cf-page-heading h1,.v2-dashboard .new-page-heading h1,.v2-dashboard .sa-flow-head h1,.v2-dashboard .sa-page-toolbar h1{font-size:24px!important}}

/* Calendar readability improvements */
.v2-dashboard .new-calendar-toolbar>strong{font-size:18px!important;font-weight:750!important;letter-spacing:-.025em}
.v2-dashboard .month-weekdays{height:40px}
.v2-dashboard .month-weekdays span{font-size:11px!important;font-weight:750!important;letter-spacing:.045em}
.v2-dashboard .month-day-cell{height:116px;padding:11px}
.v2-dashboard .month-day-number{width:31px;height:31px;font-size:14px!important;font-weight:750!important}
.v2-dashboard .month-day-cell.today .month-day-number{border-radius:9px}
.v2-dashboard .month-event{margin-top:5px;padding:7px 8px;font-size:11px!important;line-height:1.15!important;font-weight:680!important;border-radius:7px}
.v2-dashboard .month-more{font-size:10px!important;font-weight:650!important;margin-top:6px}
.v2-dashboard .new-side-card h2{font-size:15px!important}.v2-dashboard .new-side-card>p{font-size:12px!important}
.v2-dashboard .blocked-date-list strong,.v2-dashboard .calendar-block-list strong,.v2-dashboard .cal-block-list strong{font-size:12px!important}
.v2-dashboard .blocked-date-list small,.v2-dashboard .calendar-block-list small,.v2-dashboard .cal-block-list small{font-size:10px!important;line-height:1.4!important}
.v2-dashboard .cal-summary-list span{font-size:11px!important}.v2-dashboard .cal-summary-list strong{font-size:15px!important}
@media(max-width:760px){.v2-dashboard .month-weekdays{height:36px}.v2-dashboard .month-weekdays span{font-size:9px!important}.v2-dashboard .month-day-cell{height:92px;padding:7px}.v2-dashboard .month-day-number{width:27px;height:27px;font-size:12px!important}.v2-dashboard .month-event{padding:5px 6px;font-size:9px!important}.v2-dashboard .new-calendar-toolbar>strong{font-size:16px!important}}

/* Calendar legend readability */
.v2-dashboard .new-calendar-legend{gap:22px;padding:16px 5px 2px;font-size:11px!important;font-weight:580;line-height:1.3;flex-wrap:wrap}
.v2-dashboard .new-calendar-legend span{gap:8px}
.v2-dashboard .new-calendar-legend i{width:11px;height:11px;border-radius:4px;flex:0 0 auto}
@media(max-width:760px){.v2-dashboard .new-calendar-legend{gap:12px 18px;font-size:10px!important;padding-top:13px}}

/* Loan portfolio and operating-cost experience */
.v2-dashboard .cf-loan-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(330px,.8fr);gap:16px;margin-bottom:20px}
.v2-dashboard .cf-loan-portfolio,.v2-dashboard .cf-operating-costs{min-height:280px}
.v2-dashboard .cf-table-sub{display:block;margin-top:3px;color:#718096;font-size:9px;font-weight:500}
.v2-dashboard .cf-cost-bars{display:flex;flex-direction:column;gap:15px;padding-top:2px}
.v2-dashboard .cf-cost-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.v2-dashboard .cf-cost-row span{font-size:11px;color:#344159}.v2-dashboard .cf-cost-row strong{font-size:11px;color:#071126}
.v2-dashboard .cf-cost-track{height:8px;border-radius:999px;background:#e9edf2;overflow:hidden}.v2-dashboard .cf-cost-track i{display:block;width:var(--cost-width);height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3b24,#ff7663);min-width:2px}
.v2-dashboard .cf-section-divider{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:4px 0 13px;padding:14px 3px 0;border-top:1px solid #dfe5ec}
.v2-dashboard .cf-section-divider h2{margin:0 0 4px}.v2-dashboard .cf-section-divider p{margin:0;color:#66758d}
.v2-dashboard .cf-hardware-status{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.v2-dashboard .cf-hardware-status span{display:flex;align-items:center;gap:4px;color:#66758d;font-size:10px}.v2-dashboard .cf-hardware-status b{color:#172036}.v2-dashboard .cf-hardware-status i{width:8px;height:8px;border-radius:50%;background:#18a565}
[data-theme="dark"] .v2-dashboard .cf-cost-row span,[data-theme="dark"] .v2-dashboard .cf-hardware-status span{color:#9aa7bb}[data-theme="dark"] .v2-dashboard .cf-cost-row strong,[data-theme="dark"] .v2-dashboard .cf-hardware-status b{color:#f1f5f9}[data-theme="dark"] .v2-dashboard .cf-cost-track{background:#293349}[data-theme="dark"] .v2-dashboard .cf-section-divider{border-color:#2a3346}
@media(max-width:1150px){.v2-dashboard .cf-loan-layout{grid-template-columns:1fr}}
@media(max-width:760px){.v2-dashboard .cf-section-divider{align-items:flex-start;flex-direction:column}.v2-dashboard .cf-hardware-status{gap:8px 13px}}

/* Premium split-screen authentication */
.auth-page-premium{margin:0;min-height:100vh;background:#f6f2ed;color:#071126;overflow-x:hidden}
.auth-page-premium .premium-auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(520px,45%) 1fr}
.auth-page-premium .premium-auth-visual{position:relative;min-height:100vh;padding:54px 64px;color:#fff;background:linear-gradient(145deg,#171717 0%,#3a1b12 55%,#ff4b24 130%);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-page-premium .premium-auth-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.82),rgba(5,10,20,.73) 48%,rgba(5,10,20,.91));z-index:0}
.auth-page-premium .premium-auth-visual>*:not(.premium-auth-overlay){position:relative;z-index:1}
.auth-page-premium .premium-auth-brand,.auth-page-premium .premium-auth-mobile-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.auth-page-premium .premium-auth-brand>span:last-child,.auth-page-premium .premium-auth-mobile-brand>span:last-child{display:flex;gap:5px;font-size:20px;letter-spacing:.045em}.auth-page-premium .premium-auth-brand strong:first-child{color:#fff}.auth-page-premium .premium-auth-brand strong:last-child,.auth-page-premium .premium-auth-mobile-brand strong:last-child{color:#ff4b2b}
.auth-page-premium .premium-lock{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#ff4b2b;color:#fff}.auth-page-premium .premium-lock svg{width:19px}
.auth-page-premium .premium-auth-message{max-width:580px;margin:auto 0}
.auth-page-premium .auth-visual-kicker,.auth-page-premium .auth-kicker{margin:0 0 24px;color:#ff684e;font-size:11px;font-weight:750;letter-spacing:.23em;text-transform:uppercase}
.auth-page-premium .premium-auth-message h1{margin:0 0 14px;font-family:"DM Serif Display",Georgia,serif;font-size:65px;line-height:1.02;font-weight:400;letter-spacing:-.035em;color:#fff}
.auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){max-width:550px;margin:0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.7}
.auth-page-premium .premium-auth-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.auth-page-premium .premium-auth-features span{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font-size:10px;font-weight:620}.auth-page-premium .premium-auth-features svg{width:14px;color:#ff684e}
.auth-page-premium .premium-auth-security{display:flex;align-items:center;gap:8px;margin:0;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.04em}.auth-page-premium .premium-auth-security svg{width:13px;color:#ff684e}
.auth-page-premium .premium-auth-form-side{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px;background:#f6f2ed}
.auth-page-premium .premium-auth-card{width:min(100%,490px);min-height:550px;padding:48px;background:#fff;border:1px solid #eee8e1;border-radius:0;box-shadow:0 22px 60px rgba(39,30,20,.08)}
.auth-page-premium .auth-panel{width:100%}.auth-page-premium .auth-kicker{margin-bottom:24px;font-size:10px}
.auth-page-premium .auth-title{margin:0 0 8px;font-family:"DM Serif Display",Georgia,serif;font-size:40px;line-height:1.1;font-weight:400;letter-spacing:-.025em;color:#071126}
.auth-page-premium .auth-subtitle{margin:0 0 32px;color:#667085;font-size:11px}.auth-page-premium .auth-subtitle a,.auth-page-premium .auth-legal a,.auth-page-premium .premium-auth-help a{color:#f0442c;text-decoration:none;font-weight:650}
.auth-page-premium .auth-form{display:flex;flex-direction:column;gap:18px}.auth-page-premium .field-group{display:flex;flex-direction:column;gap:8px}.auth-page-premium .field-group label{font-size:9px;font-weight:760;letter-spacing:.08em;text-transform:uppercase;color:#111827}
.auth-page-premium .field-group input{width:100%;height:54px;border:1px solid #cfc8c0;border-radius:0;background:#fff;padding:0 15px;color:#071126;font-family:"Geist",sans-serif;font-size:12px;font-weight:520;outline:0;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-page-premium .field-group input:focus{border-color:#ff4b2b;box-shadow:0 0 0 3px rgba(255,75,43,.10)}
.auth-page-premium .auth-password-wrap{position:relative}.auth-page-premium .auth-password-wrap input{padding-right:65px}.auth-page-premium .auth-password-toggle{position:absolute;right:13px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#f0442c;font-size:9px;font-weight:730;cursor:pointer}
.auth-page-premium .auth-form-options{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:2px}.auth-page-premium .auth-form-options label{display:flex;align-items:center;gap:8px;color:#667085;font-size:9px;font-weight:600}.auth-page-premium .auth-form-options input{accent-color:#ff4b2b}.auth-page-premium .link-button{border:0;background:transparent;padding:0;color:#f0442c;font-size:9px;font-weight:650;cursor:pointer}
.auth-page-premium .button.primary{height:51px;border:0;border-radius:0;background:#ff4b2b;color:#fff;font-family:"Geist",sans-serif;font-size:11px;font-weight:720;display:flex;align-items:center;justify-content:center;gap:13px;cursor:pointer}.auth-page-premium .button.primary:hover{background:#e93b24}.auth-page-premium .button.primary svg{width:15px}
.auth-page-premium .auth-legal{text-align:center;margin:0;color:#98a2b3;font-size:8px;line-height:1.5}.auth-page-premium .auth-alert{font-size:11px}
.auth-page-premium .premium-auth-help{margin:22px 0 0;color:#7a8290;font-size:9px}.auth-page-premium .premium-auth-mobile-brand{display:none}
.auth-page-premium .password-guidance{font-size:9px;color:#667085;margin:-8px 0 0}.auth-page-premium .auth-switch{text-align:center}
@media(max-width:1040px){.auth-page-premium .premium-auth-layout{grid-template-columns:42% 1fr}.auth-page-premium .premium-auth-visual{padding:42px}.auth-page-premium .premium-auth-message h1{font-size:50px}.auth-page-premium .premium-auth-form-side{padding:32px}.auth-page-premium .premium-auth-card{padding:40px}}
@media(max-width:780px){.auth-page-premium .premium-auth-layout{display:block}.auth-page-premium .premium-auth-visual{display:none}.auth-page-premium .premium-auth-form-side{min-height:100vh;padding:28px 20px}.auth-page-premium .premium-auth-mobile-brand{display:flex;width:min(100%,490px);margin:0 0 20px}.auth-page-premium .premium-auth-mobile-brand strong:first-child{color:#071126}.auth-page-premium .premium-auth-card{min-height:0;padding:34px 26px}.auth-page-premium .auth-title{font-size:34px}}

/* Super Admin sidebar workspace navigation */
.v2-dashboard .sa-jump-nav{border-left:3px solid transparent}.v2-dashboard .sa-jump-nav.active{background:rgba(255,59,36,.12)!important;border-left-color:#ff3b24;color:#fff}
.v2-dashboard .sa-workspace-label{margin-top:13px!important}
.v2-dashboard #sa-platform-health,.v2-dashboard #sa-platform-metrics,.v2-dashboard #sa-company-workspaces,.v2-dashboard #sa-quick-actions,.v2-dashboard #sa-onboarding-workspace,.v2-dashboard #sa-access-directory{scroll-margin-top:88px}


/* Refined CreekFleet authentication artwork and primary action */
.auth-page-premium .premium-auth-visual{
  background-position:center 48%;
}
.auth-page-premium .premium-auth-overlay{
  background:
    linear-gradient(90deg,rgba(5,10,20,.88) 0%,rgba(5,10,20,.58) 52%,rgba(5,10,20,.35) 100%),
    linear-gradient(180deg,rgba(5,10,20,.34),rgba(5,10,20,.48) 55%,rgba(5,10,20,.88));
}
.auth-page-premium .button.primary{
  min-height:56px;
  height:56px;
  padding:0 12px 0 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  justify-content:space-between;
  background:linear-gradient(135deg,#ff612f 0%,#ff3b24 52%,#f3291b 100%);
  box-shadow:0 14px 28px rgba(255,59,36,.24),inset 0 1px 0 rgba(255,255,255,.25);
  font-size:13px;
  font-weight:760;
  letter-spacing:.01em;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.auth-page-premium .button.primary svg{
  width:32px;
  height:32px;
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  transition:transform .18s ease,background-color .18s ease;
}
.auth-page-premium .button.primary:hover{
  background:linear-gradient(135deg,#ff6a36 0%,#ff4028 52%,#f52d1e 100%);
  box-shadow:0 18px 34px rgba(255,59,36,.31),inset 0 1px 0 rgba(255,255,255,.28);
  transform:translateY(-2px);
}
.auth-page-premium .button.primary:hover svg{
  background:rgba(255,255,255,.24);
  transform:translateX(2px);
}
.auth-page-premium .button.primary:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(255,59,36,.22),inset 0 1px 2px rgba(108,18,7,.2);
}
.auth-page-premium .button.primary:focus-visible{
  outline:3px solid rgba(255,75,43,.26);
  outline-offset:3px;
}
.auth-page-premium .button.primary:disabled{
  cursor:not-allowed;
  filter:saturate(.55);
  opacity:.7;
  transform:none;
  box-shadow:none;
}
@media(max-width:780px){
  .auth-page-premium .button.primary{min-height:54px;height:54px}
}


/* Authentication left-panel readability */
.auth-page-premium .premium-auth-message{
  max-width:640px;
}
.auth-page-premium .auth-visual-kicker{
  margin-bottom:27px;
  font-size:13px;
  line-height:1.4;
  letter-spacing:.19em;
}
.auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){
  max-width:610px;
  font-size:18px;
  line-height:1.65;
  font-weight:500;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.auth-page-premium .premium-auth-features{
  gap:12px;
  margin-top:30px;
}
.auth-page-premium .premium-auth-features span{
  min-height:39px;
  padding:9px 14px;
  gap:8px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.auth-page-premium .premium-auth-features svg{
  width:16px;
  height:16px;
}
.auth-page-premium .premium-auth-security{
  gap:9px;
  font-size:11px;
  line-height:1.45;
  font-weight:550;
}
.auth-page-premium .premium-auth-security svg{
  width:15px;
  height:15px;
}
@media(max-width:1040px){
  .auth-page-premium .auth-visual-kicker{font-size:12px}
  .auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){font-size:16px}
  .auth-page-premium .premium-auth-features span{font-size:11px}
  .auth-page-premium .premium-auth-security{font-size:10px}
}


/* Authentication form readability and contrast */
.auth-page-premium .premium-auth-card{
  width:min(100%,530px);
  padding:52px;
}
.auth-page-premium .auth-kicker{
  margin-bottom:25px;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.2em;
}
.auth-page-premium .auth-title{
  margin-bottom:10px;
  font-size:44px;
  line-height:1.08;
}
.auth-page-premium .auth-subtitle{
  margin-bottom:34px;
  font-size:14px;
  line-height:1.55;
  color:#566176;
}
.auth-page-premium .auth-subtitle a{
  display:inline-block;
  color:#f13d27;
  font-weight:750;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.auth-page-premium .auth-subtitle a:hover{
  color:#c92e1c;
}
.auth-page-premium .auth-form{
  gap:21px;
}
.auth-page-premium .field-group{
  gap:9px;
}
.auth-page-premium .field-group label{
  font-size:11px;
  line-height:1.3;
  letter-spacing:.075em;
}
.auth-page-premium .field-group input{
  height:58px;
  padding:0 17px;
  border-color:#bfc6d1;
  font-size:15px;
  font-weight:550;
}
.auth-page-premium .field-group input::placeholder{
  color:#7f8999;
}
.auth-page-premium .field-group input:-webkit-autofill,
.auth-page-premium .field-group input:-webkit-autofill:hover,
.auth-page-premium .field-group input:-webkit-autofill:focus{
  -webkit-text-fill-color:#071126;
  -webkit-box-shadow:0 0 0 1000px #fff inset;
  caret-color:#071126;
}
.auth-page-premium .auth-password-toggle{
  right:16px;
  font-size:11px;
}
.auth-page-premium .auth-form-options{
  margin-top:1px;
}
.auth-page-premium .auth-form-options label,
.auth-page-premium .link-button{
  font-size:11px;
  line-height:1.4;
}
.auth-page-premium .auth-form-options input{
  width:16px;
  height:16px;
}
.auth-page-premium .auth-legal{
  font-size:9px;
  line-height:1.6;
}
.auth-page-premium .premium-auth-help{
  margin-top:24px;
  font-size:11px;
  line-height:1.55;
}
.auth-page-premium .premium-auth-help a{
  font-weight:700;
}
@media(max-width:1040px){
  .auth-page-premium .premium-auth-card{padding:42px}
  .auth-page-premium .auth-title{font-size:39px}
}
@media(max-width:780px){
  .auth-page-premium .premium-auth-card{padding:34px 26px}
  .auth-page-premium .auth-title{font-size:36px}
  .auth-page-premium .auth-subtitle{font-size:13px}
  .auth-page-premium .field-group input{height:56px;font-size:14px}
}


/* Keep dashboard status and account controls flush right */
.v2-dashboard .app-topbar .topbar-right{
  justify-self:end;
  justify-content:flex-end;
  width:max-content;
  margin-left:auto;
}
@media(max-width:760px){
  .v2-dashboard .app-topbar .topbar-right{
    grid-column:2;
    justify-self:end;
    margin-left:auto;
  }
}


/* Large, accessible login typography */
.auth-page-premium .premium-auth-card{
  width:min(100%,560px)!important;
  padding:56px!important;
}
.auth-page-premium .auth-kicker{
  font-size:14px!important;
  line-height:1.4!important;
  letter-spacing:.17em!important;
}
.auth-page-premium .auth-title{
  font-size:46px!important;
  line-height:1.08!important;
}
.auth-page-premium .auth-subtitle{
  font-size:16px!important;
  line-height:1.55!important;
  margin-bottom:36px!important;
}
.auth-page-premium .auth-subtitle a{
  font-size:16px!important;
}
.auth-page-premium .field-group label{
  font-size:13px!important;
  line-height:1.35!important;
}
.auth-page-premium .field-group input{
  height:62px!important;
  font-size:16px!important;
}
.auth-page-premium .auth-password-toggle{
  font-size:13px!important;
  font-weight:750!important;
}
.auth-page-premium .auth-form-options label,
.auth-page-premium .link-button{
  font-size:13px!important;
  line-height:1.45!important;
}
.auth-page-premium .auth-form-options input{
  width:18px!important;
  height:18px!important;
}
.auth-page-premium .button.primary{
  min-height:60px!important;
  height:60px!important;
  font-size:15px!important;
}
.auth-page-premium .auth-legal{
  font-size:11px!important;
  line-height:1.65!important;
}
.auth-page-premium .premium-auth-help{
  font-size:13px!important;
  line-height:1.6!important;
}
.auth-page-premium .auth-alert,
.auth-page-premium .password-guidance,
.auth-page-premium .auth-switch{
  font-size:13px!important;
  line-height:1.5!important;
}
@media(max-width:780px){
  .auth-page-premium .premium-auth-card{padding:36px 26px!important}
  .auth-page-premium .auth-title{font-size:38px!important}
  .auth-page-premium .auth-subtitle,
  .auth-page-premium .auth-subtitle a{font-size:15px!important}
  .auth-page-premium .field-group label{font-size:12px!important}
  .auth-page-premium .field-group input{height:58px!important;font-size:15px!important}
  .auth-page-premium .auth-form-options label,
  .auth-page-premium .link-button{font-size:12px!important}
  .auth-page-premium .auth-legal{font-size:10px!important}
  .auth-page-premium .premium-auth-help{font-size:12px!important;text-align:center}
}


/* Full-size legal and support text */
.auth-page-premium .auth-legal{
  margin-top:3px!important;
  color:#596579!important;
  font-size:13px!important;
  line-height:1.65!important;
  font-weight:500!important;
}
.auth-page-premium .auth-legal a{
  font-size:13px!important;
  font-weight:750!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.auth-page-premium .premium-auth-help{
  margin-top:28px!important;
  color:#4f5b70!important;
  font-size:15px!important;
  line-height:1.6!important;
  font-weight:550!important;
}
.auth-page-premium .premium-auth-help a{
  font-size:15px!important;
  font-weight:750!important;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:780px){
  .auth-page-premium .auth-legal,
  .auth-page-premium .auth-legal a{font-size:12px!important}
  .auth-page-premium .premium-auth-help,
  .auth-page-premium .premium-auth-help a{font-size:14px!important}
}


/* High-readability authentication scale */
.auth-page-premium .premium-auth-visual{
  padding:58px 70px!important;
}
.auth-page-premium .premium-auth-brand>span:last-child,
.auth-page-premium .premium-auth-mobile-brand>span:last-child{
  font-size:24px!important;
  gap:7px!important;
}
.auth-page-premium .premium-lock{
  width:46px!important;
  height:46px!important;
}
.auth-page-premium .premium-lock svg{
  width:22px!important;
  height:22px!important;
}
.auth-page-premium .premium-auth-message{
  max-width:700px!important;
}
.auth-page-premium .auth-visual-kicker{
  font-size:15px!important;
  line-height:1.4!important;
}
.auth-page-premium .premium-auth-message h1{
  font-size:72px!important;
  line-height:1!important;
}
.auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){
  max-width:660px!important;
  font-size:20px!important;
  line-height:1.6!important;
}
.auth-page-premium .premium-auth-features{
  gap:14px!important;
  margin-top:34px!important;
}
.auth-page-premium .premium-auth-features span{
  min-height:44px!important;
  padding:11px 16px!important;
  font-size:14px!important;
}
.auth-page-premium .premium-auth-features svg{
  width:18px!important;
  height:18px!important;
}
.auth-page-premium .premium-auth-security{
  font-size:13px!important;
  line-height:1.5!important;
}
.auth-page-premium .premium-auth-form-side{
  padding:54px 42px!important;
}
.auth-page-premium .premium-auth-card{
  width:min(100%,620px)!important;
  min-height:640px!important;
  padding:62px!important;
}
.auth-page-premium .auth-kicker{
  font-size:15px!important;
}
.auth-page-premium .auth-title{
  font-size:52px!important;
}
.auth-page-premium .auth-subtitle,
.auth-page-premium .auth-subtitle a{
  font-size:17px!important;
}
.auth-page-premium .field-group label{
  font-size:14px!important;
}
.auth-page-premium .field-group input{
  height:66px!important;
  font-size:17px!important;
}
.auth-page-premium .auth-password-toggle{
  font-size:14px!important;
}
.auth-page-premium .auth-form-options label,
.auth-page-premium .link-button{
  font-size:14px!important;
}
.auth-page-premium .button.primary{
  min-height:64px!important;
  height:64px!important;
  font-size:16px!important;
}
.auth-page-premium .auth-legal,
.auth-page-premium .auth-legal a{
  font-size:13px!important;
}
.auth-page-premium .premium-auth-help,
.auth-page-premium .premium-auth-help a{
  font-size:15px!important;
}
@media(max-width:1180px){
  .auth-page-premium .premium-auth-visual{padding:46px!important}
  .auth-page-premium .premium-auth-message h1{font-size:58px!important}
  .auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){font-size:17px!important}
  .auth-page-premium .premium-auth-card{padding:48px!important}
  .auth-page-premium .auth-title{font-size:44px!important}
}
@media(max-width:780px){
  .auth-page-premium .premium-auth-form-side{padding:26px 18px!important}
  .auth-page-premium .premium-auth-card{width:min(100%,560px)!important;min-height:0!important;padding:38px 28px!important}
  .auth-page-premium .auth-title{font-size:40px!important}
  .auth-page-premium .auth-subtitle,
  .auth-page-premium .auth-subtitle a{font-size:16px!important}
  .auth-page-premium .field-group label{font-size:13px!important}
  .auth-page-premium .field-group input{height:60px!important;font-size:16px!important}
  .auth-page-premium .auth-password-toggle{font-size:13px!important}
  .auth-page-premium .auth-form-options label,
  .auth-page-premium .link-button{font-size:13px!important}
  .auth-page-premium .button.primary{height:60px!important;min-height:60px!important;font-size:15px!important}
  .auth-page-premium .auth-legal,
  .auth-page-premium .auth-legal a{font-size:12px!important}
  .auth-page-premium .premium-auth-help,
  .auth-page-premium .premium-auth-help a{font-size:14px!important}
}


/* Unified minimum readable authentication type scale */
.auth-page-premium{
  font-size:16px!important;
}
.auth-page-premium .premium-auth-card{
  width:min(100%,680px)!important;
  padding:64px!important;
}
.auth-page-premium .auth-kicker,
.auth-page-premium .auth-visual-kicker{
  font-size:16px!important;
  line-height:1.45!important;
}
.auth-page-premium .auth-title{
  font-size:56px!important;
}
.auth-page-premium .premium-auth-message h1{
  font-size:76px!important;
}
.auth-page-premium .auth-subtitle,
.auth-page-premium .auth-subtitle a,
.auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker),
.auth-page-premium .premium-auth-features span,
.auth-page-premium .premium-auth-security,
.auth-page-premium .field-group label,
.auth-page-premium .auth-password-toggle,
.auth-page-premium .auth-form-options label,
.auth-page-premium .link-button,
.auth-page-premium .auth-alert,
.auth-page-premium .password-guidance,
.auth-page-premium .auth-switch,
.auth-page-premium .premium-auth-help,
.auth-page-premium .premium-auth-help a{
  font-size:16px!important;
  line-height:1.55!important;
}
.auth-page-premium .field-group input{
  height:68px!important;
  font-size:18px!important;
}
.auth-page-premium .button.primary{
  min-height:66px!important;
  height:66px!important;
  font-size:18px!important;
}
.auth-page-premium .auth-legal,
.auth-page-premium .auth-legal a{
  font-size:14px!important;
  line-height:1.65!important;
}
@media(max-width:1180px){
  .auth-page-premium .premium-auth-card{width:min(100%,600px)!important;padding:50px!important}
  .auth-page-premium .auth-title{font-size:48px!important}
  .auth-page-premium .premium-auth-message h1{font-size:60px!important}
  .auth-page-premium .premium-auth-message>p:not(.auth-visual-kicker){font-size:16px!important}
}
@media(max-width:780px){
  .auth-page-premium{font-size:15px!important}
  .auth-page-premium .premium-auth-card{width:min(100%,580px)!important;padding:38px 26px!important}
  .auth-page-premium .auth-kicker{font-size:14px!important}
  .auth-page-premium .auth-title{font-size:42px!important}
  .auth-page-premium .auth-subtitle,
  .auth-page-premium .auth-subtitle a,
  .auth-page-premium .field-group label,
  .auth-page-premium .auth-password-toggle,
  .auth-page-premium .auth-form-options label,
  .auth-page-premium .link-button,
  .auth-page-premium .auth-alert,
  .auth-page-premium .password-guidance,
  .auth-page-premium .auth-switch,
  .auth-page-premium .premium-auth-help,
  .auth-page-premium .premium-auth-help a{
    font-size:15px!important;
  }
  .auth-page-premium .field-group input{height:62px!important;font-size:16px!important}
  .auth-page-premium .button.primary{height:62px!important;min-height:62px!important;font-size:16px!important}
  .auth-page-premium .auth-legal,
  .auth-page-premium .auth-legal a{font-size:13px!important}
}


/* Restore the earlier compact typography inside the sign-in card only */
.auth-page-premium .premium-auth-card .auth-kicker {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.auth-page-premium .premium-auth-card .auth-title {
  font-size: 44px !important;
  line-height: 1.08 !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle,
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.auth-page-premium .premium-auth-card .field-group label {
  font-size: 11px !important;
  line-height: 1.3 !important;
}
.auth-page-premium .premium-auth-card .field-group input {
  font-size: 15px !important;
}
.auth-page-premium .premium-auth-card .auth-password-toggle,
.auth-page-premium .premium-auth-card .auth-form-options label,
.auth-page-premium .premium-auth-card .link-button,
.auth-page-premium .premium-auth-card .auth-alert,
.auth-page-premium .premium-auth-card .password-guidance,
.auth-page-premium .premium-auth-card .auth-switch {
  font-size: 11px !important;
  line-height: 1.4 !important;
}
.auth-page-premium .premium-auth-card .button.primary {
  font-size: 13px !important;
}
.auth-page-premium .premium-auth-card .auth-legal,
.auth-page-premium .premium-auth-card .auth-legal a {
  font-size: 10px !important;
  line-height: 1.6 !important;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card .auth-title { font-size: 36px !important; }
  .auth-page-premium .premium-auth-card .auth-subtitle,
  .auth-page-premium .premium-auth-card .auth-subtitle a { font-size: 13px !important; }
  .auth-page-premium .premium-auth-card .field-group input { font-size: 14px !important; }
}


/* Compact sign-in card typography — original-scale revision */
.auth-page-premium .premium-auth-card .auth-kicker {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.auth-page-premium .premium-auth-card .auth-title {
  font-size: 36px !important;
  line-height: 1.08 !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle,
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .field-group label {
  font-size: 10px !important;
  line-height: 1.3 !important;
}
.auth-page-premium .premium-auth-card .field-group input {
  font-size: 13px !important;
}
.auth-page-premium .premium-auth-card .auth-password-toggle,
.auth-page-premium .premium-auth-card .auth-form-options label,
.auth-page-premium .premium-auth-card .link-button,
.auth-page-premium .premium-auth-card .auth-alert,
.auth-page-premium .premium-auth-card .password-guidance,
.auth-page-premium .premium-auth-card .auth-switch {
  font-size: 10px !important;
  line-height: 1.4 !important;
}
.auth-page-premium .premium-auth-card .button.primary {
  font-size: 14px !important;
}
.auth-page-premium .premium-auth-card .auth-legal,
.auth-page-premium .premium-auth-card .auth-legal a {
  font-size: 9px !important;
  line-height: 1.55 !important;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card .auth-title { font-size: 32px !important; }
  .auth-page-premium .premium-auth-card .auth-subtitle,
  .auth-page-premium .premium-auth-card .auth-subtitle a { font-size: 12px !important; }
  .auth-page-premium .premium-auth-card .field-group input { font-size: 13px !important; }
}


/* Original compact sign-in heading scale */
.auth-page-premium .premium-auth-card .auth-title {
  font-size: 30px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card .auth-title {
    font-size: 28px !important;
  }
}


/* Exact right-side sign-in prompt from the first split-screen deployment */
.auth-page-premium .premium-auth-card {
  width: min(100%, 490px) !important;
  min-height: 550px !important;
  padding: 48px !important;
}
.auth-page-premium .premium-auth-card .auth-kicker {
  margin-bottom: 24px !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .auth-title {
  margin-bottom: 8px !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle,
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-size: 11px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle {
  margin-bottom: 32px !important;
}
.auth-page-premium .premium-auth-card .auth-form {
  gap: 18px !important;
}
.auth-page-premium .premium-auth-card .field-group {
  gap: 8px !important;
}
.auth-page-premium .premium-auth-card .field-group label {
  font-size: 9px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .field-group input {
  height: 54px !important;
  padding: 0 15px !important;
  font-size: 12px !important;
}
.auth-page-premium .premium-auth-card .auth-password-toggle,
.auth-page-premium .premium-auth-card .auth-form-options label,
.auth-page-premium .premium-auth-card .link-button {
  font-size: 9px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .button.primary {
  min-height: 56px !important;
  height: 56px !important;
  font-size: 13px !important;
}
.auth-page-premium .premium-auth-card .auth-legal,
.auth-page-premium .premium-auth-card .auth-legal a {
  font-size: 8px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-help,
.auth-page-premium .premium-auth-help a {
  margin-top: 22px !important;
  font-size: 9px !important;
  line-height: 1.5 !important;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card {
    min-height: 0 !important;
    padding: 34px 26px !important;
  }
  .auth-page-premium .premium-auth-card .auth-title {
    font-size: 34px !important;
  }
}


/* Match the support contact line to the security message size */
.auth-page-premium .premium-auth-help,
.auth-page-premium .premium-auth-help a {
  font-size: 16px !important;
  line-height: 1.55 !important;
}


/* Match the terms and privacy notice to the security message size */
.auth-page-premium .premium-auth-card .auth-legal,
.auth-page-premium .premium-auth-card .auth-legal a {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* ── Dispatch live fleet map ── */
.dispatch-map-card {
  margin-top: 16px;
  overflow: hidden;
  background: var(--card-bg, #fff);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}
.dispatch-map-head,
.dispatch-map-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.dispatch-map-head { padding: 15px 18px 13px; }
.dispatch-map-head .eyebrow { margin: 0 0 2px; }
.dispatch-map-head h3 {
  margin: 0;
  color: var(--text-primary, #0f172a);
  font-size: 1rem;
}
.dispatch-map-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #15803d;
  font-size: 0.76rem;
  font-weight: 650;
}
.dispatch-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.14);
  animation: dispatch-live-pulse 2s ease-in-out infinite;
}
@keyframes dispatch-live-pulse {
  50% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); }
}
.dispatch-map-shell {
  position: relative;
  min-height: 380px;
  border-top: 1px solid var(--border, #e2e8f0);
  border-bottom: 1px solid var(--border, #e2e8f0);
  background: #e8eef3;
}
#dispatch-live-map {
  width: 100%;
  height: 380px;
  z-index: 1;
}
.dispatch-map-empty {
  position: absolute;
  z-index: 500;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  max-width: min(90%, 470px);
  padding: 9px 14px;
  border: 1px solid rgba(148, 163, 184, 0.55);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 7px 24px rgba(15, 23, 42, 0.12);
  color: #475569;
  font-size: 0.78rem;
  font-weight: 550;
  text-align: center;
  pointer-events: none;
}
.dispatch-map-empty.hidden { display: none; }
.dispatch-map-foot {
  padding: 10px 18px;
  color: var(--text-muted, #64748b);
  font-size: 0.74rem;
}
.dispatch-vehicle-icon-wrap { background: transparent; border: 0; }
.dispatch-vehicle-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #ff3b12;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.3);
  color: #fff;
  font-size: 12px;
}
[data-theme="dark"] .dispatch-map-card {
  background: #131c2e;
  border-color: #2d3748;
}
[data-theme="dark"] .dispatch-map-head h3 { color: #f1f5f9; }
[data-theme="dark"] .dispatch-map-shell { border-color: #2d3748; }
[data-theme="dark"] .dispatch-map-empty {
  background: rgba(15, 23, 42, 0.94);
  border-color: #475569;
  color: #cbd5e1;
}
@media (max-width: 700px) {
  .dispatch-map-head { align-items: flex-start; flex-direction: column; }
  .dispatch-map-shell, #dispatch-live-map { height: 300px; min-height: 300px; }
  .dispatch-map-foot { align-items: flex-start; flex-direction: column; gap: 3px; }
}


/* Operational Recommendations — clean light priority panel */
.notif-overlay {
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.notif-overlay-panel,
[data-theme="dark"] .notif-overlay-panel {
  background: #ffffff;
  border: 1px solid #dbe3ec;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
}
.notif-overlay-header,
[data-theme="dark"] .notif-overlay-header {
  background: #ffffff;
  border-bottom-color: #e5eaf0;
}
.notif-overlay-title,
[data-theme="dark"] .notif-overlay-title {
  color: #111827;
}
.notif-overlay-subtitle,
[data-theme="dark"] .notif-overlay-subtitle {
  color: #64748b;
}
.notif-overlay-close,
[data-theme="dark"] .notif-overlay-close {
  background: #f3f6f9;
  border-color: #dbe3ec;
  color: #475569;
}
.notif-overlay-close:hover,
[data-theme="dark"] .notif-overlay-close:hover {
  background: #e8edf3;
  color: #111827;
}
.notif-overlay-body,
[data-theme="dark"] .notif-overlay-body {
  background: #f8fafc;
  scrollbar-color: #cbd5e1 transparent;
}
.notif-overlay-item,
[data-theme="dark"] .notif-overlay-item {
  background: #ffffff;
  border-color: #dbe3ec;
  box-shadow: 0 2px 5px rgba(15, 23, 42, 0.035);
}
.notif-overlay-item:hover,
[data-theme="dark"] .notif-overlay-item:hover {
  background: #fffaf7;
  border-color: #cbd5e1;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.09);
}
.notif-overlay-item-title,
[data-theme="dark"] .notif-overlay-item-title {
  color: #1f2937;
}
.notif-overlay-item-desc,
[data-theme="dark"] .notif-overlay-item-desc {
  color: #64748b;
}
.notif-overlay-item-arrow,
[data-theme="dark"] .notif-overlay-item-arrow {
  color: #94a3b8;
}
.notif-overlay-item[data-priority="critical"] .notif-overlay-item-icon,
[data-theme="dark"] .notif-overlay-item[data-priority="critical"] .notif-overlay-item-icon {
  background: #fff0f0;
  color: #dc2626;
}
.notif-overlay-item[data-priority="high"] .notif-overlay-item-icon,
.notif-overlay-item[data-priority="attention"] .notif-overlay-item-icon,
[data-theme="dark"] .notif-overlay-item[data-priority="high"] .notif-overlay-item-icon,
[data-theme="dark"] .notif-overlay-item[data-priority="attention"] .notif-overlay-item-icon {
  background: #fff7e6;
  color: #d97706;
}
.notif-overlay-footer,
[data-theme="dark"] .notif-overlay-footer {
  background: #ffffff;
  border-top-color: #e5eaf0;
}
.notif-overlay-dismiss,
[data-theme="dark"] .notif-overlay-dismiss {
  color: #475569;
}
.notif-overlay-dismiss:hover,
[data-theme="dark"] .notif-overlay-dismiss:hover {
  color: #ff4b2b;
}
.notif-overlay-empty,
[data-theme="dark"] .notif-overlay-empty {
  color: #475569;
}


/* Sign-in action: black by default, Creek orange on interaction */
.auth-page-premium #btn-signin,
html[data-theme="dark"] .auth-page-premium #btn-signin {
  background: #080b10 !important;
  border-color: #080b10 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(8, 11, 16, 0.22) !important;
}
.auth-page-premium #btn-signin svg,
html[data-theme="dark"] .auth-page-premium #btn-signin svg {
  background: rgba(255, 255, 255, 0.13) !important;
  color: #ffffff !important;
}
.auth-page-premium #btn-signin:hover,
.auth-page-premium #btn-signin:focus-visible,
html[data-theme="dark"] .auth-page-premium #btn-signin:hover,
html[data-theme="dark"] .auth-page-premium #btn-signin:focus-visible {
  background: #ff4b2b !important;
  border-color: #ff4b2b !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(255, 75, 43, 0.3) !important;
}
.auth-page-premium #btn-signin:hover svg,
.auth-page-premium #btn-signin:focus-visible svg {
  background: rgba(255, 255, 255, 0.22) !important;
}


/* Readable sign-in supporting labels */
.auth-page-premium .premium-auth-card .auth-kicker {
  font-size: 13px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.15em !important;
}
.auth-page-premium .premium-auth-card .auth-form-options label,
.auth-page-premium .premium-auth-card .auth-form-options .link-button {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.auth-page-premium .premium-auth-card .auth-form-options {
  gap: 18px;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card .auth-kicker {
    font-size: 12px !important;
  }
  .auth-page-premium .premium-auth-card .auth-form-options label,
  .auth-page-premium .premium-auth-card .auth-form-options .link-button {
    font-size: 13px !important;
  }
}


/* Readable new-account prompt */
.auth-page-premium .premium-auth-card .auth-subtitle,
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-weight: 700 !important;
}
@media (max-width: 780px) {
  .auth-page-premium .premium-auth-card .auth-subtitle,
  .auth-page-premium .premium-auth-card .auth-subtitle a {
    font-size: 15px !important;
  }
}


/* Keep sign-in action black on hover and focus */
.auth-page-premium #btn-signin:hover,
.auth-page-premium #btn-signin:focus-visible,
html[data-theme="dark"] .auth-page-premium #btn-signin:hover,
html[data-theme="dark"] .auth-page-premium #btn-signin:focus-visible {
  background: #080b10 !important;
  border-color: #080b10 !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(8, 11, 16, 0.28) !important;
}
.auth-page-premium #btn-signin:hover svg,
.auth-page-premium #btn-signin:focus-visible svg {
  background: rgba(255, 255, 255, 0.18) !important;
}


/* Clear, readable dashboard sidebar */
.v2-dashboard .app-frame {
  grid-template-columns: 282px minmax(0, 1fr);
}
.v2-dashboard .left-sidebar {
  padding: 24px 16px 16px;
}
.v2-dashboard .ls-brand {
  gap: 14px;
  padding: 0 8px 22px;
  margin-bottom: 20px;
}
.v2-dashboard .cf-lock-sidebar {
  width: 46px;
  height: 46px;
}
.v2-dashboard .cf-wordmark-sidebar {
  font-size: 1.08rem;
  font-weight: 850;
}
.v2-dashboard .ls-brand-sub {
  margin-top: 5px;
  color: #a7b3c8;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.07em;
}
.v2-dashboard .nav-section-label {
  padding: 14px 12px 8px;
  color: #8da1ca;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.13em;
}
.v2-dashboard .sidebar-nav {
  gap: 5px;
}
.v2-dashboard .left-sidebar .sidebar-nav a {
  min-height: 48px;
  gap: 13px;
  padding: 0 13px;
  border-radius: 10px;
  color: #e0e7f3;
  font-size: 0.88rem;
  font-weight: 680;
}
.v2-dashboard .left-sidebar .sidebar-nav a:hover {
  background: rgba(255, 255, 255, 0.065);
  color: #ffffff;
}
.v2-dashboard .left-sidebar .sidebar-nav a.active {
  background: linear-gradient(90deg, rgba(255,75,43,.25), rgba(255,75,43,.12));
  color: #ffffff;
  box-shadow: inset 4px 0 0 #ff4b2b;
}
.v2-dashboard .left-sidebar .sidebar-nav a svg[data-lucide] {
  width: 18px;
  height: 18px;
  color: #b5c1d5;
  stroke-width: 1.9;
}
.v2-dashboard .left-sidebar .api-status {
  min-height: 42px;
  padding: 0 12px;
  color: #f1f5f9;
  font-size: 0.78rem;
  font-weight: 700;
}
.v2-dashboard .ls-signout {
  min-height: 43px;
  font-size: 0.82rem;
  font-weight: 700;
}
.v2-dashboard .ls-version {
  color: #7183a4;
  font-size: 0.7rem;
}
@media (max-width: 900px) {
  .v2-dashboard .app-frame {
    grid-template-columns: 1fr;
  }
}


/* White dashboard sidebar for maximum readability */
.v2-dashboard .left-sidebar,
html[data-theme="dark"] .v2-dashboard .left-sidebar {
  background: #ffffff !important;
  border-right: 1px solid #dfe4ea !important;
  box-shadow: 8px 0 24px rgba(15, 23, 42, 0.04);
}
.v2-dashboard .ls-brand,
html[data-theme="dark"] .v2-dashboard .ls-brand {
  border-bottom-color: #e5e7eb !important;
}
.v2-dashboard .cf-wordmark-sidebar,
html[data-theme="dark"] .v2-dashboard .cf-wordmark-sidebar {
  color: #111827 !important;
}
.v2-dashboard .ls-brand-sub,
html[data-theme="dark"] .v2-dashboard .ls-brand-sub {
  color: #64748b !important;
}
.v2-dashboard .nav-section-label,
html[data-theme="dark"] .v2-dashboard .nav-section-label {
  color: #64748b !important;
}
.v2-dashboard .left-sidebar .sidebar-nav a,
html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a {
  background: transparent !important;
  color: #273449 !important;
}
.v2-dashboard .left-sidebar .sidebar-nav a:hover,
html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a:hover {
  background: #f2f4f7 !important;
  color: #111827 !important;
}
.v2-dashboard .left-sidebar .sidebar-nav a.active,
html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a.active {
  background: #fff0eb !important;
  color: #111827 !important;
  box-shadow: inset 4px 0 0 #ff4b2b !important;
}
.v2-dashboard .left-sidebar .sidebar-nav a svg[data-lucide],
html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a svg[data-lucide] {
  color: #526176 !important;
}
.v2-dashboard .left-sidebar .sidebar-nav a.active svg[data-lucide],
html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a.active svg[data-lucide] {
  color: #ff4b2b !important;
}
.v2-dashboard .ls-footer,
html[data-theme="dark"] .v2-dashboard .ls-footer {
  border-top-color: #e5e7eb !important;
}
.v2-dashboard .left-sidebar .api-status,
html[data-theme="dark"] .v2-dashboard .left-sidebar .api-status {
  border-color: #d9e0e8 !important;
  background: #f7f9fb !important;
  color: #273449 !important;
}
.v2-dashboard .ls-signout,
html[data-theme="dark"] .v2-dashboard .ls-signout {
  border-color: #d9e0e8 !important;
  background: #ffffff !important;
  color: #111827 !important;
}
.v2-dashboard .ls-signout:hover,
html[data-theme="dark"] .v2-dashboard .ls-signout:hover {
  border-color: #ff4b2b !important;
  background: #fff0eb !important;
  color: #d93620 !important;
}
.v2-dashboard .ls-version,
html[data-theme="dark"] .v2-dashboard .ls-version {
  color: #64748b !important;
}


/* Unified CreekFleet brand and readable password toggle */
.cf-lock-sidebar,
.premium-lock,
.legal-brand-mark,
.cf-brand-lock {
  border-radius: 999px !important;
  background: #ff4b2b !important;
  color: #ffffff !important;
}
.cf-wordmark strong:first-child,
.premium-auth-brand strong:first-child,
.premium-auth-mobile-brand strong:first-child {
  color: #111827;
}
.premium-auth-visual .premium-auth-brand strong:first-child {
  color: #ffffff;
}
.cf-wordmark strong:last-child,
.premium-auth-brand strong:last-child,
.premium-auth-mobile-brand strong:last-child {
  color: #ff4b2b !important;
}
.auth-page-premium .premium-auth-card .auth-password-toggle {
  min-width: 58px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  color: #d93620 !important;
}
.auth-page-premium .premium-auth-card .auth-password-toggle:hover,
.auth-page-premium .premium-auth-card .auth-password-toggle:focus-visible {
  color: #111827 !important;
  background: #f3f4f6 !important;
}


/* CreekFleet unified dashboard typography system */
:root {
  --cf-font-ui: "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cf-type-xs: 12px;
  --cf-type-sm: 14px;
  --cf-type-base: 16px;
  --cf-type-lg: 18px;
  --cf-type-card: 20px;
  --cf-type-page: clamp(30px, 3vw, 42px);
}
html { font-size: 16px; }
.v2-dashboard,
.v2-dashboard button,
.v2-dashboard input,
.v2-dashboard select,
.v2-dashboard textarea,
.auth-page-premium button,
.auth-page-premium input,
.auth-page-premium select {
  font-family: var(--cf-font-ui) !important;
}
.v2-dashboard {
  font-size: var(--cf-type-base);
  line-height: 1.55;
}
.v2-dashboard .dashboard-main p,
.v2-dashboard .dashboard-main li,
.v2-dashboard .dashboard-main td {
  font-size: var(--cf-type-sm);
  line-height: 1.55;
}
.v2-dashboard .dashboard-main h1,
.v2-dashboard .sa-page-toolbar h1,
.v2-dashboard .sa-flow-head h1 {
  font-size: var(--cf-type-page);
  line-height: 1.08;
}
.v2-dashboard .dashboard-main h2,
.v2-dashboard .dashboard-panel h2,
.v2-dashboard .cf-card h2 {
  font-size: var(--cf-type-card);
  line-height: 1.18;
}
.v2-dashboard .dashboard-main h3,
.v2-dashboard .cf-card h3 {
  font-size: var(--cf-type-lg);
  line-height: 1.25;
}
.v2-dashboard .eyebrow,
.v2-dashboard .nav-section-label,
.v2-dashboard label > span,
.v2-dashboard th,
.v2-dashboard .cf-pill,
.v2-dashboard [class*="badge"],
.v2-dashboard [class*="kicker"] {
  font-size: var(--cf-type-xs) !important;
  line-height: 1.35 !important;
  letter-spacing: .09em;
}
.v2-dashboard .left-sidebar .sidebar-nav a {
  font-size: var(--cf-type-sm) !important;
  line-height: 1.25;
}
.v2-dashboard .ls-brand-sub,
.v2-dashboard .ls-version,
.v2-dashboard .left-sidebar .api-status,
.v2-dashboard .topbar-page-title,
.v2-dashboard .user-role-txt {
  font-size: var(--cf-type-xs) !important;
  line-height: 1.4 !important;
}
.v2-dashboard button,
.v2-dashboard .btn-primary,
.v2-dashboard .btn-secondary,
.v2-dashboard input,
.v2-dashboard select,
.v2-dashboard textarea {
  font-size: var(--cf-type-sm) !important;
}
.v2-dashboard small,
.v2-dashboard .data-footnote,
.v2-dashboard [class*="subtitle"],
.v2-dashboard [class*="-meta"],
.v2-dashboard [class*="-desc"] {
  font-size: var(--cf-type-xs) !important;
  line-height: 1.5 !important;
}
.v2-dashboard .data-table td,
.v2-dashboard .data-table th,
.v2-dashboard .cf-admin-table td,
.v2-dashboard .cf-admin-table th {
  font-size: 13px !important;
}
.v2-dashboard .kpi-value,
.v2-dashboard [class*="metric"] strong,
.v2-dashboard [class*="summary"] strong {
  line-height: 1.05;
}
.auth-page-premium .premium-auth-card .auth-kicker {
  font-size: 13px !important;
}
.auth-page-premium .premium-auth-card .auth-title {
  font-family: "DM Serif Display", Georgia, serif !important;
  font-size: clamp(34px, 4vw, 44px) !important;
  line-height: 1.08 !important;
}
.auth-page-premium .premium-auth-card .auth-subtitle,
.auth-page-premium .premium-auth-card .auth-subtitle a {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.auth-page-premium .premium-auth-card .field-group label {
  font-size: 12px !important;
}
.auth-page-premium .premium-auth-card .field-group input {
  font-size: 16px !important;
}
.auth-page-premium .premium-auth-card .auth-form-options label,
.auth-page-premium .premium-auth-card .auth-form-options .link-button,
.auth-page-premium .premium-auth-card .auth-password-toggle {
  font-size: 14px !important;
}
.auth-page-premium .premium-auth-card .button.primary {
  font-size: 16px !important;
}
.auth-page-premium .premium-auth-card .auth-legal,
.auth-page-premium .premium-auth-card .auth-legal a,
.auth-page-premium .premium-auth-help,
.auth-page-premium .premium-auth-help a {
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.legal-page, .legal-page p, .legal-page li {
  font-family: var(--cf-font-ui) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
.legal-page h1 {
  font-family: var(--cf-font-ui) !important;
  font-size: clamp(34px, 5vw, 48px) !important;
}
.legal-page h2 { font-size: 23px !important; line-height: 1.25 !important; }
.legal-page .legal-eyebrow,
.legal-page .legal-updated,
.legal-page .legal-back,
.legal-page .legal-footer { font-size: 13px !important; }
@media (max-width: 780px) {
  .v2-dashboard { font-size: 15px; }
  .v2-dashboard .dashboard-main p,
  .v2-dashboard .dashboard-main li,
  .v2-dashboard .dashboard-main td { font-size: 13px; }
  .v2-dashboard .dashboard-main h1,
  .v2-dashboard .sa-page-toolbar h1,
  .v2-dashboard .sa-flow-head h1 { font-size: 30px; }
  .auth-page-premium .premium-auth-card .auth-title { font-size: 34px !important; }
}


/* Dashboard date-range calendar popover */
.cf-date-range-wrap { position: relative; }
.cf-date-control {
  min-width: 184px;
  justify-content: space-between;
  gap: 12px;
  background: #ffffff;
  color: #172033;
  font-family: var(--cf-font-ui);
  font-size: 14px !important;
  font-weight: 700;
}
.cf-date-control svg { width: 16px; height: 16px; }
.cf-date-popover[hidden] { display: none !important; }
.cf-date-popover {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 10px);
  right: 0;
  width: min(520px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid #dbe2ea;
  border-radius: 14px;
  background: #ffffff;
  color: #172033;
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
  font-family: var(--cf-font-ui);
}
.cf-date-popover-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e7ebf0;
}
.cf-date-popover-head h2 {
  margin: 3px 0 0;
  color: #111827;
  font-family: var(--cf-font-ui);
  font-size: 21px !important;
  line-height: 1.2;
}
.cf-date-close {
  width: 38px;
  height: 38px;
  border: 1px solid #dbe2ea;
  border-radius: 9px;
  background: #f7f9fb;
  color: #475569;
  font-size: 22px !important;
  cursor: pointer;
}
.cf-date-presets {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  padding: 16px 0;
}
.cf-date-presets button {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #ffffff;
  color: #334155;
  font-family: var(--cf-font-ui);
  font-size: 13px !important;
  font-weight: 650;
  cursor: pointer;
}
.cf-date-presets button:hover { background: #f6f7f9; color: #111827; }
.cf-date-presets button.active {
  border-color: #ff4b2b;
  background: #fff0eb;
  color: #c93420;
}
.cf-date-custom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid #e1e6ec;
  border-radius: 10px;
  background: #f8fafc;
}
.cf-date-custom label { display: grid; gap: 7px; }
.cf-date-custom label span {
  color: #475569;
  font-family: var(--cf-font-ui);
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.cf-date-custom input[type="date"] {
  width: 100%;
  min-height: 44px;
  padding: 0 11px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #111827;
  font-family: var(--cf-font-ui);
  font-size: 14px !important;
  color-scheme: light;
}
.cf-date-custom input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .72;
}
.cf-date-arrow { padding-bottom: 12px; color: #94a3b8; font-size: 18px; }
.cf-date-error { min-height: 18px; margin: 8px 0 0; color: #b42318; font-size: 12px !important; }
.cf-date-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 10px;
}
@media (max-width: 620px) {
  .cf-date-range-wrap { width: 100%; }
  .cf-date-control { width: 100%; }
  .cf-date-popover { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; width: auto; max-height: calc(100vh - 24px); overflow-y: auto; }
  .cf-date-presets { grid-template-columns: repeat(2,1fr); }
  .cf-date-custom { grid-template-columns: 1fr; }
  .cf-date-arrow { display: none; }
  .cf-date-actions > * { flex: 1; }
}


/* Fully styled CreekFleet calendar */
.cf-date-custom { display: block; }
.cf-date-selected {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  padding-bottom: 14px;
}
.cf-date-selected > div { display: grid; gap: 4px; }
.cf-date-selected span:not(.cf-date-arrow) {
  color: #64748b;
  font-family: var(--cf-font-ui);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cf-date-selected strong {
  color: #111827;
  font-family: var(--cf-font-ui);
  font-size: 14px;
  line-height: 1.35;
}
.cf-date-selected .cf-date-arrow { padding: 0; }
.cf-calendar {
  overflow: hidden;
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  background: #ffffff;
  font-family: var(--cf-font-ui);
}
.cf-calendar-toolbar {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #e7ebf0;
}
.cf-calendar-toolbar strong {
  text-align: center;
  color: #111827;
  font-family: var(--cf-font-ui);
  font-size: 15px;
  font-weight: 800;
}
.cf-calendar-toolbar button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #475569;
  cursor: pointer;
}
.cf-calendar-toolbar button:hover,
.cf-calendar-toolbar button:focus-visible {
  border-color: #dbe2ea;
  background: #f3f5f7;
  color: #111827;
}
.cf-calendar-toolbar svg { width: 17px; height: 17px; }
.cf-calendar-weekdays,
.cf-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7,1fr);
}
.cf-calendar-weekdays {
  padding: 8px 10px 3px;
}
.cf-calendar-weekdays span {
  text-align: center;
  color: #64748b;
  font-family: var(--cf-font-ui);
  font-size: 11px;
  font-weight: 750;
}
.cf-calendar-grid {
  gap: 3px;
  padding: 5px 10px 12px;
}
.cf-calendar-grid button {
  min-width: 0;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #273449;
  font-family: var(--cf-font-ui);
  font-size: 13px !important;
  font-weight: 600;
  cursor: pointer;
}
.cf-calendar-grid button:hover,
.cf-calendar-grid button:focus-visible {
  background: #f1f4f7;
  color: #111827;
  outline: none;
}
.cf-calendar-grid button.outside { color: #a8b1bf; }
.cf-calendar-grid button.in-range {
  border-radius: 4px;
  background: #fff0eb;
  color: #b93824;
}
.cf-calendar-grid button.selected {
  background: #ff4b2b;
  color: #ffffff;
  font-weight: 800;
  box-shadow: 0 4px 10px rgba(255,75,43,.24);
}
@media (max-width: 620px) {
  .cf-date-selected { grid-template-columns: 1fr; }
  .cf-date-selected .cf-date-arrow { display: none; }
  .cf-calendar-grid button { height: 42px; font-size: 14px !important; }
}


/* Super Admin visual parity with the client dashboard */
.v2-dashboard .sa-view,
.v2-dashboard .sa-admin-page,
.v2-dashboard .sa-overview {
  color: #111827;
  font-family: var(--cf-font-ui);
}
.v2-dashboard .sa-overview,
.v2-dashboard .sa-admin-page {
  gap: 16px;
}
.v2-dashboard .sa-flow-head,
.v2-dashboard .sa-page-toolbar {
  min-height: 78px;
  margin: 0;
  padding: 0;
  align-items: center;
}
.v2-dashboard .sa-flow-head h1,
.v2-dashboard .sa-page-toolbar h1 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 30px !important;
  font-weight: 780;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.v2-dashboard .sa-flow-head p:not(.eyebrow),
.v2-dashboard .sa-page-toolbar > div > p:not(.eyebrow) {
  margin: 0;
  color: #64748b;
  font-size: 14px !important;
  line-height: 1.55;
}
.v2-dashboard .sa-flow-head .eyebrow,
.v2-dashboard .sa-page-toolbar .eyebrow,
.v2-dashboard .sa-panel-head .eyebrow {
  margin: 0 0 5px;
  color: #ff4b2b;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.v2-dashboard .sa-platform-health,
.v2-dashboard .sa-panel,
.v2-dashboard .sa-onboarding-panel,
.v2-dashboard .sa-directory-panel,
.v2-dashboard .cf-admin-ops .cf-control-bar,
.v2-dashboard .cf-admin-ops .cf-summary-grid article,
.v2-dashboard .cf-admin-ops .cf-notification,
.v2-dashboard .cf-admin-ops .cf-table-wrap,
.v2-dashboard .cf-admin-account {
  border: 1px solid #dce3eb;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15,23,42,.045);
}
.v2-dashboard .sa-kpi-strip {
  gap: 12px;
  margin: 0;
}
.v2-dashboard .sa-kpi-strip .kpi-card,
.v2-dashboard .cf-admin-ops .cf-summary-grid article {
  min-height: 102px;
  padding: 16px;
  border: 1px solid #dce3eb;
  border-radius: 14px;
  background: #ffffff;
}
.v2-dashboard .sa-kpi-strip .kpi-card small,
.v2-dashboard .cf-admin-ops .cf-summary-grid span,
.v2-dashboard .cf-admin-ops .cf-summary-grid small {
  color: #64748b;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.v2-dashboard .sa-kpi-strip .kpi-card strong,
.v2-dashboard .cf-admin-ops .cf-summary-grid strong {
  color: #111827;
  font-size: 27px !important;
  line-height: 1.05;
}
.v2-dashboard .sa-kpi-strip .kpi-card em {
  font-size: 12px !important;
}
.v2-dashboard .sa-dashboard-grid { gap: 16px; }
.v2-dashboard .sa-panel,
.v2-dashboard .sa-onboarding-panel,
.v2-dashboard .sa-directory-panel {
  padding: 20px;
}
.v2-dashboard .sa-panel-head h2,
.v2-dashboard .sa-section-heading h2,
.v2-dashboard .sa-directory-head h2,
.v2-dashboard .cf-admin-ops h2 {
  color: #111827;
  font-size: 20px !important;
  font-weight: 750;
  line-height: 1.2;
}
.v2-dashboard .sa-section-heading p,
.v2-dashboard .sa-directory-head p,
.v2-dashboard .sa-panel p,
.v2-dashboard .cf-admin-ops p {
  color: #64748b;
  font-size: 14px !important;
  line-height: 1.55;
}
.v2-dashboard .sa-company-row {
  min-height: 72px;
  padding: 13px 0;
}
.v2-dashboard .sa-company-row strong,
.v2-dashboard .sa-actions-panel button strong,
.v2-dashboard .sa-onboarding-panel .onboarding-flow strong {
  color: #1f2937;
  font-size: 14px !important;
  font-weight: 700;
}
.v2-dashboard .sa-company-row small,
.v2-dashboard .sa-actions-panel button small,
.v2-dashboard .sa-onboarding-panel .onboarding-flow small,
.v2-dashboard .sa-security-note small {
  color: #64748b;
  font-size: 12px !important;
  line-height: 1.45;
}
.v2-dashboard .sa-company-status,
.v2-dashboard .sa-secure-label {
  font-size: 12px !important;
}
.v2-dashboard .sa-enter-company,
.v2-dashboard .sa-text-btn,
.v2-dashboard .sa-page-toolbar .btn-primary,
.v2-dashboard .sa-page-toolbar .btn-secondary,
.v2-dashboard .cf-admin-ops button {
  min-height: 42px;
  font-size: 14px !important;
  font-weight: 700;
}
.v2-dashboard .sa-onboarding-panel .onboarding-flow > div {
  min-height: 100px;
  padding-top: 19px;
  background: #f9fafc;
}
.v2-dashboard .sa-onboarding-panel .onboarding-flow > div > span {
  font-size: 12px !important;
}
.v2-dashboard .cf-admin-ops .cf-control-bar {
  padding: 16px;
}
.v2-dashboard .cf-admin-ops .cf-control-bar label > span {
  color: #64748b;
  font-size: 12px !important;
}
.v2-dashboard .cf-admin-ops .cf-control-bar input,
.v2-dashboard .cf-admin-ops .cf-control-bar select {
  min-height: 44px;
  font-size: 14px !important;
}
.v2-dashboard .cf-admin-ops .cf-admin-table th,
.v2-dashboard .cf-admin-ops .cf-admin-table td {
  padding: 15px;
  font-size: 13px !important;
  line-height: 1.5;
}
.v2-dashboard .cf-admin-ops .cf-admin-table th {
  background: #f7f9fb;
  color: #526176;
}
.v2-dashboard .cf-admin-account {
  padding: 18px;
}
.v2-dashboard .cf-admin-identity strong {
  font-size: 15px !important;
}
.v2-dashboard .cf-admin-identity p,
.v2-dashboard .cf-admin-permission-tags span {
  font-size: 12px !important;
}
.v2-dashboard .sa-view .btn-primary,
.v2-dashboard .cf-admin-ops .btn-primary {
  border-color: #ff4b2b;
  background: #ff4b2b;
  color: #ffffff;
}
.v2-dashboard .sa-view .btn-primary:hover,
.v2-dashboard .cf-admin-ops .btn-primary:hover {
  border-color: #e83b22;
  background: #e83b22;
}
.v2-dashboard .sa-view .btn-secondary,
.v2-dashboard .cf-admin-ops .btn-secondary {
  border-color: #d7dee7;
  background: #ffffff;
  color: #273449;
}
.v2-dashboard .sa-view .btn-secondary:hover,
.v2-dashboard .cf-admin-ops .btn-secondary:hover {
  border-color: #c6ced9;
  background: #f6f8fa;
}
@media (max-width: 780px) {
  .v2-dashboard .sa-flow-head,
  .v2-dashboard .sa-page-toolbar { align-items: flex-start; flex-direction: column; min-height: 0; }
  .v2-dashboard .sa-flow-head h1,
  .v2-dashboard .sa-page-toolbar h1 { font-size: 28px !important; }
  .v2-dashboard .sa-kpi-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .v2-dashboard .sa-kpi-strip { grid-template-columns: 1fr; }
}


/* Dashboard-wide readable minimum type scale */
.v2-dashboard .eyebrow,
.v2-dashboard .sidebar-label,
.v2-dashboard .nav-section-label,
.v2-dashboard .ls-brand-sub,
.v2-dashboard .ls-version,
.v2-dashboard .sys-live-badge,
.v2-dashboard .user-role-txt,
.v2-dashboard .chart-scale,
.v2-dashboard .chart-times,
.v2-dashboard .panel-heading span,
.v2-dashboard .feed-badge,
.v2-dashboard .listing-badge,
.v2-dashboard .status-badge,
.v2-dashboard .evt-tag,
.v2-dashboard .cal-day-abbr,
.v2-dashboard .cal-plate,
.v2-dashboard .cal-vrate,
.v2-dashboard .map-region-tag,
.v2-dashboard .notif-overlay-eyebrow,
.v2-dashboard .notif-overlay-subtitle,
.v2-dashboard .idp-title,
.v2-dashboard .role-badge,
.v2-dashboard .cf-pill,
.v2-dashboard .cf-kpi small,
.v2-dashboard .cf-kpi em,
.v2-dashboard .cf-reminder-strip small,
.v2-dashboard .cf-good-health,
.v2-dashboard .cf-link-btn,
.v2-dashboard .cf-listing-kpis small,
.v2-dashboard .cf-listing-column-head,
.v2-dashboard .cf-listing-row .listing-saving,
.v2-dashboard .cf-table-sub,
.v2-dashboard .data-table th,
.v2-dashboard .cf-admin-table th {
  font-size: 12px !important;
  line-height: 1.4;
}
.v2-dashboard small,
.v2-dashboard .muted-note,
.v2-dashboard .dashboard-feed span,
.v2-dashboard .client-card > div em,
.v2-dashboard .lcv-meta,
.v2-dashboard .listing-saving,
.v2-dashboard .pl-card span,
.v2-dashboard .pfs-m span,
.v2-dashboard .pvc-unit,
.v2-dashboard .pvc-util-label,
.v2-dashboard .pvc-util-vs,
.v2-dashboard .evt-vehicle-unit,
.v2-dashboard .fh-sub,
.v2-dashboard .fh-detail-link,
.v2-dashboard .fh-donut-center span,
.v2-dashboard .fh-leg-count,
.v2-dashboard .fh-bars-title,
.v2-dashboard .mc-sub,
.v2-dashboard .notif-overlay-item-desc,
.v2-dashboard .idp-status-msg,
.v2-dashboard .cf-intel-list small,
.v2-dashboard .cf-rule-list small,
.v2-dashboard .cf-speed-list small,
.v2-dashboard .cf-intel-list em,
.v2-dashboard .cf-speed-list em,
.v2-dashboard .vc-primary-metrics span,
.v2-dashboard .vc-detail-grid span,
.v2-dashboard .vc-util-copy,
.v2-dashboard .vehicle-card-clean .pvc-util-vs,
.v2-dashboard .vc-detail-grid strong,
.v2-dashboard .vc-empty-pricing,
.v2-dashboard .cf-listing-row .lcv-details small,
.v2-dashboard .dispatch-map-foot {
  font-size: 13px !important;
  line-height: 1.5;
}
.v2-dashboard .form-group label,
.v2-dashboard .cf-alert-form label,
.v2-dashboard .cf-control-bar label > span,
.v2-dashboard .mc-label,
.v2-dashboard .dkpi-label,
.v2-dashboard .cf-bulk-control,
.v2-dashboard .cf-listing-filters select,
.v2-dashboard .cf-listing-rate,
.v2-dashboard .cf-cost-row span,
.v2-dashboard .cf-cost-row strong,
.v2-dashboard .vc-details summary,
.v2-dashboard .btn-sm,
.v2-dashboard #nav-signout,
.v2-dashboard .ls-signout,
.v2-dashboard .left-sidebar .api-status,
.v2-dashboard .notif-overlay-dismiss {
  font-size: 13px !important;
  line-height: 1.45;
}
.v2-dashboard .sidebar-nav a {
  font-size: 14px !important;
}
.v2-dashboard .data-table td,
.v2-dashboard .cf-admin-table td,
.v2-dashboard input,
.v2-dashboard select,
.v2-dashboard textarea,
.v2-dashboard button {
  font-size: 14px;
}
.auth-page-premium .auth-visual-kicker,
.auth-page-premium .auth-kicker,
.auth-page-premium .premium-auth-features span,
.auth-page-premium .premium-auth-security,
.auth-page-premium .field-group label,
.auth-page-premium .auth-password-toggle,
.auth-page-premium .auth-form-options label,
.auth-page-premium .link-button,
.auth-page-premium .password-guidance,
.auth-page-premium .premium-auth-help {
  font-size: 13px !important;
  line-height: 1.45;
}
.auth-page-premium .auth-legal {
  font-size: 13px !important;
  line-height: 1.55;
}
.auth-page-premium .button.primary {
  font-size: 14px !important;
}


/* iPhone full-width dashboard layout — keep after all desktop sidebar rules */
@media (max-width: 1100px) {
  html,
  body.dashboard-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .v2-dashboard .app-frame {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .v2-dashboard .left-sidebar {
    width: min(282px, 86vw) !important;
  }
  .v2-dashboard .dashboard-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .v2-dashboard .app-topbar,
  .v2-dashboard [data-page],
  .v2-dashboard .cf-page,
  .v2-dashboard .cf-dashboard-grid,
  .v2-dashboard .cf-card,
  .v2-dashboard .cf-chart-card,
  .v2-dashboard .cf-line-chart {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .v2-dashboard .cf-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .v2-dashboard .cf-line-chart {
    overflow: hidden !important;
  }
  .v2-dashboard .cf-line-chart svg,
  .v2-dashboard canvas {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  .v2-dashboard .dashboard-main {
    padding: 0 12px calc(28px + env(safe-area-inset-bottom)) !important;
  }
  .v2-dashboard .app-topbar {
    min-height: 64px !important;
    margin: 0 -12px 18px !important;
    padding: max(10px, env(safe-area-inset-top)) 12px 10px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }
  .v2-dashboard .topbar-page-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .v2-dashboard .topbar-right {
    min-width: 0 !important;
    width: auto !important;
  }
  .v2-dashboard .cf-page {
    padding: 18px 0 30px !important;
  }
  .v2-dashboard .cf-page-heading {
    gap: 14px !important;
  }
  .v2-dashboard .cf-date-range-wrap,
  .v2-dashboard .cf-date-control {
    width: 100% !important;
    max-width: 100% !important;
  }
  .v2-dashboard .cf-reminder-strip,
  .v2-dashboard .cf-kpi-grid,
  .v2-dashboard .cf-kpi-grid.four {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .v2-dashboard .cf-reminder-stat {
    grid-column: auto !important;
  }
  .v2-dashboard .cf-card {
    padding: 16px !important;
  }
  .v2-dashboard .cf-card-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .v2-dashboard .cf-legend {
    flex-wrap: wrap;
  }
  .v2-dashboard .cf-line-chart {
    height: 210px !important;
  }
}


/* Mobile left drawer: keep navigation icons and labels on one row.
   This intentionally overrides the shared mobile bottom-nav rules above. */
@media (max-width: 1100px) {
  .v2-dashboard .left-sidebar .sidebar-nav {
    display: grid !important;
    flex: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .v2-dashboard .left-sidebar .sidebar-nav a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 13px !important;
    gap: 13px !important;
    border-top: 0 !important;
    border-left: 0 !important;
    border-radius: 10px !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .v2-dashboard .left-sidebar .sidebar-nav a span {
    display: grid !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    place-items: center !important;
    font-size: inherit !important;
    line-height: 1 !important;
    background: transparent !important;
  }

  .v2-dashboard .left-sidebar .sidebar-nav a.active,
  html[data-theme="dark"] .v2-dashboard .left-sidebar .sidebar-nav a.active {
    border-top: 0 !important;
    background: #fff0eb !important;
    color: #111827 !important;
    box-shadow: inset 4px 0 0 #ff4b2b !important;
  }
}


/* Compact, safe mobile drawer */
@media (max-width: 600px) {
  .v2-dashboard .left-sidebar {
    width: min(300px, 86vw) !important;
    padding: 16px 12px calc(14px + env(safe-area-inset-bottom)) !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .v2-dashboard .left-sidebar .ls-brand {
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding: 0 6px 16px !important;
  }

  .v2-dashboard .left-sidebar .sidebar-nav {
    gap: 3px !important;
  }

  .v2-dashboard .left-sidebar .sidebar-nav a {
    min-height: 44px !important;
    padding: 0 11px !important;
    gap: 11px !important;
  }

  .v2-dashboard .left-sidebar .nav-section-label {
    padding: 12px 10px 6px !important;
  }
}


/* Audit trail — compact, responsive filter and data surface */
.v2-dashboard #admin-audit-section {
  --audit-ink: #172033;
  --audit-muted: #64748b;
  --audit-line: #dce3eb;
  --audit-soft: #f7f9fc;
  --audit-accent: #ff4b2b;
}
.v2-dashboard #admin-audit-section .sa-page-toolbar {
  margin-bottom: 18px;
}
.v2-dashboard .cf-audit-filter-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px !important;
  margin: 0 0 18px;
  padding: 18px !important;
  overflow: visible;
}
.v2-dashboard .cf-audit-filter-heading {
  display: flex;
  align-items: center;
  gap: 11px;
  align-self: center;
  min-width: 180px;
}
.v2-dashboard .cf-audit-filter-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 11px;
  color: var(--audit-accent);
  background: #fff0ed;
}
.v2-dashboard .cf-audit-filter-icon svg { width: 19px; height: 19px; }
.v2-dashboard .cf-audit-filter-heading strong,
.v2-dashboard .cf-audit-filter-heading small { display: block; }
.v2-dashboard .cf-audit-filter-heading strong {
  color: var(--audit-ink);
  font-size: 14px;
}
.v2-dashboard .cf-audit-filter-heading small {
  margin-top: 3px;
  color: var(--audit-muted);
  font-size: 11px !important;
  white-space: nowrap;
}
.v2-dashboard .cf-audit-filter-fields {
  display: grid;
  grid-template-columns: minmax(145px, .7fr) auto minmax(145px, .7fr) minmax(220px, 1.2fr);
  align-items: end;
  gap: 10px;
  min-width: 0;
}
.v2-dashboard .cf-audit-filter-card label {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.v2-dashboard .cf-audit-filter-card label > span {
  color: #526176 !important;
  font-size: 11px !important;
  font-weight: 750;
  letter-spacing: .02em;
}
.v2-dashboard .cf-audit-input-shell {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0 12px;
  border: 1px solid var(--audit-line);
  border-radius: 10px;
  background: #fff;
  transition: border-color .16s, box-shadow .16s;
}
.v2-dashboard .cf-audit-input-shell:focus-within {
  border-color: var(--audit-accent);
  box-shadow: 0 0 0 3px rgba(255,75,43,.12);
}
.v2-dashboard .cf-audit-input-shell svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: #8995a6;
}
.v2-dashboard .cf-audit-input-shell input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--audit-ink);
  font: inherit;
}
.v2-dashboard .cf-audit-input-shell input[type="date"] {
  appearance: none;
  -webkit-appearance: none;
}
.v2-dashboard .cf-audit-input-shell input[type="date"]::-webkit-calendar-picker-indicator {
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  opacity: .65;
}
.v2-dashboard .cf-audit-date-separator {
  align-self: end;
  display: grid;
  place-items: center;
  height: 44px;
  color: #8792a2;
  font-size: 12px;
  font-weight: 700;
}
.v2-dashboard .cf-audit-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.v2-dashboard .cf-audit-filter-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 44px;
  white-space: nowrap;
}
.v2-dashboard .cf-audit-filter-actions button svg { width: 16px; height: 16px; }
.v2-dashboard .cf-audit-clear { border-color: transparent !important; box-shadow: none !important; }
.v2-dashboard #admin-audit-section .cf-table-wrap {
  overflow: auto;
  border-radius: 14px;
}
.v2-dashboard #admin-audit-section .cf-admin-table {
  width: 100%;
  min-width: 880px;
  border-collapse: separate;
  border-spacing: 0;
}
.v2-dashboard #admin-audit-section .cf-admin-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 13px 16px !important;
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-soft) !important;
  color: #526176;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.v2-dashboard #admin-audit-section .cf-admin-table td {
  padding: 16px !important;
  border-bottom: 1px solid #edf0f4;
  vertical-align: top;
  color: var(--audit-ink);
}
.v2-dashboard #admin-audit-section .cf-admin-table tbody tr:last-child td { border-bottom: 0; }
.v2-dashboard #admin-audit-section .cf-admin-table tbody tr:hover td { background: #fffaf8; }
.v2-dashboard #admin-audit-section .cf-admin-table td:nth-child(1) { width: 170px; white-space: nowrap; color: #526176; }
.v2-dashboard #admin-audit-section .cf-admin-table td:nth-child(2) { min-width: 220px; }
.v2-dashboard #admin-audit-section .cf-admin-table td:nth-child(2) strong,
.v2-dashboard #admin-audit-section .cf-admin-table td:nth-child(2) small { display: block; }
.v2-dashboard #admin-audit-section .cf-admin-table td:nth-child(2) small {
  margin-top: 3px;
  color: var(--audit-muted);
}
.v2-dashboard #admin-audit-section .cf-action-name {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff0ed;
  color: #d63b20;
  font-size: 11px;
  font-weight: 800;
  text-transform: capitalize;
}
.v2-dashboard #admin-audit-section code {
  display: block;
  max-width: 360px;
  overflow: hidden;
  color: #526176;
  font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .v2-dashboard .cf-audit-filter-card { grid-template-columns: 1fr auto; }
  .v2-dashboard .cf-audit-filter-heading { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .v2-dashboard .cf-audit-filter-card { display: flex !important; flex-direction: column; align-items: stretch; }
  .v2-dashboard .cf-audit-filter-fields { grid-template-columns: 1fr 1fr; }
  .v2-dashboard .cf-audit-date-separator { display: none; }
  .v2-dashboard .cf-audit-search-field { grid-column: 1 / -1; }
  .v2-dashboard .cf-audit-filter-actions { width: 100%; }
  .v2-dashboard .cf-audit-filter-actions button { flex: 1; }
}
@media (max-width: 520px) {
  .v2-dashboard .cf-audit-filter-fields { grid-template-columns: 1fr; }
  .v2-dashboard .cf-audit-search-field { grid-column: auto; }
  .v2-dashboard .cf-audit-filter-actions { flex-direction: column-reverse; }
  .v2-dashboard .cf-audit-filter-actions button { width: 100%; }
  .v2-dashboard #admin-audit-section .sa-page-toolbar { align-items: flex-start; }
}


/* Let the controlled CreekFleet calendar own audit date fields. */
.v2-dashboard .cf-audit-input-shell:has(.cf-client-date-host) {
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}
.v2-dashboard .cf-audit-input-shell:has(.cf-client-date-host) > svg {
  display: none;
}
.v2-dashboard .cf-audit-input-shell .cf-client-date-host {
  width: 100%;
}
.v2-dashboard .cf-audit-input-shell .cf-client-date-trigger {
  height: 44px;
  min-height: 44px;
  border-radius: 10px;
}


/* Final audit toolbar normalization: one date control, compact card height. */
.v2-dashboard #admin-audit-section .cf-audit-filter-card {
  min-height: 0 !important;
  height: auto !important;
  align-content: center !important;
  padding: 16px 18px !important;
}
.v2-dashboard #admin-audit-section .cf-audit-input-shell:has(.cf-rental-date-field) {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.v2-dashboard #admin-audit-section .cf-audit-input-shell:has(.cf-rental-date-field) > svg {
  display: none !important;
}
.v2-dashboard #admin-audit-section .cf-audit-input-shell .cf-rental-date-field {
  width: 100%;
  height: 44px;
}
.v2-dashboard #admin-audit-section .cf-audit-input-shell .cf-rental-date-trigger {
  width: 100%;
  height: 44px;
  min-height: 44px;
}


/* Audit page alignment lock: override legacy five-column/stretched-grid rules. */
.v2-dashboard #admin-audit-section {
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
.v2-dashboard #admin-audit-section .cf-audit-filter-card {
  grid-template-columns: 220px minmax(0, 1fr) auto !important;
  align-items: end !important;
  align-content: center !important;
}
.v2-dashboard #admin-audit-section .cf-audit-filter-fields {
  width: 100% !important;
  grid-template-columns: minmax(145px, .72fr) auto minmax(145px, .72fr) minmax(220px, 1.15fr) !important;
}
.v2-dashboard #admin-audit-section .cf-audit-filter-actions {
  width: auto !important;
  min-width: max-content;
}
@media (max-width: 1180px) {
  .v2-dashboard #admin-audit-section .cf-audit-filter-card {
    grid-template-columns: 1fr auto !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-heading {
    grid-column: 1 / -1;
  }
}
@media (max-width: 860px) {
  .v2-dashboard #admin-audit-section .cf-audit-filter-card {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-fields {
    grid-template-columns: 1fr 1fr !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-date-separator {
    display: none !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-search-field {
    grid-column: 1 / -1 !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-actions {
    width: 100% !important;
    min-width: 0;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-actions button {
    flex: 1;
  }
}
@media (max-width: 520px) {
  .v2-dashboard #admin-audit-section .cf-audit-filter-fields {
    grid-template-columns: 1fr !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-search-field {
    grid-column: auto !important;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-actions {
    flex-direction: column-reverse;
  }
  .v2-dashboard #admin-audit-section .cf-audit-filter-actions button {
    width: 100%;
  }
}


/* Shared Super Admin page-top rhythm — match Companies & Access. */
.v2-dashboard .sa-admin-page {
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
.v2-dashboard .sa-admin-page > .sa-page-toolbar,
.v2-dashboard .sa-admin-page > .sa-flow-head {
  min-height: 78px !important;
  height: auto !important;
  flex: 0 0 auto;
}
.v2-dashboard #sa-roles-access-page {
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
.v2-dashboard #sa-roles-access-page > .sa-role-page-head {
  min-height: 78px !important;
  height: auto !important;
}
