:root,[data-theme=light]{--color-primary: #166534;--color-on-primary: #FFFFFF;--color-route: #27272A;--color-background: #FAFAFA;--color-surface: #FFFFFF;--color-surface-ticket: #F4F4F5;--color-text: #09090B;--color-text-muted: #52525B;--color-border: #E4E4E7;--color-success: #157347;--color-warning: #52525B;--color-danger: #991B1B;--font-heading: "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-display: 24px;--font-size-h1: 20px;--font-size-h2: 16px;--font-size-body: 14px;--font-size-small: 13px;--font-size-caption: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--spacing-xxxl: 48px;--radius-input: 6px;--radius-card: 8px;--radius-sheet: 12px;--duration-feedback: .12s;--duration-transition: .18s;--duration-celebration: .28s;--shadow-card: 0 1px 2px rgba(9, 9, 11, .04);--shadow-sheet: 0 8px 24px rgba(9, 9, 11, .12)}[data-theme=dark]{--color-primary: #4ADE80;--color-on-primary: #052E16;--color-route: #D4D4D8;--color-background: #09090B;--color-surface: #121214;--color-surface-ticket: #18181B;--color-text: #FAFAFA;--color-text-muted: #A1A1AA;--color-border: #27272A;--color-success: #4ADE80;--color-warning: #A1A1AA;--color-danger: #F87171}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);margin:0;color:var(--color-text);letter-spacing:-.02em}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}h4{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}p{margin:0}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;background-color:var(--color-background)}.app-sidebar{background-color:var(--color-background);color:var(--color-text);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--color-border)}.app-brand-block{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.app-brand-mark{width:26px;height:26px;border-radius:var(--radius-input);background-color:var(--color-primary);color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);flex-shrink:0}.app-brand-text{display:flex;flex-direction:column;min-width:0}.app-brand{font-family:var(--font-heading);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.app-brand-subtitle{font-size:var(--font-size-caption);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-label{font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);padding:0 var(--spacing-sm);margin-top:var(--spacing-sm);margin-bottom:4px}.sidebar-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.sidebar-nav-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);text-align:left;font-family:var(--font-body);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-input);padding:6px var(--spacing-sm);min-height:32px;cursor:pointer;transition:background-color var(--duration-feedback),color var(--duration-feedback)}.sidebar-nav-btn:hover{background-color:var(--color-surface-ticket);color:var(--color-text)}.sidebar-nav-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.sidebar-nav-btn-active{background-color:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-nav-btn-active:hover{background-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.sidebar-footer{margin-top:auto;padding:var(--spacing-md) var(--spacing-xs) var(--spacing-xs);border-top:1px solid var(--color-border);font-size:var(--font-size-caption);color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs)}.kbd-hint{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-muted);line-height:1.3}.auth-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-background)}.auth-shell{width:100%;max-width:400px}.auth-header-brand{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.app-workspace{display:flex;flex-direction:column;min-width:0;background-color:var(--color-background)}.app-topbar{position:sticky;top:0;z-index:20;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-xl);min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.topbar-left,.topbar-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.ws-indicator{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--spacing-sm);border-radius:var(--radius-input);font-family:var(--font-body);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer}.ws-indicator:hover{background-color:var(--color-surface-ticket)}.ws-dot{width:7px;height:7px;border-radius:999px;background-color:var(--color-primary)}.ws-dot-offline{background-color:var(--color-danger)}.topbar-search{display:flex;align-items:center;gap:var(--spacing-xs);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-input);padding:0 var(--spacing-sm);height:32px;min-width:240px}.topbar-search:focus-within{border-color:var(--color-primary);background-color:var(--color-surface)}.topbar-search input{border:none;background:transparent;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-small);width:100%;outline:none}.app-main{padding:var(--spacing-xl);max-width:1360px;width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-small);margin-top:2px}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--spacing-md)}.card-ticket{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.ticket-perforation{border-top:1px solid var(--color-border);margin:0}.ticket-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.ticket-meta-item{display:flex;flex-direction:column;gap:2px}.ticket-meta-label{font-size:var(--font-size-caption);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.ticket-meta-value{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.kpi-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:4px}.kpi-card-primary .kpi-value{color:var(--color-primary)}.kpi-card-danger .kpi-value{color:var(--color-danger)}.kpi-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.kpi-value{font-family:var(--font-heading);font-size:var(--font-size-display);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.025em;line-height:1.2}.kpi-sub{font-size:var(--font-size-caption);color:var(--color-text-muted)}.live-ops-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg);align-items:start}.tactical-map-surface{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);min-height:300px}.tactical-radar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--spacing-sm)}.driver-pin-card{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-md);background-color:var(--color-surface);display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:left;transition:border-color var(--duration-feedback)}.driver-pin-card-selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.mission-queue-card{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--spacing-md);background-color:var(--color-background);display:flex;flex-direction:column;gap:var(--spacing-sm)}.mission-queue-card-escalated{border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border));background-color:color-mix(in srgb,var(--color-danger) 3%,var(--color-surface))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-body);font-weight:var(--font-weight-medium);font-size:var(--font-size-small);border-radius:var(--radius-input);padding:0 var(--spacing-md);height:32px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:opacity var(--duration-feedback),background-color var(--duration-feedback),border-color var(--duration-feedback)}.btn:hover:not(:disabled){opacity:.92}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-ticket);opacity:1}.btn-danger{background-color:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 28%,var(--color-border))}.btn-ghost{background-color:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-ticket);color:var(--color-text);opacity:1}.link-btn{background:none;border:none;padding:0;color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;text-decoration:none;font-size:inherit}.link-btn:hover{text-decoration:underline}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.filter-bar{display:flex;align-items:flex-end;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-card)}.field-group{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.input-control,.select-control,.textarea-control{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);padding:0 var(--spacing-sm);height:32px}.textarea-control{height:auto;min-height:76px;padding:var(--spacing-sm);resize:vertical}.input-control:focus,.select-control:focus,.textarea-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.segmented-pills{display:inline-flex;align-items:center;gap:2px;padding:2px;background-color:var(--color-surface-ticket);border:1px solid var(--color-border);border-radius:var(--radius-input);flex-wrap:wrap}.segmented-pill-btn{border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:4px var(--spacing-sm);border-radius:4px;cursor:pointer}.segmented-pill-btn:hover{color:var(--color-text)}.segmented-pill-btn-active{background-color:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-card)}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:var(--font-weight-medium);border:1px solid var(--color-border);white-space:nowrap;line-height:1.4}.status-pill-success{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 26%,var(--color-border));background-color:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.status-pill-warning{color:var(--color-text-muted);border-color:var(--color-border);background-color:var(--color-surface-ticket)}.status-pill-danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 28%,var(--color-border));background-color:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface))}.status-pill-route{color:var(--color-text);border-color:var(--color-border);background-color:var(--color-surface-ticket)}.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-card);background-color:var(--color-surface)}.data-table{width:100%;border-collapse:collapse;background-color:var(--color-surface)}.data-table th,.data-table td{text-align:left;height:38px;padding:6px var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:var(--font-size-small);vertical-align:middle}.data-table tbody tr:hover{background-color:var(--color-background)}.data-table tbody tr:last-child td{border-bottom:none}.data-table th{color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background-color:var(--color-background)}.col-numeric,.data-table th.col-numeric,.data-table td.col-numeric{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.94em}.route-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.route-timeline-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:var(--spacing-sm);align-items:start;padding:var(--spacing-xs) 0}.route-dot{width:10px;height:10px;border-radius:999px;margin-top:5px;border:1.5px solid var(--color-border);background-color:var(--color-surface)}.route-dot-completed{background-color:var(--color-primary);border-color:var(--color-primary)}.route-dot-current{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.route-dot-danger{background-color:var(--color-danger);border-color:var(--color-danger)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background-color:color-mix(in srgb,var(--color-text) 32%,transparent);display:flex;justify-content:flex-end}.drawer-panel{width:min(520px,100vw);height:100vh;overflow-y:auto;background-color:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-sheet);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.error-banner{border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-border));color:var(--color-danger);background-color:color-mix(in srgb,var(--color-danger) 6%,var(--color-surface));border-radius:var(--radius-input);padding:var(--spacing-md);font-size:var(--font-size-small)}.success-banner{border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-radius:var(--radius-input);padding:var(--spacing-md);font-size:var(--font-size-small)}.receipt-dl{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-xs) var(--spacing-lg);margin:0}.receipt-dl dt{color:var(--color-text-muted);font-size:var(--font-size-small)}.receipt-dl dd{margin:0;text-align:right;font-weight:var(--font-weight-medium)}.receipt-total-row{padding-top:var(--spacing-sm);margin-top:4px;border-top:1px solid var(--color-border);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.report-progress{width:100%;height:6px;accent-color:var(--color-primary)}.split-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg)}.action-group{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}@media(max-width:1024px){.live-ops-grid{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto}}
