.metrics .metric{cursor:pointer;text-align:left}
.metrics .metric .metric-label{display:block;margin-top:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.metrics .metric:hover,.metrics .metric:focus-visible{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.metrics .metric.active{border-color:#2563eb;background:#f0f9ff;box-shadow:inset 0 -3px 0 #2563eb}
.drivers-page .page-head,.drivers-page .shell{max-width:min(1900px,calc(100vw - 24px))}
.drivers-page .shell{padding-left:18px;padding-right:18px}
.drivers-page{overflow-x:hidden}
.drivers-page .page-head,.drivers-page .shell,.drivers-page .panel{width:100%;min-width:0}
.driver-toolbar{display:grid;gap:10px;justify-items:stretch;width:100%;min-width:min(100%,1180px)}
.driver-toolbar-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%}
.driver-toolbar-views{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.driver-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.driver-toolbar-actions .btn{min-height:38px}
.driver-toolbar-filter-row{display:grid;grid-template-columns:repeat(5,minmax(132px,1fr));gap:8px;width:100%;min-width:0}
.driver-toolbar-search-row{display:grid;width:100%;min-width:0}
.driver-location-pager{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%}
.driver-location-page{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border:1.5px solid var(--rule-soft);border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;cursor:pointer;text-align:left}
.driver-location-page:hover,.driver-location-page:focus-visible{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.driver-location-page.active{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 -3px 0 #2563eb}
.driver-location-page span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}
.driver-location-page strong{flex:none;border-radius:999px;background:var(--bg);color:var(--ink-3);padding:3px 7px;font-family:var(--font-mono);font-size:10px}
.driver-location-page.active strong{background:#1d4ed8;color:#fff}
.driver-view-toggle .toggle-btn{display:inline-grid;place-items:center;width:38px;padding:0;font-size:14px;letter-spacing:0}
.driver-view-toggle .toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.driver-header-search{width:100%;min-width:0;max-width:none}
.driver-sort-select,.driver-filter-select{height:38px;width:100%;min-width:0;border:1.5px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink);padding:0 10px;font-size:13px}
.driver-filter-panel{display:flex;align-items:center;justify-content:flex-end;gap:9px;width:100%;min-height:38px;border:1px solid var(--rule-soft);border-radius:6px;background:linear-gradient(180deg,#fff,var(--bg));padding:6px 8px}
.driver-filter-panel>span{flex:none;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.driver-chip-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.driver-filter-chip{height:26px;border:1px solid var(--rule-soft);border-radius:4px;background:#fff;color:var(--ink-3);padding:0 9px;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.driver-filter-chip:hover,.driver-filter-chip:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08);color:var(--accent)}
.driver-filter-chip.active{border-color:rgba(21,128,61,.34);background:var(--green-bg);color:var(--green)}
#driver-card-grid[hidden],#driver-table-wrap[hidden],#driver-map-wrap[hidden],#driver-calendar-wrap[hidden]{display:none!important}
.driver-matrix{width:100%;min-width:0;table-layout:fixed}
.driver-matrix th:nth-child(1),.driver-matrix td:nth-child(1){width:104px;text-align:center}
.driver-matrix th:nth-child(2),.driver-matrix td:nth-child(2){width:20%}
.driver-matrix th:nth-child(3),.driver-matrix td:nth-child(3){width:11%}
.driver-matrix th:nth-child(4),.driver-matrix td:nth-child(4){width:54px;text-align:center}
.driver-matrix th:nth-child(5),.driver-matrix td:nth-child(5){width:16%}
.driver-matrix th:nth-child(n+6):nth-child(-n+12),.driver-matrix td:nth-child(n+6):nth-child(-n+12){width:56px;text-align:center}
.driver-matrix th:nth-child(13),.driver-matrix td:nth-child(13){width:100px}
.driver-matrix td{vertical-align:top}
.driver-matrix th,.driver-matrix td{min-width:0}
.driver-location-group-row th{padding:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-soft);background:#f8fafc}
.driver-location-group-row.active-location-page th{background:#eff6ff;border-top-color:#2563eb}
.driver-location-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;text-align:left}
.driver-location-group-head div{display:grid;gap:2px;min-width:0}
.driver-location-group-head span{color:var(--ink);font-size:13px;font-weight:800;line-height:1.15}
.active-location-page .driver-location-group-head span{color:#1d4ed8;font-size:18px}
.driver-location-group-head small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:600}
.driver-location-group-head strong{flex:none;border:1px solid rgba(37,99,235,.2);border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:4px 8px;font-family:var(--font-mono);font-size:10px;font-weight:900;text-transform:uppercase}
.driver-location-group-muted th{background:#fff7ed}
.driver-location-empty{background:#fff;color:var(--ink-4)}
.driver-table-age{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center;line-height:1.15}
.driver-vehicle-cell{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-matrix .row-actions{grid-template-columns:32px 32px 32px}
.driver-matrix .action-icon:disabled{opacity:.35;cursor:not-allowed}
.driver-scan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;padding:14px;border-top:1px solid var(--rule-soft);background:linear-gradient(180deg,#fff,#fafaf8);min-width:0;overflow:hidden}
.driver-scan-card{display:grid;grid-template-rows:auto auto auto minmax(34px,auto);gap:10px;border:1px solid var(--rule-soft);border-radius:7px;background:#fff;padding:12px;box-shadow:0 7px 18px rgba(22,20,15,.05);min-width:0;max-width:100%;overflow:hidden}
.driver-scan-card.assigned{border-color:rgba(71,25,84,.24);box-shadow:0 7px 18px rgba(71,25,84,.08)}
.driver-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.driver-card-title{min-width:0}
.driver-card-title h3{display:flex;align-items:center;gap:7px;min-width:0;font-family:var(--font-display);font-size:17px;font-weight:500;line-height:1.12;color:var(--ink)}
.driver-card-title h3 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-name-icon{width:20px;height:20px;font-size:10px}
.driver-card-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:4px;color:var(--ink-3);font-family:var(--font-mono);font-size:11px}
.driver-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-card-meta b{flex:none;border:1px solid rgba(71,25,84,.14);border-radius:999px;background:var(--accent-tint);color:var(--accent-deep);padding:2px 6px;font-size:9px;line-height:1}
.driver-card-body{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start;min-width:0}
.driver-seat-block{display:grid;place-items:center;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;min-height:58px}
.driver-seat-block b{display:block;color:#1e3a8a;font-family:var(--font-display);font-size:28px;font-weight:500;line-height:1}
.driver-seat-block span{display:block;color:#2563eb;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.driver-contact-block{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ink-3);font-family:var(--font-mono);font-size:11px;line-height:1.35}
.driver-contact-block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-muted{color:var(--ink-4)}
.driver-geocode-needed{display:inline-flex!important;align-items:center;width:max-content;border:1px solid rgba(180,83,9,.2);border-radius:999px;background:rgba(250,204,21,.14);color:#92400e!important;padding:2px 6px;font-family:var(--font-mono);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.driver-capability-strip{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.driver-capability-strip span{border:1px solid var(--rule-soft);border-radius:999px;background:var(--bg);color:var(--ink-4);padding:3px 7px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.driver-capability-strip span.on{border-color:rgba(21,128,61,.22);background:var(--green-bg);color:var(--green)}
.driver-assigned-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;border-top:1px solid var(--rule-soft);padding-top:9px;min-width:0}
.driver-assigned-row>b{flex:none;color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.driver-assigned-row .assignment-list{align-items:flex-end;text-align:right;min-width:0;max-width:100%;font-size:10px;overflow:hidden}
.driver-assigned-row .assignment-list span,.driver-assigned-row .assignment-list em{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-scan-card .row-actions{grid-template-columns:32px 32px 32px}
.driver-scan-card .action-icon:disabled{opacity:.35;cursor:not-allowed}
.driver-hub-groups{display:grid;grid-column:1/-1;gap:14px;min-width:0}
.driver-hub-group{display:grid;gap:10px;min-width:0;border:1px solid var(--rule-soft);border-radius:8px;background:rgba(255,255,255,.74);padding:10px}
.driver-hub-group-muted{background:rgba(250,250,248,.74)}
.driver-hub-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--rule-soft);padding-bottom:9px;min-width:0}
.driver-hub-group-head div{min-width:0}
.driver-hub-group-head span{display:inline-flex;margin-bottom:3px;color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.driver-hub-group-head h3{margin:0;color:var(--ink);font-size:18px;font-weight:600;line-height:1.15}
.driver-hub-group-head p{margin:3px 0 0;max-width:760px;color:var(--ink-3);font-family:var(--font-mono);font-size:11px;line-height:1.35}
.driver-hub-group-head strong{flex:none;border:1px solid rgba(21,128,61,.22);border-radius:999px;background:var(--green-bg);color:var(--green);padding:5px 8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;white-space:nowrap}
.driver-hub-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;min-width:0}
.car-group-driver-option strong,.driver-table-name{display:flex;align-items:center;gap:7px;min-width:0}
.car-group-driver-option strong span,.driver-table-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-age-badge{flex:none;border:1px solid rgba(71,25,84,.14);border-radius:999px;background:var(--accent-tint);color:var(--accent-deep);padding:2px 6px;font-family:var(--font-mono);font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}
.driver-home-marker{display:flex;align-items:center;justify-content:center;width:34px!important;height:34px!important;border-radius:999px;border:3px solid #fff;background:#1d4ed8;color:#fff;font-size:13px;box-shadow:0 8px 20px rgba(22,20,15,.24)}
.driver-home-marker.active{background:var(--accent)}
.driver-home-marker.unassigned{background:#f59e0b;color:#111827;border-color:#fff;box-shadow:0 0 0 3px rgba(245,158,11,.28),0 8px 20px rgba(22,20,15,.24)}
.driver-home-marker.service-site_transportation{background:#374151}
.driver-home-marker.service-airport_driver{background:#0f766e}
.driver-home-marker.service-airport_to_host_driver{background:#7c3aed}
.driver-home-marker.service-train_station_to_host_driver{background:#2563eb}
.driver-home-marker.service-bus_station_to_host_driver{background:#ea580c}
.driver-home-marker.service-central_location_runner{background:#ca8a04}
.driver-home-marker.service-territory_driver{background:#15803d}
.driver-board-map-wrap{position:relative;display:grid;gap:14px;border-top:1px solid var(--rule-soft);background:#fff;padding:18px}
.driver-board-map{height:min(86vh,1080px);min-height:760px;border:1px solid var(--rule-soft);border-radius:8px;background:var(--bg);overflow:hidden;isolation:isolate}
.driver-board-map-meta{display:flex;flex-wrap:wrap;gap:7px}
.driver-board-map-meta span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--rule-soft);border-radius:999px;background:var(--bg);color:var(--ink-3);padding:5px 8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.driver-board-map-meta b{color:var(--accent-deep)}
.driver-map-assignment-table{display:grid;gap:10px;border:1px solid var(--rule-soft);border-radius:8px;background:linear-gradient(180deg,#fff,var(--bg));padding:12px;min-width:0}
.driver-map-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--rule-soft);padding-bottom:9px}
.driver-map-assignment-head h3{margin:0;color:var(--ink);font-size:16px;font-weight:700}
.driver-map-assignment-head p{margin:2px 0 0;color:var(--ink-3);font-family:var(--font-mono);font-size:11px}
.driver-map-assignment-scroll{overflow:auto;border:1px solid var(--rule-soft);border-radius:6px;background:#fff}
.driver-map-assignment-table table{width:100%;min-width:620px;border-collapse:collapse}
.driver-map-assignment-table th,.driver-map-assignment-table td{border-bottom:1px solid var(--rule-soft);padding:9px 10px;text-align:left;vertical-align:top;font-size:12px}
.driver-map-assignment-table th{background:var(--bg);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:900;text-transform:uppercase}
.driver-map-assignment-table tr:last-child td{border-bottom:0}
.driver-map-assignment-table tbody tr:nth-child(even){background:#f8fafc}
.driver-map-assignment-table td{color:var(--ink-2)}
.driver-map-assignment-table .driver-table-name{font-weight:700}
.driver-map-age-badge{display:inline-flex;justify-content:center;min-width:72px;background:#f8fafc;color:var(--ink-3)}
.driver-map-age-group-row th{background:#eef2f7;color:var(--ink);border-top:1px solid var(--rule);font-size:11px}
.driver-calendar-wrap{display:grid;gap:0;border-top:1px solid var(--rule-soft);background:#fff;padding:0;min-width:0}
.driver-calendar-toolbar{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid var(--rule-soft);background:#fff;padding:10px 12px}
.driver-calendar-left{display:flex;align-items:center;gap:8px;justify-self:start}
.driver-calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:10px}
.driver-calendar-toolbar strong{min-width:240px;text-align:center;color:var(--ink);font-size:22px;font-weight:600}
.driver-calendar-mode{justify-self:end;border:1px solid var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink-3);padding:7px 10px;font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-calendar{display:grid;gap:0;min-width:0;padding:0 12px 12px}
.driver-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--rule-soft);background:#fff}
.driver-calendar-weekdays span{border-right:1px solid var(--rule-soft);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;padding:9px 8px;text-align:left;text-transform:uppercase}
.driver-calendar-weekdays span:last-child{border-right:0}
.driver-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:calc(100vh - 310px);border-left:1px solid var(--rule-soft)}
.driver-calendar-day{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:134px;border:0;border-right:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);border-radius:0;background:#fff;color:var(--ink);padding:8px;text-align:left;overflow:hidden}
.driver-calendar-day:hover,.driver-calendar-day:focus-visible{outline:0;background:#f8fbff;box-shadow:inset 0 0 0 2px rgba(37,99,235,.28)}
.driver-calendar-day.has-drivers{background:#f8fbff}
.driver-calendar-day.outside{background:#fafafa;color:var(--ink-4)}
.driver-calendar-day.outside.has-drivers{background:#f3f8ff}
.driver-calendar-day.today{background:#f0f9ff}
.driver-calendar-date{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;font-family:var(--font-mono)}
.driver-calendar-date b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;color:var(--ink);font-size:11px;font-weight:900}
.driver-calendar-day.today .driver-calendar-date b{background:#2563eb;color:#fff}
.driver-calendar-date small{border-radius:999px;background:var(--bg);color:var(--ink-3);padding:2px 6px;font-size:9px;font-weight:800;text-transform:uppercase}
.driver-calendar-items{display:grid;gap:4px;align-content:start;min-width:0;overflow:hidden}
.driver-calendar-driver-count{display:grid;place-items:center;gap:2px;margin-bottom:2px;border:1px solid rgba(37,99,235,.12);border-radius:4px;background:#fff;color:#1d4ed8;padding:7px 4px}
.driver-calendar-driver-count strong{font-family:var(--font-mono);font-size:26px;font-weight:900;line-height:1}
.driver-calendar-driver-count span,.driver-calendar-driver-count em{font-family:var(--font-mono);font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}
.driver-calendar-driver-count em{color:var(--ink-4)}
.driver-calendar-items b,.driver-calendar-items em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:4px solid #2563eb;border-radius:3px;background:#eff6ff;color:#1e3a8a;padding:4px 6px;font-family:var(--font-mono);font-size:9px;font-style:normal;font-weight:800}
.driver-calendar-items .driver-calendar-driver-count em{display:block;border:0;background:transparent;color:var(--ink-4);padding:0}
.driver-calendar-items b.kind-arrival_pickup{border-left-color:#0f766e;background:#ecfdf5;color:#064e3b}
.driver-calendar-items b.kind-departure_dropoff{border-left-color:#7c3aed;background:#f5f3ff;color:#4c1d95}
.driver-calendar-items b.kind-field_service{border-left-color:#15803d;background:#f0fdf4;color:#14532d}
.driver-calendar-items b.kind-meeting{border-left-color:#ca8a04;background:#fefce8;color:#713f12}
.driver-calendar-items b.kind-shopping,.driver-calendar-items b.kind-other{border-left-color:#ea580c;background:#fff7ed;color:#7c2d12}
.driver-calendar-items em{border-left-color:var(--rule);background:var(--bg);color:var(--ink-3)}
.driver-calendar-unscheduled{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;border-bottom:1px solid var(--rule-soft);background:#fff7ed;padding:10px 8px}
.driver-calendar-unscheduled strong{border-radius:999px;background:#9a3412;color:#fff;padding:5px 9px;font-family:var(--font-mono);font-size:10px;font-weight:900;text-transform:uppercase;white-space:nowrap}
.driver-calendar-unscheduled span{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.driver-calendar-unscheduled b,.driver-calendar-unscheduled em{border:1px solid #fed7aa;border-radius:999px;background:#fff;color:#7c2d12;padding:4px 8px;font-family:var(--font-mono);font-size:9px;font-style:normal;font-weight:800}
.driver-calendar-empty-state{border:1px dashed var(--rule-soft);border-radius:5px;background:var(--bg);color:var(--ink-3);padding:10px;font-size:12px;line-height:1.35}
.driver-day-table{display:grid;width:100%;border:1px solid var(--rule-soft);border-radius:6px;overflow:hidden;background:#fff}
.driver-day-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(120px,.9fr) 70px minmax(120px,1fr) minmax(110px,.8fr) minmax(160px,1.2fr);align-items:center;gap:0;border-bottom:1px solid var(--rule-soft)}
.driver-day-row:last-child{border-bottom:0}
.driver-day-row:nth-child(even):not(.driver-day-row-head){background:#f8fafc}
.driver-day-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 10px;color:var(--ink-2);font-size:12px}
.driver-day-row strong{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-weight:700}
.driver-day-row-head{background:var(--bg)}
.driver-day-row-head>span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:900;text-transform:uppercase}
.driver-run-panel{position:relative;z-index:30;display:grid;gap:10px;border:1px solid var(--rule-soft);border-radius:8px;background:linear-gradient(180deg,#fff,var(--bg));padding:14px;min-width:0}
.driver-dispatch-panel{display:grid;gap:8px}
.driver-dispatch-panel:empty{display:none}
.driver-dispatch-panel-head h3{margin:0;color:var(--ink);font-size:14px;font-weight:700}
.driver-dispatch-list{display:grid;gap:8px}
.driver-dispatch-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--rule-soft);border-radius:6px;background:#fff;padding:9px 11px}
.driver-dispatch-item-body{display:grid;gap:2px;min-width:0}
.driver-dispatch-item-body strong{color:var(--ink);font-size:13px}
.driver-dispatch-item-body span{color:var(--ink-3);font-size:11px}
.driver-dispatch-error{color:var(--red)!important}
.badge.dispatch-status.status-dispatched{background:var(--amber-bg);color:var(--amber)}
.badge.dispatch-status.status-acknowledged{background:#dbeafe;color:#2563eb}
.badge.dispatch-status.status-picked_up{background:#ede9fe;color:#7c3aed}
.badge.dispatch-status.status-dropped_off{background:var(--green-bg);color:var(--green)}
.dispatch-marker{display:flex;align-items:center;justify-content:center;width:30px!important;height:30px!important;border-radius:999px;border:3px solid #fff;background:#2563eb;color:#fff;font-size:12px;box-shadow:0 8px 20px rgba(22,20,15,.24)}
.dispatch-marker.status-dispatched{background:#b45309}
.dispatch-marker.status-acknowledged{background:#2563eb}
.dispatch-marker.status-picked_up{background:#7c3aed}
.dispatch-preview{white-space:pre-wrap;border:1px solid var(--rule-soft);border-radius:6px;background:var(--bg);color:var(--ink-2);padding:12px;font-family:var(--font-mono);font-size:12px;line-height:1.5}
#travel-arrangements-modal .modal.wide-modal{max-width:1060px}
.travel-legs-table-wrap{overflow-x:auto}
.travel-legs-table{width:100%;min-width:640px;border-collapse:collapse}
.travel-legs-table th,.travel-legs-table td{padding:6px;vertical-align:middle}
.travel-legs-table thead th{padding:0 6px 6px;text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.travel-legs-table tbody th{padding:6px 8px 6px 0;text-align:left;white-space:nowrap;color:var(--ink);font-weight:700;font-size:13px}
.travel-legs-table tbody tr+tr th,.travel-legs-table tbody tr+tr td{border-top:1px solid var(--rule-soft)}
.travel-legs-table input,
.travel-legs-table select{width:100%;min-width:0;border:1.5px solid var(--rule);border-radius:4px;background:#fff;padding:8px 9px;color:var(--ink)}
.travel-legs-table input:focus,
.travel-legs-table select:focus{outline:none;border-color:var(--accent)}
.travel-legs-table .btn{white-space:nowrap}
.driver-run-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
.driver-run-head h3{margin:0;color:var(--ink);font-size:18px;font-weight:600;line-height:1.15}
.driver-run-head p{margin:3px 0 0;color:var(--ink-3);font-family:var(--font-mono);font-size:11px}
.driver-run-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:min(100%,420px)}
.driver-run-search input{min-width:0;flex:1;border:1.5px solid var(--rule-soft);border-radius:4px;background:#fff;color:var(--ink);padding:8px 9px;font-size:13px}
.driver-run-search input:focus{outline:0;border-color:var(--accent)}
.driver-run-search span{flex:none;color:var(--accent-deep);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-schedule-tabs{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--rule-soft);border-radius:6px;background:#fff;padding:6px}
.driver-schedule-tabs button{border:1px solid var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink-3);padding:7px 9px;font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-schedule-tabs button:hover,.driver-schedule-tabs button:focus-visible{outline:0;border-color:var(--accent);color:var(--accent-deep)}
.driver-schedule-tabs button.active{border-color:rgba(71,25,84,.3);background:var(--accent-tint);color:var(--accent-deep)}
.driver-schedule-pool{display:grid;gap:8px;border:1px solid var(--rule-soft);border-radius:7px;background:#fff;padding:9px}
.driver-schedule-pool.collapsed{padding:7px 9px;background:var(--bg)}
.driver-schedule-pool-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.driver-schedule-pool-head strong{color:var(--ink);font-size:13px}
.driver-schedule-pool-head span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-schedule-pool.collapsed .driver-schedule-pool-head strong{font-size:12px}
.driver-schedule-pool-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8px}
.driver-schedule-pool-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:7px 10px;border:1px solid var(--rule-soft);border-left:4px solid var(--service-color,var(--accent));border-radius:5px;background:var(--bg);padding:9px;min-width:0}
.driver-schedule-pool-row strong{grid-column:1/-1;min-width:0;color:var(--ink);font-size:13px;line-height:1.25}
.driver-schedule-pool-row span{display:grid;gap:2px;min-width:0;color:var(--ink-2);font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.driver-schedule-pool-row b{color:var(--ink-3);font-family:var(--font-mono);font-size:9px;text-transform:uppercase}
.driver-schedule-pool-role{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px!important}
.driver-schedule-pool-role>span{display:grid;gap:2px;min-width:0}
.driver-schedule-pool-unassign{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--rule-soft);border-radius:999px;background:#fff;color:var(--ink-3);cursor:pointer}
.driver-schedule-pool-unassign:hover,.driver-schedule-pool-unassign:focus-visible{outline:0;border-color:var(--danger);color:var(--danger);box-shadow:0 0 0 3px rgba(185,28,28,.08)}
.driver-schedule-board{display:grid;gap:12px}
.driver-schedule-group{display:grid;gap:8px}
.driver-schedule-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.driver-schedule-group-head strong{color:var(--ink);font-size:14px}
.driver-schedule-group-head span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.driver-run-table-wrap{overflow:auto;border:1px solid var(--rule-soft);border-radius:6px;background:#fff}
.driver-run-table-wrap-picker-open{position:relative;z-index:60;overflow:visible}
.driver-run-table{width:100%;min-width:1500px;border-collapse:collapse}
.driver-run-table th,.driver-run-table td{border-bottom:1px solid var(--rule-soft);padding:9px;text-align:left;vertical-align:top}
.driver-run-table th{background:var(--bg);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-run-table tbody tr:hover td{background:#fff!important;color:var(--ink)!important}
.driver-run-table tr:last-child td{border-bottom:0}
.driver-schedule-table th:nth-child(1),.driver-schedule-table td:nth-child(1){min-width:210px}
.driver-schedule-table th:nth-child(5),.driver-schedule-table td:nth-child(5){min-width:210px}
.driver-schedule-table th:nth-child(7),.driver-schedule-table td:nth-child(7){min-width:210px}
.driver-schedule-static{display:block;min-width:90px;max-width:220px;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;line-height:1.35}
.driver-schedule-contact{max-width:260px}
.driver-contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}
.driver-contact-actions a,.driver-contact-actions span{min-width:0;font-family:var(--font-mono);font-size:10px;line-height:1.2}
.driver-contact-phone{color:var(--ink);font-weight:800}
.driver-contact-actions a{border:1px solid var(--rule-soft);border-radius:999px;background:#fff;color:var(--accent);padding:3px 6px;text-decoration:none}
.driver-contact-actions a:hover{border-color:var(--accent);background:var(--accent-tint)}
.driver-contact-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-contact-empty{color:var(--ink-4)}
.driver-schedule-static.address{max-width:260px}
.driver-schedule-guest-select,.driver-schedule-kind-select,.driver-schedule-location,.driver-schedule-notes{width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:7px 8px;font-size:12px}
.driver-schedule-kind-select{min-width:138px;font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.driver-schedule-location{min-width:190px}
.driver-schedule-notes{min-width:180px;resize:vertical}
.driver-schedule-guest-select:focus,.driver-schedule-kind-select:focus,.driver-schedule-location:focus,.driver-schedule-notes:focus{outline:0;border-color:var(--accent)}
.driver-schedule-check{width:18px;height:18px;accent-color:var(--accent)}
.driver-run-person{display:grid;gap:3px;min-width:0}
.driver-run-person strong{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink);font-size:13px}
.driver-run-person strong span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-run-person small{color:var(--ink-3);font-family:var(--font-mono);font-size:10px}
.driver-run-role{display:inline-flex;border-radius:999px;color:#fff;padding:5px 8px;font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.driver-run-role.service-site_transportation{background:#374151}
.driver-run-role.service-airport_driver{background:#0f766e}
.driver-run-role.service-airport_to_host_driver{background:#7c3aed}
.driver-run-role.service-train_station_to_host_driver{background:#2563eb}
.driver-run-role.service-bus_station_to_host_driver{background:#ea580c}
.driver-run-role.service-central_location_runner{background:#ca8a04}
.driver-run-role.service-territory_driver{background:#15803d}
.driver-run-guest-picker{display:grid;gap:5px;min-width:300px;max-height:210px;overflow:auto;border:1.5px solid var(--rule-soft);border-radius:6px;background:#fff;padding:6px}
.driver-run-guest-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--rule-soft);border-radius:5px;background:var(--bg);padding:7px;cursor:pointer}
.driver-run-guest-option:hover{border-color:rgba(71,25,84,.25);background:#fff}
.driver-run-guest-option.selected{border-color:rgba(71,25,84,.28);background:var(--accent-tint)}
.driver-run-guest-option.reassignment{border-style:dashed}
.driver-run-guest-option input{width:16px;height:16px;accent-color:var(--accent)}
.driver-run-guest-option span{display:grid;gap:2px;min-width:0}
.driver-run-guest-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;line-height:1.2}
.driver-run-guest-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-family:var(--font-mono);font-size:9px;line-height:1.25}
.driver-run-date,.driver-run-time{width:100%;min-width:118px;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:7px 8px;font-family:var(--font-mono);font-size:11px}
.driver-run-date:focus,.driver-run-time:focus{outline:0;border-color:var(--accent)}
.driver-run-save{white-space:nowrap}
.driver-dispatch-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.driver-schedule-driver-picker-field{position:relative;min-width:220px}
.driver-schedule-driver-picker-open,.driver-schedule-driver-picker-field:has(.driver-schedule-driver-picker:not([hidden])){z-index:70}
.driver-schedule-driver-trigger{display:grid;grid-template-columns:minmax(92px,1.25fr) minmax(64px,.85fr) minmax(62px,.7fr) minmax(72px,.9fr);align-items:center;gap:5px;width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:7px 8px;text-align:left;font-size:12px;line-height:1.35}
.driver-schedule-driver-trigger.compact{display:block}
.driver-schedule-driver-trigger:hover,.driver-schedule-driver-trigger[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.driver-schedule-driver-trigger strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;line-height:1.2}
.driver-schedule-driver-trigger span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-schedule-driver-trigger span:not(.driver-schedule-driver-placeholder){border-left:1px solid var(--rule-soft);color:var(--ink-3);padding-left:5px;font-family:var(--font-mono);font-size:9px;line-height:1.2}
.driver-schedule-driver-placeholder{grid-column:1/-1;color:var(--ink-3)}
.driver-schedule-driver-picker{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 5px);display:grid;gap:6px;width:min(420px,80vw);max-height:min(420px,62vh);overflow:auto;border:1.5px solid var(--rule);border-radius:6px;background:#fff;box-shadow:0 16px 42px rgba(22,20,15,.2);padding:7px}
.driver-schedule-driver-picker-open .driver-schedule-driver-picker{position:fixed;z-index:2200;left:var(--driver-picker-left,12px);right:auto;top:var(--driver-picker-top,12px);width:var(--driver-picker-width,min(420px,80vw));max-height:var(--driver-picker-max-height,min(420px,62vh))}
.driver-schedule-driver-picker[hidden]{display:none}
.driver-schedule-driver-search{position:sticky;top:0;z-index:1;width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:var(--bg);color:var(--ink);padding:9px 10px;font-size:13px}
.driver-schedule-driver-search:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.driver-schedule-driver-options{display:grid;gap:5px}
.driver-schedule-driver-option{display:grid;gap:2px;width:100%;border:1px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left}
.driver-schedule-driver-option:hover,.driver-schedule-driver-option:focus-visible,.driver-schedule-driver-option.selected{outline:0;border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}
.driver-schedule-driver-option strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;line-height:1.2}
.driver-schedule-driver-option span,.driver-schedule-driver-option small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;line-height:1.3}
.driver-schedule-driver-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:3px}
.driver-schedule-driver-meta span{border:1px solid var(--rule-soft);border-radius:999px;background:#fff;padding:3px 6px}
.driver-schedule-driver-option.selected strong{color:var(--accent-deep)}
.driver-hub-marker{display:flex;align-items:center;justify-content:center;width:34px!important;height:34px!important;border-radius:999px;border:3px solid #fff;background:#2563eb;color:#fff;font-size:13px;box-shadow:0 8px 20px rgba(22,20,15,.24)}
.driver-hub-marker.main{background:var(--accent)}
.driver-hub-marker.support{background:var(--green)}
.driver-hub-marker.jw{border:0;background:transparent;box-shadow:none}
.driver-hub-marker.jw img{display:block;width:28px;height:28px;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.45)}
.driver-transit-marker{display:flex;align-items:center;justify-content:center;width:28px!important;height:28px!important;border-radius:999px;border:2px solid #fff;color:#fff;font-size:12px;box-shadow:0 7px 18px rgba(22,20,15,.22)}
.driver-transit-marker.air{background:#0f766e}
.driver-transit-marker.train{background:#2563eb}
.driver-transit-marker.bus{background:#ea580c}
.legend-dot.transit-air{background:#0f766e}
.legend-dot.transit-train{background:#2563eb}
.legend-dot.transit-bus{background:#ea580c}
.legend-dot.driver-unassigned{background:#f59e0b}
.modal.map-modal{max-width:min(1560px,calc(100vw - 16px));height:min(980px,calc(100vh - 16px))}
.driver-map-layout{grid-template-columns:340px minmax(0,1fr)}
.driver-map{min-height:620px}
#car-group-modal.open{z-index:420}

/* legend-dot.driver and legend-dot.support are defined in transportation.css */
.driver-service-assignment{display:grid;gap:10px;border-top:1px solid var(--rule-soft);margin-top:12px;padding-top:12px}
.driver-service-assignment[hidden]{display:none}
.driver-service-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.driver-service-head strong{color:var(--ink);font-size:13px}
.driver-service-head span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.driver-service-options{display:grid;gap:6px}
.driver-service-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--rule-soft);border-radius:5px;background:#fff;padding:8px;color:var(--ink);cursor:pointer}
.driver-service-option:has(input:checked){border-color:color-mix(in srgb,var(--service-color),transparent 56%);background:color-mix(in srgb,var(--service-color),transparent 92%)}
.driver-service-option input{position:absolute;inset:0;opacity:0;cursor:pointer}
.driver-service-option b{display:inline-flex;width:11px;height:11px;border-radius:999px;background:var(--service-color)}
.driver-service-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-align:left}
.driver-service-option small{justify-self:end;color:var(--ink-3);font-family:var(--font-mono);font-size:9px;text-transform:uppercase;white-space:nowrap;text-align:right}
.driver-service-save{justify-self:end}
.driver-service-empty{border:1px dashed var(--rule-soft);border-radius:5px;background:var(--bg);color:var(--ink-3);padding:10px;font-size:12px;line-height:1.35}
.driver-site-transportation-assign{display:grid;gap:8px;border:1px solid var(--rule-soft);border-radius:6px;background:var(--bg);padding:9px}
.driver-site-transportation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.driver-site-transportation-row select{min-width:0;width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:8px 9px;font-size:12px}
.driver-site-transportation-row select:focus{outline:0;border-color:var(--accent)}
.driver-role-volunteer-trigger{width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left;line-height:1.35}
.driver-role-volunteer-trigger:hover,.driver-role-volunteer-trigger:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.driver-role-volunteer-trigger span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.driver-map-person{display:flex;align-items:center;gap:7px;min-width:0}
.driver-map-person span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-run-flow{display:grid;gap:12px;background:var(--bg);padding:14px}
.schedule-flow-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;border:1px solid var(--rule-soft);border-radius:8px;background:#fff;padding:12px}
.schedule-flow-step:nth-child(1){--step-color:#2563eb}
.schedule-flow-step:nth-child(2){--step-color:#1d4ed8}
.schedule-flow-step:nth-child(3){--step-color:#1e40af}
.schedule-flow-step:nth-child(4){--step-color:#1e3a8a}
.schedule-flow-num{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--step-color,#2563eb);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:900}
.schedule-flow-content{display:grid;gap:10px;min-width:0}
.schedule-flow-head{display:grid;gap:2px}
.schedule-flow-head strong{color:var(--ink);font-size:15px}
.schedule-flow-head span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;line-height:1.35}
.schedule-day-picker{display:grid;gap:6px;border:1px solid var(--rule-soft);border-radius:7px;background:var(--bg);padding:8px}
.schedule-day-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.schedule-day-picker-head strong{color:var(--ink);font-size:13px}
.schedule-day-picker-head span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase}
.schedule-day-slots{display:grid;max-height:260px;overflow:auto;border:1px solid var(--rule-soft);border-radius:5px;background:#fff}
.schedule-day-slot{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start;border:0;border-bottom:1px solid var(--rule-soft);border-radius:0;background:#fff;color:var(--ink);padding:7px 8px;text-align:left}
.schedule-day-slot:last-child{border-bottom:0}
.schedule-day-slot:hover,.schedule-day-slot:focus-visible{outline:0;background:#f8fbff;box-shadow:inset 3px 0 0 var(--accent)}
.schedule-day-slot.selected{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent)}
.schedule-day-slot>span{color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800}
.schedule-day-slot>b{display:flex;flex-wrap:wrap;gap:4px;min-width:0;color:var(--ink-2);font-size:11px;font-weight:500}
.schedule-day-slot em,.schedule-day-slot i{border-radius:3px;background:var(--bg);color:var(--ink-3);padding:2px 5px;font-family:var(--font-mono);font-size:9px;font-style:normal;font-weight:800}
.schedule-day-slot i{background:#eff6ff;color:#1d4ed8}
.schedule-run-summary{display:grid;gap:5px;border:1px solid var(--rule-soft);border-radius:6px;background:var(--bg);color:var(--ink-3);padding:9px;font-size:12px;line-height:1.35}
.schedule-run-summary span{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}
.schedule-run-summary b{color:var(--accent-deep);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.schedule-search-picker{position:relative}
.schedule-search-trigger{width:100%;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left;line-height:1.35}
.schedule-search-trigger:hover,.schedule-search-trigger[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.schedule-search-trigger span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-search-menu{position:absolute;z-index:55;left:0;right:0;top:calc(100% + 4px);display:grid;gap:6px;max-height:min(380px,58vh);overflow:auto;border:1.5px solid var(--rule);border-radius:6px;background:#fff;box-shadow:0 16px 38px rgba(22,20,15,.18);padding:7px}
.schedule-search-menu[hidden]{display:none}
.schedule-search-menu input{position:sticky;top:0;z-index:1;width:100%;border:1.5px solid var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink);padding:9px 10px;font-size:13px}
.schedule-search-menu input:focus{outline:0;border-color:var(--accent)}
.schedule-search-option{display:grid;gap:2px;width:100%;border:0;border-radius:4px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left}
.schedule-search-option:hover,.schedule-search-option:focus-visible,.schedule-search-option.selected{outline:0;background:var(--accent-tint);color:var(--accent)}
.schedule-search-option strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;line-height:1.2}
.schedule-search-option small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-family:var(--font-mono);font-size:10px;line-height:1.35}
.schedule-search-option.selected strong{color:var(--accent-deep)}
.schedule-search-empty{border:1px dashed var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink-3);padding:10px;text-align:center;font-size:13px}
.car-group-driver-picker-field{position:relative}
.car-group-driver-trigger{width:100%;border:1.5px solid var(--rule-soft);border-radius:4px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left;line-height:1.35}
.car-group-driver-trigger:hover,.car-group-driver-trigger[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.car-group-driver-trigger span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.car-group-driver-picker{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);display:grid;gap:6px;max-height:min(420px,64vh);overflow:auto;border:1.5px solid var(--rule);border-radius:5px;background:#fff;box-shadow:0 14px 36px rgba(22,20,15,.18);padding:7px}
.car-group-driver-picker[hidden]{display:none}
.car-group-driver-picker input{position:sticky;top:0;z-index:1;width:100%;border:1.5px solid var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink);padding:9px 10px;font-size:13px}
.car-group-driver-picker input:focus{outline:0;border-color:var(--accent)}
.car-group-driver-option{display:grid;gap:2px;width:100%;border:0;border-radius:4px;background:#fff;color:var(--ink);padding:9px 10px;text-align:left}
.car-group-driver-option:hover,.car-group-driver-option:focus-visible,.car-group-driver-option.selected{outline:0;background:var(--accent-tint);color:var(--accent)}
.car-group-driver-option strong{font-size:13px;line-height:1.2}
.car-group-driver-option span,.car-group-driver-option small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:10px;color:var(--ink-3)}
.car-group-driver-option.selected strong{color:var(--accent-deep)}
.car-group-driver-empty{border:1px dashed var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--ink-3);padding:10px;text-align:center;font-size:13px}
.driver-type-checklist{display:grid;gap:6px;border:1px solid var(--rule-soft);border-radius:6px;background:#fff;padding:8px}
.driver-type-checklist label{display:flex;align-items:center;gap:8px;border:1px solid var(--rule-soft);border-radius:4px;background:var(--bg);padding:7px 8px;color:var(--ink);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase;cursor:pointer}
.driver-type-checklist label:has(input:checked){border-color:rgba(71,25,84,.28);background:var(--accent-tint);color:var(--accent-deep)}
.driver-type-checklist input{width:15px;height:15px;accent-color:var(--accent)}
.car-group-generated-code{width:100%;border:1.5px solid var(--rule-soft);border-radius:4px;background:var(--bg);color:var(--accent-deep);padding:9px 10px;font-family:var(--font-mono);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.car-group-hub-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

.car-group-hub-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--rule-soft);border-radius:6px;background:#fff;color:var(--ink);padding:10px;text-align:left}
.car-group-hub-option:hover,.car-group-hub-option:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(71,25,84,.08)}
.car-group-hub-option.selected{border-color:var(--accent);background:var(--accent-tint)}
.car-group-hub-option.nearest:not(.selected){border-color:rgba(21,128,61,.24);background:rgba(240,253,244,.72)}
.car-group-hub-option span{display:grid;gap:3px;min-width:0}
.car-group-hub-option b{font-size:13px;line-height:1.2;color:var(--ink)}
.car-group-hub-option small{font-family:var(--font-mono);font-size:10px;line-height:1.35;color:var(--ink-3)}
.car-group-hub-option strong{flex:none;color:var(--accent);font-family:var(--font-mono);font-size:12px;white-space:nowrap}
.car-group-guest-picker{border:1px solid var(--rule-soft);border-radius:6px;background:#fff;overflow:hidden}
.car-group-guest-toolbar{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--rule-soft);background:var(--bg);padding:8px}
.car-group-guest-toolbar input{flex:1;min-width:0;border:1.5px solid var(--rule-soft);border-radius:4px;background:#fff;color:var(--ink);padding:9px 10px;font-size:13px}
.car-group-guest-toolbar input:focus{outline:0;border-color:var(--accent)}
.car-group-guest-toolbar span{flex:none;color:var(--accent-deep);font-family:var(--font-mono);font-size:11px;font-weight:800;text-transform:uppercase}
.car-group-guest-options{display:grid;gap:6px;max-height:430px;overflow:auto;padding:8px}
.car-group-guest-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--rule-soft);border-radius:5px;background:#fff;padding:9px;cursor:pointer}
.car-group-guest-option:hover{border-color:rgba(71,25,84,.25)}
.car-group-guest-option.selected{border-color:rgba(71,25,84,.28);background:rgba(250,204,21,.12)}
.car-group-guest-option.reassignment{border-style:dashed}
.car-group-guest-option input{width:16px;height:16px;accent-color:var(--accent)}
.car-group-guest-option span{display:grid;gap:2px;min-width:0}
.car-group-guest-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink)}
.car-group-guest-option small,.car-group-guest-option em{font-family:var(--font-mono);font-size:10px;line-height:1.3;color:var(--ink-3);font-style:normal}
.car-group-guest-option em{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}

.car-group-input{width:118px;border:1.5px solid var(--rule-soft);border-radius:5px;background:#fff;padding:7px 8px;font-family:var(--font-mono);font-size:11px;color:var(--ink);text-transform:uppercase}
.car-group-input:focus{outline:none;border-color:var(--accent)}

@media(max-width:1180px){
  .drivers-page .page-head,.drivers-page .shell{max-width:100%}
  .drivers-page .panel-head{display:grid;grid-template-columns:1fr;gap:12px}
  .drivers-page .panel-actions{justify-content:stretch;width:100%}
  .driver-location-pager{grid-template-columns:repeat(2,minmax(0,1fr))}
  .driver-toolbar{min-width:0;width:100%;justify-items:stretch}
  .driver-toolbar-main{grid-template-columns:1fr}
  .driver-toolbar-actions{justify-content:flex-start}
  .driver-toolbar-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .driver-header-search{max-width:none}
}

@media(max-width:900px){
  .driver-board-map-wrap{padding:12px}
  .driver-board-map{height:72vh;min-height:560px}
  .driver-calendar-toolbar{grid-template-columns:1fr;align-items:stretch}
  .driver-calendar-left,.driver-calendar-month-nav,.driver-calendar-mode{justify-self:stretch}
  .driver-calendar-left,.driver-calendar-month-nav{justify-content:space-between}
  .driver-calendar-toolbar strong{min-width:0;font-size:20px}
  .driver-schedule-pool-list{grid-template-columns:1fr}
  .driver-schedule-pool-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
}

@media(max-width:760px){
  .drivers-page .shell{padding-left:10px;padding-right:10px}
  .driver-toolbar-main,.driver-toolbar-search-row{display:grid;grid-template-columns:1fr}
  .driver-toolbar-actions,.driver-toolbar-filter-row,.driver-location-pager{display:grid;grid-template-columns:1fr}
  .driver-view-toggle{width:100%}
  .driver-view-toggle .toggle-btn{width:auto;height:44px;flex:1}
  .driver-toolbar .btn,.driver-sort-select,.driver-filter-select,.driver-header-search,.driver-header-search input{width:100%;min-height:44px}
  .driver-run-panel{padding:10px}
  .driver-schedule-tabs{display:grid;grid-template-columns:1fr 1fr}
  .driver-schedule-tabs button{min-height:40px}
  .driver-run-table-wrap{overflow:visible;border:0;background:transparent}
  .driver-run-table{min-width:0;border:0;background:transparent}
  .driver-run-table thead{display:none}
  .driver-run-table,.driver-run-table tbody,.driver-run-table tr,.driver-run-table td{display:block;width:100%}
  .driver-run-table tr{margin-bottom:10px;border:1px solid var(--rule-soft);border-radius:7px;background:#fff;overflow:hidden}
  .driver-run-table tr:last-child{margin-bottom:0}
  .driver-run-table td{display:grid;grid-template-columns:minmax(94px,30%) minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid var(--rule-soft);padding:10px;white-space:normal}
  .driver-run-table td:last-child{border-bottom:0}
  .driver-run-table td::before{content:attr(data-label);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:800;text-transform:uppercase;padding-top:4px}
  .driver-schedule-static,.driver-schedule-static.address{max-width:none}
  .driver-schedule-location,.driver-schedule-notes,.driver-schedule-guest-select,.driver-schedule-kind-select,.driver-schedule-driver-picker-field,.driver-run-date,.driver-run-time{min-width:0;width:100%}
  .driver-run-guest-picker{min-width:0}
  .driver-run-save{width:100%;min-height:40px}
  .driver-dispatch-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .driver-calendar-left,.driver-calendar-month-nav{gap:8px}
  .driver-calendar-left .btn,.driver-calendar-month-nav .btn{min-height:40px}
  .driver-calendar-unscheduled{grid-template-columns:1fr}
  .schedule-flow-step{grid-template-columns:1fr}
  .schedule-run-summary span{grid-template-columns:1fr}
  .driver-scan-grid{grid-template-columns:1fr;padding:10px}
  .driver-board-map{height:calc(100vh - 240px);min-height:520px}
  .driver-map-assignment-scroll{overflow:visible;border:0;background:transparent}
  .driver-map-assignment-table table,.driver-map-assignment-table tbody,.driver-map-assignment-table tr,.driver-map-assignment-table td{display:block;width:100%;min-width:0}
  .driver-map-assignment-table thead{display:none}
  .driver-map-assignment-table tr{margin-bottom:10px;border:1px solid var(--rule-soft);border-radius:7px;background:#fff;overflow:hidden}
  .driver-map-assignment-table .driver-map-age-group-row{border:0;border-radius:0;background:transparent;margin:14px 0 6px;overflow:visible}
  .driver-map-assignment-table .driver-map-age-group-row th{display:block;border:0;border-bottom:1px solid var(--rule-soft);background:transparent;padding:0 0 5px}
  .driver-map-assignment-table tr:last-child{margin-bottom:0}
  .driver-map-assignment-table td{display:grid;grid-template-columns:minmax(104px,34%) minmax(0,1fr);gap:10px;border-bottom:1px solid var(--rule-soft);padding:9px 10px}
  .driver-map-assignment-table td:last-child{border-bottom:0}
  .driver-map-assignment-table td::before{content:attr(data-label);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:900;text-transform:uppercase}
  .driver-calendar-grid{grid-template-columns:1fr;min-height:auto}
  .driver-calendar-weekdays{display:none}
  .driver-calendar-day{min-height:112px}
  .driver-day-row{grid-template-columns:1fr}
  .driver-day-row-head{display:none}
  .driver-day-row>span{white-space:normal}
  .driver-map-layout{grid-template-columns:1fr}
  .driver-map{min-height:420px}
  .driver-run-head{align-items:stretch;flex-direction:column}
  .driver-run-search{min-width:0;width:100%}
  .driver-card-body{grid-template-columns:54px minmax(0,1fr)}
  .driver-seat-block b{font-size:24px}
  .car-group-hub-options{grid-template-columns:1fr}
  .car-group-guest-option{grid-template-columns:auto minmax(0,1fr)}
  .car-group-guest-option em{grid-column:2;text-align:left;max-width:none}
}

@media(max-width:520px){
  .driver-schedule-tabs{grid-template-columns:1fr}
  .driver-site-transportation-row{grid-template-columns:1fr}
  .driver-run-table td{grid-template-columns:1fr}
  .driver-run-table td::before{padding-top:0}
  .driver-schedule-pool-row{grid-template-columns:1fr}
}
