:root{color-scheme:light;--paper: #f6f1e6;--paper-deep: #efe9d9;--card: #fdfbf5;--card-sunk: #f2ecdd;--ink: #262b25;--ink-soft: #5c6255;--ink-faint: #8f947f;--line: #e2dac5;--line-strong: #cbc1a7;--pine: #146844;--pine-deep: #0e5236;--leaf: #2fbf71;--pine-tint: #e2efe4;--pine-line: #b2d3bc;--cream-ink: #f8f4e9;--amber-ink: #8a5c14;--amber-tint: #f7ecd1;--amber-line: #e0ca92;--clay-ink: #a53f2b;--clay-tint: #f8e4dc;--clay-line: #e3b5a5;--sky-ink: #3c5e78;--sky-tint: #e3edf4;--sky-line: #b7cddd;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Instrument Sans", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--shadow-s: 0 1px 2px rgb(88 74 42 / 5%), 0 3px 10px rgb(88 74 42 / 5%);--shadow-m: 0 2px 4px rgb(88 74 42 / 6%), 0 16px 40px rgb(88 74 42 / 10%);--ease-out: cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;line-height:1.55;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(1100px 480px at 88% -12%,rgb(47 191 113 / 8%),transparent 62%),radial-gradient(900px 560px at -12% 112%,rgb(214 168 84 / 8%),transparent 58%),var(--paper);background-attachment:fixed}#root{min-height:100vh;isolation:isolate}::selection{background:color-mix(in srgb,var(--leaf) 30%,var(--paper) 70%)}a{color:inherit;text-decoration:none}p a,.route-primary a{color:var(--pine);font-weight:600}h1,h2,p{margin-top:0}h1{margin-bottom:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(2rem,1.35rem + 2.1vw,2.8rem);font-weight:560;font-variation-settings:"opsz" 72;line-height:1.04;letter-spacing:-.015em}h2{margin-bottom:6px;color:var(--ink);font-family:var(--font-display);font-size:1.24rem;font-weight:600;font-variation-settings:"opsz" 28;line-height:1.2;letter-spacing:-.005em}p{margin-bottom:12px}small,.muted{color:var(--ink-soft)}small{font-size:.84rem}.eyebrow{margin:0 0 10px;color:var(--pine);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.page-subtitle{margin:10px 0 0;color:var(--ink-soft);font-size:1.02rem}.error-text{color:var(--clay-ink);font-weight:600}button,.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;padding:0 18px;font:inherit;font-weight:600;letter-spacing:.005em;cursor:pointer;transition:background .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .18s var(--ease-out)}button,.primary-action{border:1px solid var(--pine-deep);background:var(--pine);color:var(--cream-ink);box-shadow:var(--shadow-s)}button:hover,.primary-action:hover{background:var(--pine-deep);transform:translateY(-1px)}button:active,.primary-action:active,.secondary-action:active{transform:translateY(0) scale(.99)}button:disabled,button:disabled:hover{border-color:var(--line);background:var(--card-sunk);color:var(--ink-faint);cursor:not-allowed;box-shadow:none;transform:none}.secondary-action{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);box-shadow:none}.secondary-action:hover{border-color:var(--pine);color:var(--pine);background:var(--card);transform:translateY(-1px)}.secondary-action:disabled,.secondary-action:disabled:hover{border-color:var(--line);color:var(--ink-faint);background:var(--card-sunk)}.danger-action,.danger-action:hover{border-color:var(--clay-line);background:var(--card);color:var(--clay-ink)}.danger-action:hover{border-color:var(--clay-ink)}.icon-action{min-width:38px;min-height:38px;padding:0;font-size:1rem;line-height:1}input,select{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:10px;background:var(--card);color:var(--ink);padding:0 14px;font:inherit;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}input:hover,select:hover{border-color:var(--ink-faint)}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--pine)}input:focus,select:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--leaf) 24%,transparent)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--pine);outline-offset:2px}input::placeholder{color:var(--ink-faint)}label{display:grid;gap:7px;color:var(--ink);font-size:.92rem;font-weight:600}.check-row{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}.app-frame{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.app-sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto auto 1fr;gap:34px;height:100vh;border-right:1px solid var(--line);background:var(--paper-deep);padding:26px 20px 22px}.app-content{min-width:0}.brand{display:flex;min-width:0;align-items:center;width:fit-content;border-radius:8px;padding:2px}.brand-logo,.auth-logo{display:block;object-fit:contain}.brand-logo{width:min(112px,100%);height:auto}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;min-height:44px;align-items:center;gap:12px;border-radius:10px;color:var(--ink-soft);padding:0 12px;font-weight:600;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.side-nav a svg{flex:0 0 auto;opacity:.75}.side-nav a:hover{background:color-mix(in srgb,var(--card) 60%,transparent);color:var(--ink)}.side-nav a[aria-current=page]{background:var(--pine-tint);color:var(--pine-deep)}.side-nav a[aria-current=page] svg{opacity:1}.sidebar-account{align-self:end;display:grid;gap:14px;border-top:1px solid var(--line);padding-top:18px}.user-chip{display:flex;min-width:0;align-items:center;gap:11px}.user-avatar{display:inline-flex;width:40px;height:40px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);color:var(--pine-deep);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.user-meta{display:grid;min-width:0;gap:1px}.user-meta strong{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-stack{display:grid;gap:4px;min-width:0;justify-items:start}.screen{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:44px 0 64px}.vehicle-workspace{width:min(1420px,calc(100% - 64px))}.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:26px}@media(prefers-reduced-motion:no-preference){.screen>*{animation:rise .52s var(--ease-out) both}.screen>*:nth-child(2){animation-delay:60ms}.screen>*:nth-child(3){animation-delay:.12s}.screen>*:nth-child(4){animation-delay:.18s}.screen>*:nth-child(n+5){animation-delay:.24s}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel,.vehicle-row,.auth-panel{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--card);box-shadow:var(--shadow-s)}.panel{padding:22px}.callout-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px;border-color:var(--amber-line);background:linear-gradient(0deg,#f7ecd173,#f7ecd173),var(--card)}.callout-panel p:last-child,.callout-panel h2{margin-bottom:0}.danger{border-color:var(--clay-line);background:linear-gradient(0deg,#f8e4dc8c,#f8e4dc8c),var(--card);color:var(--clay-ink);font-weight:600}.notice{margin:0;border:1px solid var(--amber-line);border-radius:var(--radius-m);background:var(--amber-tint);color:var(--amber-ink);padding:12px 15px;font-weight:600}.empty-state{display:grid;justify-items:center;gap:6px;color:var(--ink-soft);padding:44px 24px;text-align:center}.empty-state:before{margin-bottom:6px;color:var(--ink-faint);content:"···→";font-size:1.5rem;letter-spacing:.2em}.loading-panel{display:flex;align-items:center;justify-content:center;gap:12px;min-height:140px;color:var(--ink-soft);font-weight:600}.loading-panel:before{width:10px;height:10px;border-radius:999px;background:var(--leaf);content:""}@media(prefers-reduced-motion:no-preference){.loading-panel:before{animation:breathe 1.2s ease-in-out infinite}}@keyframes breathe{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.auth-screen{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:24px}.auth-road{position:absolute;inset:0;z-index:0;pointer-events:none}.auth-panel{position:relative;z-index:1;display:grid;gap:22px;width:min(480px,100%);border-radius:20px;padding:40px;box-shadow:var(--shadow-m)}.auth-logo{width:min(176px,100%);height:auto;max-width:100%}.auth-copy{display:grid;gap:10px}.auth-copy .muted{margin:0;font-size:1.02rem}.auth-cta{min-height:50px;font-size:1.02rem}.auth-footnote{margin:0;font-size:.84rem}.status-pill{display:inline-flex;min-height:30px;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:999px;background:var(--card-sunk);color:var(--ink-soft);padding:0 12px;font-size:.8rem;font-weight:600;white-space:nowrap}.status-pill:before{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--ink-faint);content:""}.status-pill.enabled,.status-pill.accepted,.status-pill.fresh,.status-pill.complete{border-color:var(--pine-line);background:var(--pine-tint);color:var(--pine-deep)}.status-pill.enabled:before,.status-pill.accepted:before,.status-pill.fresh:before,.status-pill.complete:before{background:var(--leaf)}.status-pill.disabled,.status-pill.failed,.status-pill.cancelled,.status-pill.unavailable,.status-pill.error{border-color:var(--clay-line);background:var(--clay-tint);color:var(--clay-ink)}.status-pill.disabled:before,.status-pill.failed:before,.status-pill.cancelled:before,.status-pill.unavailable:before,.status-pill.error:before{background:var(--clay-ink)}.status-pill.skipped,.status-pill.degraded,.status-pill.partial,.status-pill.not_requested,.status-pill.pending,.status-pill.queued,.status-pill.dispatching{border-color:var(--amber-line);background:var(--amber-tint);color:var(--amber-ink)}.status-pill.skipped:before,.status-pill.degraded:before,.status-pill.partial:before,.status-pill.not_requested:before,.status-pill.pending:before,.status-pill.queued:before,.status-pill.dispatching:before{background:var(--amber-ink)}.status-line{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--ink-soft);font-weight:600}.status-line:before{width:9px;height:9px;border-radius:999px;background:var(--ink-faint);content:""}.status-line.online{color:var(--pine-deep)}.status-line.online:before{background:var(--leaf);box-shadow:0 0 #2fbf7173}@media(prefers-reduced-motion:no-preference){.status-line.online:before{animation:pulse 2.2s var(--ease-out) infinite}}@keyframes pulse{0%{box-shadow:0 0 #2fbf7166}70%{box-shadow:0 0 0 9px #2fbf7100}to{box-shadow:0 0 #2fbf7100}}.kpi-strip{display:flex;gap:10px;flex-wrap:wrap}.kpi-strip span{display:grid;min-width:104px;gap:1px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);padding:10px 14px}.kpi-strip strong{color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.25}.kpi-strip small{color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.vehicle-list{display:grid;gap:12px}.vehicle-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;min-height:88px;padding:18px 22px;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .18s var(--ease-out)}.vehicle-row:hover{border-color:var(--pine-line);box-shadow:var(--shadow-m);transform:translateY(-2px)}.vehicle-identity{display:flex;min-width:0;align-items:center;gap:15px}.vehicle-identity>span:last-child{display:grid;min-width:0;gap:2px}.vehicle-identity strong{overflow:hidden;font-family:var(--font-display);font-size:1.28rem;font-weight:600;letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap}.vehicle-avatar{display:inline-flex;width:48px;height:48px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);color:var(--pine-deep);font-family:var(--font-display);font-size:1.3rem;font-weight:600}.row-chevron{color:var(--ink-faint);font-size:1.15rem;transition:color .18s var(--ease-out),transform .18s var(--ease-out)}.vehicle-row:hover .row-chevron{color:var(--pine);transform:translate(3px)}.vehicle-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:18px;align-items:start}.command-stack,.stack{display:grid;gap:16px}.control-panel,.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.toolbar-count{margin:0;color:var(--ink-soft);font-size:.88rem}.route-map{position:relative;min-height:640px;overflow:hidden;padding:8px}.scheduled-map{min-height:360px}.google-map-canvas{width:100%;height:100%;min-height:inherit;overflow:hidden;border:1px solid var(--line);border-radius:calc(var(--radius-l) - 6px);background:radial-gradient(rgb(20 104 68 / 10%) 1.4px,transparent 1.4px) 0 0 / 26px 26px,var(--paper-deep)}.map-status{position:absolute;left:22px;top:22px;max-width:min(420px,calc(100% - 44px));border:1px solid var(--line);border-radius:var(--radius-m);background:#fdfbf5f0;color:var(--ink-soft);padding:10px 14px;font-size:.9rem;font-weight:600;box-shadow:var(--shadow-m)}.scheduled-route-list,.history-list{display:grid;gap:0}.scheduled-route-row{display:grid;grid-template-columns:1fr;gap:12px;border-top:1px solid var(--line);padding:16px 0}.scheduled-route-row:last-child{padding-bottom:4px}.route-controls-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.route-primary{display:grid;min-width:0;gap:3px}.route-primary strong{font-size:1.02rem}.route-primary a:hover strong{color:var(--pine)}.route-primary a,.route-primary strong,.history-row span,td{overflow-wrap:anywhere}.route-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-toggle{gap:9px;min-width:128px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);box-shadow:none}.status-toggle:hover{background:var(--card);color:var(--ink)}.status-toggle.enabled{border-color:var(--pine-line);background:var(--pine-tint);color:var(--pine-deep)}.status-toggle.enabled:hover{background:var(--pine-tint);color:var(--pine-deep)}.toggle-track{display:inline-flex;width:36px;height:21px;flex:0 0 auto;align-items:center;border-radius:999px;background:var(--line-strong);padding:2px;transition:background .18s var(--ease-out)}.toggle-thumb{width:17px;height:17px;border-radius:999px;background:var(--card);box-shadow:0 1px 2px #262b2540;transition:transform .2s var(--ease-out)}.status-toggle.enabled .toggle-track{background:var(--pine)}.status-toggle.enabled .toggle-thumb{transform:translate(15px)}.action-group,.order-controls,.schedule-actions,.schedule-reorder{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.order-controls button,.schedule-reorder button,.schedule-actions button,.destination-actions button{min-height:38px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-grid div{min-width:0;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card-sunk);padding:12px 14px}dt{color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}dd{margin:5px 0 0;color:var(--ink);font-weight:600}table{width:100%;border-collapse:collapse}th,td{border-top:1px solid var(--line);padding:10px;text-align:left}th{color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.events-list{display:grid;gap:0}.event-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);padding:12px 0}.event-card span{display:grid;min-width:0;gap:2px}.event-card small{color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.event-card strong{overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.dispatch-history{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(120px,.8fr) minmax(120px,.8fr);align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.history-row strong{font-weight:600}.history-main{display:grid;min-width:0;gap:2px}.two-column{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}.route-review{position:sticky;top:24px;display:grid;gap:16px}.form-panel,form{display:grid;gap:15px}.review-itinerary{margin:0 0 14px;padding:0;list-style:none;counter-reset:stop}.review-itinerary li{position:relative;counter-increment:stop;padding:0 0 14px 38px;font-weight:600}.review-itinerary li:before{position:absolute;left:0;top:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);color:var(--pine-deep);content:counter(stop);font-size:.75rem;font-weight:700}.review-itinerary li:not(:last-child):after{position:absolute;left:11.5px;top:26px;bottom:2px;border-left:2px dashed var(--pine-line);content:""}.review-itinerary li:last-child{padding-bottom:0}.send-now-actions{display:grid;gap:8px;margin-top:10px}.send-now-actions .secondary-action{justify-self:stretch}.send-now-result{margin:0;font-weight:600}.send-now-result.accepted{color:var(--pine-deep)}.send-now-result.failed,.send-now-result.cancelled,.send-now-result.skipped{color:var(--clay-ink)}.destination-list{display:grid;gap:0}.destination-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:14px;row-gap:10px;padding-bottom:20px}.destination-row:last-child{padding-bottom:0}.destination-row:not(:last-child):before{position:absolute;left:16px;top:44px;bottom:4px;border-left:2px dashed var(--pine-line);content:""}.sequence-chip{display:inline-flex;width:33px;height:33px;margin-top:26px;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);color:var(--pine-deep);font-size:.85rem;font-weight:700}.destination-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}.autocomplete-field{position:relative;min-width:0}.autocomplete-error{margin:8px 0 0;font-size:.88rem}.autocomplete-list{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:20;display:grid;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--card);box-shadow:var(--shadow-m)}.autocomplete-option{display:grid;justify-content:stretch;justify-items:start;min-height:52px;border:0;border-radius:0;background:var(--card);color:var(--ink);padding:9px 14px;text-align:left;box-shadow:none;font-weight:500}.autocomplete-option:hover,.autocomplete-option:focus{background:var(--pine-tint);color:var(--pine-deep);transform:none}.autocomplete-option small{color:var(--ink-soft)}.schedule-manager{display:grid;gap:16px}.schedule-card-list,.schedule-editor,.schedule-time-list,.upcoming-list{display:grid;gap:12px}.schedule-card{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:16px}.schedule-card:first-child{border-top:0;padding-top:0}.schedule-card-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.schedule-reorder{justify-self:center}.schedule-editor-top,.schedule-time-row,.schedule-warning-list,.date-chip-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-editor-top{align-items:end}.schedule-editor-top label:first-child{flex:1 1 220px}.schedule-enable-row{min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--card-sunk);padding:0 14px}.schedule-segments,.weekday-chip-grid{display:grid;gap:8px}.schedule-segments{grid-template-columns:repeat(4,minmax(0,1fr))}.weekday-chip-grid{grid-template-columns:repeat(7,minmax(44px,1fr))}.schedule-segments button,.weekday-chip-grid button,.date-chip{min-height:42px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);padding:0 10px;font-weight:600;box-shadow:none}.schedule-segments button:hover,.weekday-chip-grid button:hover,.date-chip:hover{border-color:var(--pine);background:var(--card);color:var(--pine)}.schedule-segments button.selected,.weekday-chip-grid button.selected{border-color:var(--pine);background:var(--pine-tint);color:var(--pine-deep)}.date-chip:after{margin-left:8px;color:var(--ink-faint);content:"✕";font-size:.8rem}.schedule-field-grid,.schedule-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-time-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:end}.compact-action{justify-self:start}.schedule-advanced{border-top:1px solid var(--line);padding-top:10px}.schedule-advanced summary{display:flex;min-height:40px;align-items:center;gap:8px;color:var(--pine);cursor:pointer;font-weight:600;list-style:none}.schedule-advanced summary::-webkit-details-marker{display:none}.schedule-advanced summary:before{content:"+";display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);font-size:.85rem;line-height:1;transition:transform .2s var(--ease-out)}.schedule-advanced[open] summary:before{transform:rotate(45deg)}.schedule-advanced[open] summary{margin-bottom:12px}.schedule-preview-panel{display:grid;gap:12px;border:1px solid var(--pine-line);border-radius:var(--radius-m);background:linear-gradient(0deg,#e2efe473,#e2efe473),var(--card);padding:14px}.schedule-preview-panel.invalid{border-color:var(--clay-line);background:linear-gradient(0deg,#f8e4dc8c,#f8e4dc8c),var(--card)}.schedule-preview-panel strong,.schedule-preview-panel small{display:block}.schedule-preview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.schedule-preview-strip span,.upcoming-list span{display:grid;gap:2px;min-width:0;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);padding:10px 12px}.schedule-preview-strip b{display:block;color:var(--pine-deep);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.schedule-warning{display:inline-flex;min-height:30px;align-items:center;border:1px solid var(--amber-line);border-radius:999px;background:var(--amber-tint);color:var(--amber-ink);padding:0 12px;font-size:.79rem;font-weight:600}.schedule-warning.blocking{border-color:var(--clay-line);background:var(--clay-tint);color:var(--clay-ink)}.schedule-warning.info{border-color:var(--sky-line);background:var(--sky-tint);color:var(--sky-ink)}.route-schedule-preview{display:grid;gap:10px}.upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr))}.upcoming-list strong{font-weight:600}.settings-grid{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(360px,1fr);gap:18px;align-items:start}.profile-panel,.settings-panel{display:grid;gap:16px;padding:28px}.profile-panel h1,.settings-panel h1{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.2rem)}.profile-avatar{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border:1px solid var(--pine-line);border-radius:999px;background:var(--pine-tint);color:var(--pine-deep);font-family:var(--font-display);font-size:1.7rem;font-weight:600}.profile-status,.button-row,.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.key-help{margin:0;color:var(--ink-soft);font-size:.88rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:1180px){.app-frame{grid-template-columns:1fr}.app-sidebar{position:sticky;z-index:30;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;gap:18px;height:auto;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:12px 20px}.side-nav{grid-auto-flow:column;justify-content:start}.sidebar-account{grid-auto-flow:column;align-self:center;align-items:center;border-top:0;padding-top:0}.user-avatar{width:36px;height:36px}.vehicle-grid,.two-column,.settings-grid{grid-template-columns:1fr}.route-review{position:static}}@media(max-width:760px){.screen,.vehicle-workspace{width:min(100%,calc(100vw - 32px));padding:24px 0 48px}.app-sidebar{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.side-nav{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.user-meta small{display:none}.page-header,.callout-panel,.control-panel,.toolbar,.schedule-card-toolbar{grid-template-columns:1fr;align-items:stretch}.page-header{gap:12px}.vehicle-row{grid-template-columns:minmax(0,1fr);row-gap:12px}.row-chevron{display:none}.schedule-reorder{justify-self:start}.kpi-strip span{flex:1 1 96px;min-width:0}.summary-grid,.schedule-field-grid,.schedule-advanced-grid,.schedule-preview-strip,.upcoming-list,.schedule-time-row,.history-row,.event-card{grid-template-columns:1fr}.destination-row{grid-template-columns:auto minmax(0,1fr)}.schedule-segments{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.action-group,.button-row{display:grid;grid-template-columns:1fr 1fr}.action-group>*,.button-row>*{width:100%}.route-map{min-height:420px}.scheduled-map{min-height:320px}.auth-panel{width:100%;padding:28px}table{display:block;overflow-x:auto}}@media(max-width:440px){.action-group,.button-row{grid-template-columns:1fr}.weekday-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-segments{grid-template-columns:1fr}}
