.service-runs-table{min-width:1120px}.service-runs-table td>strong{font-size:11px}.service-runs-table td small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.run-status{display:inline-flex;padding:5px 8px;border-radius:12px;font-size:8px;font-weight:800}.run-status.scheduled{background:#eef2f1;color:#62716d}.run-status.active{background:#e5f5ee;color:#117a63}.run-status.completed{background:#e7f0f7;color:#3d78a6}.run-status.cancelled{background:#fbe8e6;color:#bc544d}.run-actions{gap:6px}.run-action,.run-actions{display:flex;align-items:center}.run-action{height:29px;padding:0 9px;border:0;border-radius:7px;color:#fff;gap:5px;font-size:9px;font-weight:700;cursor:pointer}.run-action svg{width:13px}.run-action.start{background:var(--green)}.run-action.finish{background:var(--blue)}.run-action.cancel{background:#fbe8e6;color:#a8453e}.run-action:disabled{opacity:.55}.service-runs-table .edit-button{white-space:nowrap}.modal-title p{max-width:390px;margin:-10px 0 18px;color:var(--muted);font-size:10px;line-height:1.5}.routes-table{min-width:980px}.routes-table td>strong{font-size:11px}.route-modal{width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto}.route-modal form{display:block}.route-basic-fields{display:grid;grid-template-columns:1fr 180px;grid-gap:12px;gap:12px}.route-basic-fields .route-description{grid-column:1/-1}.route-map-tools{display:flex;align-items:center;gap:8px;margin:16px 0 9px}.route-map-tools button{height:34px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#f5f7f5;color:var(--muted);display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;cursor:pointer}.route-map-tools button svg{width:14px}.route-map-tools button.active.start{background:#e5f5ee;border-color:#b9ded0;color:var(--green)}.route-map-tools button.active.end{background:#e7f0f7;border-color:#bfd5e4;color:var(--blue)}.route-map-tools span{margin-left:auto;color:var(--muted);font-size:9px}.route-map-frame{position:relative}.route-map-canvas{height:430px;width:100%;border:1px solid var(--line);border-radius:11px;background:#e8eeeb;z-index:1}.route-road-status{position:absolute;z-index:500;left:10px;bottom:10px;display:grid;grid-template-columns:7px auto;align-items:center;grid-column-gap:6px;column-gap:6px;padding:7px 9px;border:1px solid #d7e1dd;border-radius:8px;background:#fffffff2;box-shadow:0 3px 12px #17352e22;color:var(--ink);font-size:8px;font-weight:800;pointer-events:none}.route-road-status>span{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#9aa8a3}.route-road-status small{grid-column:2;color:var(--muted);font-size:7px;font-weight:600}.route-road-status.ready>span{background:#117a63}.route-road-status.loading>span{background:#d98716;animation:pulse 1s infinite}.route-road-status.fallback>span{background:#b86035}.route-point-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:12px 0}.route-point-fields label{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8faf8}.route-point-fields input{width:120px}.route-point-fields small{display:block;margin-top:5px;color:var(--muted);font-size:8px;font-weight:500}.route-modal .save-button{width:100%}.route-modal .form-error{margin:10px 0}.route-map-canvas .leaflet-tooltip{border:0;border-radius:6px;box-shadow:0 2px 8px #102c2730;font:700 9px DM Sans;color:var(--ink)}@media(max-width:700px){.route-basic-fields,.route-point-fields{grid-template-columns:1fr}.route-basic-fields .route-description{grid-column:1}.route-map-tools{align-items:stretch;flex-wrap:wrap}.route-map-tools span{width:100%;margin:0}.route-map-canvas{height:340px}}.run-service-summary{min-width:235px;font-size:9px!important;color:var(--ink)!important}.route-address-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:14px}.route-address-card{position:relative;padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8faf8}.route-address-card.start:focus-within{border-color:#9dcfbd}.route-address-card.end:focus-within{border-color:#a9c9df}.route-address-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.route-address-title>span{font-size:9px;font-weight:800;color:var(--ink)}.route-address-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:7px}.route-address-input{display:flex;gap:6px}.route-address-input input{height:39px!important;margin:0!important;min-width:0}.route-address-input button{height:39px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:0;border-radius:7px;background:var(--green);color:#fff;font-size:8px;font-weight:800;cursor:pointer}.route-address-card.end .route-address-input button{background:var(--blue)}.route-address-input button:disabled{opacity:.65}.route-address-input svg{width:13px}.route-address-results{position:absolute;z-index:100;top:76px;left:10px;right:10px;max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 30px #17352e25}.route-address-results button{width:100%;display:flex;align-items:flex-start;gap:7px;padding:9px;border:0;border-bottom:1px solid #edf1ef;background:#fff;color:var(--ink);text-align:left;font-size:8px;line-height:1.35;cursor:pointer}.route-address-results button:last-child{border-bottom:0}.route-address-results button:hover{background:#eef6f2}.route-address-results svg{width:13px;min-width:13px;color:var(--green)}.route-address-empty,.route-address-error{margin:7px 0 0;color:var(--red);font-size:8px}.route-address-empty{color:var(--muted)}.route-map-attribution{margin:0 0 11px;text-align:right;color:var(--muted);font-size:7px}.route-modal .route-map-attribution+.form-error{margin-bottom:10px}@media(max-width:700px){.route-address-fields{grid-template-columns:1fr}.route-address-results{position:static;margin-top:7px}.route-address-input button span{display:none}}.route-address-results button>span{display:grid;grid-gap:3px;gap:3px}.route-address-results button small{color:#9a6a18;font-size:7px;font-weight:700}.service-runs-table{min-width:1250px}.run-trace-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid #cfe0da;background:#edf5f2;color:var(--green);padding:7px 9px;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer}.run-trace-toggle svg{width:13px;height:13px}.run-trace-toggle svg:last-child{width:11px}.run-trace-unavailable{display:block;max-width:80px;color:var(--muted);font-size:8px;line-height:1.35}.run-trace-row>td{padding:0 16px 16px!important;background:#f8faf8}.run-trace-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.run-trace-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;border-bottom:1px solid var(--line)}.run-trace-header>div:first-child{display:grid;grid-gap:2px;gap:2px}.run-trace-header strong{font-size:11px}.run-trace-header span{font-size:9px;color:var(--muted)}.run-trace-legend{display:flex;gap:13px}.run-trace-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.run-trace-legend i{width:9px;height:9px;border-radius:50%;background:#7357a8}.run-trace-legend i.start{background:#117a63}.run-trace-legend i.end{background:#3d78a6}.run-trace-map{height:420px;width:100%;background:#e8eeeb;z-index:1}.run-trace-empty,.run-trace-error,.run-trace-loading{height:220px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px}.run-trace-error{color:var(--red)}.run-trace-empty{flex-direction:column}.run-trace-empty svg{width:25px}.run-trace-popup{display:grid;grid-gap:3px;gap:3px;min-width:150px;font:10px DM Sans,sans-serif}.run-trace-popup strong{color:var(--green);text-transform:uppercase;font-size:8px}.run-trace-popup b{font-size:11px}.run-trace-popup span{color:var(--muted);font-size:9px}.spin{animation:run-spin .8s linear infinite}@keyframes run-spin{to{transform:rotate(1turn)}}@media(max-width:700px){.run-trace-header{align-items:flex-start;flex-direction:column}.run-trace-map{height:360px}}.route-row-actions{display:flex;gap:6px}.shift-button{display:flex;align-items:center;gap:5px;border:0;border-radius:7px;background:#e7f0f7;color:var(--blue);padding:6px 9px;font-size:9px;font-weight:800;cursor:pointer}.route-row-actions svg,.shift-button svg{width:13px}.route-reuse-policy{display:flex!important;align-items:flex-start;gap:9px;margin:0 0 12px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8faf8}.route-reuse-policy input{width:16px!important;height:16px!important;margin:1px 0 0!important}.route-reuse-policy span{display:grid;grid-gap:2px;gap:2px}.route-reuse-policy strong{font-size:9px}.route-reuse-policy small{color:var(--muted);font-size:8px}.shifts-modal{width:min(930px,100%);max-height:calc(100vh - 32px);overflow:auto}.shift-loading{height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px}.shift-list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.shift-list-toolbar>span{font-size:9px;color:var(--muted)}.shift-list-toolbar button{display:flex;align-items:center;gap:6px;border:0;border-radius:8px;background:var(--green);color:#fff;padding:9px 11px;font-size:9px;font-weight:800;cursor:pointer}.shift-list-toolbar svg{width:14px}.shift-card-list{display:grid;grid-gap:9px;gap:9px}.shift-card{display:grid;grid-template-columns:minmax(160px,1fr) 170px 210px auto;align-items:center;grid-gap:12px;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafcfa}.shift-card>div:first-child{display:grid;grid-gap:3px;gap:3px}.shift-card strong{font-size:11px}.shift-card small{font-size:8px;color:var(--muted)}.shift-active{width:max-content;padding:3px 6px;border-radius:8px;background:#edf0ef;color:var(--muted);font-size:7px;font-weight:800}.shift-active.active{background:#e2f3ec;color:var(--green)}.shift-card-times,.shift-card-vehicles{display:flex;gap:14px}.shift-card-times span,.shift-card-vehicles span{display:grid;grid-gap:2px;gap:2px;color:var(--muted);font-size:8px}.shift-card-times b{font-size:10px;color:var(--ink)}.shift-card-vehicles{flex-direction:column;gap:3px}.shift-card-vehicles .unassigned{color:#a36d16}.recurring-plan-empty,.shift-empty{min-height:190px;display:grid;place-items:center;align-content:center;grid-gap:5px;gap:5px;color:var(--muted)}.recurring-plan-empty svg,.shift-empty svg{width:28px}.recurring-plan-empty strong,.shift-empty strong{font-size:11px;color:var(--ink)}.recurring-plan-empty span,.shift-empty span{font-size:9px}.shift-editor-basics{display:grid;grid-template-columns:2fr 1fr 1fr auto;grid-gap:11px;gap:11px;align-items:end}.shift-editor-basics label{position:relative}.shift-editor-basics input{height:41px}.shift-editor-basics label small{position:absolute;right:8px;bottom:12px;color:var(--muted);font-size:7px}.shift-editor-basics .shift-enabled{height:41px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:8px}.shift-enabled input{width:15px;height:15px;margin:0}.shift-days-toolbar{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.shift-days-toolbar strong{font-size:10px}.shift-days-toolbar>div{display:flex;gap:6px}.shift-days-toolbar button{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 8px;color:var(--green);font-size:8px;font-weight:700;cursor:pointer}.shift-days-toolbar svg{width:12px}.shift-days{overflow:hidden;border:1px solid var(--line);border-radius:10px}.shift-day{display:grid;grid-template-columns:55px 1fr 150px 170px;align-items:center;grid-gap:10px;gap:10px;min-height:48px;padding:6px 12px;border-top:1px solid #edf1ef;background:#f7f9f8;color:var(--muted)}.shift-day:first-child{border-top:0}.shift-day.heading{min-height:31px;background:#edf2ef;text-transform:uppercase;font-size:7px;font-weight:800}.shift-day.enabled{background:#fff;color:var(--ink)}.shift-day>input[type=checkbox]{width:15px;height:15px}.shift-day>strong{font-size:9px}.shift-day input[type=time]{height:35px;margin:0}.shift-end-time{position:relative}.shift-end-time small{position:absolute;right:8px;top:14px;color:#a36d16;font-size:7px;font-weight:800}.shift-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.shift-editor-actions .save-button{width:auto;padding:0 16px}.shift-back{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);padding:0 14px;font-size:9px;font-weight:700;cursor:pointer}.recurring-plans{margin:15px 0}.recurring-plans-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.recurring-plans-heading h2{font:800 18px Manrope;margin:3px 0}.recurring-plans-heading p{margin:0;color:var(--muted);font-size:9px}.recurring-plans-heading>svg{width:27px;color:var(--green)}.recurring-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:10px;gap:10px}.recurring-plan-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.recurring-plan-title{display:flex;justify-content:space-between;gap:10px}.recurring-plan-title>div{display:grid;grid-gap:2px;gap:2px}.recurring-plan-title span{color:var(--green);font-size:8px;font-weight:800}.recurring-plan-title strong{font-size:11px}.recurring-plan-title svg{width:12px}.recurring-plan-schedule{display:flex;justify-content:space-between;margin:12px 0;padding:8px;border-radius:7px;background:#f4f7f5;font-size:8px}.recurring-plan-schedule b{font-size:9px}.recurring-plan-vehicles{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.recurring-plan-vehicles>div{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid var(--line);border-radius:7px}.recurring-plan-vehicles svg{width:14px;color:var(--blue)}.recurring-plan-vehicles span{display:grid;color:var(--muted);font-size:7px}.recurring-plan-vehicles b{color:var(--ink);font-size:9px}.shared-vehicle{display:flex;align-items:center;gap:4px;margin-top:7px;color:var(--green);font-size:7px;font-weight:800}.shared-vehicle svg{width:11px}.reuse-disabled{display:block;margin-top:7px;color:#a36d16;font-size:7px}.assignment-modal{width:min(560px,100%)}.assignment-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.assignment-form label{font-size:9px;font-weight:700}.assignment-form input[type=date],.assignment-form select{display:block;width:100%;height:41px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.assignment-form .same-vehicle{grid-column:1/-1;display:flex;align-items:center;gap:7px}.same-vehicle input{width:15px;height:15px}.assignment-form .form-error,.assignment-form .save-button{grid-column:1/-1}@media(max-width:750px){.shift-card{grid-template-columns:1fr 1fr}.shift-card-vehicles{grid-column:1/-1}.shift-editor-basics{grid-template-columns:1fr 1fr}.shift-editor-basics .shift-enabled,.shift-editor-basics label:first-child{grid-column:1/-1}.shift-day{grid-template-columns:40px 1fr 105px 120px}.recurring-plan-grid{grid-template-columns:1fr}}.programming-link{height:34px;display:flex;align-items:center;padding:0 12px;border-radius:8px;color:#fff!important;font-size:9px;font-weight:800;text-decoration:none}.schedule-page{max-width:none}.daily-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0}.schedule-date-nav,.schedule-primary-actions{display:flex;align-items:center;gap:7px}.schedule-date-nav>a:not(.today-link){width:34px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.schedule-date-nav svg{width:15px}.schedule-date-nav label{display:grid;grid-gap:2px;gap:2px;color:var(--muted);font-size:7px;font-weight:800}.schedule-date-nav input{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font:700 10px DM Sans}.today-link{margin-left:3px;color:var(--green);font-size:9px;font-weight:800}.schedule-primary-actions button{height:38px;display:flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:0 12px;font-size:9px;font-weight:800;cursor:pointer}.schedule-primary-actions svg{width:14px}.refresh-schedule{background:#e9f3ef;color:var(--green)}.publish-schedule{background:var(--green);color:#fff}.schedule-primary-actions button:disabled{opacity:.45;cursor:not-allowed}.schedule-message{display:flex;align-items:center;gap:7px;margin:8px 0;padding:10px 12px;border-radius:8px;font-size:9px;font-weight:700}.schedule-message.error{background:#fbe8e6;color:#a8453e}.schedule-message svg{width:15px}.schedule-empty{min-height:280px;display:grid;place-items:center;align-content:center;grid-gap:7px;gap:7px;border:1px dashed #cbd8d3;border-radius:13px;background:#fafcfa;text-align:center}.schedule-empty svg{width:34px;height:34px;color:var(--green)}.schedule-empty h2{margin:0;font:800 17px Manrope}.schedule-empty p{margin:0;color:var(--muted);font-size:9px}.schedule-summary{display:flex;gap:8px;margin:12px 0}.schedule-summary>div{min-width:130px;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.schedule-summary svg{width:17px;color:var(--green)}.schedule-summary span{display:grid;color:var(--muted);font-size:7px}.schedule-summary strong{color:var(--ink);font-size:11px}.schedule-summary strong.draft{color:#a36d16}.schedule-summary strong.published{color:var(--green)}.schedule-summary .warning{background:#fff8e9;border-color:#ead8ae}.schedule-summary .danger svg,.schedule-summary .warning svg{color:#b37618}.schedule-summary .danger{background:#fff0ee;border-color:#ecc3be}.unassigned-tray{display:grid;grid-template-columns:150px 1fr;grid-gap:12px;gap:12px;min-height:82px;margin:12px 0;padding:11px;border:1px dashed #d4b96e;border-radius:11px;background:#fffaf0}.unassigned-tray>div:first-child{display:grid;align-content:center;grid-gap:3px;gap:3px}.unassigned-tray strong{font-size:10px}.unassigned-tray span{color:var(--muted);font-size:8px}.unassigned-tray>div:last-child{display:flex;align-items:center;gap:7px;overflow-x:auto}.tray-ready{display:flex;align-items:center;gap:5px;color:var(--green)!important;font-weight:800}.tray-ready svg{width:14px}.dispatch-board{overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 20px #17352e0a}.dispatch-board>header,.vehicle-lane{display:grid;grid-template-columns:130px minmax(950px,1fr)}.dispatch-board>header{height:38px;background:#edf2ef;border-bottom:1px solid var(--line)}.vehicle-column-title{display:flex;align-items:center;padding:0 13px;border-right:1px solid var(--line);font-size:8px;font-weight:800;text-transform:uppercase}.timeline-scale{position:relative}.timeline-scale span{position:absolute;top:13px;transform:translateX(-50%);color:var(--muted);font-size:7px;font-weight:700}.timeline-scale span:first-child{transform:none}.timeline-scale span:last-child{transform:translateX(-100%)}.vehicle-lane{border-bottom:1px solid var(--line)}.vehicle-lane:last-child{border-bottom:0}.vehicle-lane-label{display:grid;grid-template-columns:22px 1fr;align-content:center;padding:10px 12px;border-right:1px solid var(--line);background:#fafcfa}.vehicle-lane-label svg{grid-row:1/3;width:16px;color:var(--blue)}.vehicle-lane-label strong{font-size:9px}.vehicle-lane-label small{color:var(--muted);font-size:7px}.vehicle-timeline{position:relative;min-height:76px;background:linear-gradient(90deg,#fff,#fcfdfc)}.vehicle-timeline>i{position:absolute;top:0;bottom:0;width:1px;background:#edf1ef}.schedule-run-card{position:absolute;z-index:2;min-width:100px;height:56px;overflow:hidden;display:grid;grid-gap:1px;gap:1px;padding:6px 8px;border:1px solid #a9d2c4;border-radius:8px;background:#e7f5ef;color:var(--ink);text-align:left;box-shadow:0 2px 7px #17352e12;cursor:pointer}.unassigned-tray .schedule-run-card{position:static;width:190px;min-width:190px}.schedule-run-card.outbound{border-color:#b8d1e3;background:#eaf2f8}.schedule-run-card.conflict{border-color:#e0a39c;background:#fff0ee}.schedule-run-card span{display:flex;justify-content:space-between;color:var(--green);font-size:7px;font-weight:800}.schedule-run-card.outbound span{color:var(--blue)}.schedule-run-card strong{font-size:8px}.schedule-run-card small,.schedule-run-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-run-card small{color:var(--muted);font-size:7px}.schedule-run-card i{display:flex;align-items:center;gap:3px;color:#ad4b43;font-size:7px;font-style:normal;font-weight:800}.schedule-run-card i svg{width:10px}.schedule-hint{margin:8px 2px;color:var(--muted);font-size:8px}.board-empty{padding:50px;color:var(--muted);text-align:center;font-size:9px}.assignment-form .assignment-note{grid-column:1/-1}.assignment-form input{display:block;width:100%;height:41px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px}.schedule-modal-actions{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}.schedule-modal-actions .save-button{width:auto;margin-left:auto}.cancel-item{border:0;background:#fbe8e6;color:#a8453e;border-radius:8px;padding:0 12px;font-size:9px;font-weight:800;cursor:pointer}@media(max-width:800px){.daily-schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-primary-actions button{flex:1 1;justify-content:center}.schedule-summary{overflow-x:auto}.unassigned-tray{grid-template-columns:1fr}.dispatch-board>header,.vehicle-lane{grid-template-columns:100px minmax(850px,1fr)}.vehicle-lane-label{padding:8px}.recurring-plans{margin-top:22px}}.route-basic-fields{grid-template-columns:1fr 1fr 160px}.fixed-vehicle-editor{display:grid;grid-template-columns:220px 1fr;grid-gap:14px;gap:14px;margin:16px 0;padding:13px;border:1px solid #cfe0da;border-radius:11px;background:#f4f9f7}.fixed-vehicle-editor>div:first-child{display:flex;align-items:flex-start;gap:9px}.fixed-vehicle-editor>div:first-child svg{width:18px;color:var(--green)}.fixed-vehicle-editor>div:first-child span{display:grid;grid-gap:3px;gap:3px}.fixed-vehicle-editor strong{font-size:10px}.fixed-vehicle-editor small{color:var(--muted);font-size:8px;line-height:1.4}.fixed-vehicle-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.fixed-vehicle-fields label{font-size:8px;font-weight:800}.fixed-vehicle-fields select{display:block;width:100%;height:38px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px}.fixed-vehicle-fields .same-vehicle{grid-column:1/-1;display:flex;align-items:center;gap:6px}.fixed-vehicle-fields .same-vehicle input{width:15px;height:15px}.shift-card-vehicles b{color:var(--ink)}.schedule-matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 20px #17352e0a}.schedule-matrix{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.schedule-matrix th{position:-webkit-sticky;position:sticky;top:0;z-index:2;height:42px;padding:0 12px;border-right:1px solid #d8e1dd;border-bottom:1px solid #c9d5d0;background:#91cf55;color:#102a24;font-size:9px;font-weight:900;text-align:center}.schedule-matrix th:first-child,.schedule-matrix th:nth-child(2){min-width:210px}.schedule-matrix th:nth-child(3){min-width:130px}.schedule-matrix th:first-child{text-align:left}.schedule-matrix td{height:58px;padding:6px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px}.schedule-matrix tr:last-child td{border-bottom:0}.matrix-customer{max-width:230px;background:#f3faef;color:#17352e;font-weight:800;vertical-align:top}.matrix-route{min-width:220px}.matrix-route small,.matrix-route strong{display:block}.matrix-route strong{font-size:10px}.matrix-route small{margin-top:3px;color:var(--green);font-size:7px;font-weight:800}.matrix-shift{min-width:120px;color:var(--muted);font-weight:700}.schedule-matrix td.has-run{padding:4px;background:#f6fbf7}.matrix-run-cell{position:relative;width:100%;min-width:78px;min-height:46px;display:grid;place-items:center;align-content:center;grid-gap:1px;gap:1px;border:1px solid #71c98a;border-radius:6px;background:#12b85a;color:#062c18;cursor:pointer}.matrix-run-cell:hover{filter:brightness(.96);box-shadow:inset 0 0 0 2px #ffffff70}.matrix-run-cell strong{font-size:11px}.matrix-run-cell small{font-size:7px;font-weight:800}.matrix-run-cell svg{position:absolute;right:3px;top:3px;width:11px}.matrix-run-cell:disabled{cursor:default}.schedule-matrix td:empty{background:#fcfdfc}@media(max-width:800px){.fixed-vehicle-editor,.fixed-vehicle-fields,.route-basic-fields{grid-template-columns:1fr}.fixed-vehicle-fields .same-vehicle{grid-column:1}.schedule-matrix th:first-child,.schedule-matrix th:nth-child(2){min-width:170px}}.matrix-legend{display:flex;align-items:center;gap:15px;margin:10px 2px 8px}.matrix-legend span{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:8px;font-weight:800}.matrix-legend i{width:13px;height:13px;border-radius:4px;background:#12b85a}.matrix-legend i.outbound{background:#4b9fd8}.matrix-legend small{margin-left:auto;color:var(--muted);font-size:8px}.matrix-run-cell.inbound{border-color:#71c98a;background:#12b85a;color:#062c18}.matrix-run-cell.outbound{border-color:#77afd4;background:#4b9fd8;color:#082b43}.matrix-run-cell.unassigned{border-color:#dec071;background:#fff4ce;color:#815d16}.matrix-run-cell.conflict{border-color:#dd8278;background:#f9a59d;color:#722c25}@media(max-width:800px){.matrix-legend{align-items:flex-start;flex-wrap:wrap}.matrix-legend small{width:100%;margin:0}}.schedule-matrix thead th:first-child{min-width:220px}.schedule-matrix thead th:not(:first-child){min-width:92px}.schedule-matrix .matrix-customer-title th{position:static;z-index:1;height:31px;padding:0 10px;border-right:0;border-bottom:1px solid #bcd59d;background:#e7f4dc;color:#17352e;text-align:left;font-size:9px;letter-spacing:.02em}.matrix-cell-runs{display:flex;align-items:stretch;gap:4px}.matrix-cell-runs .matrix-run-cell{flex:1 1;min-width:0;width:auto;padding:3px 2px}.matrix-legend i.modified{border:2px solid #d88a12;background:#fff2ce}.matrix-run-cell.modified{border-color:#c97900;box-shadow:inset 0 0 0 2px #ffd36d,0 0 0 1px #fff}.matrix-run-cell.modified:after{content:"MOD";position:absolute;top:2px;left:3px;padding:1px 3px;border-radius:4px;background:#fff2ce;color:#8a5708;font-size:5px;font-weight:900;letter-spacing:.04em}.additional-run-button{border:1px solid #cbb8eb!important;background:#f2ecfb!important;color:#68419b!important}.matrix-legend i.additional{border:2px dashed #8257b5;background:#f2ecfb}.matrix-run-cell.additional{border:2px dashed #71439f;box-shadow:inset 0 0 0 1px #ffffff90}.matrix-run-cell.additional:after{content:"OCASIONAL";position:absolute;top:2px;left:3px;padding:1px 3px;border-radius:4px;background:#f2ecfb;color:#63378e;font-size:5px;font-weight:900;letter-spacing:.04em}.additional-run-modal{width:min(700px,100%)}.additional-run-form{display:grid;grid-template-columns:2fr 1.3fr 1fr;grid-gap:11px;gap:11px}.additional-run-form label{font-size:9px;font-weight:700}.additional-run-form input,.additional-run-form select{display:block;width:100%;height:41px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.additional-run-form .additional-note,.additional-run-form .form-error,.additional-run-form .save-button{grid-column:1/-1}.additional-run-form .save-button{width:100%}.activate-additional{height:36px;display:flex;align-items:center;gap:5px;border:0;border-radius:8px;padding:0 11px;background:#7244a3;color:#fff;font-size:8px;font-weight:800;cursor:pointer}.activate-additional svg{width:13px}.activate-additional:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.additional-run-form{grid-template-columns:1fr}.additional-run-form .additional-note{grid-column:1}}.occasional-service-modal form{display:block}.occasional-basic-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:14px}.occasional-basic-fields input,.occasional-basic-fields select,.occasional-note input{display:block;width:100%;height:41px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.occasional-point-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:11px 0}.occasional-point-summary span{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occasional-point-summary strong{display:block;margin-bottom:3px;color:var(--ink);font-size:9px}.occasional-note{display:block;margin-top:12px}.occasional-service-modal .save-button{width:100%}@media(max-width:700px){.occasional-basic-fields,.occasional-point-summary{grid-template-columns:1fr}}.occasional-service-modal{width:min(1120px,100%)}.route-map-tools .occasional-add-stop{border-color:#cbb8eb;background:#f2ecfb;color:#68419b}.occasional-routing-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:12px;gap:12px}.occasional-map-column{min-width:0}.occasional-stop-editor{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.occasional-stop-editor .route-stop-heading{padding:10px;border-bottom:1px solid var(--line)}.occasional-stop-list{max-height:500px;overflow:auto;padding:8px}.occasional-stop-row{display:grid;grid-gap:8px;gap:8px;margin-bottom:8px;padding:9px;border:1px solid #dce5e1;border-radius:9px;background:#fff}.occasional-stop-row.active{border-color:#d29b42;box-shadow:0 0 0 2px #d29b4224}.occasional-stop-row>label{font-size:7px;font-weight:800}.occasional-stop-meta input,.occasional-stop-row>label input{display:block;width:100%;height:32px;margin-top:4px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fff;font-size:8px}.occasional-stop-meta{display:grid;grid-template-columns:1fr 100px;grid-gap:7px;gap:7px}.occasional-stop-meta label{font-size:7px;font-weight:800}.occasional-stop-row>small{color:var(--muted);font-size:7px}.occasional-stop-editor .route-stop-empty{min-height:230px;margin:0}.occasional-service-modal .route-map-canvas{height:500px}@media(max-width:900px){.occasional-routing-workspace{grid-template-columns:1fr}.occasional-service-modal .route-map-canvas{height:400px}.occasional-stop-list{max-height:360px}}.occasional-return-option{margin:2px 0 14px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.occasional-return-option.active{border-color:#9b82c2;background:#f7f3fc}.occasional-return-option>label{display:block;padding:11px;cursor:pointer}.occasional-return-option>label>input{position:absolute;opacity:0;pointer-events:none}.occasional-return-option>label>span{display:grid;grid-template-columns:28px 1fr;grid-column-gap:9px;column-gap:9px;align-items:center}.occasional-return-option>label svg{grid-row:1/3;width:20px;color:#68419b}.occasional-return-option>label strong{font-size:9px}.occasional-return-option>label small{color:var(--muted);font-size:8px}.occasional-return-option>label>input:focus-visible+span{outline:2px solid #68419b;outline-offset:4px;border-radius:4px}.occasional-return-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding:0 11px 11px}.occasional-return-fields input{display:block;width:100%;height:41px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.occasional-direction-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;margin:0 0 9px;padding:4px;border-radius:9px;background:#edf1ef}.occasional-direction-switch button{height:36px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:800}.occasional-direction-switch button.active{background:#fff;color:#68419b;box-shadow:0 1px 5px #20332d1a}@media(max-width:700px){.occasional-direction-switch,.occasional-return-fields{grid-template-columns:1fr}}.schedule-summary .operational-active{border-color:#9dd7c1;background:#effaf6}.schedule-summary .operational-active svg{color:#08765c}.schedule-summary .operational-completed{border-color:#b8d2e4;background:#f0f6fa}.schedule-summary .operational-completed svg{color:#2f719f}.schedule-summary .occasional{border-color:#cbb8eb;background:#f6f1fc}.schedule-summary .occasional svg{color:#7244a3}.schedule-summary>button.occasional.selected{border-color:#7244a3;box-shadow:0 0 0 2px #7244a329;background:#f2eafb}.matrix-legend{justify-content:space-between;gap:10px}.matrix-kind-legend,.matrix-status-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.matrix-status-legend{justify-content:flex-end}.matrix-status-legend small{margin-left:0}.matrix-status-legend i{width:9px;height:9px;border-radius:50%;background:#8e9a96}.matrix-status-legend i.active{background:#08765c;box-shadow:0 0 0 3px #ccecdf}.matrix-status-legend i.delayed{background:#d68112;box-shadow:0 0 0 3px #ffedca}.matrix-status-legend i.completed{background:#2f719f;box-shadow:0 0 0 3px #dcecf7}.matrix-cell-runs .matrix-run-cell{min-width:90px;min-height:61px;padding:18px 4px 5px}.matrix-run-cell .run-state-badge{position:absolute;top:3px;right:3px;max-width:calc(100% - 7px);height:13px;display:flex;align-items:center;gap:2px;padding:0 4px;border-radius:7px;background:#edf1ef;color:#52615c;font-size:5px;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden}.matrix-run-cell.additional .run-state-badge,.matrix-run-cell.modified .run-state-badge{max-width:calc(100% - 31px)}.matrix-run-cell .run-state-badge svg{position:static;width:7px;height:7px;min-width:7px}.matrix-run-cell .run-state-badge b{overflow:hidden;text-overflow:ellipsis}.matrix-run-cell .run-state-badge.active{background:#d7f3e8;color:#075f4b}.matrix-run-cell .run-state-badge.completed{background:#e1eff8;color:#245f88}.matrix-run-cell .run-state-badge.delayed{background:#fff0cf;color:#8a5508}.matrix-run-cell .run-state-badge.upcoming,.matrix-run-cell .run-state-badge.waiting{background:#fff8dd;color:#7a641a}.matrix-run-cell .run-state-badge.cancelled,.matrix-run-cell .run-state-badge.conflict{background:#ffe4e0;color:#943b34}.matrix-run-cell.run-active{outline:2px solid #27a985;outline-offset:1px}.matrix-run-cell.run-active .run-state-badge svg{animation:run-status-pulse 1.5s ease-in-out infinite}.matrix-run-cell.run-delayed{outline:2px solid #e0a23a;outline-offset:1px}.matrix-run-cell.run-completed{filter:saturate(.65);opacity:.9}.matrix-run-cell.run-cancelled{filter:grayscale(.55)}@keyframes run-status-pulse{50%{transform:scale(1.3);opacity:.55}}.assignment-operational-state{display:flex;align-items:center;gap:10px;margin:-3px 0 15px;padding:10px 12px;border:1px solid #d8e0dd;border-radius:9px;background:#f6f8f7}.assignment-operational-state>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e5ebe8;color:#64736e}.assignment-operational-state svg{width:15px}.assignment-operational-state>div{display:grid;grid-gap:2px;gap:2px}.assignment-operational-state strong{font-size:10px}.assignment-operational-state small{color:var(--muted);font-size:8px}.assignment-operational-state.active{border-color:#adddca;background:#effaf6}.assignment-operational-state.active>span{background:#d2f0e3;color:#08765c}.assignment-operational-state.delayed{border-color:#ecd098;background:#fff8e9}.assignment-operational-state.delayed>span{background:#ffebc2;color:#a3670d}.assignment-operational-state.completed{border-color:#bdd6e7;background:#f0f6fa}.assignment-operational-state.completed>span{background:#dcebf5;color:#2f719f}.assignment-operational-state.cancelled,.assignment-operational-state.conflict{border-color:#ecc3be;background:#fff0ee}.assignment-operational-state.cancelled>span,.assignment-operational-state.conflict>span{background:#fbdcd8;color:#a8453e}.assignment-state-note{grid-column:1/-1;margin:0;padding:9px 10px;border-radius:8px;background:#f1f4f2;color:var(--muted);font-size:8px;line-height:1.45}.assignment-form input:disabled,.assignment-form select:disabled{background:#f1f3f2;color:#76817d;cursor:not-allowed}@media(max-width:800px){.matrix-legend{align-items:flex-start;flex-direction:column}.matrix-status-legend{justify-content:flex-start}.matrix-cell-runs .matrix-run-cell{min-width:86px}}.matrix-cell-runs .matrix-run-cell{min-width:132px;min-height:94px;place-items:stretch;align-content:center;gap:4px;padding:8px 8px 7px 12px;overflow:hidden;text-align:left;background:#f2f5f4;color:#1b2b27;border:1px solid #b9c5c1;box-shadow:0 3px 9px #17352e14;filter:none;opacity:1}.matrix-run-cell:before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;width:6px;background:#12a95a}.matrix-run-cell.outbound:before{background:#348fc9}.matrix-run-cell.run-draft{background:#f6f4ee;border-color:#cbc6b8}.matrix-run-cell.run-scheduled{background:#f1f4f3;border-color:#aab7b3}.matrix-run-cell.run-upcoming,.matrix-run-cell.run-waiting{background:#fff8da;border-color:#d7b739}.matrix-run-cell.run-delayed{background:repeating-linear-gradient(135deg,#fff0d0,#fff0d0 10px,#ffe7b6 0,#ffe7b6 20px);border:2px solid #d77909;outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px #e7a13e,0 4px 12px #9c5c1830}.matrix-run-cell.run-active{background:#d9f5e9;border:2px solid #07805f;outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px #35ad8a,0 4px 13px #08765c33}.matrix-run-cell.run-completed{background:#eaf1f5;border-color:#7898a9}.matrix-run-cell.run-cancelled{background:#e9eceb;border-color:#aeb5b2;filter:grayscale(.7);opacity:.72}.matrix-run-cell.run-conflict{background:#ffe4df;border:2px solid #bf4c42}.matrix-run-cell.run-unassigned{background:#fff4d3;border-color:#d1a536}.matrix-run-cell.additional,.matrix-run-cell.modified{box-shadow:0 0 0 2px #fff,0 0 0 4px #d88a12,0 4px 12px #17352e18}.matrix-run-cell.additional{border-style:dashed}.matrix-run-cell.additional:after,.matrix-run-cell.modified:after{top:auto;left:auto;right:3px;bottom:3px}.matrix-run-cell .run-state-hero{display:flex;align-items:center;gap:6px;min-width:0;color:#52615c;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.025em}.matrix-run-cell .run-state-hero i{width:22px;height:22px;min-width:22px;display:grid;place-items:center;border-radius:50%;background:#dce3e0;color:#52615c}.matrix-run-cell .run-state-hero svg{position:static;width:13px;height:13px}.matrix-run-cell .run-state-hero b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-run-cell .run-state-hero.active{color:#075e49}.matrix-run-cell .run-state-hero.active i{background:#08765c;color:#fff;animation:run-hero-pulse 1.5s ease-in-out infinite}.matrix-run-cell .run-state-hero.delayed{color:#8d5100}.matrix-run-cell .run-state-hero.delayed i{background:#dc7b08;color:#fff}.matrix-run-cell .run-state-hero.completed{color:#416d82}.matrix-run-cell .run-state-hero.completed i{background:#527f95}.matrix-run-cell .run-state-hero.upcoming i,.matrix-run-cell .run-state-hero.waiting i{background:#d9ad21;color:#fff}.matrix-run-cell .run-state-hero.cancelled i,.matrix-run-cell .run-state-hero.conflict i{background:#b7463e;color:#fff}.matrix-run-cell .run-vehicle-code{display:block;margin-top:1px;color:#142923;font:900 14px Manrope;line-height:1}.matrix-run-cell .run-direction{width:max-content;max-width:100%;display:flex;align-items:center;gap:3px;padding:2px 5px;border-radius:5px;background:#d9f2e5;color:#087347;font-size:6px;font-weight:800;line-height:1.2}.matrix-run-cell .run-direction.outbound{background:#dcecf7;color:#266e9d}.matrix-run-cell .run-direction svg{position:static;width:9px;height:9px}.matrix-run-cell .run-direction small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:6px;font-weight:700}.matrix-run-cell .run-card-time{color:#5f6e69;font-size:6px;font-weight:800}.matrix-run-cell.run-active .run-card-time{color:#08705a}.matrix-run-cell.run-delayed .run-card-time{color:#945a0b}@keyframes run-hero-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 5px #6dd0b344}}@media(max-width:800px){.matrix-cell-runs .matrix-run-cell{min-width:122px}}.matrix-cell-runs .matrix-run-cell{min-width:102px;min-height:66px;gap:2px;padding:5px 6px 4px 9px}.matrix-run-cell:before{width:4px}.matrix-run-cell .run-state-hero{gap:4px;font-size:5.5px;letter-spacing:.015em}.matrix-run-cell .run-state-hero i{width:16px;height:16px;min-width:16px}.matrix-run-cell .run-state-hero svg{width:9px;height:9px}.matrix-run-cell .run-vehicle-code{margin-top:0;font-size:11px}.matrix-run-cell .run-direction{gap:2px;padding:1px 4px;border-radius:4px;font-size:5.5px}.matrix-run-cell .run-direction svg{width:7px;height:7px}.matrix-run-cell .run-direction small{font-size:5.5px}.matrix-run-cell .run-card-time{font-size:5.5px;line-height:1}.matrix-run-cell.additional:after,.matrix-run-cell.modified:after{right:2px;bottom:2px;font-size:4px}.schedule-matrix td{height:48px;padding:4px 6px}.schedule-matrix td.has-run{padding:3px}.matrix-cell-runs{gap:3px}@media(max-width:800px){.matrix-cell-runs .matrix-run-cell{min-width:96px}}.matrix-run-cell.additional:after{display:none}.matrix-run-cell .run-source-badge{position:absolute;z-index:3;right:4px;bottom:4px;max-width:calc(100% - 8px);overflow:hidden;padding:2px 5px;border-radius:5px;background:#7244a3;color:#fff;font-size:7px;font-weight:900;line-height:1;letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 4px #4c256c45}.matrix-run-cell .run-source-badge~.run-card-time{max-width:calc(100% - 64px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-vehicle-change{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;grid-gap:8px;gap:8px;margin:-4px 0 15px;padding:10px;border:1px solid #e2bd70;border-radius:9px;background:#fff8e9}.assignment-vehicle-change>div{display:grid;grid-gap:3px;gap:3px}.assignment-vehicle-change>div:last-child{text-align:right}.assignment-vehicle-change small{color:#93600f;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}.assignment-vehicle-change strong{color:#2b312f;font-size:10px}.assignment-vehicle-change>svg{width:15px;justify-self:center;color:#c47a08}@media(max-width:560px){.assignment-vehicle-change{grid-template-columns:1fr}.assignment-vehicle-change>svg{transform:rotate(90deg)}.assignment-vehicle-change>div:last-child{text-align:left}}.management-shell.schedule-page{padding:14px clamp(14px,2.5vw,36px) 32px}.schedule-page .management-header{padding-bottom:8px}.schedule-page .management-header .back-link{font-size:9px}.schedule-page .management-header .back-link svg{width:14px}.schedule-page .management-links a{padding:6px 9px;font-size:9px}.schedule-page .management-title{align-items:center;padding:11px 0 4px}.schedule-page .management-title>div{display:grid;grid-template-columns:auto 1fr;align-items:end;grid-column-gap:14px;column-gap:14px}.schedule-page .management-title .eyebrow{grid-column:1/-1;font-size:7px}.schedule-page .management-title h1{margin:2px 0 0;font-size:25px;line-height:1}.schedule-page .management-title p{align-self:center;margin-top:3px;font-size:9px}.schedule-page .schedule-date-nav,.schedule-page .schedule-primary-actions{gap:5px}.schedule-page .schedule-date-nav>a:not(.today-link){width:30px;height:32px}.schedule-page .schedule-date-nav svg{width:13px}.schedule-page .schedule-date-nav label{font-size:6px}.schedule-page .schedule-date-nav input{height:32px;padding:0 8px;font-size:9px}.schedule-page .today-link{font-size:8px}.schedule-page .schedule-primary-actions button{height:32px;padding:0 9px;font-size:8px}.schedule-page .schedule-primary-actions svg{width:12px}.schedule-page .schedule-summary{gap:6px;margin:6px 0}.schedule-page .schedule-summary>div{min-width:102px;gap:6px;padding:6px 8px;border-radius:8px}.schedule-page .schedule-summary svg{width:14px}.schedule-page .schedule-summary span{font-size:6px}.schedule-page .matrix-legend{margin:5px 2px 6px}.schedule-page .matrix-kind-legend,.schedule-page .matrix-status-legend{gap:10px}.schedule-page .matrix-legend small,.schedule-page .matrix-legend span{font-size:7px}.schedule-page .matrix-legend i{width:10px;height:10px}.schedule-page .matrix-status-legend i{width:7px;height:7px}.schedule-page .schedule-matrix-wrap{max-height:calc(100vh - 225px)}@media(max-width:800px){.management-shell.schedule-page{padding:12px 10px 80px}.schedule-page .management-title>div{display:block}.schedule-page .management-title h1{font-size:23px}.schedule-page .management-title p{margin-top:4px}.schedule-page .daily-schedule-toolbar{margin:8px 0}.schedule-page .schedule-summary{margin:7px 0}.schedule-page .schedule-matrix-wrap{max-height:none}}.schedule-summary>button{min-width:102px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.schedule-summary>button:hover{transform:translateY(-1px);border-color:#a9c7bd}.schedule-summary>button.selected{border-color:#117a63;box-shadow:0 0 0 2px #117a6326;background:#edf7f3}.schedule-summary>button.warning.selected{border-color:#d98716;box-shadow:0 0 0 2px #d9871628}.schedule-summary>button.danger.selected{border-color:#c8554c;box-shadow:0 0 0 2px #c8554c26}.schedule-summary>button.operational-completed.selected{border-color:#3d78a6;box-shadow:0 0 0 2px #3d78a626}.schedule-summary>button:focus-visible{outline:2px solid #17352e;outline-offset:2px}.schedule-matrix td.now-column.before,.schedule-matrix th.now-column.before{box-shadow:inset 2px 0 #d65a43}.schedule-matrix td.now-column.after,.schedule-matrix th.now-column.after{box-shadow:inset -2px 0 #d65a43}.schedule-matrix th.now-column{padding-top:12px}.now-line-label{position:absolute;z-index:4;top:2px;left:0;transform:translateX(-50%);padding:1px 4px;border-radius:6px;background:#d65a43;color:#fff;font-size:5px;font-weight:900;line-height:1.2;white-space:nowrap}.now-column.after .now-line-label{right:0;left:auto;transform:translateX(50%)}.board-empty>span{display:block;margin-bottom:8px}.board-empty>button{border:1px solid #b8d4ca;border-radius:7px;background:#edf6f2;color:var(--green);padding:6px 9px;font-size:8px;font-weight:800;cursor:pointer}@media(max-width:800px){.schedule-summary>button{min-width:98px}.now-line-label{transform:none;left:2px}.now-column.after .now-line-label{right:2px;transform:none}}.schedule-customer-filter{min-width:170px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:6px;gap:6px;padding:5px 7px;border:1px solid #bfd5cd;border-radius:8px;background:#edf6f2;color:var(--green)}.schedule-customer-filter>span{font-size:6px!important;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.schedule-customer-filter select{min-width:0;width:100%;height:25px;border:0;border-radius:5px;background:#fff;padding:0 5px;color:var(--ink);font-size:7px;font-weight:800;outline:none}.schedule-customer-filter select:focus{box-shadow:0 0 0 2px #117a6330}@media(max-width:800px){.schedule-customer-filter{min-width:160px}}.schedule-matrix .matrix-customer-title th{height:37px;padding:0 14px;border-top:2px solid #8fca58;border-bottom:1px solid #aaca8f;background:linear-gradient(90deg,#d9edc9,#e8f5de 55%,#f2f8ee);box-shadow:inset 5px 0 #5eaa45;color:#183c30;font-size:11px;font-weight:900;letter-spacing:.025em;text-transform:none}.schedule-matrix tbody .matrix-customer-title:first-child th{border-top:0}@media(max-width:800px){.schedule-matrix .matrix-customer-title th{height:34px;padding-left:11px;font-size:10px}}.manual-run-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-3px 0 15px;padding:11px 12px;border:1px solid #bcd7cd;border-radius:9px;background:#f2f8f5}.manual-run-controls>div:first-child{display:grid;grid-gap:2px;gap:2px}.manual-run-controls strong{font-size:9px}.manual-run-controls span{color:var(--muted);font-size:7px;line-height:1.4}.manual-run-controls>div:last-child{display:flex;gap:6px}.manual-run-confirm button,.manual-run-controls button{height:32px;display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:7px;padding:0 10px;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap}.manual-run-confirm button svg,.manual-run-controls button svg{width:12px}.manual-run-confirm button:disabled,.manual-run-controls button:disabled{opacity:.5;cursor:not-allowed}.manual-start{background:var(--green);color:#fff}.manual-finish{background:var(--blue);color:#fff}.manual-cancel{background:#fbe8e6;color:#a8453e}.manual-run-confirm{display:grid;grid-gap:10px;gap:10px;margin:-7px 0 15px;padding:12px;border:1px solid #d6b568;border-radius:9px;background:#fff8e9}.manual-run-confirm.finish{border-color:#a8c9df;background:#f1f7fb}.manual-run-confirm.cancel{border-color:#e6b5af;background:#fff3f1}.manual-run-confirm>div:first-child{display:grid;grid-gap:3px;gap:3px}.manual-run-confirm strong{font-size:10px}.manual-run-confirm span{color:var(--muted);font-size:8px;line-height:1.45}.manual-run-confirm label{font-size:8px;font-weight:800}.manual-run-confirm input{display:block;width:100%;height:38px;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:0 9px;background:#fff}.manual-run-confirm>.form-error{margin:0}.manual-run-confirm>div:last-child{display:flex;justify-content:flex-end;gap:7px}.manual-action-back{border:1px solid var(--line)!important;background:#fff;color:var(--muted)}.manual-action-confirm{background:#805c13;color:#fff}.manual-run-confirm.finish .manual-action-confirm{background:var(--blue)}.manual-run-confirm.cancel .manual-action-confirm{background:#a8453e}@media(max-width:620px){.manual-run-controls{align-items:stretch;flex-direction:column}.manual-run-controls>div:last-child{flex-wrap:wrap}.manual-run-controls button{flex:1 1}.assignment-form{grid-template-columns:1fr}}.schedule-view-toolbar{display:flex;align-items:center;gap:8px;margin:7px 0 5px}.schedule-view-mode{display:flex;padding:3px;border:1px solid #bfd5cd;border-radius:9px;background:#edf3f1}.schedule-view-mode button{height:29px;border:0;border-radius:6px;background:transparent;padding:0 12px;color:#66746f;font-size:8px;font-weight:800;cursor:pointer}.schedule-view-mode button.selected{background:#fff;color:var(--green);box-shadow:0 1px 4px #17352e18}.schedule-entity-filter{min-width:210px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:7px;gap:7px;padding:4px 7px;border:1px solid #bfd5cd;border-radius:9px;background:#edf6f2;color:var(--green)}.schedule-entity-filter.vehicle{min-width:250px;border-color:#b8d2e4;background:#f0f6fa;color:#2f719f}.schedule-entity-filter>span{font-size:6px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.schedule-entity-filter select{min-width:0;width:100%;height:27px;border:0;border-radius:5px;background:#fff;padding:0 6px;color:var(--ink);font-size:8px;font-weight:800;outline:none}.schedule-entity-filter select:focus{box-shadow:0 0 0 2px #117a6330}.schedule-summary .operational-cancelled{border-color:#d8bfbb;background:#f8efed}.schedule-summary .operational-cancelled svg{color:#9b514b}.schedule-summary>button.operational-cancelled.selected{border-color:#a8453e;box-shadow:0 0 0 2px #a8453e26;background:#fbe8e6}.schedule-matrix .matrix-customer-title.vehicle th{border-color:#a9c9df;background:linear-gradient(90deg,#dcebf5,#edf5fa 55%,#f7fafc);box-shadow:inset 5px 0 #3d78a6;color:#234d68}@media(max-width:800px){.schedule-view-toolbar{align-items:stretch;flex-direction:column}.schedule-entity-filter,.schedule-view-mode{width:100%;min-width:0}.schedule-view-mode button{flex:1 1}.schedule-summary{overflow-x:auto}}.schedule-matrix .matrix-vehicle-row td{height:72px;padding-top:3px;padding-bottom:3px;vertical-align:middle}.schedule-matrix .matrix-vehicle-label{min-width:220px;padding:8px 12px;border-left:5px solid #3d78a6;background:linear-gradient(90deg,#e3f0f8,#f5f9fb)}.schedule-matrix .matrix-vehicle-label strong{color:#234d68;font-size:10px}.schedule-matrix .matrix-vehicle-label small{color:#3d78a6;font-size:7px;font-weight:800}.matrix-vehicle-row .matrix-cell-runs,.matrix-vehicle-row .matrix-run-cell{height:100%}.matrix-vehicle-row .matrix-run-cell{min-height:64px}@media(max-width:800px){.schedule-matrix .matrix-vehicle-label{min-width:180px}}.schedule-vehicle-multiselect{position:relative;min-width:280px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:7px;gap:7px;padding:4px 7px;border:1px solid #b8d2e4;border-radius:9px;background:#f0f6fa;color:#2f719f}.schedule-vehicle-multiselect>span{font-size:6px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.schedule-vehicle-multiselect details{position:relative}.schedule-vehicle-multiselect summary{height:27px;display:flex;align-items:center;gap:6px;padding:0 7px;border-radius:5px;background:#fff;color:var(--ink);font-size:8px;cursor:pointer;list-style:none}.schedule-vehicle-multiselect summary::-webkit-details-marker{display:none}.schedule-vehicle-multiselect summary:after{content:"⌄";margin-left:auto;color:#63736e;font-size:11px;font-weight:900}.schedule-vehicle-multiselect details[open] summary{box-shadow:0 0 0 2px #3d78a62d}.schedule-vehicle-multiselect summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-vehicle-multiselect summary i{min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;background:#3d78a6;color:#fff;font-size:7px;font-style:normal}.schedule-vehicle-options{position:absolute;z-index:20;top:33px;right:0;width:300px;max-height:310px;overflow:auto;padding:7px;border:1px solid #b9cdc6;border-radius:9px;background:#fff;box-shadow:0 10px 28px #17352e2b}.schedule-vehicle-options-header{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 8px;border-bottom:1px solid var(--line)}.schedule-vehicle-options-header strong{font-size:8px;color:var(--ink)}.schedule-vehicle-options-header button{border:0;background:transparent;color:var(--green);font-size:7px;font-weight:900;cursor:pointer}.schedule-vehicle-options-header button:disabled{color:#a4aeaa;cursor:default}.schedule-vehicle-options label{display:grid;grid-template-columns:16px 1fr;align-items:center;grid-gap:7px;gap:7px;padding:7px 5px;border-radius:6px;color:var(--ink);cursor:pointer}.schedule-vehicle-options label:hover{background:#f1f7f4}.schedule-vehicle-options input{width:14px;height:14px;margin:0;accent-color:#3d78a6}.schedule-vehicle-options label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700}@media(max-width:800px){.schedule-vehicle-multiselect{width:100%;min-width:0}.schedule-vehicle-options{right:auto;left:0;width:min(300px,calc(100vw - 40px))}}.schedule-vehicle-multiselect.customer{min-width:250px;border-color:#bfd5cd;background:#edf6f2;color:var(--green)}.schedule-vehicle-multiselect.customer details[open] summary{box-shadow:0 0 0 2px #117a6330}.schedule-vehicle-multiselect.customer summary i{background:var(--green)}.schedule-vehicle-multiselect.customer .schedule-vehicle-options input{accent-color:var(--green)}.assignment-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto}.assignment-trace{overflow:hidden;margin:0 0 15px;border:1px solid var(--line);border-radius:11px;background:#fff}.assignment-trace-header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:#f8faf9}.assignment-trace-header>div{display:flex;align-items:center;gap:9px}.assignment-trace-header>div>svg{width:18px;color:var(--blue)}.assignment-trace-header span{display:grid;grid-gap:2px;gap:2px}.assignment-trace-header strong{font-size:10px}.assignment-trace-header small{color:var(--muted);font-size:8px}.assignment-trace-header>.spin{width:15px;color:var(--blue)}.assignment-trace .run-trace-map{height:300px}.assignment-trace .run-trace-empty,.assignment-trace .run-trace-error,.assignment-trace .run-trace-loading{height:220px}@media(max-width:750px){.assignment-trace .run-trace-map{height:260px}}.run-trace-popup{min-width:190px;max-height:280px;overflow-y:auto}.run-stop-marker-shell{border:0!important;background:transparent!important}.run-stop-marker-shell>span{width:18px;height:18px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--marker-color);color:#fff;box-shadow:0 2px 5px #17352e52;cursor:pointer;transition:transform .15s,filter .15s}.run-stop-marker-shell:hover>span{transform:scale(1.18);filter:brightness(1.08)}.run-stop-marker-shell svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.run-trace-popup-record{display:grid;grid-gap:2px;gap:2px;padding-top:6px;margin-top:3px;border-top:1px solid #e5ebe8}.run-trace-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:420px}.run-trace-details{max-height:420px;overflow:auto;border-left:1px solid var(--line);background:#fbfcfb;padding:12px;display:grid;align-content:start;grid-gap:11px;gap:11px}.run-progress-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.run-progress-summary span{min-width:0;border:1px solid #dfe8e4;border-radius:8px;background:#fff;padding:8px 6px;color:var(--muted);font-size:7px;text-align:center}.run-progress-summary strong{display:block;margin-bottom:2px;color:var(--green);font-size:14px}.run-trace-details section{overflow:hidden;border:1px solid #e0e8e4;border-radius:9px;background:#fff}.run-detail-heading{height:34px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1ef}.run-detail-heading strong{font-size:9px}.run-detail-heading span{min-width:21px;height:21px;padding:0 7px;border-radius:11px;background:#edf5f2;color:var(--green);display:grid;place-items:center;font-size:8px;font-weight:800}.run-passenger-summary{max-height:210px;overflow:auto}.run-passenger-summary>div{display:flex;gap:7px;align-items:flex-start;padding:8px 9px;border-top:1px solid #f0f3f1}.run-passenger-summary>div:first-child{border-top:0}.run-passenger-summary i{flex:0 0 auto;width:8px;height:8px;margin-top:3px;border-radius:50%;background:#4d8fbd}.run-passenger-summary i.onboard{background:#2aa876}.run-passenger-summary span{display:grid;grid-gap:2px;gap:2px;min-width:0}.run-passenger-summary b{font-size:9px}.run-passenger-summary small{color:var(--muted);font-size:7px;line-height:1.4}.run-pending-stops{margin:0;padding:5px 9px 7px 30px;max-height:210px;overflow:auto}.run-pending-stops li{padding:5px 2px;color:#4f5f59;font-size:8px;font-weight:700}.run-detail-empty{margin:0;padding:10px;color:var(--muted);font-size:8px}.assignment-trace .run-trace-layout{grid-template-columns:1fr}.assignment-trace .run-trace-details{display:none}@media(max-width:1050px){.run-trace-layout{grid-template-columns:1fr}.run-trace-details{max-height:none;border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr)}.run-progress-summary{grid-column:1/-1}}@media(max-width:700px){.run-trace-details{grid-template-columns:1fr}.run-progress-summary{grid-column:auto}.run-trace-layout{min-height:0}}.schedule-automation-state{display:flex;align-items:center;gap:9px;margin:-3px 0 12px;padding:9px 12px;border:1px solid #cfe0da;border-radius:9px;background:#f1f7f4;color:var(--green)}.schedule-automation-state>svg{width:17px;flex:none}.schedule-automation-state>div{display:grid;grid-gap:2px;gap:2px}.schedule-automation-state strong{font-size:9px}.schedule-automation-state span{color:var(--muted);font-size:8px}.schedule-automation-state.blocked{border-color:#edcf9d;background:#fff8ea;color:#9a6714}.schedule-automation-state.blocked span{color:#805f29}.matrix-run-cell.inbound.run-scheduled{background:#e3f5eb;border-color:#83c8a2;color:#153c2e}.matrix-run-cell.outbound.run-scheduled{background:#e4f1fa;border-color:#84b9dc;color:#173a51}.matrix-run-cell.run-completed{background:#e9eeec;border-color:#9eaaa6;color:#34413d;filter:none;opacity:1}.matrix-run-cell.run-cancelled{background:#fde7e4;border-color:#d9877f;color:#672f2a;filter:none;opacity:1}.matrix-run-cell.outbound.run-cancelled:before,.matrix-run-cell.run-cancelled:before{background:#c8554c}.matrix-run-cell.outbound.run-cancelled .run-direction,.matrix-run-cell.run-cancelled .run-direction{background:#f8d5d1;color:#8b3831}.matrix-status-legend i.scheduled{background:linear-gradient(90deg,#5caf7d 0 50%,#589fce 50%);box-shadow:0 0 0 3px #e5f2eb}.matrix-status-legend i.cancelled{background:#c8554c;box-shadow:0 0 0 3px #f8d9d5}.matrix-status-legend i.completed{background:#7c8985;box-shadow:0 0 0 3px #e3e8e6}.route-configure{white-space:nowrap}.route-import-trigger{background:#e8f1f7!important;color:var(--blue)!important}.route-wizard{width:min(1080px,100%);padding:23px}.route-wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:0 0 18px;padding:5px;border-radius:11px;background:#f1f4f2}.route-wizard-steps button{height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;background:transparent;color:#72807b;font-size:9px;font-weight:800;cursor:default}.route-wizard-steps button span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#dce3e0;font-size:8px}.route-wizard-steps button span svg{width:11px}.route-wizard-steps button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #17352e12}.route-wizard-steps button.active span,.route-wizard-steps button.complete span{background:var(--green);color:#fff}.route-wizard-steps button.complete{cursor:pointer;color:#49665c}.route-wizard-panel{min-height:430px}.route-wizard-panel .route-reuse-policy{margin-top:17px}.route-wizard-loading{height:430px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px}.route-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.route-wizard-actions>button{width:auto;height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:0 16px;font-size:9px;font-weight:800;cursor:pointer}.route-wizard-actions svg{width:14px}.route-wizard-back{border:1px solid var(--line);background:#fff;color:var(--muted)}.route-wizard-next{border:0;background:var(--green);color:#fff}.route-wizard-error{margin:11px 0 0!important}.route-shifts-panel{min-height:430px}.route-shifts-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.route-shifts-toolbar>div{display:grid;grid-gap:3px;gap:3px}.route-shifts-toolbar strong{font-size:11px}.route-shifts-toolbar span{color:var(--muted);font-size:8px}.route-shifts-toolbar>button{display:flex;align-items:center;gap:5px;border:0;border-radius:8px;background:var(--green);color:#fff;padding:9px 11px;font-size:8px;font-weight:800;cursor:pointer}.route-shifts-toolbar svg{width:13px}.route-shift-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.route-shift-table{width:100%;min-width:900px;border-collapse:collapse}.route-shift-table th{padding:9px 11px;background:#edf2ef;color:#71807a;text-align:left;text-transform:uppercase;font-size:7px;letter-spacing:.04em}.route-shift-table td{padding:11px;border-top:1px solid var(--line);font-size:8px;vertical-align:middle}.route-shift-table td>small,.route-shift-table td>strong{display:block}.route-shift-table td>strong{font-size:9px}.route-shift-table td>small{margin-top:3px;color:var(--muted);font-size:7px}.route-shift-table tr.expanded>td{background:#f3f8f5}.shift-expand{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);cursor:pointer}.shift-expand svg{width:13px;transition:transform .15s}.route-shift-table tr.expanded .shift-expand svg{transform:rotate(180deg)}.route-shift-editor-row>td{padding:0!important;background:#f8faf9}.route-shift-editor{padding:14px}.route-shift-general{display:grid;grid-template-columns:2fr 150px 170px auto;align-items:end;grid-gap:10px;gap:10px}.route-shift-general label{font-size:8px;font-weight:800}.route-shift-general .shift-enabled,.route-shift-general input{height:38px}.shift-remove{height:38px;display:flex;align-items:center;gap:5px;border:1px solid #e4bbb6;border-radius:8px;background:#fff3f1;color:#a8453e;padding:0 10px;font-size:8px;font-weight:800;cursor:pointer}.shift-remove svg{width:12px}.shift-flow-table{overflow:hidden;margin-top:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.shift-flow-heading,.shift-flow-row{display:grid;grid-template-columns:130px 1fr 1fr;align-items:center}.shift-flow-heading{min-height:34px;background:#edf3f0}.shift-flow-heading strong{padding:0 10px;font-size:8px}.shift-flow-heading strong:last-child{border-left:1px solid #d9e2de}.shift-flow-row{min-height:48px;border-top:1px solid var(--line)}.shift-flow-row>span{padding:0 10px;color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase}.shift-flow-row>label,.shift-flow-row>select{margin:6px 9px}.shift-flow-row>label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:7px}.shift-flow-row input,.shift-flow-row select{height:34px!important;margin:0!important}.shift-flow-row input{width:100px!important}.shift-flow-row>label:last-child,.shift-flow-row>select:last-child{border-left:0}.route-shift-days{margin-top:0}.route-import-modal{width:min(850px,100%);max-height:calc(100vh - 35px);overflow:auto}.route-import-file,.route-template-download{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.route-template-download{margin-bottom:9px;background:#edf6f2;color:var(--green)}.route-import-file>svg,.route-template-download>svg{width:20px;flex:none}.route-import-file span,.route-template-download span{display:grid;grid-gap:2px;gap:2px}.route-import-file strong,.route-template-download strong{font-size:9px}.route-import-file small,.route-template-download small{color:var(--muted);font-size:7px}.route-import-file{position:relative;background:#fafcfa;cursor:pointer}.route-import-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.route-import-loading{color:var(--muted);font-size:9px}.route-import-error{display:flex;align-items:center;gap:6px;margin:10px 0}.route-import-error svg{width:14px}.route-import-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:12px 0}.route-import-summary>div{display:grid;grid-gap:2px;gap:2px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8faf9;text-align:center}.route-import-summary strong{font:800 18px Manrope}.route-import-summary span{color:var(--muted);font-size:7px}.route-import-preview{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:9px}.route-import-preview table{width:100%;border-collapse:collapse}.route-import-preview th{position:-webkit-sticky;position:sticky;top:0;padding:8px 10px;background:#edf2ef;text-align:left;font-size:7px}.route-import-preview td{padding:9px 10px;border-top:1px solid var(--line);font-size:8px;vertical-align:top}.route-import-preview td:first-child small,.route-import-preview td:first-child strong,.route-import-preview td:last-child small{display:block}.route-import-preview td small{margin-top:3px;color:var(--muted);font-size:7px}.route-import-preview td:last-child small{color:#a8453e}.route-import-status{display:inline-flex;padding:4px 6px;border-radius:9px;background:#e4f3ec;color:var(--green);font-size:7px;font-weight:800}.route-import-status.update,.route-import-status.updated{background:#e7f0f7;color:var(--blue)}.route-import-status.failed,.route-import-status.invalid{background:#fbe8e6;color:#a8453e}.route-import-confirm{width:100%;margin-top:12px}.route-import-success{min-height:300px;display:grid;place-items:center;align-content:center;grid-gap:7px;gap:7px;text-align:center}.route-import-success>svg{width:35px;color:var(--green)}.route-import-success strong{font:800 18px Manrope}.route-import-success span{color:var(--muted);font-size:9px}.route-import-success button{margin-top:10px;border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px 14px;font-size:9px;font-weight:800;cursor:pointer}@media(max-width:760px){.route-wizard{padding:16px}.route-wizard-steps{grid-template-columns:1fr}.route-wizard-steps button{justify-content:flex-start;padding-left:12px}.route-shift-general{grid-template-columns:1fr 1fr}.route-shift-general label:first-child{grid-column:1/-1}.shift-flow-heading,.shift-flow-row{grid-template-columns:90px 1fr 1fr}.route-import-summary{grid-template-columns:1fr}}.matrix-run-cell .run-state-hero.completed i{background:#168468;color:#fff}.assignment-trace .run-trace-details{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;border-left:0;border-top:1px solid var(--line)}.assignment-trace .run-progress-summary{grid-column:1/-1}@media(max-width:700px){.assignment-trace .run-trace-details{grid-template-columns:1fr}.assignment-trace .run-progress-summary{grid-column:auto}}.runs-day-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.runs-date-nav,.runs-toolbar-actions{display:flex;align-items:center;gap:7px}.programming-link,.runs-date-nav>a{height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #cfe0da;border-radius:8px;background:#fff;color:var(--green);font-size:8px;font-weight:800;text-decoration:none}.runs-date-nav>a{width:36px}.runs-date-nav>a svg{width:14px}.runs-date-nav .today-link{width:auto;padding:0 11px}.runs-date-nav label{height:44px;display:grid;grid-template-columns:18px auto;grid-template-rows:15px 19px;grid-column-gap:7px;column-gap:7px;align-items:center;padding:4px 9px;border:1px solid #cfe0da;border-radius:8px;background:#fff}.runs-date-nav label>svg{grid-row:1/-1;width:15px;color:var(--green)}.runs-date-nav label>span{align-self:end;color:var(--muted);font-size:6px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.runs-date-nav input{width:124px;height:19px;padding:0;border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:800;outline:0}.runs-toolbar-actions .additional-run-button{height:36px;display:flex;align-items:center;gap:5px;padding:0 12px;border-radius:8px;font-size:8px;font-weight:800;cursor:pointer}.runs-toolbar-actions .additional-run-button svg{width:13px}.programming-link{padding:0 13px;background:var(--green);border-color:var(--green);color:#fff}.run-publication-notice{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:10px 12px;border:1px solid #d8e2de;border-radius:9px;background:#f7f9f8;color:#62716d}.run-publication-notice>svg{width:17px;flex:none}.run-publication-notice>div{display:grid;grid-gap:2px;gap:2px}.run-publication-notice strong{font-size:9px}.run-publication-notice span{color:var(--muted);font-size:8px;line-height:1.4}.run-publication-notice.published{border-color:#b8decf;background:#eff8f4;color:#117a63}.run-publication-notice.pending{border-color:#d7d2e8;background:#f5f2fb;color:#7357a8}.run-publication-notice.blocked{border-color:#e8c995;background:#fff7e8;color:#956111}.run-publication-notice.not_generated{border-color:#d8e2de;background:#f7f9f8;color:#62716d}.run-publication-notice.info{border-color:#bad4e5;background:#f1f7fb;color:#39759f}.run-dashboard{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));grid-gap:8px;gap:8px;margin:0 0 12px}.run-dashboard>a{display:grid;grid-gap:3px;gap:3px;min-height:61px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);text-decoration:none;box-shadow:0 2px 7px #17352e0a;transition:transform .15s,border-color .15s,box-shadow .15s}.run-dashboard>a span{font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.run-dashboard>a strong{color:var(--ink);font:800 18px Manrope}.run-dashboard>a:hover{transform:translateY(-1px)}.run-dashboard>a.total{border-color:#b9d9ce;background:#f1f8f5}.run-dashboard>a.scheduled{border-color:#cddbd6;background:#f7f9f8}.run-dashboard>a.occasional{border-color:#cbb8eb;background:#f6f1fc;color:#7244a3}.run-dashboard>a.operational-active{border-color:#9dd7c1;background:#effaf6;color:#08765c}.run-dashboard>a.operational-completed{border-color:#b8d2e4;background:#f0f6fa;color:#2f719f}.run-dashboard>a.warning{border-color:#ead8ae;background:#fff8e9;color:#a36d16}.run-dashboard>a.active{box-shadow:inset 0 0 0 1px currentColor,0 2px 7px #17352e0a}.run-dashboard>a.scheduled.active,.run-dashboard>a.total.active{border-color:#117a63;color:var(--green)}.run-dashboard>a.active strong{color:currentColor}.run-status.delayed{background:#fff0cf;color:#8a5508}.run-row-delayed>td{background:#fffaf0}.run-row-delayed>td:first-child{box-shadow:inset 3px 0 #d68112}.run-service-summary{max-width:180px;color:#52615c;font-size:8px;line-height:1.4}.run-trace-legend i.reading{background:#7357a8}.run-row-occasional>td{background:#fcfaff}.run-row-occasional>td:first-child{box-shadow:inset 3px 0 #7244a3}.run-row-occasional.run-row-delayed>td{background:#fffaf0}.run-row-occasional.run-row-delayed>td:first-child{box-shadow:inset 3px 0 #d68112}.run-route-meta{display:flex;align-items:center;gap:6px;margin-top:4px}.service-runs-table td .run-route-meta small{display:inline;margin:0}.run-origin-badge{display:inline-flex;align-items:center;height:17px;padding:0 7px;border-radius:9px;background:#eee5fa;color:#68419b;font-size:7px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}@media(max-width:900px){.runs-day-toolbar{align-items:stretch;flex-direction:column}.runs-toolbar-actions{align-self:flex-start;flex-wrap:wrap}.run-dashboard{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.runs-date-nav{flex-wrap:wrap}.runs-date-nav label{order:-1;width:100%}.runs-date-nav input{width:100%}.run-dashboard{grid-template-columns:repeat(2,1fr)}}.run-trace-legend i.planned{background:#aeb9b4}.run-trace-legend i.executed{background:#315f73}.run-progress-summary{grid-template-columns:repeat(5,1fr)}.run-progress-summary span.off-route{border-color:#e4aaa5;background:#fff3f2;color:#9d352d}.run-progress-summary span.off-route strong{color:#b7443b}.run-progress-summary span.had-deviation{border-color:#efd49e;background:#fff9ed}.run-progress-summary span.had-deviation strong{color:#9a6410}.run-trace-map-wrap{position:relative;min-width:0}.run-map-state-legend{position:absolute;z-index:500;top:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px 9px;max-width:270px;padding:7px 9px;border:1px solid #dce5e1;border-radius:8px;background:#fffffff2;box-shadow:0 3px 10px #17352e24;color:#33443f;font-size:7px;font-weight:800}.run-map-state-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.run-map-state-legend i{width:9px;height:9px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #bdc9c4}.run-map-state-legend i.visited{background:#168468}.run-map-state-legend i.skipped{background:#d54236}.run-map-state-legend i.pending{background:#d98716}.run-map-state-legend i.missed-route{width:16px;height:5px;border:0;border-radius:2px;background:repeating-linear-gradient(90deg,#d54236 0 6px,transparent 6px 9px);box-shadow:none}.run-progress-summary span.missed-stops{border-color:#e4aaa5;background:#fff3f2;color:#9d352d}.run-progress-summary span.missed-stops strong{color:#b7443b}.run-skipped-stops{border-color:#edb3ae!important}.run-skipped-stops .run-detail-heading{background:#fff4f3}.run-skipped-stops .run-detail-heading span,.run-skipped-stops .run-detail-heading strong{color:#a93e36}.run-skipped-stops .run-detail-heading span{background:#f9d9d6}.run-skipped-stops li{color:#a43b34}.run-variation-badge{display:inline-flex;align-items:center;gap:3px;width:max-content;max-width:100%;height:17px;padding:0 6px;border:1px solid #e2a09a;border-radius:9px;background:#fff0ee;color:#aa3f36;font-size:6px;font-weight:900;line-height:1;white-space:nowrap}.run-variation-badge svg{position:static!important;width:9px!important;height:9px!important;min-width:9px}.matrix-run-cell.route-variation{border:2px solid #c94d43;box-shadow:0 0 0 2px #fff,0 0 0 4px #e58b83,0 4px 12px #8f30273b}.matrix-run-cell.route-variation .run-variation-badge{position:absolute;z-index:3;right:3px;bottom:3px;height:14px;padding:0 4px;font-size:5px}.matrix-run-cell.route-variation .run-card-time{padding-bottom:14px}.run-route-meta .run-variation-badge{height:18px;font-size:7px}@media(max-width:700px){.run-map-state-legend{top:8px;right:8px;left:55px;max-width:none}}.route-map-tools button.active.shape{background:#f2ecfb;border-color:#cbb8eb;color:#68419b}.route-map-fit{position:absolute;z-index:500;top:10px;right:10px;height:31px;padding:0 10px;border:1px solid #c9d9d3;border-radius:8px;background:#fffffff2;color:var(--green);box-shadow:0 3px 10px #17352e20;font-size:8px;font-weight:800;cursor:pointer}.coordinate-pair-fields{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;grid-gap:8px;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.coordinate-pair-fields>strong{align-self:center;font-size:8px}.coordinate-pair-fields label{font-size:7px;font-weight:800}.coordinate-pair-fields input{display:block;width:100%;height:34px;margin-top:4px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fff}.coordinate-pair-fields button{height:34px;border:0;border-radius:7px;padding:0 10px;background:#e4f2ec;color:var(--green);font-size:8px;font-weight:800;cursor:pointer}.coordinate-pair-fields>small{grid-column:2/-1;color:var(--red);font-size:7px}.route-origin-coordinate{margin:9px 0}.occasional-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:9px 0}.occasional-coordinate-fields .coordinate-pair-fields{grid-template-columns:1fr 1fr}.occasional-coordinate-fields .coordinate-pair-fields>button,.occasional-coordinate-fields .coordinate-pair-fields>strong{grid-column:1/-1}.existing-route-additional-modal{width:min(850px,100%);max-height:calc(100vh - 32px);overflow:auto}.additional-source-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;margin:0 0 14px;padding:5px;border-radius:10px;background:#f0f3f2}.additional-source-switch button{height:37px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:8px;font-weight:800;cursor:pointer}.additional-source-switch button.active{background:#fff;color:#68419b;box-shadow:0 2px 8px #17352e14}.existing-route-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:9px}.existing-route-additional-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.additional-existing-note,.existing-route-additional-form>label{font-size:8px;font-weight:800}.existing-route-additional-form input,.existing-route-additional-form select{display:block;width:100%;height:39px;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.existing-route-summary{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #cfe0da;border-radius:9px;background:#f1f7f4}.existing-route-summary>svg{width:20px;color:var(--green)}.existing-route-summary span{display:grid;grid-gap:2px;gap:2px}.existing-route-summary strong{font-size:9px}.existing-route-summary small{color:var(--muted);font-size:8px}.additional-sense{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px;margin:0;padding:0;border:0}.additional-sense legend{margin-bottom:6px;font-size:8px;font-weight:800}.additional-sense button{display:grid;grid-gap:2px;gap:2px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.additional-sense button.active{border-color:#9e7ac7;background:#f5effb;color:#68419b}.additional-sense strong{font-size:9px}.additional-sense small{color:var(--muted);font-size:7px}.additional-shift-warning{grid-column:1/-1;margin:0;padding:8px 10px;border:1px solid #ead09d;border-radius:8px;background:#fff8e9;color:#8e6219;font-size:8px}.additional-leg-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.additional-leg-grid.inbound,.additional-leg-grid.outbound{grid-template-columns:1fr}.additional-leg-grid>section{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafcfa}.additional-leg-grid header{grid-column:1/-1;display:flex;align-items:center;gap:7px}.additional-leg-grid header>svg{width:18px;color:var(--green)}.additional-leg-grid header span{display:grid}.additional-leg-grid header strong{font-size:9px}.additional-leg-grid header small{color:var(--muted);font-size:7px}.additional-leg-grid section>label{font-size:7px;font-weight:800}.additional-leg-grid section>label:first-of-type{grid-column:1/-1}.restore-shift-values{grid-column:1/-1;width:max-content;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#68419b;font-size:8px;font-weight:800;cursor:pointer}.restore-shift-values svg{width:12px}.additional-existing-note,.existing-route-additional-form>.form-error,.existing-route-additional-form>.save-button{grid-column:1/-1}.existing-route-additional-form>.save-button{width:100%}@media(max-width:760px){.additional-leg-grid,.coordinate-pair-fields,.existing-route-additional-form,.occasional-coordinate-fields{grid-template-columns:1fr}.coordinate-pair-fields>button,.coordinate-pair-fields>strong{grid-column:1}.additional-leg-grid>section,.additional-sense{grid-template-columns:1fr}.additional-leg-grid header,.additional-leg-grid section>label:first-of-type{grid-column:1}}.occasional-shape-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:-2px 0 9px;color:var(--muted);font-size:8px}.occasional-shape-actions span{margin-right:auto}.occasional-shape-actions button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 9px;border:1px solid #cbb8eb;border-radius:8px;background:#fff;color:#68419b;font-size:8px;font-weight:800;cursor:pointer}.occasional-shape-actions button svg{width:12px}.occasional-shape-actions button:disabled{border-color:var(--line);color:#9aa8a3;cursor:not-allowed;opacity:.7}.route-occupancy-cell{display:grid;grid-gap:2px;gap:2px;min-width:120px}.route-occupancy-cell strong{color:var(--green);font-size:9px}.route-occupancy-cell small{margin:0!important;white-space:nowrap}.schedule-live-state{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #b9ddcf;border-radius:15px;background:#eff9f5;color:#0b765d;font-size:7px;font-weight:900;white-space:nowrap}.schedule-live-state svg{width:11px}.schedule-live-state.live svg{animation:live-pulse 2s ease-in-out infinite}.schedule-live-state.connecting,.schedule-live-state.reconnecting{border-color:#e4d19f;background:#fff8e9;color:#976514}.schedule-live-state.stale{border-color:#e5b1ac;background:#fff1ef;color:#a23c34}.schedule-live-state.stale svg{animation:none}@keyframes live-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:760px){.daily-schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-primary-actions{flex-wrap:wrap}.schedule-live-state{order:-1}}.schedule-page .management-header{gap:12px;flex-wrap:wrap;padding-bottom:6px}.schedule-heading{display:flex;align-items:center;gap:10px;min-width:0}.schedule-heading h1{margin:0;font:800 20px/1.2 Manrope,sans-serif}.schedule-heading p{margin:0;color:var(--muted);font-size:9px}.schedule-page .schedule-heading .back-link{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid var(--line);border-radius:8px;background:#fff}.schedule-page .daily-schedule-toolbar{flex-wrap:wrap;gap:6px;margin:6px 0}.schedule-page .schedule-primary-actions{flex-wrap:wrap}.schedule-page .schedule-date-nav label{display:flex;align-items:center;gap:6px}.schedule-page .schedule-date-nav label>span{font-size:8px}.schedule-automation-details{margin:4px 0 6px;color:var(--green);font-size:9px}.schedule-automation-details summary{display:flex;align-items:center;gap:6px;min-height:26px;width:-moz-fit-content;width:fit-content;max-width:100%;cursor:pointer;list-style:none}.schedule-automation-details summary::-webkit-details-marker{display:none}.schedule-automation-details summary>svg{width:14px;height:14px;flex:none}.schedule-automation-details summary>span{font-size:8px;color:var(--muted);text-decoration:underline}.schedule-automation-details summary:after{content:"▾";margin-left:2px}.schedule-automation-details[open] summary:after{content:"▴"}.schedule-automation-details p{margin:0;padding:3px 0 6px 20px;color:var(--muted);font-size:9px}.schedule-automation-details.blocked{padding:4px 9px;border:1px solid #edcf9d;border-radius:8px;background:#fff8ea;color:#9a6714}.schedule-automation-details.blocked p{color:#805f29}.schedule-filter-strip{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:6px}.schedule-page .schedule-view-toolbar{flex:none;gap:6px;margin:0}.schedule-page .schedule-view-mode{padding:2px}.schedule-page .schedule-view-mode button{height:28px}.schedule-page .schedule-vehicle-multiselect{min-width:0;width:230px;padding:2px 6px}.schedule-page .schedule-summary{flex-wrap:wrap;gap:5px;margin:0;overflow:visible;padding:2px}.schedule-page .schedule-summary>button,.schedule-page .schedule-summary>div{min-width:0;min-height:34px;gap:5px;border-radius:7px}.schedule-page .schedule-summary span{display:flex;align-items:center;gap:6px;font-size:8px;white-space:nowrap}.schedule-page .schedule-summary strong{font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-page .schedule-summary svg{width:13px;height:13px;flex:none}.schedule-page .schedule-matrix-wrap{max-height:calc(100dvh - 210px)}.schedule-page .schedule-matrix thead th:first-child{left:0;z-index:5}.schedule-page .schedule-matrix .matrix-route{position:-webkit-sticky;position:sticky;left:0;z-index:3;background-color:#fff;box-shadow:1px 0 var(--line)}.schedule-page .schedule-matrix .matrix-customer-title th{z-index:4}.schedule-page .schedule-matrix-wrap:focus-visible,.schedule-page summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media(max-width:1100px){.schedule-heading p{max-width:260px}.schedule-page .schedule-matrix-wrap{max-height:calc(100dvh - 260px)}}@media(max-width:800px){.schedule-heading{flex-wrap:wrap;gap:6px}.schedule-heading p{flex-basis:100%;max-width:none}.schedule-page .daily-schedule-toolbar{flex-direction:row}.schedule-page .schedule-view-toolbar{flex-direction:row;flex-wrap:wrap;width:100%}.schedule-page .schedule-view-mode{width:auto}.schedule-page .schedule-vehicle-multiselect{flex:1 1;min-width:190px}.schedule-page .schedule-summary{width:100%}.schedule-page .schedule-matrix-wrap{max-height:65dvh}}.schedule-time-mode{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;color:var(--muted)}.schedule-time-mode select{padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--green);font:inherit}.half-hour-columns .matrix-cell-runs{flex-direction:column;height:auto;gap:7px}.half-hour-columns .matrix-cell-runs .matrix-run-cell{flex:none;width:100%;height:auto;min-height:72px}.matrix-run-cell .run-exact-start{display:flex;align-items:baseline;gap:7px;padding:4px 0;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.matrix-run-cell .run-exact-start small{font-weight:700}.matrix-run-cell .run-exact-start b{font-size:11px;line-height:1.2;font-weight:800}.schedule-matrix .now-column.band{position:relative;box-shadow:none}.schedule-matrix .now-column.band:after{content:"";position:absolute;z-index:3;top:0;bottom:0;left:var(--now-position);width:2px;background:#d65a43;pointer-events:none}.now-column.band .now-line-label{left:var(--now-position);right:auto;transform:translateX(-50%)}.schedule-matrix{--schedule-label-width:150px;--schedule-slot-width:140px;table-layout:fixed;min-width:calc(var(--schedule-label-width) + var(--schedule-columns,1)*var(--schedule-slot-width))}.schedule-matrix .schedule-label-column{width:var(--schedule-label-width)}.schedule-matrix .matrix-route,.schedule-matrix .matrix-vehicle-label,.schedule-matrix thead th:first-child{width:var(--schedule-label-width);min-width:0;max-width:var(--schedule-label-width);padding-left:9px;padding-right:9px}.schedule-matrix thead th:not(:first-child){min-width:0}.schedule-matrix .matrix-route strong{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:10px}.schedule-matrix .matrix-route small{font-size:8px}.matrix-run-cell .run-vehicle-code{font-size:14px}.matrix-run-cell .run-exact-start{padding:2px 0;gap:5px}.matrix-run-cell .run-exact-start small{font-size:8px;font-weight:600}.schedule-matrix .now-column.band{position:-webkit-sticky;position:sticky}.schedule-matrix td.now-column.band{position:relative}@media(max-width:800px){.schedule-matrix{--schedule-label-width:105px;--schedule-slot-width:132px}.schedule-matrix .matrix-route,.schedule-matrix .matrix-vehicle-label{padding-left:6px;padding-right:6px}.schedule-matrix .matrix-route strong{font-size:9px}.schedule-time-mode,.schedule-view-toolbar{flex-wrap:wrap}}.schedule-site-toggle{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.schedule-site-toggle.selected{background:#e5f3ed;border-color:var(--green)}.schedule-matrix .matrix-site-title th{position:static;height:32px;text-align:left;background:#f0f6f3;color:var(--green-dark);padding:0 12px;border-bottom:1px solid var(--line)}.matrix-site-title button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.matrix-site-title small{font-size:8px;font-weight:500;color:var(--muted)}.schedule-time-mode select{max-width:260px}.schedule-matrix tr[hidden]{display:none}@media(max-width:800px){.schedule-time-mode select{max-width:200px}.matrix-site-title button{flex-wrap:wrap}}.schedule-customer-site-options{width:max-content;max-width:min(620px,calc(100vw - 48px));display:flex;padding:0;overflow:auto}.schedule-customer-site-options>section{width:280px;min-width:0;padding:7px;max-height:310px;overflow:auto}.schedule-customer-site-options>section+section{border-left:1px solid var(--line)}.schedule-customer-site-options label span{white-space:normal;overflow-wrap:anywhere}@media(max-width:600px){.schedule-customer-site-options{width:calc(100vw - 48px);flex-direction:column}.schedule-customer-site-options>section{width:auto;max-height:200px}.schedule-customer-site-options>section+section{border-left:0;border-top:1px solid var(--line)}}.matrix-run-cell .run-vehicle-code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.2}.schedule-matrix{--schedule-slot-width:170px}.matrix-run-cell .driver-availability{position:absolute;right:5px;top:5px;width:18px;height:18px;color:#84918c}.matrix-run-cell .driver-availability svg{position:static;width:16px;height:16px}.matrix-run-cell .driver-availability.confirmed{color:#117a63}.matrix-run-cell .driver-availability.pending{color:#ad720c}.matrix-run-cell .driver-availability .availability-clock{position:absolute;right:-2px;bottom:0;width:9px;height:9px;background:#fff;border-radius:50%}.matrix-run-cell .run-state-hero{padding-right:22px}.schedule-page .management-links a,.schedule-page .schedule-date-nav label>span,.schedule-page .schedule-heading p,.schedule-page .today-link{font-size:11px}.schedule-page .schedule-date-nav input{font-size:13px;height:34px}.schedule-page .schedule-date-nav>a:not(.today-link){height:34px;width:34px}.schedule-page .schedule-primary-actions button{font-size:11px;min-height:34px;height:auto;padding:8px 10px;line-height:1.25}.schedule-page .schedule-live-state{font-size:10px;height:32px}.schedule-page .schedule-primary-actions svg{width:14px;height:14px;flex:none}.schedule-page .schedule-automation-details{font-size:11px;margin:3px 0 6px}.schedule-page .schedule-automation-details p,.schedule-page .schedule-automation-details summary>span{font-size:10px}.schedule-page .schedule-filter-strip{column-gap:8px;row-gap:6px}.schedule-page .schedule-time-mode{font-size:11px;gap:6px}.schedule-page .schedule-time-mode select{height:32px;padding:4px 8px}.schedule-page .schedule-view-mode button{font-size:11px;height:30px;padding:0 9px}.schedule-page .schedule-vehicle-multiselect{width:250px}.schedule-page .schedule-vehicle-multiselect>span{font-size:9px}.schedule-page .schedule-vehicle-multiselect summary{font-size:11px;height:30px}.schedule-page .schedule-vehicle-options label span,.schedule-page .schedule-vehicle-options-header button,.schedule-page .schedule-vehicle-options-header strong{font-size:11px}.schedule-page .schedule-summary>button,.schedule-page .schedule-summary>div{min-height:36px;padding:5px 8px}.schedule-page .schedule-summary span{font-size:11px;gap:5px}.schedule-page .schedule-summary strong{font-size:13px}.schedule-page .schedule-summary svg{width:15px;height:15px}.schedule-page .schedule-legend{margin:7px 0 6px}.schedule-page .schedule-legend .matrix-legend{margin:0;gap:6px 18px;flex-wrap:wrap;align-items:center}.schedule-page .matrix-kind-legend,.schedule-page .matrix-status-legend{flex-wrap:wrap;gap:5px 12px}.schedule-page .matrix-legend small,.schedule-page .matrix-legend span{font-size:10px;line-height:1.4}.schedule-page .matrix-legend span{white-space:nowrap}@media(max-width:800px){.schedule-page .schedule-date-nav label{flex-wrap:wrap}.schedule-page .schedule-primary-actions{gap:6px}.schedule-page .schedule-primary-actions button{min-height:40px}.schedule-page .schedule-view-toolbar{gap:6px}.schedule-page .schedule-legend .matrix-legend{justify-content:flex-start}}