:root{--color-navy-900:#0A1628;--color-navy-800:#0F1E38;--color-slate-50:#F8FAFC;--color-white:#FFFFFF;--color-gold:#FFB81C;--color-green-500:#22C55E;--color-sky-500:#0EA5E9;--color-orange-400:#FB923C;--color-slate-400:#94A3B8;--color-green-500-faded:rgba(34,197,94,0.35);--color-amber-300:#FCD34D;--color-red-500:#EF4444;--color-blue-500:#3B82F6;--color-gray-200:#E5E7EB;--color-slate-900:#0F172A;--bg-shell:var(--color-navy-900);--bg-surface:var(--color-navy-800);--bg-elevated:#162544;--bg-overlay:rgba(10,22,40,0.85);--brand-gold:var(--color-gold);--route-mainline:var(--color-green-500);--route-frontage:var(--color-sky-500);--route-local:var(--color-orange-400);--route-unresolved:var(--color-slate-400);--route-completed:var(--color-green-500-faded);--route-active-pulse:var(--color-amber-300);--status-danger:var(--color-red-500);--status-success:var(--color-green-500);--status-warning:var(--color-orange-400);--status-info:var(--color-blue-500);--text-primary:var(--color-gray-200);--text-secondary:#9CA3AF;--text-muted:#6B7280;--text-inverse:var(--color-slate-900);--text-on-gold:#000000;--border-default:rgba(148,163,184,0.16);--border-strong:rgba(148,163,184,0.32);--border-focus:var(--color-gold);--input-bg:rgba(15,30,56,0.7);--input-border:var(--border-default);--input-border-focus:var(--color-gold);--input-text:var(--text-primary);--input-placeholder:var(--text-muted);--bg-app:var(--bg-shell);--bg-hover:rgba(148,163,184,0.08);--bg-active:rgba(255,184,28,0.1);--accent-primary:var(--brand-gold);--text-on-accent:#000000;--border-subtle:var(--border-default);--btn-primary-bg:var(--brand-gold);--btn-primary-text:#000000;--btn-primary-hover:#E5A619;--input-height-md:36px;--font-medium:var(--fw-medium);--font-bold:var(--fw-bold);--font-extra:var(--fw-extrabold);--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-display:"Overpass","Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,monospace;--fw-medium:500;--fw-bold:700;--fw-extrabold:800;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2.25rem;--text-4xl:3rem;--leading-display:1.05;--leading-tight:1.2;--leading-headline:1.25;--leading-normal:1.5;--leading-body:1.55;--leading-relaxed:1.65;--tracking-display:-0.025em;--tracking-headline:-0.012em;--tracking-tight:-0.01em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-mono:0.04em;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--touch-min:48px;--touch-driver:64px;--radius-sm:4px;--radius-cab:6px;--radius-cab-lg:8px;--radius-desktop:10px;--radius-desktop-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 4px 8px rgba(0,0,0,0.5);--shadow-lg:0 8px 24px rgba(0,0,0,0.6);--shadow-xl:0 16px 48px rgba(0,0,0,0.7);--shadow-glow-amber:0 0 12px rgba(252,211,77,0.5),0 0 4px rgba(252,211,77,0.3);--shadow-glow-red:0 0 12px rgba(239,68,68,0.6),0 0 4px rgba(239,68,68,0.35);--duration-fast:100ms;--duration-base:200ms;--duration-slow:350ms;--easing-default:cubic-bezier(0.4,0,0.2,1);--easing-in:cubic-bezier(0.4,0,1,1);--easing-out:cubic-bezier(0,0,0.2,1);--z-map:0;--z-map-controls:10;--z-route-overlay:20;--z-sidebar:30;--z-panel:40;--z-fab:50;--z-toast:60;--z-modal:70;--z-alert:80;--bp-phone:768px;--bp-tablet:1024px;--bp-desktop:1280px;--bp-wide:1536px;--sidebar-width:320px;--sidebar-width-collapsed:64px;--sidebar-bg:var(--bg-surface);--sidebar-border:var(--border-default);--topbar-height:56px;--topbar-bg:var(--bg-surface);--topbar-border:var(--border-default);--hud-bg:rgba(10,22,40,0.88);--hud-text:var(--text-primary);--hud-maneuver-size:var(--text-3xl);--hud-countdown-size:var(--text-4xl);--hud-padding:var(--space-4);--chip-height:28px;--chip-padding:0 var(--space-2);--chip-radius:var(--radius-sm);--chip-font-size:var(--text-xs);--chip-font-weight:var(--fw-bold);--table-row-height:48px;--table-row-hover:rgba(255,184,28,0.06);--table-header-bg:rgba(15,30,56,0.5);--table-border:var(--border-default);--input-height:40px;--input-height-lg:48px;--input-padding:var(--space-3);--input-radius:var(--radius-cab);--btn-height:40px;--btn-height-lg:48px;--btn-padding:var(--space-3) var(--space-5);--btn-radius:var(--radius-cab);--btn-radius-desktop:var(--radius-desktop);--toast-max-width:420px;--toast-radius:var(--radius-cab-lg);--toast-shadow:var(--shadow-lg)}[data-context=dispatch]{--bg-shell:var(--color-slate-50);--bg-surface:var(--color-white);--bg-elevated:#F1F5F9;--bg-overlay:rgba(248,250,252,0.9);--bg-app:var(--color-slate-50);--bg-hover:rgba(15,23,42,0.04);--bg-active:rgba(255,184,28,0.08);--text-primary:var(--color-slate-900);--text-secondary:#475569;--text-muted:#94A3B8;--text-inverse:var(--color-gray-200);--border-default:rgba(15,23,42,0.1);--border-strong:rgba(15,23,42,0.2);--border-subtle:rgba(15,23,42,0.08);--input-bg:var(--color-white);--input-border:rgba(15,23,42,0.15);--sidebar-bg:var(--color-white);--topbar-bg:var(--color-white);--table-row-hover:rgba(255,184,28,0.08);--table-header-bg:#F1F5F9;--shadow-sm:0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 8px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--shadow-xl:0 16px 48px rgba(0,0,0,0.16)}[data-context=driver],[data-context=map]{--bg-shell:var(--color-navy-900);--bg-surface:var(--color-navy-800);--bg-elevated:#162544;--bg-overlay:rgba(10,22,40,0.85);--text-primary:var(--color-gray-200);--text-secondary:#9CA3AF;--text-muted:#6B7280;--border-default:rgba(148,163,184,0.16);--border-strong:rgba(148,163,184,0.32);--input-bg:rgba(15,30,56,0.7);--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 4px 8px rgba(0,0,0,0.5);--shadow-lg:0 8px 24px rgba(0,0,0,0.6);--shadow-xl:0 16px 48px rgba(0,0,0,0.7)}[data-context=driver]{--text-base:1.125rem;--text-lg:1.25rem;--touch-min:64px;--input-height:48px;--input-height-lg:56px;--btn-height:48px;--btn-height-lg:56px;--btn-radius:var(--radius-cab-lg);--chip-height:32px;--chip-font-size:var(--text-sm);--table-row-height:56px}:root{--chip-active-bg:rgba(34,197,94,0.15);--chip-active-border:rgba(34,197,94,0.35);--chip-active-text:#4ADE80;--chip-conflict-bg:rgba(239,68,68,0.15);--chip-conflict-border:rgba(239,68,68,0.4);--chip-conflict-text:#FCA5A5;--chip-warning-bg:rgba(251,146,60,0.15);--chip-warning-border:rgba(251,146,60,0.35);--chip-warning-text:#FDBA74;--chip-pending-bg:rgba(59,130,246,0.15);--chip-pending-border:rgba(59,130,246,0.35);--chip-pending-text:#93C5FD;--chip-unresolved-bg:rgba(148,163,184,0.12);--chip-unresolved-border:rgba(148,163,184,0.3);--chip-unresolved-text:#CBD5E1}[data-context=dispatch]{--chip-active-bg:rgba(34,197,94,0.1);--chip-active-border:rgba(34,197,94,0.3);--chip-active-text:#16A34A;--chip-conflict-bg:rgba(239,68,68,0.08);--chip-conflict-border:rgba(239,68,68,0.3);--chip-conflict-text:#DC2626;--chip-warning-bg:rgba(251,146,60,0.1);--chip-warning-border:rgba(251,146,60,0.3);--chip-warning-text:#EA580C;--chip-pending-bg:rgba(59,130,246,0.08);--chip-pending-border:rgba(59,130,246,0.3);--chip-pending-text:#2563EB;--chip-unresolved-bg:rgba(148,163,184,0.08);--chip-unresolved-border:rgba(148,163,184,0.25);--chip-unresolved-text:#64748B}:root{--route-mainline-width:6px;--route-frontage-width:4px;--route-local-width:4px;--route-unresolved-width:3px;--route-completed-width:6px;--route-local-dash:12px 6px;--route-unresolved-dash:8px 8px;--route-active-pulse-width:10px}@keyframes pulse-red{0%,to{box-shadow:0 0 8px rgba(239,68,68,.4)}50%{box-shadow:0 0 20px rgba(239,68,68,.7)}}@keyframes pulse-amber{0%,to{box-shadow:0 0 6px rgba(252,211,77,.3)}50%{box-shadow:0 0 16px rgba(252,211,77,.6)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.font-sans{font-family:var(--font-sans)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono);letter-spacing:var(--tracking-mono)}.text-muted{color:var(--text-muted)}.permit-token{font-weight:var(--fw-bold);white-space:nowrap}.dfo-value,.permit-token{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono)}.dfo-value{font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.permit-chip{display:inline-flex;align-items:center;height:var(--chip-height);padding:var(--chip-padding);border-radius:var(--chip-radius);font-family:var(--font-sans);font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);line-height:1;border-width:1px;border-style:solid;-webkit-user-select:none;-moz-user-select:none;user-select:none}.permit-chip--active{background:var(--chip-active-bg);border-color:var(--chip-active-border);color:var(--chip-active-text)}.permit-chip--conflict{background:var(--chip-conflict-bg);border-color:var(--chip-conflict-border);color:var(--chip-conflict-text);animation:pulse-red 2s ease-in-out infinite}.permit-chip--warning{background:var(--chip-warning-bg);border-color:var(--chip-warning-border);color:var(--chip-warning-text)}.permit-chip--pending{background:var(--chip-pending-bg);border-color:var(--chip-pending-border);color:var(--chip-pending-text)}.permit-chip--unresolved{background:var(--chip-unresolved-bg);border-color:var(--chip-unresolved-border);color:var(--chip-unresolved-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.permit-chip--conflict{animation:none!important;box-shadow:0 0 12px rgba(239,68,68,.5)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-weight:var(--font-medium);line-height:var(--leading-body);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.font-mono,code,pre{font-family:var(--font-mono)}h1,h2,h3{font-weight:var(--fw-bold);line-height:var(--leading-headline);letter-spacing:var(--tracking-headline)}h1{line-height:var(--leading-display);letter-spacing:var(--tracking-display)}:focus{outline:none}:focus-visible{outline:2px solid var(--brand-gold);outline-offset:3px;border-radius:2px}[role=button],a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent-primary);color:var(--text-on-accent)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media print{body{background:#ffffff!important;color:#000000!important}@page{margin:.65in .7in .85in}}