:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#0b1220;color:#e5ecf6}body{margin:0;background:#0b1220}*{box-sizing:border-box}.app-shell{min-height:100vh;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:#9fb0c8}.topbar-right{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#142033;border:1px solid #26354f;padding:8px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:8px}.subtle-chip{background:#0d1524}.weather-chip{cursor:pointer}.error-banner{background:#542222;border:1px solid #8c3d3d;padding:10px 12px;border-radius:12px;margin-bottom:12px}.error-banner.compact{margin-bottom:0}.success-banner{background:#143121;border:1px solid #2b6f43;padding:10px 12px;border-radius:12px}.success-banner.compact{margin-bottom:0}.tab-row{display:flex;gap:8px;margin-bottom:16px}.tab-button{border:1px solid #314560;background:#101826;color:#e5ecf6;padding:10px 14px;border-radius:12px;cursor:pointer}.tab-button.active{background:#163157;border-color:#3f7efc}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:start}.changelog-grid{grid-template-columns:1fr}.panel{background:#101826;border:1px solid #22304a;border-radius:18px;padding:14px;min-height:280px;position:relative}.map-panel{grid-column:span 2;min-height:500px}.tall-panel{min-height:500px}.draggable-panel{transition:opacity .2s ease,transform .2s ease}.draggable-panel.is-dragging{opacity:.65;transform:scale(.99)}.drag-handle{position:absolute;top:10px;right:10px;color:#7f93b4;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.widget{display:flex;flex-direction:column;gap:12px;height:100%}.widget-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.widget-header h2{margin:0;font-size:18px}.widget-header span{color:#92a4c0;font-size:13px}.widget-header-actions{display:flex;gap:8px;align-items:center}.map-placeholder,.map-loading-overlay{min-height:420px;display:grid;place-items:center;color:#9db0cb;background:#0a0f18;border-radius:14px}.map-loading-overlay{position:absolute;top:100px;right:0;bottom:0;left:0;z-index:1}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{background:#0d1524;border:1px solid #1f2d45;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.stat-card strong{font-size:24px}.scroll-table{overflow:auto;border:1px solid #1c2940;border-radius:12px}.fixed-widget-height{min-height:360px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #1c2940;vertical-align:top;white-space:nowrap}tbody tr:hover{background:#0e1727}.alert-list{display:flex;flex-direction:column;gap:8px}.alert{border-radius:12px;padding:10px;border:1px solid #24334f;background:#0d1524}.severity-warning,.severity-at_risk{border-color:#a07822}.severity-critical,.severity-breach_likely{border-color:#c85d1e}.severity-offline,.severity-breached{border-color:#b44040}.alert p{margin:6px 0 0;color:#c8d4e6;white-space:normal}.alert-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.alert-timestamp{color:#9fb0c8;font-size:12px}.alert-actions-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.alert-meta-chip{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#9fb0c8}.notes-block{background:#0d1524;border:1px solid #1f2d45;border-radius:12px;padding:10px}.notes-block ul{margin:8px 0 0;padding-left:18px;color:#b7c6da}.empty-state{color:#90a2be;padding:12px 0}.padded{padding:16px}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar-inline{justify-content:flex-end;align-items:center}.table-search,.toolbar select,.toolbar input,.settings-grid input,.toolbar-label select,.drawer-input{padding:8px 10px;border-radius:8px;border:1px solid #314560;background:#09111c;color:#fff}.toolbar-label{display:inline-flex;align-items:center;gap:8px;color:#9fb0c8;font-size:13px}.settings-panel{display:flex;flex-direction:column;gap:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.settings-grid label{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0d1524;border:1px solid #1f2d45;border-radius:12px;padding:10px}.settings-actions{display:flex;gap:8px}.primary-button,.ghost-button,.icon-button{border-radius:12px;padding:12px 14px;cursor:pointer}.primary-button{border:0;background:#3f7efc;color:#fff;font-weight:600}.ghost-button{border:1px solid #314560;background:transparent;color:#e5ecf6}.icon-button{border:1px solid #314560;background:transparent;color:#e5ecf6;padding:6px 10px}.ghost-button:disabled{opacity:.5;cursor:not-allowed}.small-button{padding:8px 10px;font-size:12px}.active-toggle{border-color:#3f7efc;box-shadow:inset 0 0 0 1px #3f7efc}.pagination-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.pagination-status{font-size:13px;color:#9fb0c8}.table-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.table-summary{font-size:13px;color:#9fb0c8}.link-button{background:transparent;border:0;color:#7fb0ff;padding:0;cursor:pointer;font:inherit;text-decoration:underline}.badge-stack{display:flex;gap:6px;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;border:1px solid transparent}.tone-danger{background:#4b1515;color:#fca5a5;border-color:#8c3d3d}.tone-warning{background:#3d2b08;color:#fcd34d;border-color:#a07822}.tone-info{background:#10233f;color:#93c5fd;border-color:#335b97}.tone-success{background:#0e2f1a;color:#86efac;border-color:#2b6f43}.speed-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#0d1524}.speed-warning{background:#3d2b08;color:#fcd34d}.speed-critical{background:#4b1515;color:#fca5a5}.side-drawer{position:fixed;top:0;right:-460px;width:460px;height:100vh;background:#0f1726;box-shadow:-8px 0 24px #0000004d;transition:right .2s ease;z-index:20;display:flex;flex-direction:column;border-left:1px solid #22304a}.side-drawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #22304a;gap:12px}.drawer-header h3{margin:0}.drawer-subtitle{margin:6px 0 0;color:#9fb0c8;font-size:13px}.drawer-content{padding:16px;overflow:auto;display:grid;gap:14px}.drawer-empty{padding:16px;color:#90a2be}.drawer-section{display:grid;gap:10px}.drawer-section h4{margin:0;font-size:15px}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #1c2940}.detail-row span{color:#9fb0c8}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-card{background:#0d1524;border:1px solid #1f2d45;border-radius:12px;padding:10px;display:grid;gap:6px}.detail-card span{color:#9fb0c8;font-size:12px}.detail-card strong{white-space:normal;word-break:break-word}.sensitive-value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.availability-list{display:grid;gap:8px}.availability-card{background:#0d1524;border:1px solid #1f2d45;border-radius:12px;padding:10px;display:grid;gap:4px}.availability-card strong{font-size:13px}.availability-card span{color:#dce6f7;font-size:13px}.availability-card small{color:#9fb0c8}.drawer-action-section{padding-top:4px}.pin-mode-toggle{display:flex;gap:8px}.roster-table table td{vertical-align:middle}.active-driver-list{display:grid;gap:10px}.active-driver-card{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#0d1524;border:1px solid #1f2d45;border-radius:12px;cursor:pointer;color:#e5ecf6;text-align:left}.active-driver-meta,.active-driver-metrics small{color:#9fb0c8}.active-driver-metrics{display:grid;justify-items:end;gap:4px}.changelog-list{display:grid;gap:12px}.changelog-card{background:#0d1524;border:1px solid #1f2d45;border-radius:12px;padding:14px}.changelog-card h3{margin:0 0 4px}.changelog-card p{margin:0;color:#9fb0c8}.changelog-card ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}.changelog-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.marker-filter-block{display:grid;gap:10px}.marker-category-toolbar{display:grid;gap:8px;min-height:92px}.marker-category-header{display:flex;justify-content:space-between;align-items:center}.category-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.category-checkbox-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid #314560;background:#0d1524}.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.map-search-form{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 auto}.map-status-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:#9fb0c8;font-size:13px;flex-wrap:wrap}.map-status-text{color:#9fb0c8}.map-surface{border-radius:12px;overflow:hidden;border:1px solid #314560;background:#dbeafe}.map-recenter-button{position:absolute;top:96px;right:12px;z-index:2;padding:8px 12px;border-radius:10px;border:1px solid #314560;background:#0d1524;color:#e5ecf6;cursor:pointer}.layers-button{padding:10px 14px;border-radius:10px;border:1px solid #314560;background:#0d1524;color:#e5ecf6;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:8px}.layers-popover{position:absolute;top:44px;left:0;z-index:4;min-width:250px;background:#101826;border:1px solid #314560;border-radius:14px;box-shadow:0 12px 30px #00000059;padding:10px;display:grid;gap:10px}.layers-group{display:grid;gap:6px}.layers-group strong{color:#9fb0c8;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.layers-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#0d1524}.weather-widget-card,.weather-hero-card{border:1px solid #314560;background:linear-gradient(135deg,#10233f,#0d1524);border-radius:16px;padding:16px;color:#fff;text-align:left}.weather-card-topline{display:flex;justify-content:space-between;align-items:center;color:#c4d4f3;font-size:12px}.weather-hero-card{display:flex;gap:16px;align-items:center}.weather-hero-icon{font-size:52px}.weather-hero-icon.small{font-size:28px}.weather-temp-large{font-size:34px;font-weight:700}.weather-condition{font-size:16px;margin-top:4px}.weather-support{color:#c4d4f3;margin-top:8px;font-size:13px}.weather-cta{color:#93c5fd;margin-top:10px;font-size:13px;font-weight:600}.weather-details-grid{display:grid;gap:12px}.weather-forecast-list{display:grid;gap:10px}.weather-forecast-card{display:grid;grid-template-columns:1.4fr auto auto 1.6fr;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#0d1524;border:1px solid #1f2d45}.weather-forecast-icon{font-size:24px}.animated-weather-card{animation:floatPulse 6s ease-in-out infinite}@keyframes floatPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.map-panel{grid-column:span 1}.settings-grid,.detail-grid{grid-template-columns:1fr}.side-drawer{width:100%;right:-100%}}.panel-drag-bar{display:flex;justify-content:flex-end;align-items:center;min-height:20px;margin-bottom:6px}.drag-handle{position:static;display:inline-flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:8px;background:#0d1524;border:1px solid #22304a;letter-spacing:-2px}.widget{display:flex;flex-direction:column;min-height:0}.widget-fixed-height{height:100%;min-height:540px}.tall-panel{min-height:620px}.tall-panel .widget{height:100%;min-height:540px}.fixed-toolbar-height{min-height:46px;align-items:center}.marker-filter-toolbar .table-search{min-width:240px}.marker-categories-popover{min-width:320px;max-width:420px}.marker-category-header{margin-bottom:8px}.category-checkbox-grid{max-height:260px;overflow:auto;padding-right:4px}.roster-table table td{white-space:nowrap}.icon-button svg{display:block}.icon-button{display:inline-flex;align-items:center;justify-content:center}.side-drawer{right:-460px!important}.side-drawer.open{right:0!important}.map-widget-shell .table-search{min-width:280px}@media(max-width:1200px){.widget-fixed-height,.tall-panel .widget{min-height:420px}.side-drawer{right:-100%!important}}.dashboard-grid{grid-auto-flow:dense}.panel{display:flex;flex-direction:column;overflow:hidden}.compact-panel{min-height:280px}.map-panel,.tall-panel{min-height:0;height:560px}.draggable-panel{position:relative;min-height:0}.draggable-panel.is-dragging{opacity:.72;transform:scale(.995);z-index:3}.panel-drag-bar{display:flex;justify-content:flex-end;align-items:center;min-height:22px;margin-bottom:6px;flex:0 0 auto}.drag-handle{position:static;display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:8px;background:#0d1524;border:1px solid #22304a;color:#7f93b4;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.widget{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.widget-scroll-region{flex:1 1 auto;min-height:0;overflow:auto}.table-toolbar.fixed-toolbar-height{flex:0 0 auto;min-height:52px}.scroll-table{min-height:0}.map-widget-shell{position:relative}.map-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.map-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.map-search-form{flex:1 1 420px;min-width:280px}.map-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.map-loading-overlay{position:absolute;top:134px;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.map-inline-action{white-space:nowrap}.layers-menu-shell{position:relative}.layers-popover,.marker-categories-popover{max-height:320px;overflow:auto}.marker-filter-toolbar,.toolbar-inline{align-items:center}.roster-table,.marker-table{height:100%}.side-drawer{transform:translate(100%)}@media(max-width:1200px){.map-panel,.tall-panel{height:520px}}@media(max-width:900px){.map-panel,.tall-panel,.widget-fixed-height{height:auto;min-height:420px}}.dashboard-grid-shell{min-height:100vh}.dashboard-rgl{min-height:1200px}.dashboard-rgl .react-grid-item{transition:box-shadow .16s ease,transform .16s ease}.dashboard-rgl .react-grid-placeholder{background:#3f7efc38;border:1px dashed rgba(127,176,255,.9);border-radius:18px}.dashboard-rgl .react-grid-item.react-draggable-dragging{z-index:30}.dashboard-rgl .react-grid-item.react-resizable{overflow:visible}.dashboard-widget{height:100%}.dashboard-widget>.widget,.dashboard-widget>.settings-panel,.dashboard-widget>.map-widget-shell{height:calc(100% - 28px);min-height:0}.dashboard-widget .widget{min-height:0}.dashboard-widget--overflow-visible{overflow:visible}.panel{overflow:visible;height:100%;min-height:0}.compact-panel,.tall-panel,.map-panel{height:100%;min-height:0}.panel-drag-bar{position:absolute;top:10px;right:10px;z-index:10;margin-bottom:0}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.widget-scroll-region,.scroll-table{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.marker-table table{table-layout:fixed}.marker-table th:nth-child(1),.marker-table td:nth-child(1){width:28%}.marker-table th:nth-child(2),.marker-table td:nth-child(2){width:25%}.marker-table th:nth-child(3),.marker-table td:nth-child(3){width:47%}.marker-address-cell{white-space:normal;word-break:break-word}.map-widget-shell{height:calc(100% - 4px)}.map-toolbar{align-items:flex-start}.map-toolbar-actions{display:flex;align-items:flex-start;gap:8px;margin-left:auto}.map-surface{flex:1 1 auto;min-height:0;height:calc(100% - 124px)}.map-loading-overlay{position:absolute;top:116px;right:0;bottom:0;left:0;z-index:1}.layers-popover{max-height:min(420px,calc(100vh - 80px));overflow:auto}.marker-categories-popover{width:min(420px,calc(100vw - 32px))}.category-checkbox-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:260px;overflow:auto}.category-checkbox-pill{width:100%;justify-content:flex-start}.dashboard-rgl .react-resizable-handle{width:16px;height:16px;right:6px;bottom:6px;background:transparent}.dashboard-rgl .react-resizable-handle:after{content:"";position:absolute;right:2px;bottom:2px;width:10px;height:10px;border-right:2px solid #7fb0ff;border-bottom:2px solid #7fb0ff;opacity:.9}@media(max-width:1400px){.dashboard-rgl{min-height:1400px}}@media(max-width:1024px){.dashboard-rgl{min-height:1600px}.map-toolbar{flex-direction:column}.map-toolbar-actions{margin-left:0}}body,html,#root{min-height:100%}body{overflow-x:hidden}.app-shell{min-height:100vh;padding:20px;overflow-x:hidden}.topbar{align-items:flex-start}.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.topbar-logo{height:44px;width:44px;object-fit:contain;border-radius:8px;background:#fff}.topbar-utility-bar{justify-content:flex-end}.chip-button{cursor:pointer;color:#e5ecf6;font:inherit}.panel-span-3{grid-column:span 3}.dashboard-panel{min-width:0;min-height:0;overflow:hidden;padding:14px}.dashboard-panel>.widget,.dashboard-panel>.settings-panel,.dashboard-panel>.map-widget-shell{height:100%;min-height:0}.dashboard-panel--overflow-visible{overflow:visible}.dashboard-stack{display:grid;gap:16px;min-width:0;min-height:0}.panel-trip-board,.panel-roster,.panel-active-drivers,.panel-timeliness,.panel-markers,.panel-rescue{min-height:520px}.panel-alerts .widget,.panel-trip-board .widget,.panel-roster .widget,.panel-active-drivers .widget,.panel-timeliness .widget,.panel-markers .widget,.panel-rescue .widget{min-height:0}.panel-alerts .alert-list{max-height:520px;overflow:auto;padding-right:4px}.panel-timeliness .mini-table,.panel-rescue .mini-table,.panel-active-drivers .active-driver-list{max-height:400px;overflow:auto;padding-right:4px}.panel-trip-board .scroll-table,.panel-roster .widget-scroll-region,.panel-markers .widget-scroll-region{min-height:0}.widget{min-width:0;min-height:0}.widget-header{flex:0 0 auto}.scroll-table{overflow:auto;min-width:0}table{table-layout:auto}th,td{max-width:320px}.map-widget-shell{display:flex;flex-direction:column;min-height:0}.map-status-row{margin-bottom:8px}.map-surface{flex:1 1 auto;min-height:0}.map-widget-shell .map-placeholder,.map-widget-shell .map-loading-overlay{min-height:0}.map-recenter-button{top:112px}.marker-filter-toolbar{align-items:center}.marker-categories-popover,.layers-popover{z-index:60}.side-drawer{width:420px;max-width:min(92vw,480px);z-index:80}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0206178c;border:0;opacity:0;pointer-events:none;transition:opacity .16s ease}.drawer-content{min-height:0;overflow:auto}.notes-block,.alert,.detail-card,.availability-card,.active-driver-card,.changelog-card,.layers-popover,.marker-categories-popover{overflow:hidden}.widget-fixed-height{min-height:0;height:100%}.widget-scroll-region{flex:1 1 auto;min-height:0}.roster-table{min-width:0}.table-toolbar,.fixed-toolbar-height{flex:0 0 auto}.changelog-grid{display:grid;grid-template-columns:1fr}.changelog-panel{min-height:auto}@media(max-width:1320px){.dashboard-section-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.panel-span-8,.panel-span-6,.panel-span-4,.panel-span-3{grid-column:span 6}.panel-hero,.panel-alerts,.panel-trip-board,.panel-roster,.panel-active-drivers,.panel-timeliness,.panel-markers,.panel-rescue{min-height:460px}.panel-alerts .alert-list,.panel-timeliness .mini-table,.panel-rescue .mini-table,.panel-active-drivers .active-driver-list{max-height:340px}}@media(max-width:900px){.app-shell{padding:16px}.topbar{flex-direction:column}.topbar-right{width:100%;justify-content:flex-start}.dashboard-section-grid{grid-template-columns:1fr}.panel-span-8,.panel-span-6,.panel-span-4,.panel-span-3{grid-column:span 1}.side-drawer{width:min(100vw,420px);max-width:100vw}}html{scrollbar-gutter:stable}body,.app-shell{overflow-x:hidden}.dashboard-fixed-shell{display:grid;gap:16px}.dashboard-section-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch}.panel-span-8{grid-column:span 8}.panel-span-6{grid-column:span 6}.panel-span-4{grid-column:span 4}.dashboard-panel,.dashboard-stack,.dashboard-panel>.widget,.dashboard-panel>.settings-panel,.dashboard-panel>.map-widget-shell{min-width:0;min-height:0}.dashboard-panel{display:flex;flex-direction:column;overflow:hidden}.dashboard-panel>.widget,.dashboard-panel>.settings-panel,.dashboard-panel>.map-widget-shell{flex:1 1 auto;min-height:0}.panel-hero,.panel-alerts{min-height:640px}.panel-trip-board,.panel-roster,.panel-markers{min-height:520px}.dashboard-stack--triple{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:16px;min-height:520px}.compact-panel{min-height:0}.panel-active-drivers .widget,.panel-timeliness .widget,.panel-rescue .widget,.panel-trip-board .widget,.panel-roster .widget,.panel-markers .widget,.panel-alerts .widget{display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-alerts .alert-list,.panel-active-drivers .active-driver-list,.panel-timeliness .mini-table,.panel-rescue .mini-table,.panel-trip-board .scroll-table,.panel-roster .widget-scroll-region,.panel-markers .widget-scroll-region,.panel-roster .scroll-table,.panel-markers .scroll-table{flex:1 1 auto;min-height:0;max-height:none;scrollbar-gutter:stable}.panel-alerts .alert-list,.panel-active-drivers .active-driver-list,.panel-timeliness .mini-table,.panel-rescue .mini-table,.panel-trip-board .scroll-table,.panel-roster .widget-scroll-region,.panel-roster .scroll-table,.panel-markers .widget-scroll-region,.panel-markers .scroll-table{overflow:auto}.roster-table,.marker-table{min-width:0;width:100%}.roster-table table,.marker-table table,.panel-trip-board table{min-width:680px}.marker-table table{width:100%;table-layout:fixed}.marker-table th,.marker-table td{max-width:none;vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.marker-table th:nth-child(1),.marker-table td:nth-child(1){width:30%}.marker-table th:nth-child(2),.marker-table td:nth-child(2){width:22%}.marker-table th:nth-child(3),.marker-table td:nth-child(3){width:48%}.marker-address-cell{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.marker-filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.marker-filter-toolbar .table-search,.map-widget-shell .table-search,.map-search-form,.map-search-form .table-search{min-width:0}.map-widget-shell{display:flex;flex-direction:column;min-height:0;overflow:hidden}.map-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.map-search-form{display:flex;align-items:center;gap:8px;flex:1 1 420px;width:auto;flex-wrap:nowrap}.map-search-form .table-search{flex:1 1 auto;width:auto}.map-toolbar-actions{display:inline-flex;align-items:center;gap:8px;margin-left:0;flex:0 0 auto}.map-recenter-button{position:static}.side-drawer{top:0;right:0!important;width:460px;max-width:min(92vw,480px);height:100dvh;transform:translate(100%);transition:transform .18s ease;will-change:transform;overflow:hidden;z-index:80}.side-drawer.open{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206178c;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:70;border:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-header{flex:0 0 auto}.drawer-content{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable}@media(max-width:1320px){.dashboard-section-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.panel-span-8,.panel-span-6,.panel-span-4{grid-column:span 6}.panel-hero,.panel-alerts,.panel-trip-board,.panel-roster,.panel-markers,.dashboard-stack--triple{min-height:460px}}@media(max-width:900px){.app-shell{padding:16px}.topbar{flex-direction:column;align-items:stretch}.topbar-right{width:100%;justify-content:flex-start}.dashboard-section-grid{grid-template-columns:1fr}.panel-span-8,.panel-span-6,.panel-span-4{grid-column:span 1}.panel-hero,.panel-alerts,.panel-trip-board,.panel-roster,.panel-markers,.dashboard-stack--triple{min-height:420px}.dashboard-stack--triple{grid-template-rows:none}.marker-filter-toolbar{grid-template-columns:1fr;align-items:stretch}.marker-filter-toolbar .layers-menu-shell,.marker-filter-toolbar .layers-button{width:100%}.map-toolbar{align-items:stretch;gap:10px}.map-search-form{display:grid;grid-template-columns:1fr 1fr;width:100%;flex:1 1 100%;flex-wrap:wrap}.map-search-form .table-search{grid-column:1 / -1;width:100%}.map-search-form .small-button{width:100%}.map-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.side-drawer{width:min(100vw,420px);max-width:100vw}}@media(max-width:640px){.map-search-form{grid-template-columns:1fr}.roster-table table,.marker-table table,.panel-trip-board table{min-width:640px}}.drawer-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}.drawer-portal.open{pointer-events:auto}.side-drawer{display:flex;flex-direction:column;background:#0f1726;border-left:1px solid #22304a;box-shadow:-16px 0 40px #00000059;overscroll-behavior:contain}.side-drawer:focus{outline:none}.drawer-header{position:sticky;top:0;z-index:1;background:#0f1726}.drawer-content,.drawer-empty{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drawer-empty{flex:1 1 auto}@supports (padding: env(safe-area-inset-right)){.side-drawer{padding-right:env(safe-area-inset-right)}.drawer-header{padding-top:max(16px,env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){.side-drawer,.drawer-backdrop{transition:none}}@media(max-width:900px){.drawer-header{padding-right:12px}}.drawer-backdrop{background:transparent!important;opacity:1!important;pointer-events:auto;transition:none}.drawer-backdrop:not(.open){pointer-events:none}.side-drawer{box-shadow:none!important}.app-shell{width:100%;max-width:none;margin:0;padding-top:18px}.topbar{margin-bottom:14px}.topbar h1{font-size:30px;letter-spacing:-.02em}.topbar p{color:#8fa3c2;font-size:13px}.topbar-brand{display:flex;align-items:center;gap:14px;min-width:0}.topbar-brand>div{min-width:0}.topbar-utility-bar{gap:10px;align-items:center}.topbar-utility-bar .chip{background:#101b2c;border-color:#2a3e5f;color:#deebff;min-height:40px;padding:8px 13px}.topbar-utility-bar .chip-button{background:#142640;border-color:#41618f}.tab-row{margin-bottom:18px}.tab-button{padding:9px 14px}.dashboard-fixed-shell,.dashboard-section-grid{gap:18px}.dashboard-panel{background:linear-gradient(180deg,#101826fb,#0c131ffb);border-color:#263c5d;box-shadow:0 10px 24px #00000029}.panel-alerts,.panel-timeliness,.panel-active-drivers,.panel-rescue{border-top:1px solid rgba(109,154,222,.55)}.widget-header{margin-bottom:6px}.widget-header h2{font-size:19px;font-weight:700;letter-spacing:-.02em}.widget-header span,.table-summary,.pagination-status,.map-status-row,.alert-timestamp,.alert-meta-chip{color:#90a7c8}.widget-header-actions{gap:10px}.alert{background:linear-gradient(180deg,#0e1625fc,#0a101bfc);border-color:#243754}.alert strong,.alert-topline strong{color:#f3f7fd}.active-driver-card,.stat-card,.notes-block,.detail-card,.availability-card,.weather-forecast-card,.changelog-card{background:#0d1524;border-color:#21324d}.table-toolbar{row-gap:10px;margin-bottom:6px}.table-search,.toolbar select,.toolbar input,.settings-grid input,.toolbar-label select,.drawer-input{min-height:38px}.scroll-table{background:#111b2beb}.scroll-table table,.scroll-table tbody,.scroll-table tbody tr,.scroll-table tbody td{background:#0b1322}.scroll-table thead,.scroll-table thead tr,.scroll-table thead th{background:transparent}th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#a7bcda}thead th{background:#111b2beb}tbody tr:hover{background:#122034}.panel-alerts .widget-header h2,.panel-timeliness .widget-header h2,.panel-active-drivers .widget-header h2,.panel-rescue .widget-header h2{color:#f5f8fe}@media(max-width:900px){.dashboard-fixed-shell,.dashboard-section-grid{gap:16px}.topbar-utility-bar .chip{min-height:38px}}.status-chip{font-size:13px}.status-chip--ok{border-color:#28517f;color:#d8ebff}.status-chip--loading{border-color:#48617f;color:#d6e3f5}.status-chip--warning{border-color:#8a6a2b;color:#ffe4aa}.inline-feedback{border-radius:12px;border:1px solid #2a3b57;background:#101b2c;color:#dce9fb;padding:10px 12px;font-size:13px}.inline-feedback--pending{border-color:#4d617f;color:#d8e4f7}.inline-feedback--success{border-color:#2f6d48;color:#bceecf}.inline-feedback--error{border-color:#8c3d3d;color:#ffb9b9}.topbar-utility-bar .status-chip{min-width:170px;justify-content:center;text-align:center;white-space:nowrap;flex:0 0 auto}.sync-chip{min-width:104px;justify-content:center;text-align:center;white-space:nowrap}.sync-chip:disabled{opacity:.82;cursor:wait}.sync-chip--success{border-color:#2f6d48;color:#bceecf}.sync-chip--error{border-color:#8c3d3d;color:#ffb9b9}.rescue-table-shell{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid #1c2940;border-radius:12px;background:#111b2beb}.rescue-table{width:100%;border-collapse:collapse;table-layout:fixed}.rescue-table th,.rescue-table td{padding:10px;border-bottom:1px solid #1c2940;vertical-align:middle;white-space:normal}.rescue-table th:nth-child(1),.rescue-table td:nth-child(1){width:33%}.rescue-table th:nth-child(2),.rescue-table td:nth-child(2){width:33%}.rescue-table th:nth-child(3),.rescue-table td:nth-child(3),.rescue-table th:nth-child(4),.rescue-table td:nth-child(4){width:17%}.rescue-name-cell{color:#edf4ff;font-weight:600;line-height:1.3}.rescue-name-cell--backup{color:#d9e8ff}.rescue-metric-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:4px 8px;border-radius:999px;border:1px solid #284161;background:#10233f;color:#dce9fb;font-size:12px;font-weight:600}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:#08111f}.auth-card{width:min(520px,100%);background:#08111feb;border:1px solid #1c3352;border-radius:20px;box-shadow:0 18px 48px #00000059;padding:28px}.auth-header h1{margin:0 0 8px}.auth-header p{margin:0 0 18px;color:#aac2df}.auth-banner{border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px}.auth-banner--info{background:#1f549138;border:1px solid #2d5f93;color:#d7e9ff}.auth-banner--error{background:#862d2d3d;border:1px solid #7d3d3d;color:#ffd7d7}.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:8px;color:#e8f0fa;font-size:14px}.auth-form input{width:100%;min-height:44px;border-radius:12px;border:1px solid #29425f;background:#0f1d2f;color:#f4f8ff;padding:10px 14px}.auth-form input:focus{outline:none;border-color:#4d7db1;box-shadow:0 0 0 3px #4d7db133}.auth-actions{display:flex;gap:12px;justify-content:flex-end}.auth-button{min-height:44px;border:0;border-radius:12px;padding:0 16px;font-weight:700;cursor:pointer;color:#08111f;background:#d7e9ff}.auth-button--secondary{background:transparent;color:#d7e9ff;border:1px solid #36567a}.totp-setup-card{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:start;padding:14px;border-radius:16px;background:#0d1829;border:1px solid #203753}.totp-qr-wrap{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:12px}.totp-qr{width:132px;height:132px;display:block}.totp-copy-block p{margin:6px 0}.totp-copy-block code{display:inline-block;margin-top:6px;padding:8px 10px;border-radius:10px;background:#091120;color:#f6d58c;word-break:break-all}.totp-copy-note{color:#aac2df;font-size:13px}.chip-user{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.totp-setup-card{grid-template-columns:1fr}.auth-actions{flex-direction:column}}
