@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{color-scheme:light;--bg: #f3f5f2;--bg-strong: #e9eeea;--surface: #ffffff;--surface-strong: #f0f3f0;--ink: #17201f;--ink-soft: #64706d;--line: #dce3df;--brand: #1f5a55;--brand-soft: #2c716a;--brand-contrast: #ffffff;--accent: #dc8b26;--accent-soft: #fff0dc;--danger: #ae4036;--warning: #9b641c;--success: #287453;--shadow: 0 8px 24px rgba(23, 32, 31, .06);--banner-bg: #fff6e7;--banner-line: #ead2a8;--banner-danger-bg: #fff0ee;--banner-danger-line: #ecc6c1;--banner-success-bg: #eaf6f0;--banner-success-line: #bfdfce;--pill-bg: #edf1ef;--pill-warning-bg: #fff0dc;--status-pill-bg: #e5ece8;--focus-ring: rgba(31, 90, 85, .2);--focus-line: rgba(31, 90, 85, .5);--radius-xl: 18px;--radius-lg: 16px;--radius-md: 14px;--radius-sm: 10px;--control-height: 40px;--control-height-compact: 36px;--control-radius: 9px;--app-header-safe-offset: env(safe-area-inset-top, 0px);--shell-gutter: clamp(14px, 3.5vw, 22px);--safe-top-padding: max(var(--shell-gutter), calc(env(safe-area-inset-top) + 8px) );--fixed-safe-top: max(14px, calc(env(safe-area-inset-top) + 8px) );--bottom-nav-height: 68px;--bottom-nav-offset: max(6px, calc(env(safe-area-inset-bottom) - 18px) );--bottom-nav-space: calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 14px);--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", sans-serif}[data-theme=dark]{color-scheme:dark;--bg: #0f1514;--bg-strong: #171f1d;--surface: #19211f;--surface-strong: #222c29;--ink: #f1f5f3;--ink-soft: #a5b1ad;--line: #35413e;--brand: #72b7ae;--brand-soft: #8ac8c0;--brand-contrast: #10201d;--accent: #e7a550;--accent-soft: #49351f;--danger: #e17f75;--warning: #dfaa5d;--success: #70bd92;--shadow: 0 10px 28px rgba(0, 0, 0, .2);--banner-bg: #312619;--banner-line: #58472f;--banner-danger-bg: #38211e;--banner-danger-line: #6c403a;--banner-success-bg: #182e25;--banner-success-line: #315946;--pill-bg: #2a3532;--pill-warning-bg: #473722;--status-pill-bg: #2c3936}@media(max-width:640px){:root{--shell-gutter: clamp(8px, 3vw, 14px);--fixed-safe-top: max(10px, calc(env(safe-area-inset-top) + 8px) );--bottom-nav-height: 88px}}@media(orientation:landscape)and (max-height:520px){:root{--bottom-nav-height: 56px;--bottom-nav-offset: max(4px, calc(env(safe-area-inset-bottom) - 10px) );--bottom-nav-space: calc( var(--bottom-nav-height) + var(--bottom-nav-offset) + 10px );--shell-gutter: 10px}}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{min-height:100%;width:100%;max-width:100%}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);overflow-x:hidden}body.route-map-fullscreen-active{overflow:hidden}body.route-map-fullscreen-active .bottom-nav{display:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell,.login-shell{padding:var(--safe-top-padding) var(--shell-gutter) var(--shell-gutter)}.app-frame,.login-shell{width:min(100%,1120px);margin:0 auto}.app-frame{min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + 32px + env(safe-area-inset-bottom));max-width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.identity{display:flex;align-items:center;gap:14px}.avatar-badge{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:#fff;background:var(--brand)}.topbar h1,.hero-card h2,.hero-panel h1,.form-panel h2,.card h3{margin:0;font-family:var(--font-display);line-height:1.16;overflow-wrap:anywhere}.eyebrow{margin:0 0 6px;font-size:.78rem;letter-spacing:0;text-transform:uppercase;color:var(--ink-soft);overflow-wrap:anywhere}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button,.button{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;border:none;border-radius:999px;padding:12px 18px;text-align:center;overflow-wrap:anywhere;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button{background:var(--brand);color:var(--brand-contrast);box-shadow:none}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button.is-ghost,.icon-button{background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);box-shadow:none}.button.is-danger{background:var(--danger)}.button.is-compact{padding:10px 14px}.button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-block{width:100%;justify-content:center}.status-strip,.sync-caption,.muted-copy,.support-note,.card-description,.note-chip,.network-badge,.record-badge,dt{color:var(--ink-soft)}.status-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0}.network-badge,.record-badge,.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:.88rem;font-weight:500}.network-badge{background:var(--pill-bg)}.network-badge.is-online{color:var(--success)}.network-badge.is-offline{color:var(--warning)}.network-badge.is-cache{color:var(--brand-soft)}.status-pill{color:#fff;background:var(--status-pill-bg)}.status-pill.is-good{background:#2f7559}.status-pill.is-busy{background:#0f5967}.status-pill.is-warning{background:#b66b00}.status-pill.is-danger{background:#9d3d2f}.status-pill.is-muted{background:#55656d}.banner{margin-top:14px;padding:14px 16px;background:var(--banner-bg);border:1px solid var(--banner-line);border-radius:18px}.banner.is-danger{background:var(--banner-danger-bg);border-color:var(--banner-danger-line);color:var(--danger)}.banner.is-success{background:var(--banner-success-bg);border-color:var(--banner-success-line);color:var(--success)}.banner-with-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.driver-conflict-panel{margin-top:14px}.driver-conflict-item{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px}.page-shell,.page-stack,.section-stack{display:grid;gap:16px;min-width:0}.page-shell{width:100%;max-width:100%;margin-top:0}.page-stack{width:100%;max-width:100%;animation:revealUp .4s ease both}.hero-card,.hero-panel,.form-panel,.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card,.hero-panel{border-radius:var(--radius-xl);padding:24px}.hero-card.compact{padding:20px 22px}.hero-copy{max-width:58ch;margin:12px 0 0;color:var(--ink-soft);overflow-wrap:anywhere}.metric-grid,.hero-grid{display:grid;gap:12px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid{margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card strong,.summary-card strong{display:block;min-width:0;font-size:1.02rem;line-height:1.2;overflow-wrap:anywhere}.hero-chip,.summary-card,.metric-card{min-width:0;padding:16px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.hero-chip strong{display:block;margin-bottom:6px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}.section-header h3{min-width:0;margin:0;font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere}.assignment-actions-header{justify-content:flex-end}.text-link{display:inline-flex;align-items:center;min-width:0;min-height:36px;max-width:100%;color:var(--brand);font-weight:600;text-align:right;overflow-wrap:anywhere}.card,.form-panel{min-width:0;border-radius:var(--radius-lg);padding:20px}.plan-card,.trip-card,.assignment-card{display:grid;gap:16px}.card-description,.muted-copy{margin:0;overflow-wrap:anywhere}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:start;min-width:0;flex-wrap:wrap}.card-header>*{min-width:0}.card-header.is-badge-only{justify-content:flex-end}.record-badge{max-width:100%;background:var(--surface-strong);overflow-wrap:anywhere}.record-badge.is-approved{color:var(--danger)}.record-badge.is-active{color:var(--success)}.record-badge.is-submitted,.record-badge.is-cancellation_requested{color:var(--warning)}.record-badge.is-rejected{color:var(--danger)}.record-badge.is-delivered{color:var(--success)}.record-badge.is-superseded{color:var(--warning)}.record-badge.is-cancelled{color:var(--danger)}.note-chip{margin:0;padding:12px 14px;border-radius:14px;background:var(--pill-warning-bg);overflow-wrap:anywhere}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.meta-grid div{min-width:0}dt{font-size:.82rem;margin-bottom:4px}dd{min-width:0;margin:0;font-weight:600;overflow-wrap:anywhere}.actions-row,.quick-actions,.page-actions{display:flex;gap:12px;flex-wrap:wrap;min-width:0}.quick-actions{margin-top:18px}.field{display:grid;gap:8px}.field span{font-size:.92rem;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--focus-ring);border-color:var(--focus-line)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field.full{grid-column:1 / -1}.check-row{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink);font-weight:600}.check-row input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--brand)}.check-row span{min-width:0}.check-group,.location-answer{display:grid;gap:12px}.auth-form,.editor-panel{display:grid;gap:16px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.panel-header{margin-bottom:8px}.login-shell .form-panel{width:min(100%,460px)}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.brand-mark{min-width:108px;padding:12px 18px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line);text-align:center;font-family:var(--font-display);font-weight:700;letter-spacing:0;color:var(--brand)}.brand-mark.is-secondary{color:var(--accent)}.brand-divider{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink-soft)}.support-note{margin:0;font-size:.9rem}.empty-state,.splash-screen{min-height:40vh;display:grid;place-items:center;text-align:center;color:var(--ink-soft)}.splash-screen{min-height:100vh;padding:var(--safe-top-padding) var(--shell-gutter) var(--shell-gutter);font-family:var(--font-display);font-size:1.2rem}.loading-state{align-content:center;color:var(--ink-soft);display:grid;gap:12px;justify-items:center;min-height:40vh;padding:24px;text-align:center}.loading-state.is-full-screen{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.loading-state-spinner{animation:loading-state-spin .8s linear infinite;border:3px solid color-mix(in srgb,var(--brand) 18%,transparent);border-radius:50%;border-top-color:var(--brand);height:32px;width:32px}@keyframes loading-state-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-state-spinner{animation-duration:1.8s}}.bottom-nav{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 28px),720px);min-height:var(--bottom-nav-height);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.bottom-nav-link{position:relative;display:flex;align-items:center;justify-content:center;min-height:100%;min-width:0;padding:14px 10px;border-radius:18px;text-align:center;line-height:1.15;font-weight:600;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-badge{position:absolute;top:3px;right:8px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.68rem;line-height:1;background:var(--accent);color:#1f2527}.telematics-hero{display:flex;align-items:end;justify-content:space-between;gap:18px}.telematics-hero h1{margin:0}.telematics-hero-title{min-width:0}.telematics-hero-title .eyebrow{margin:0 0 6px}.telematics-hero-meta{display:grid;gap:6px;min-width:0;max-width:min(100%,260px);text-align:right;color:var(--ink-soft);font-size:.9rem}.telematics-hero-meta span{min-width:0;overflow-wrap:anywhere}.telematics-metrics{grid-template-columns:1fr}.telematics-metric-card{display:grid;gap:6px}.telematics-metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0}.telematics-metric-row .eyebrow{min-width:0;margin:0}.telematics-metric-row strong{flex:0 0 auto;text-align:right}.telematics-metric-card span{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere}.telematics-context-card{display:grid;gap:12px}.telematics-context-card .meta-grid{margin:0}.bottom-nav-link.is-active{background:var(--brand);color:var(--brand-contrast)}.assignment-card .meta-grid,.stop-item .meta-grid{margin-top:12px}.assignment-card.is-compact{padding:18px}.dashboard-page{gap:clamp(14px,3vw,20px)}.dashboard-page .section-stack{min-width:0}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{display:grid;align-content:start;gap:8px}.dashboard-metric .eyebrow{margin:0}.dashboard-metric strong{font-size:clamp(1.06rem,1.5vw,1.28rem)}.dashboard-page .telematics-context-card .meta-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr))}.dashboard-page .telematics-context-card dd{font-size:.95rem}.dashboard-page .plan-card,.dashboard-page .trip-card,.dashboard-page .assignment-card{overflow:hidden}.dashboard-page .assignment-card.is-compact .meta-grid{display:none}.dashboard-page .assignment-card.is-compact .card-description{display:-webkit-box;overflow:hidden;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-page .plan-card.is-compact .meta-grid{display:none}.dashboard-page .plan-card.is-compact .note-chip{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.dashboard-page .plan-card.is-compact .note-chip{-webkit-line-clamp:2}.time-off-panel{display:grid;gap:16px;min-width:0}.assignment-route-action,.assignment-route-card{overflow:hidden}.assignment-route-action .route-preview,.assignment-route-card .route-preview{padding-top:0}.route-preview{display:grid;gap:12px;padding-top:0}.route-map-toggle{width:100%;min-height:48px}.route-map-canvas{position:relative;overflow:hidden;width:100%;min-height:clamp(300px,52vh,520px);aspect-ratio:4 / 3;border:1px solid rgba(31,37,39,.08);border-radius:var(--radius-md);background:linear-gradient(135deg,#2f75591f,#e3a2481a),var(--surface-strong)}.route-map-svg{display:block;width:100%;height:100%}.route-map-runtime-notice{position:absolute;z-index:8;top:max(78px,calc(env(safe-area-inset-top,0px) + 58px));right:88px;left:18px;display:grid;gap:5px;padding:14px 16px;border:1px solid rgba(180,83,9,.28);border-radius:18px;background:#fffbebf7;box-shadow:0 12px 32px #0f172a29;color:#92400e;text-align:left}.route-map-runtime-notice strong{font-size:1rem}.route-map-runtime-notice span{font-size:.84rem;line-height:1.35}.route-map-runtime-notice code{overflow-wrap:anywhere;color:#78350f;font-size:.66rem;line-height:1.35}.route-map-runtime-notice button{justify-self:start;min-height:38px;margin-top:3px;padding:8px 14px;border:0;border-radius:999px;background:#0f766e;color:#fff;font:inherit;font-size:.82rem;font-weight:800}.route-map-svg pattern path{fill:none;stroke:#1f252714;stroke-width:.45}.route-map-grid{fill:url(#route-grid)}.route-map-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.route-map-line.is-road{stroke:var(--success)}.route-map-line.is-fallback{stroke:var(--warning);stroke-dasharray:5 4}.route-map-line.is-missing{stroke:var(--danger);stroke-dasharray:3 4}.route-map-stop circle{fill:var(--surface);stroke:var(--success);stroke-width:1.2}.route-map-stop circle.is-start{stroke:var(--brand)}.route-map-stop circle.is-end{stroke:var(--accent)}.route-map-stop text{fill:var(--ink);font-family:var(--font-body);font-size:3px;font-weight:700;pointer-events:none}.route-map-empty,.route-map-loading{min-height:220px;display:grid;place-items:center;gap:4px;padding:18px;text-align:center;color:var(--ink-soft)}.route-map-empty strong{color:var(--ink)}.route-map-canvas-maplibre{background:var(--surface-strong)}.route-map-canvas .route-map-maplibre{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.route-map-canvas .route-map-maplibre.maplibregl-map{position:absolute;width:100%;height:100%}.route-map-canvas .route-map-maplibre .maplibregl-canvas{transition:filter .4s ease}.route-map-canvas .route-map-maplibre.is-night .maplibregl-canvas{filter:brightness(.94) saturate(.92) contrast(1.04)}.route-map-canvas .maplibregl-canvas-container,.route-map-canvas .maplibregl-canvas{width:100%;height:100%}.route-map-canvas .maplibregl-ctrl-top-right{top:10px;right:10px;transition:top .18s ease}.route-map-canvas .maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0}.route-map-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb8}.route-map-follow-control{position:absolute;top:118px;right:10px;z-index:5;display:grid;place-items:center;width:30px;height:30px;padding:5px;border:0;border-radius:4px;background:#fffffff5;color:#334155;box-shadow:0 1px 6px #0f172a47;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-map-follow-control svg{width:19px;height:19px;overflow:visible}.route-map-follow-control path{fill:currentColor;stroke:#fff;stroke-linejoin:round;stroke-width:1.8}.route-map-follow-control:hover,.route-map-follow-control.is-active{background:#0284c7;color:#fff}.route-map-follow-control:disabled{cursor:wait;opacity:.55}.route-map-follow-control.has-guidance{top:286px}.route-map-canvas:has(.route-lane-guidance) .route-map-follow-control{top:342px}.route-navigation-top-stack{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:7;display:grid;gap:6px;width:min(calc(100% - 72px),520px);pointer-events:none}.route-navigation-top-stack.has-guidance{left:50%;width:min(calc(100% - 20px),620px);transform:translate(-50%)}.route-turn-guidance{position:relative;width:100%;overflow:hidden;border:1px solid rgba(15,118,110,.42);border-radius:20px;background:#05605afa;color:#fff;box-shadow:0 12px 30px #0f172a4d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.route-turn-guidance-main{display:grid;grid-template-columns:68px minmax(0,1fr) 48px;align-items:center;gap:12px;min-height:94px;padding:12px 14px}.route-turn-guidance-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:16px;background:#ffffff1f;font-size:3.15rem;font-weight:900;line-height:1}.route-turn-guidance-copy{display:grid;min-width:0;gap:2px}.route-turn-guidance-copy strong{color:#fff;font-size:1.15rem;font-weight:900;letter-spacing:-.01em}.route-turn-guidance-copy span{overflow:hidden;display:-webkit-box;font-size:1.12rem;font-weight:850;line-height:1.17;-webkit-box-orient:vertical;-webkit-line-clamp:3}.route-turn-guidance-copy small{overflow:hidden;color:#fffc;font-size:.76rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.route-turn-guidance-main>button{display:grid;place-items:center;width:48px;height:48px;padding:11px;border:0;border-radius:999px;background:#fff;color:#2563eb;box-shadow:0 3px 10px #0f172a38;cursor:pointer}.route-turn-guidance-main>button:hover,.route-turn-guidance-main>button.is-active{background:#dbeafe;color:#1d4ed8}.route-turn-guidance-main>button:disabled{cursor:not-allowed;opacity:.45}.route-turn-guidance-main>button svg{width:26px;height:26px}.route-turn-guidance-main>button path{fill:currentColor}.route-lane-guidance{display:flex;align-items:stretch;justify-content:center;gap:5px;min-height:50px;padding:7px 14px;border-top:1px solid rgba(255,255,255,.14);background:#034e49db}.route-lane-guidance span{display:grid;place-items:center;width:42px;min-width:0;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:#ffffff7a;font-size:1.75rem;font-weight:900;line-height:1}.route-lane-guidance span.is-recommended{border-color:#a7f3d0;background:#fff;color:#047857;box-shadow:0 3px 10px #0f172a33}.route-turn-guidance-next{display:grid;grid-template-columns:auto 32px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:8px 18px;border-top:1px solid rgba(255,255,255,.14);background:#034e49b8}.route-turn-guidance-next small{color:#ffffffb8;font-size:.72rem;font-weight:750}.route-turn-guidance-next span{color:#fff;font-size:1.7rem;font-weight:900;line-height:1;text-align:center}.route-turn-guidance-next strong{overflow:hidden;color:#fff;font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.route-turn-guidance-context{min-height:32px;padding:7px 18px;border-top:1px solid rgba(255,255,255,.14);background:#c2410ce0;color:#fff;font-size:.76rem;font-weight:800}.route-navigation-status{position:absolute;right:auto;bottom:max(8px,env(safe-area-inset-bottom));left:50%;z-index:7;display:grid;align-content:center;gap:6px;width:min(calc(100% - 20px),720px);min-height:96px;padding:15px 102px 14px 18px;border:1px solid rgba(148,163,184,.34);border-radius:26px;background:#fffffff9;color:#0f172a;text-align:left;box-shadow:0 16px 44px #0f172a2e,0 2px 8px #0f172a14;transform:translate(-50%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none}.route-navigation-status-copy{display:grid;gap:2px;min-width:0}.route-navigation-status-copy small{overflow:hidden;color:#0f766e;font-size:.68rem;font-weight:850;letter-spacing:.015em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.route-navigation-status-copy span{line-height:1.28}.route-navigation-notices{display:grid;gap:6px;width:min(100%,520px);pointer-events:none}.route-gps-quality-alert,.route-stop-approach{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;border:1px solid rgba(245,158,11,.42);border-radius:13px;background:#fffbebf5;color:#92400e;box-shadow:0 5px 16px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.route-gps-quality-alert strong,.route-stop-approach strong{flex:0 0 auto;color:inherit;font-size:.76rem;font-weight:900}.route-gps-quality-alert span,.route-stop-approach span{min-width:0;color:inherit;font-size:.76rem;font-weight:750}.route-screen-wake-alert{justify-self:end;width:max-content;max-width:100%;min-height:32px;padding:6px 10px;border-radius:999px;box-shadow:0 3px 10px #0f172a24}.route-screen-wake-alert strong{font-size:.7rem;line-height:1.2;white-space:nowrap}.route-gps-quality-alert.is-lost{border-color:#dc26266b;background:#fef2f2f7;color:#991b1b}.route-stop-approach{border-color:#0e749057;background:#ecfefff7;color:#155e75}.route-navigation-status.has-start-action{grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:36px 56px;align-content:stretch;align-items:center;column-gap:16px;row-gap:6px;min-height:124px;padding:16px 18px}.route-navigation-status.has-start-action .route-navigation-status-copy{grid-row:1 / 3;grid-column:1;align-self:center}.route-navigation-status.has-start-action .route-navigation-close-button{position:static;grid-row:1;grid-column:2;align-self:start;justify-self:end}.route-navigation-start-button{position:static;grid-row:2;grid-column:2;align-self:stretch;justify-self:stretch;min-width:0;min-height:56px;padding:10px 18px;border:0;border-radius:999px;background:linear-gradient(180deg,#22b957,#16a34a);color:#fff;font-size:1.05rem;font-weight:900;box-shadow:0 10px 24px #15803d47,inset 0 1px #ffffff38;cursor:pointer;pointer-events:auto}.route-navigation-start-button:hover{background:#15803d}.route-navigation-start-button:disabled{cursor:wait;opacity:.72}.route-navigation-close-button{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(100,116,139,.3);border-radius:999px;background:#e2e8f0;color:#475569;font-size:1.5rem;font-weight:500;line-height:1;cursor:pointer;pointer-events:auto}.route-navigation-close-button:hover{background:#cbd5e1;color:#0f172a}.route-navigation-close-button.is-map-overlay{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:8}.route-navigation-diagnostics-toggle{position:absolute;top:14px;right:58px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(100,116,139,.28);border-radius:999px;background:#f8fafc;color:#334155;font-weight:900;cursor:pointer;pointer-events:auto}.route-navigation-diagnostics-toggle:hover,.route-navigation-diagnostics-toggle[aria-expanded=true]{background:#e0f2fe;color:#0369a1}.route-navigation-diagnostics-panel{position:absolute;top:50%;left:50%;z-index:10;display:grid;gap:14px;width:min(calc(100% - 24px),480px);max-height:min(78dvh,620px);overflow:auto;padding:18px;border:1px solid rgba(148,163,184,.34);border-radius:22px;background:#fffffffa;color:#0f172a;box-shadow:0 20px 56px #0f172a61;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.route-navigation-diagnostics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-navigation-diagnostics-heading>div{display:grid;gap:3px}.route-navigation-diagnostics-heading strong{font-size:1.05rem}.route-navigation-diagnostics-heading span{color:#64748b;font-size:.72rem;font-weight:650}.route-navigation-diagnostics-heading button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:#e2e8f0;color:#334155;font-size:1.35rem;cursor:pointer}.route-navigation-diagnostics-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.route-navigation-diagnostics-panel dl>div{min-width:0;padding:10px 11px;border-radius:12px;background:#f1f5f9}.route-navigation-diagnostics-panel dt{margin-bottom:3px;color:#64748b;font-size:.68rem;font-weight:750}.route-navigation-diagnostics-panel dd{margin:0;overflow-wrap:anywhere;font-size:.82rem;font-weight:850}.route-navigation-status strong{overflow:hidden;color:#15803d;font-size:1.45rem;font-weight:900;letter-spacing:-.025em;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.route-navigation-status span{color:#475569;font-size:.8rem;font-weight:700}.route-navigation-status.is-navigation-summary strong{font-size:1.78rem;line-height:1}.route-navigation-status.is-navigation-summary .route-navigation-status-copy>span{font-size:.82rem;font-weight:750}.route-navigation-status.is-navigation-summary{min-height:108px;gap:4px;padding:14px 104px 12px 18px}.route-navigation-status.is-navigation-summary .route-navigation-status-copy{gap:4px}.route-navigation-status.is-navigation-summary .route-navigation-status-copy>small{font-size:.72rem}.route-navigation-status.has-itinerary{grid-template-rows:34px 54px auto}.route-navigation-itinerary{grid-row:3;grid-column:1 / -1;display:grid;gap:9px;min-width:0;padding:11px;border:1px solid rgba(148,163,184,.26);border-radius:16px;background:#f8fafceb;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a;pointer-events:auto}.route-navigation-itinerary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.route-navigation-itinerary-heading>div{display:grid;gap:3px;min-width:0}.route-navigation-itinerary-heading>div>strong{color:#64748b;font-size:.68rem;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.route-navigation-itinerary-heading>div>small{overflow:hidden;color:#94a3b8;font-size:.61rem;font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.route-navigation-itinerary-heading>span{flex:0 0 auto;padding:4px 8px;border:1px solid #dbe3ec;border-radius:999px;background:#fff;color:#64748b;font-size:.64rem;font-weight:850;line-height:1}.route-navigation-itinerary ol{display:grid;grid-auto-rows:max-content;align-content:start;gap:5px;max-height:min(var(--route-itinerary-list-max-height, 350px),45dvh);overflow-y:auto;margin:0;padding:0 4px 0 0;list-style:none;overscroll-behavior:contain;scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin}.route-navigation-itinerary li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:70px;padding:9px 10px 9px 6px;border:1px solid rgba(226,232,240,.72);border-radius:12px;background:#ffffffe6;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.route-navigation-itinerary li:not(:last-child):before{position:absolute;top:38px;bottom:-17px;left:21px;width:2px;border-radius:999px;background:#d7dee8;content:""}.route-navigation-itinerary-marker{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:2px solid #ffffff;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.66rem;font-weight:950;box-shadow:0 0 0 1px #cbd5e1}.route-navigation-itinerary li.is-completed .route-navigation-itinerary-marker{background:#dcfce7;color:#15803d;box-shadow:0 0 0 1px #86efac}.route-navigation-itinerary li.is-target{border-color:#0ea5e959;background:linear-gradient(90deg,#f0f9ff,#f8fcff);box-shadow:0 4px 12px #0284c714,inset 3px 0 #0ea5e97a}.route-navigation-itinerary li.is-target .route-navigation-itinerary-marker{background:#0284c7;color:#fff;box-shadow:0 0 0 3px #0ea5e933}.route-navigation-itinerary-copy{display:grid;gap:3px;min-width:0}.route-navigation-itinerary-copy>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;row-gap:4px;min-width:0}.route-navigation-itinerary-copy strong{flex:0 0 auto;color:#1e293b;font-size:.76rem;font-weight:900;letter-spacing:0;line-height:1.1;text-transform:none}.route-navigation-itinerary-copy>span{overflow:hidden;color:#64748b;font-size:.7rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.route-navigation-itinerary-copy>small{overflow:hidden;color:#94a3b8;font-size:.64rem;font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.route-navigation-itinerary-action,.route-navigation-itinerary-copy em{overflow:hidden;padding:3px 6px;border-radius:999px;font-size:.61rem;font-style:normal;font-weight:850;line-height:1;text-overflow:ellipsis;white-space:nowrap}.route-navigation-itinerary-action{border:1px solid #dbe3ec;background:#fff;color:#475569}.route-navigation-itinerary-copy em{margin-left:auto;border-radius:999px;background:#e0f2fe;color:#0369a1}.route-stop-progress{display:block;width:100%;min-width:0;margin-top:6px;padding:3px 4px 1px}.route-stop-progress-track{position:relative;height:16px}.route-stop-progress-track:before,.route-stop-progress-elapsed{position:absolute;top:6px;left:0;height:4px;border-radius:999px;content:""}.route-stop-progress-track:before{right:0;background:#cbd5e1}.route-stop-progress-elapsed{z-index:1;max-width:100%;background:#16a34a;transition:width .3s linear}.route-stop-progress-marker{position:absolute;top:2px;z-index:2;display:block;width:12px;height:12px;border:3px solid #ffffff;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 2px #cbd5e1;transform:translate(-50%)}.route-stop-progress-marker.is-start{transform:translate(0)}.route-stop-progress-marker.is-end{border-radius:4px;transform:translate(-100%)}.route-stop-progress-marker.is-completed{background:#16a34a;box-shadow:0 0 0 2px #86efac}.route-stop-progress-marker.is-target{top:0;width:16px;height:16px;background:#0284c7;box-shadow:0 0 0 3px #0ea5e93d}.route-navigation-status.is-warning{border-color:#dc262659;background:#fff7edfa}.route-navigation-status.is-warning>.route-navigation-status-copy>strong{color:#b91c1c}.route-navigation-status.is-tunnel{border-color:#d977066b;background:#fffbebfa}.route-navigation-status.is-tunnel>.route-navigation-status-copy>strong{color:#b45309}.route-recovery-guidance{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;z-index:7;display:flex;gap:12px;width:min(calc(100% - 20px),620px);padding:14px 16px;border:1px solid rgba(15,118,110,.42);border-radius:20px;background:#05605afa;color:#fff;box-shadow:0 12px 30px #0f172a4d;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.route-recovery-guidance.is-unavailable{border-color:#dc262680;background:#fef2f2fa;color:#991b1b}.route-recovery-guidance-icon{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:999px;background:#ffffff24;color:#fff;font-size:1.2rem;font-weight:900}.route-recovery-guidance.is-unavailable .route-recovery-guidance-icon{background:#dc2626}.route-recovery-guidance>div:last-child{display:grid;min-width:0;gap:3px}.route-recovery-guidance strong{font-size:.88rem}.route-recovery-guidance span{font-size:.8rem;font-weight:750;line-height:1.3}.route-recovery-guidance small{color:#fffc;font-size:.7rem;font-weight:650;line-height:1.3}.route-recovery-guidance.is-unavailable small{color:#b91c1c}.route-map-simulator{position:absolute;right:auto;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;z-index:6;display:grid;gap:6px;width:min(calc(100% - 20px),720px);padding:9px 10px;border:1px solid rgba(148,163,184,.3);border-radius:16px;background:#0f172ae8;color:#fff;box-shadow:0 12px 30px #0f172a47;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.route-map-canvas:has(.route-navigation-status) .route-map-simulator{bottom:calc(132px + env(safe-area-inset-bottom))}.route-map-canvas:has(.route-navigation-status.has-start-action) .route-map-simulator{bottom:calc(168px + env(safe-area-inset-bottom))}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator{bottom:min(calc(var(--route-itinerary-simulator-bottom, 408px) + env(safe-area-inset-bottom)),calc(100dvh - max(56px,env(safe-area-inset-top))));display:block;width:auto;padding:6px;border-radius:12px}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator-heading{display:none}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator-actions{overflow:visible;padding:0}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator-actions button:not(:first-child){display:none}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator-actions button:first-child{min-height:36px;padding:8px 14px;border-color:#7dd3fcb8;border-radius:9px;background:#0369a1}.route-map-canvas:has(.route-recovery-guidance) .route-map-follow-control{top:274px}.route-speed-indicator{position:absolute;bottom:calc(132px + env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));z-index:6;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#fffffff5;color:#0f172a;box-shadow:0 5px 18px #0f172a33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.route-speed-indicator strong{align-self:end;font-size:1.05rem;font-weight:900;line-height:1}.route-speed-indicator span{align-self:start;color:#64748b;font-size:.58rem;font-weight:750}.route-map-canvas:has(.route-map-simulator) .route-speed-indicator{bottom:calc(270px + env(safe-area-inset-bottom))}.route-map-simulator-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 3px;font-size:.72rem}.route-map-simulator-heading div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px}.route-map-simulator-heading span{color:#cbd5e1}.route-map-simulator-actions{display:flex;gap:5px;overflow-x:auto;padding-bottom:1px}.route-map-simulator-actions button{flex:0 0 auto;min-height:30px;padding:5px 9px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff1f;color:#fff;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.route-map-simulator-actions button:hover,.route-map-simulator-actions button.is-active{border-color:#38bdf8;background:#0369a1}[data-theme=dark] .route-map-svg pattern path{stroke:#f3f6f614}[data-theme=dark] .route-map-loading{background:#111618b8}[data-theme=dark] .route-map-follow-control{background:#1e293bf2;color:#e2e8f0}[data-theme=dark] .route-speed-indicator{border-color:#94a3b859;background:#0f172af0;color:#f8fafc}[data-theme=dark] .route-speed-indicator span{color:#cbd5e1}[data-theme=dark] .route-turn-guidance{border-color:#2dd4bf7a;background:#042f2ef7}[data-theme=dark] .route-navigation-status{border-color:#2dd4bf47;background:#0f172af0;color:#f8fafc}[data-theme=dark] .route-navigation-status strong{color:#5eead4}[data-theme=dark] .route-navigation-status span{color:#cbd5e1}[data-theme=dark] .route-navigation-start-button{background:linear-gradient(180deg,#22b957,#16a34a)}[data-theme=dark] .route-navigation-start-button:hover{background:#15803d}[data-theme=dark] .route-navigation-itinerary{border-top-color:#94a3b83d;background:#1e293bd1;box-shadow:inset 0 0 0 1px #94a3b82e}[data-theme=dark] .route-navigation-itinerary-heading>div>strong{color:#94a3b8}[data-theme=dark] .route-navigation-itinerary-heading>div>small{color:#64748b}[data-theme=dark] .route-navigation-itinerary-heading>span,[data-theme=dark] .route-navigation-itinerary-action{border-color:#475569;background:#334155;color:#cbd5e1}[data-theme=dark] .route-navigation-itinerary li{background:#0f172a80}[data-theme=dark] .route-navigation-itinerary li.is-target{border-color:#38bdf86b;background:#0759854d}[data-theme=dark] .route-navigation-itinerary-copy strong{color:#f8fafc}[data-theme=dark] .route-navigation-itinerary-copy>span{color:#cbd5e1}[data-theme=dark] .route-navigation-diagnostics-toggle{border-color:#94a3b84d;background:#1e293b;color:#e2e8f0}[data-theme=dark] .route-navigation-diagnostics-panel{border-color:#475569b8;background:#0f172afa;color:#f8fafc}[data-theme=dark] .route-navigation-diagnostics-heading span,[data-theme=dark] .route-navigation-diagnostics-panel dt{color:#94a3b8}[data-theme=dark] .route-navigation-diagnostics-heading button,[data-theme=dark] .route-navigation-diagnostics-panel dl>div{background:#1e293b;color:#f8fafc}[data-theme=dark] .route-gps-quality-alert{border-color:#fbbf246b;background:#451a03f5;color:#fde68a}[data-theme=dark] .route-gps-quality-alert.is-lost{border-color:#f8717180;background:#450a0af7;color:#fecaca}[data-theme=dark] .route-stop-approach{border-color:#22d3ee59;background:#082f49f5;color:#cffafe}[data-theme=dark] .route-navigation-status.is-tunnel{border-color:#fbbf246b;background:#451a03f5}[data-theme=dark] .route-navigation-status.is-tunnel>.route-navigation-status-copy>strong{color:#fbbf24}[data-theme=dark] .route-recovery-guidance{border-color:#5eead47a;background:#034e49f7;color:#fff}[data-theme=dark] .route-recovery-guidance small{color:#fffc}[data-theme=dark] .route-recovery-guidance.is-unavailable{border-color:#f871718c;background:#450a0af5;color:#fee2e2}[data-theme=dark] .route-recovery-guidance.is-unavailable small{color:#fecaca}@media(max-width:520px){.route-turn-guidance-main{grid-template-columns:56px minmax(0,1fr) 42px;gap:9px;min-height:82px;padding:10px}.route-turn-guidance-icon{width:56px;height:56px;border-radius:14px;font-size:2.55rem}.route-turn-guidance-copy strong{font-size:1rem}.route-turn-guidance-copy span{font-size:.98rem}.route-turn-guidance-main>button{width:42px;height:42px;padding:9px}.route-turn-guidance-next{grid-template-columns:auto 28px minmax(0,1fr);min-height:43px;padding:7px 13px}.route-navigation-status{min-height:92px;padding:14px 88px 14px 15px;border-radius:22px}.route-navigation-status.has-start-action{grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:32px 52px;column-gap:12px;row-gap:8px;min-height:112px;padding:12px 14px 12px 16px}.route-navigation-start-button{min-height:52px;padding-inline:14px}.route-navigation-status.has-start-action .route-navigation-close-button{width:32px;height:32px;font-size:1.35rem}.route-navigation-status strong{font-size:1.22rem}.route-navigation-status.is-navigation-summary strong{font-size:1.55rem}.route-navigation-itinerary{padding:9px}.route-navigation-itinerary li{grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:70px;padding:8px 8px 8px 6px}.route-navigation-itinerary-marker{width:28px;height:28px}.route-navigation-itinerary li:not(:last-child):before{top:37px;left:19px}}.route-map-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--bg)}.route-map-fullscreen-stage{position:absolute;top:0;right:0;bottom:0;left:0}.route-map-fullscreen .route-preview,.route-map-fullscreen-stage,.route-map-fullscreen-stage .route-map-canvas{width:100%;height:100%}.route-map-fullscreen-stage .route-map-canvas{min-height:100dvh;aspect-ratio:auto;border:0;border-radius:0}.route-map-fullscreen-stage .route-map-empty,.route-map-fullscreen-stage .route-map-loading{min-height:100dvh}.route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.route-metrics div{min-width:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-strong)}.route-metrics dt{margin-bottom:2px;color:var(--ink-soft);font-size:.74rem}.route-metrics dd{margin:0;font-weight:700;overflow-wrap:anywhere}.route-warning{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--pill-warning-bg);color:var(--warning);overflow-wrap:anywhere}.route-stop-list{display:grid;gap:8px;max-height:260px;margin:0;padding:0;overflow:auto;list-style:none}.route-stop-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;min-width:0}.route-stop-list li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--pill-bg);font-size:.78rem;font-weight:700}.route-stop-list strong,.route-stop-list small{display:block;min-width:0;overflow-wrap:anywhere}.route-stop-list small{color:var(--ink-soft)}.profile-time-off .empty-state{min-height:0;padding:18px 12px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.assignment-status-metrics{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;min-width:0;margin-top:14px}.assignment-documents-metric{display:grid;flex:1 1 190px;gap:6px;min-width:0;padding:9px 12px;border-radius:14px;background:var(--pill-bg);color:var(--ink)}.assignment-documents-title{min-width:0;color:var(--ink-soft);font-size:.74rem;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere}.assignment-documents-values{display:flex;flex-wrap:wrap;gap:6px 12px;min-width:0}.assignment-documents-values span{display:inline-flex;align-items:baseline;gap:5px;min-width:0;font-size:.84rem;overflow-wrap:anywhere}.assignment-documents-values strong,.assignment-problems-pill strong{font-size:.98rem;line-height:1}.assignment-problems-pill{align-self:center}.inline-pill{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;padding:8px 12px;border-radius:999px;font-size:.86rem;background:var(--pill-bg);color:var(--ink);overflow-wrap:anywhere}.inline-pill.is-warning{background:var(--pill-warning-bg);color:var(--warning)}.device-readiness-card{display:grid;gap:14px}.device-readiness-card .muted-copy{margin:-6px 0 0}.device-readiness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.device-readiness-heading h3{margin:3px 0 0}.device-readiness-level{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;background:var(--pill-bg);color:var(--ink-soft);font-size:.78rem;font-weight:700;white-space:nowrap}.device-readiness-level.is-ready{background:var(--banner-success-bg);color:var(--success)}.device-readiness-level.is-limited{background:var(--pill-warning-bg);color:var(--warning)}.device-readiness-level.is-blocked{background:var(--banner-danger-bg);color:var(--danger)}.device-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-capability{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong)}.device-capability>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--banner-danger-bg);color:var(--danger);font-weight:700}.device-capability.is-ready>span{background:var(--banner-success-bg);color:var(--success)}.device-capability div{display:grid;gap:2px;min-width:0}.device-capability strong,.device-capability small{overflow-wrap:anywhere}.device-capability small{color:var(--ink-soft);line-height:1.35}.device-installation-guide{display:grid;gap:6px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);border-radius:15px;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}.device-installation-guide span{color:var(--ink-soft);line-height:1.45}.device-installation-guide .button{justify-self:start;margin-top:4px}.device-readiness-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.device-readiness-actions>span{min-width:0;color:var(--ink-soft);font-size:.86rem;font-weight:600;overflow-wrap:anywhere}.device-readiness-actions>span.is-success{color:var(--success)}.device-readiness-actions>span.is-danger{color:var(--danger)}.device-readiness-safety{margin:0;padding:10px 12px;border-left:3px solid var(--warning);border-radius:8px 12px 12px 8px;background:var(--pill-warning-bg);color:var(--ink-soft);font-size:.84rem;line-height:1.45}.theme-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.theme-toggle-button{border:none;border-radius:14px;padding:12px 14px;background:transparent;color:var(--ink-soft);font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.theme-toggle-button:hover{transform:translateY(-1px)}.theme-toggle-button.is-active{background:var(--brand);color:var(--brand-contrast)}.section-switcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr));gap:10px}.section-switch-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface-strong);color:var(--ink);text-align:center;font-weight:600;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.section-switch-button:hover{transform:translateY(-1px)}.section-switch-button.is-active{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.section-switch-button.is-wide{grid-column:1 / -1}.detail-heading{display:grid;align-items:center;gap:12px}.detail-heading{min-height:42px;grid-template-columns:minmax(0,1fr)}.detail-title{margin:0;min-width:0;font-family:var(--font-display);font-size:1.15rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-list,.stop-list,.fuel-card-list,.toll-device-list{display:grid;gap:12px}.chat-page,.chat-thread-page{max-width:760px;margin:0 auto;width:100%}.chat-page{gap:14px}.chat-inbox-header{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:42px}.chat-inbox-title{min-width:0}.chat-inbox-header h2{margin:0;font-size:1.22rem;line-height:1.15}.chat-inbox-header .eyebrow,.chat-inbox-header span{color:var(--ink-soft)}.chat-inbox-header .eyebrow{margin-bottom:2px}.chat-inbox-header span{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.chat-inbox-actions{position:relative;display:flex;align-items:center;gap:8px}.chat-total-unread{min-width:28px;height:28px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#182022;font-size:.88rem}.chat-icon-button{position:relative;width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--ink);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.chat-icon-button:hover,.chat-icon-button.is-active{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}.chat-icon-button:hover{transform:translateY(-1px)}.chat-icon-button.has-message:after{content:"";position:absolute;top:8px;right:8px;width:8px;height:8px;border:2px solid var(--surface-strong);border-radius:50%;background:var(--accent)}.chat-bell-icon{width:21px;height:21px}.chat-notification-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:8;width:min(312px,calc(100vw - 32px));display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.chat-notification-popover div:first-child{display:grid;gap:4px}.chat-notification-popover p{margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.35}.chat-notification-message{color:var(--success)!important;font-weight:600}.chat-notification-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.chat-contact-picker,.chat-pinned-card,.chat-inbox-section{padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.chat-pinned-card{padding:12px}.chat-pinned-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.chat-pinned-heading h3{margin:0;font-size:1rem;line-height:1.2}.chat-conversation-list,.chat-contact-list{display:grid;gap:0;margin-top:12px;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong)}.chat-status-strip,.chat-safety-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong)}.chat-status-strip span,.chat-safety-card span{color:var(--ink-soft)}.chat-safety-card{border-color:var(--banner-line);background:var(--banner-bg)}.chat-safety-card div{display:grid;gap:2px}.chat-conversation-row,.chat-contact-row,.chat-pinned-button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;cursor:pointer}.chat-conversation-row:last-child,.chat-contact-row:last-child{border-bottom:0}.chat-conversation-row:hover,.chat-contact-row:hover,.chat-pinned-button:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}.chat-conversation-row.has-unread .chat-conversation-title strong,.chat-conversation-row.has-unread .chat-conversation-copy p{color:var(--ink);font-weight:700}.chat-pinned-button{margin-top:0;padding:12px;grid-template-columns:auto minmax(0,1fr);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.chat-avatar{width:46px;height:46px;border-radius:50%;display:inline-grid;place-items:center;background:var(--brand);color:var(--brand-contrast);font-family:var(--font-display);font-weight:700}.chat-conversation-copy,.chat-contact-row span,.chat-pinned-button span{min-width:0}.chat-conversation-title{display:flex;gap:10px;justify-content:space-between;align-items:baseline}.chat-conversation-title strong,.chat-contact-row strong,.chat-pinned-button strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conversation-title span,.chat-contact-row small,.chat-pinned-button small,.chat-conversation-meta,.chat-message-meta{color:var(--ink-soft);font-size:.82rem}.chat-pinned-button small{display:block;margin-top:2px}.chat-conversation-meta{display:grid;justify-items:end;gap:8px;min-width:62px}.chat-conversation-copy p{margin:4px 0 0;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pinned-preview{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact-row em{font-style:normal;color:var(--brand);font-weight:700}.chat-search-field{position:relative;display:block;margin-top:0}.chat-search-field:before{content:"";position:absolute;left:16px;top:50%;width:10px;height:10px;border:2px solid var(--ink-soft);border-radius:50%;transform:translateY(-58%);pointer-events:none}.chat-search-field:after{content:"";position:absolute;left:27px;top:50%;width:8px;height:2px;border-radius:999px;background:var(--ink-soft);transform:translateY(5px) rotate(45deg);pointer-events:none}.chat-search-field input{width:100%;min-height:48px;padding:13px 16px 13px 46px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--ink)}.chat-search-field input:focus{outline:2px solid var(--focus-ring);border-color:var(--focus-line)}.chat-contact-empty{margin-top:14px;padding:14px;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-soft);background:var(--surface-strong)}.chat-contact-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px}.chat-contact-pagination .button:last-child{justify-self:end}.chat-contact-pagination span{color:var(--ink-soft);font-size:.9rem;font-weight:600;white-space:nowrap}.chat-unread{min-width:26px;height:26px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--brand);color:var(--brand-contrast);font-weight:700}.chat-thread-subtitle{margin:4px 0 0}.chat-thread-page{--chat-bottom-nav-space: calc(var(--bottom-nav-height) + 20px + env(safe-area-inset-bottom));--chat-compose-space: 68px;position:fixed;top:var(--fixed-safe-top);right:max(14px,calc((100vw - 760px)/2));bottom:calc(var(--chat-bottom-nav-space) + var(--chat-compose-space));left:max(14px,calc((100vw - 760px)/2));width:auto;max-width:none;min-height:0;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:10px;margin:0;overflow:hidden;animation:none}.chat-thread-header{position:relative;z-index:3;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:0 0 4px;background:var(--bg)}.chat-thread-header h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem}.chat-thread-header span:not(.chat-avatar){color:var(--ink-soft);font-size:.86rem}.chat-thread-context{margin-top:-8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--pill-bg);color:var(--ink-soft);font-size:.88rem}.chat-thread-card{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.chat-message-list{height:100%;min-height:0;max-height:none;overflow-y:auto;display:grid;align-content:end;gap:8px;padding:4px 4px 8px;overscroll-behavior:contain;scrollbar-gutter:stable}.chat-message{display:flex}.chat-message.is-self{justify-content:flex-end}.chat-message.is-other{justify-content:flex-start}.chat-message-bubble{max-width:min(76%,560px);padding:12px 14px;border-radius:18px 18px 18px 6px;border:1px solid var(--line);background:var(--surface-strong)}.chat-message.is-self .chat-message-bubble{background:var(--brand);color:var(--brand-contrast);border-color:var(--brand);border-radius:18px 18px 6px}.chat-message.is-self .chat-message-meta{color:#ffffffbd}.chat-author{display:block;margin-bottom:4px;font-weight:700}.chat-message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-attachment-list{display:grid;gap:8px;margin-top:8px}.chat-image-attachment{display:block;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.24);background:#00000014}.chat-image-attachment img{display:block;width:100%;max-height:320px;object-fit:cover}.chat-file-attachment{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:#00000014}.chat-file-attachment span{font-weight:700}.chat-file-attachment small{color:inherit;opacity:.72}.chat-audio-attachment{display:grid;gap:8px;min-width:min(280px,72vw);padding:10px 12px;border-radius:16px;background:#00000014}.chat-audio-attachment span{font-weight:700}.chat-audio-attachment audio{display:block;width:100%;height:36px}.chat-message.is-self .chat-audio-attachment{background:#ffffff2e}.chat-message-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px}.chat-translation-toggle{margin-top:8px;border:0;padding:0;background:transparent;color:inherit;font-size:.82rem;font-weight:700;opacity:.78;cursor:pointer}.chat-translation-toggle:hover{opacity:1}.chat-translation-notice{margin-top:8px;font-size:.78rem;font-weight:700;color:var(--muted)}.chat-message-retry{margin-top:10px;border:0;border-radius:999px;padding:7px 10px;background:#ffffff2e;color:inherit;font-weight:700;cursor:pointer}.chat-message-retry:disabled{cursor:not-allowed;opacity:.62}.chat-compose{position:fixed;right:max(14px,calc((100vw - 760px)/2));bottom:var(--chat-bottom-nav-space);left:max(14px,calc((100vw - 760px)/2));z-index:2;width:auto;display:grid;grid-template-columns:44px 44px minmax(0,1fr) 46px;align-items:end;gap:8px;padding:8px;border:0;background:transparent;box-shadow:none}.chat-attachment-draft{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border-radius:18px;background:var(--surface-strong)}.chat-recording-draft{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.chat-recording-draft strong,.chat-recording-draft small{display:block}.chat-recording-draft small{color:var(--ink-soft)}.chat-recording-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);box-shadow:0 0 color-mix(in srgb,var(--danger) 30%,transparent);animation:pulseRecording 1.15s ease-out infinite}.chat-attachment-draft img{width:54px;height:54px;object-fit:cover;border-radius:14px}.chat-attachment-draft.is-audio{grid-template-columns:minmax(0,1fr) auto}.chat-attachment-draft.is-audio audio{grid-column:1 / -1;width:100%;height:36px}.chat-attachment-draft strong,.chat-attachment-draft small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-draft small{color:var(--ink-soft)}.chat-draft-remove{width:34px;min-width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.chat-draft-remove:hover{transform:translateY(-1px);color:var(--danger)}.chat-draft-remove:disabled{opacity:.55;cursor:not-allowed;transform:none}.chat-close-icon{width:18px;height:18px}.chat-attach-button,.chat-voice-button,.chat-send-button{position:relative;width:44px;min-width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--brand);font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.chat-attach-button:hover,.chat-voice-button:hover,.chat-send-button:hover{transform:translateY(-1px)}.chat-send-button{width:46px;min-width:46px;border-color:var(--brand);background:var(--brand);color:var(--brand-contrast);padding:0}.chat-voice-button:disabled,.chat-send-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.chat-attach-icon,.chat-mic-icon,.chat-send-icon{width:21px;height:21px}.chat-attach-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chat-compose-field{position:relative;min-width:0;display:block}.chat-compose-field textarea{width:100%;height:44px;min-height:44px;max-height:calc(5.4em + 22px);display:block;resize:none;overflow-y:hidden;overscroll-behavior:contain;padding:11px 44px 11px 14px;border:0;border-radius:22px;background:var(--surface-strong);color:var(--ink);line-height:1.35;overflow-wrap:anywhere;scrollbar-width:thin}.chat-compose-field textarea:focus{outline:2px solid var(--focus-ring)}.chat-compose-counter{position:absolute;right:12px;bottom:7px;display:none;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent);color:var(--ink-soft);font-size:.68rem;line-height:1.2;pointer-events:none}.chat-compose-counter.is-visible,.chat-compose-counter.is-danger{display:inline-flex}.chat-compose-counter.is-danger{color:var(--danger);font-weight:700}.chat-load-more{justify-self:center;margin-bottom:12px}.muted-copy.is-danger{color:var(--danger)}.document-row,.stop-item,.fuel-card-row,.toll-device-row{padding:16px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.document-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.document-copy{min-width:0}.document-copy strong,.stop-item strong{display:block;font-family:var(--font-display)}.mobile-documents-intro,.private-profile-intro{display:flex;align-items:center;gap:14px}.mobile-documents-intro h2,.private-profile-intro h2{margin:0;font-family:var(--font-display)}.mobile-documents-intro-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:color-mix(in srgb,var(--brand) 13%,var(--surface-strong));color:var(--brand)}.mobile-documents-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-document-row{align-items:flex-start}.mobile-document-heading,.mobile-document-actions,.mobile-document-ack{display:flex;align-items:center;gap:8px}.mobile-document-heading{flex-wrap:wrap}.mobile-document-copy small,.document-copy>small{display:block;margin-top:5px;color:var(--ink-soft)}.mobile-document-ack{width:fit-content;margin-top:9px;color:var(--warning);font-size:.8rem;font-weight:700}.mobile-document-ack.is-done{color:var(--success)}.mobile-document-actions{flex:0 0 auto;flex-direction:column;align-items:stretch}.private-profile-form,.private-document-upload,.private-dependents-card{display:grid;gap:18px}.private-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.private-profile-grid select[multiple]{min-height:120px}.private-dependent-list{display:grid;gap:10px}.private-dependent-list article{display:grid;gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong)}.private-dependent-heading-actions,.private-dependent-summary,.private-dependent-row-actions,.private-dependent-editor-actions{display:flex;align-items:center;gap:10px}.private-dependent-heading-actions,.private-dependent-summary{justify-content:space-between}.private-dependent-summary>div:first-child{display:grid;gap:3px}.private-dependent-editor{display:grid;gap:16px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--surface-strong) 84%,var(--brand) 4%)}.private-dependent-details summary{cursor:pointer;color:var(--ink-soft);font-weight:700}.private-dependent-details[open] summary{margin-bottom:14px}.private-dependent-checkbox{display:flex;flex-direction:row;align-items:center;align-self:end;min-height:48px}.private-dependent-checkbox input{width:20px;height:20px}.private-dependent-note{grid-column:1 / -1}.private-dependent-note textarea{min-height:96px}.private-dependent-editor-actions{justify-content:flex-end}.inline-success{padding:12px 14px;border:1px solid color-mix(in srgb,var(--success) 40%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--success) 9%,var(--surface));color:var(--success);font-weight:700}@media(max-width:640px){.mobile-document-row{display:grid}.mobile-document-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-document-actions>:only-child{grid-column:1 / -1}.private-profile-grid{grid-template-columns:minmax(0,1fr)}.private-dependent-heading-actions,.private-dependent-summary{align-items:stretch;flex-direction:column}.private-dependent-row-actions,.private-dependent-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.additional-work-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.additional-work-intro-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}.additional-work-intro h2,.additional-work-detail-hero h2{margin:3px 0 6px}.additional-work-list,.additional-work-checklist,.additional-work-form .form-section{display:grid;gap:12px}.additional-work-card{display:grid;gap:16px;color:var(--ink);text-decoration:none}.additional-work-card.is-pending{border-style:dashed}.additional-work-card-heading,.additional-work-card-footer,.additional-work-form .button-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.additional-work-card-heading>div{min-width:0}.additional-work-card-heading h3{margin:3px 0 0}.additional-work-card-footer{padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.additional-work-state-approved{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.additional-work-state-rejected,.status-badge.is-danger{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.additional-work-state-submitted{background:var(--pill-warning-bg);color:var(--warning)}.additional-work-form .field-label{display:block;margin-top:4px;color:var(--ink);font-size:.84rem;font-weight:750}.additional-work-form .field-help{margin:-4px 0 2px;color:var(--muted);font-size:.83rem;line-height:1.4}.additional-work-form .form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.additional-work-form .form-grid-two label{display:grid;gap:8px}.additional-work-context-card .section-header{align-items:start}.additional-work-context-card .section-header h3{margin:3px 0 0}.additional-work-context-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:var(--brand)}.additional-work-context-summary>div,.additional-work-context-summary span,.additional-work-context-summary small{display:block;min-width:0}.additional-work-context-summary strong{color:var(--ink)}.additional-work-context-summary span,.additional-work-context-summary small{margin-top:3px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.additional-work-check{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong)}.additional-work-check input{width:20px;height:20px}.additional-work-check span,.additional-work-check small{display:block}.additional-work-check small{margin-top:3px;color:var(--muted)}.additional-work-rejection{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--surface))}.additional-work-detail .plain-list{display:grid;gap:10px;padding:0;margin:14px 0 0;list-style:none}.additional-work-detail .plain-list li{display:flex;align-items:center;gap:10px}@media(max-width:640px){.additional-work-intro{grid-template-columns:auto minmax(0,1fr)}.additional-work-new-button{grid-column:1 / -1;width:100%}.additional-work-form .form-grid-two{grid-template-columns:1fr}}.fuel-card-main,.toll-device-main{display:flex;justify-content:space-between;gap:14px;align-items:start}.fuel-card-main h3,.toll-device-main h3{margin:0;font-family:var(--font-display)}.toll-device-row{display:grid;gap:14px}.toll-check-grid,.coverage-list,.toll-instruction-grid{display:grid;gap:10px}.toll-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.check-chip,.coverage-chip,.instruction-card,.toll-rule{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.check-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 10px;color:var(--ink-soft);font-size:.86rem;font-weight:700;text-align:center}.check-chip.is-required,.check-chip.is-ok{color:var(--success);border-color:var(--banner-success-line);background:var(--banner-success-bg)}.check-chip.is-danger{color:var(--danger);border-color:var(--banner-danger-line);background:var(--banner-danger-bg)}.toll-section{display:grid;gap:8px}.coverage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-chip{display:grid;gap:3px;padding:10px 12px}.coverage-chip strong,.coverage-chip small,.toll-rule strong,.toll-rule span{min-width:0;overflow-wrap:anywhere}.coverage-chip small,.toll-rule span,.toll-rule p,.instruction-card p{color:var(--ink-soft)}.toll-rule-list{display:grid;gap:8px}.toll-rule{display:grid;gap:4px;padding:12px}.toll-rule p,.instruction-card p{margin:0;line-height:1.45}.toll-instruction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instruction-card{display:grid;gap:5px;padding:13px}.instruction-card.is-danger{border-color:var(--banner-danger-line);background:var(--banner-danger-bg)}.secret-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:14px 16px;border-radius:16px;border:1px solid var(--banner-success-line);background:var(--banner-success-bg)}.secret-strip span{color:var(--ink-soft);font-weight:600}.secret-strip strong{font-family:var(--font-display);font-size:1.35rem;letter-spacing:0}.file-picker{position:relative;justify-items:start}.file-picker-button{width:auto}.file-picker.is-disabled{opacity:.6;cursor:not-allowed}.file-picker.is-disabled .file-picker-button{cursor:not-allowed}.file-picker input.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.upload-preview{width:100%;max-height:320px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.document-upload-source-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-upload-source{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:10px 14px;overflow:hidden;border:1px solid rgba(15,118,110,.28);border-radius:15px;background:#0f766e14;color:var(--brand-strong);font-weight:800;text-align:center;cursor:pointer}.document-upload-source:hover{border-color:#0f766e7a;background:#0f766e21}.document-upload-source:focus-within{outline:3px solid rgba(14,165,233,.24);outline-offset:2px}.document-upload-source.is-disabled{opacity:.55;cursor:not-allowed}.document-upload-source svg{flex:0 0 auto;width:23px;height:23px;fill:currentColor}.document-upload-source input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;opacity:0;clip:rect(0 0 0 0);clip-path:inset(50%)}.document-upload-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px}.document-upload-selection-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.document-upload-selection-item .upload-preview,.document-upload-file-icon{width:72px;height:72px;border-radius:11px}.document-upload-selection-item .upload-preview{object-fit:cover}.document-upload-file-icon{display:grid;place-items:center;background:#0f766e1a;color:var(--brand-strong);font-size:.78rem;font-weight:900}.document-upload-selection-item>div:not(.document-upload-file-icon){display:grid;min-width:0;gap:4px}.document-upload-selection-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-upload-selection-item span{color:var(--ink-soft);font-size:.8rem}.document-upload-selection-item .button{min-height:38px;padding:7px 10px}@media(max-width:420px){.document-upload-source-picker{grid-template-columns:1fr}.document-upload-selection-item{grid-template-columns:62px minmax(0,1fr) auto}.document-upload-selection-item .upload-preview,.document-upload-file-icon{width:62px;height:62px}}.inspection-question,.inspection-photo-card{display:grid;gap:20px}.photo-field,.tire-field,.question-note{display:grid;gap:12px}.vehicle-damage-panel{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-strong) 78%,var(--surface))}.section-header.compact{gap:8px}.section-header.compact h4{margin:0;font-size:.98rem;line-height:1.2}.inspection-photo-list{display:grid;gap:14px}.inspection-photo-item,.vehicle-damage-item{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.vehicle-damage-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--ink-soft);font-size:.88rem}.vehicle-damage-meta strong{color:var(--ink)}.photo-actions{display:flex;flex-wrap:wrap;gap:10px}.note-toggle{width:fit-content;border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:var(--surface-strong);color:var(--ink-soft);font-weight:600;cursor:pointer}.note-toggle:disabled{opacity:.55;cursor:not-allowed}.inspection-question.is-alert,.inspection-issue-item{border-color:var(--banner-line);background:linear-gradient(180deg,var(--surface) 0%,var(--banner-bg) 100%)}.answer-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.answer-button{border:1px solid var(--line);border-radius:18px;padding:18px 16px;background:var(--surface-strong);color:var(--ink);font-family:var(--font-display);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.answer-button:hover{transform:translateY(-1px)}.answer-button.is-active{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.inspection-warning{margin:0;padding:12px 14px;border-radius:16px;background:var(--pill-warning-bg);color:var(--warning)}.inspection-photo-preview{width:100%;max-height:280px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.inspection-photo-grid,.inspection-issue-list{display:grid;gap:14px}.inspection-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-photo-tile,.inspection-issue-item{padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface-strong)}.inspection-photo-tile strong,.inspection-issue-item strong{display:block;margin-bottom:10px;font-family:var(--font-display)}.topbar,.button.is-ghost,.icon-button,.banner,.hero-card,.hero-panel,.form-panel,.card,.hero-chip,.summary-card,.metric-card,.field input,.field textarea,.field select,.brand-mark,.bottom-nav,.theme-toggle,.section-switch-button,.chat-inbox-header,.chat-icon-button,.chat-notification-popover,.chat-contact-picker,.chat-pinned-card,.chat-inbox-section,.chat-conversation-list,.chat-contact-list,.chat-status-strip,.chat-safety-card,.chat-pinned-button,.chat-thread-card,.chat-compose,.chat-attachment-draft,.chat-recording-draft,.chat-draft-remove,.chat-attach-button,.chat-voice-button,.chat-send-button,.document-row,.stop-item,.fuel-card-row,.toll-device-row,.check-chip,.coverage-chip,.instruction-card,.toll-rule,.secret-strip,.upload-preview,.answer-button,.inspection-photo-preview,.inspection-photo-tile,.inspection-issue-item{border-width:0}.chat-conversation-row,.chat-contact-row{border-bottom-width:0}.empty-state.slim{min-height:0;padding:18px 12px}@keyframes revealUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRecording{0%{box-shadow:0 0 color-mix(in srgb,var(--danger) 34%,transparent)}70%{box-shadow:0 0 0 9px transparent}to{box-shadow:0 0 0 0 transparent}}@media(max-width:900px){.login-shell{align-items:center}.hero-grid,.metric-grid,.form-grid,.inspection-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.app-shell,.login-shell{padding:var(--safe-top-padding) var(--shell-gutter) var(--shell-gutter)}.app-shell{overflow-x:clip}.app-frame{width:100%;padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom))}.device-capability-grid{grid-template-columns:minmax(0,1fr)}.topbar{padding:16px;align-items:start;flex-direction:column}.topbar-actions,.section-header,.meta-grid,.document-row{width:100%}.topbar-actions,.section-header{align-items:flex-start;justify-content:space-between}.assignment-actions-header{justify-content:flex-end}.hero-grid,.metric-grid,.form-grid,.inspection-photo-grid,.meta-grid,.document-row{grid-template-columns:1fr}.document-row{display:grid}.fuel-card-main,.toll-device-main{flex-direction:column}.toll-check-grid,.coverage-list,.toll-instruction-grid{grid-template-columns:1fr}.bottom-nav{width:calc(100% - 18px);bottom:calc(8px + env(safe-area-inset-bottom));min-height:var(--bottom-nav-height);grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:8px;border-radius:20px}.bottom-nav-link{min-height:50px;padding:8px 4px;font-size:.66rem;line-height:1.15}.bottom-nav-badge{top:1px;right:3px}.telematics-hero{align-items:start;flex-direction:column}.telematics-hero-meta{max-width:100%;text-align:left}.section-switcher{grid-template-columns:1fr}.section-switch-button.is-wide{grid-column:auto}.detail-title{white-space:normal}.hero-card,.hero-panel,.card,.form-panel{padding:18px}.dashboard-page{gap:12px}.dashboard-metrics{overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.dashboard-metrics .metric-card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:13px 14px}.dashboard-metrics .metric-card:nth-child(2){border-right:0}.dashboard-metric.is-window{grid-column:1 / -1;border-bottom:0}.dashboard-metric .eyebrow{font-size:.68rem}.dashboard-metric strong{font-size:1rem}.dashboard-page .section-stack{gap:10px}.dashboard-page .telematics-context-card .meta-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr))}.dashboard-page .telematics-context-card{padding:14px}.dashboard-page .plan-card.is-compact,.dashboard-page .assignment-card.is-compact{gap:10px;padding:16px}.dashboard-page .plan-card.is-compact .card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-page .plan-card.is-compact .card-header.is-badge-only{display:flex;justify-content:flex-end}.dashboard-page .plan-card.is-compact h3{font-size:1.12rem}.dashboard-page .plan-card.is-compact .note-chip{padding:10px 12px;line-height:1.32}.route-map-canvas,.route-map-empty,.route-map-loading{min-height:min(420px,58vh)}.route-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .assignment-card.is-compact .pill-row,.dashboard-page .assignment-card.is-compact .assignment-status-metrics{margin-top:0}.dashboard-page .assignment-card.is-compact .assignment-documents-metric{padding:7px 10px}.dashboard-page .assignment-card.is-compact .assignment-documents-title{font-size:.68rem}.dashboard-page .assignment-card.is-compact .assignment-documents-values span{font-size:.78rem}.dashboard-page .assignment-card.is-compact .inline-pill{padding:7px 10px;font-size:.78rem}.dashboard-page .trip-card .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-actions .button,.actions-row .button{flex:1 1 min(100%,150px)}.chat-contact-row{grid-template-columns:auto minmax(0,1fr)}.chat-page{gap:10px}.chat-inbox-header{padding:0;border-radius:var(--radius-sm)}.chat-inbox-header h2{font-size:1.08rem}.chat-inbox-header .eyebrow{display:none}.chat-inbox-header span{margin-top:2px;font-size:.8rem}.chat-icon-button{width:38px;height:38px}.chat-bell-icon{width:19px;height:19px}.chat-contact-picker,.chat-pinned-card,.chat-inbox-section{padding:12px;border-radius:var(--radius-md)}.chat-conversation-row,.chat-contact-row,.chat-pinned-button{padding:10px;gap:10px}.chat-avatar{width:40px;height:40px}.chat-status-strip,.chat-safety-card{align-items:stretch;flex-direction:column}.chat-contact-row .chat-unread,.chat-contact-row em{grid-column:2;justify-self:start}.chat-message-bubble{max-width:88%}.chat-thread-page{--chat-bottom-nav-space: calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom));--chat-compose-space: 58px;top:var(--fixed-safe-top);right:9px;bottom:calc(var(--chat-bottom-nav-space) + var(--chat-compose-space));left:9px;gap:8px}.chat-thread-header{grid-template-columns:40px minmax(0,1fr);gap:8px}.chat-compose{right:9px;bottom:var(--chat-bottom-nav-space);left:9px;grid-template-columns:40px 40px minmax(0,1fr) 42px;gap:6px;padding:7px}.chat-attach-button,.chat-voice-button{width:40px;min-width:40px;height:40px}.chat-send-button{width:42px;min-width:42px;height:42px}.chat-attach-icon,.chat-mic-icon,.chat-send-icon{width:19px;height:19px}.chat-compose-field textarea{height:40px;min-height:40px;max-height:calc(5.4em + 18px);padding:9px 38px 9px 12px}.chat-recording-draft{grid-template-columns:auto minmax(0,1fr)}.chat-recording-draft .button{justify-self:stretch}.login-brand{gap:10px}.brand-mark{min-width:0;flex:1 1 0;padding-inline:14px}}@media(max-width:380px){.app-frame{padding-bottom:calc(var(--bottom-nav-height) + 22px + env(safe-area-inset-bottom))}.dashboard-metrics,.dashboard-page .telematics-context-card .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric.is-window{grid-column:1 / -1}.section-header{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start}.assignment-actions-header{justify-items:end}.text-link{min-height:0;text-align:left}.card-header{flex-direction:column}.device-capability-grid{grid-template-columns:minmax(0,1fr)}.record-badge{align-self:flex-start}.hero-card,.hero-panel,.card,.form-panel{padding:16px}.bottom-nav-link{font-size:.62rem}}.mobile-fines-page,.mobile-fine-report-page,.mobile-fine-detail-page,.mobile-incidents-page{width:min(100%,860px);margin-inline:auto}.mobile-incident-assignment-card{display:grid;gap:16px;color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.mobile-incident-assignment-card:hover{transform:translateY(-1px)}.mobile-incident-assignment-meta dd{overflow-wrap:anywhere}.incident-stepper{display:grid;gap:14px;overflow:hidden}.incident-stepper-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.incident-stepper-list{display:flex;align-items:flex-start;gap:8px;margin:0;padding:2px 0 4px;overflow-x:auto;list-style:none;scrollbar-width:thin}.incident-stepper-list li{display:flex;align-items:flex-start;min-width:112px}.incident-stepper-list li:not(:last-child):after{flex:1 0 18px;width:18px;height:2px;margin:15px 0 0 8px;background:var(--line);content:""}.incident-stepper-list li.is-complete:not(:last-child):after{background:var(--brand)}.incident-stepper-list button{display:grid;grid-template-rows:32px auto;justify-items:center;gap:7px;min-width:86px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.incident-stepper-list button>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface-strong);font-weight:800}.incident-stepper-list button small{max-width:104px;font-size:.72rem;font-weight:700;line-height:1.25;text-align:center}.incident-stepper-list li.is-active button,.incident-stepper-list li.is-complete button{color:var(--brand)}.incident-stepper-list li.is-active button>span,.incident-stepper-list li.is-complete button>span{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast)}.incident-stepper-list button:disabled{cursor:wait;opacity:.6}.mobile-fines-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.mobile-fines-intro-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:var(--pill-warning-bg);color:var(--warning)}.mobile-fines-intro h2,.mobile-fine-wizard-header h2,.mobile-fine-detail-hero h2{margin:3px 0 6px}.mobile-fine-list,.mobile-fine-statement-list,.mobile-fine-evidence-list{display:grid;gap:12px}.mobile-fine-card{display:grid;gap:16px;color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.mobile-fine-card:hover{transform:translateY(-1px)}.mobile-fine-card-heading,.mobile-fine-card-footer,.mobile-fine-wizard-actions,.mobile-fine-gps-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.mobile-fine-card-heading>div,.mobile-fine-card-footer>span{min-width:0}.mobile-fine-card-heading h3{margin:3px 0 0}.mobile-fine-card-footer{padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.mobile-fine-wizard-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.mobile-fine-steps{display:flex;align-items:center;gap:8px;padding:0;margin:0;list-style:none}.mobile-fine-steps li{display:inline-flex;align-items:center}.mobile-fine-steps li:not(:last-child):after{width:16px;height:2px;margin-left:8px;background:var(--line);content:""}.mobile-fine-steps li>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--surface-strong);color:var(--muted);font-weight:700}.mobile-fine-steps li.is-current>span,.mobile-fine-steps li.is-done>span{background:var(--brand);color:var(--brand-contrast)}.mobile-fine-step-card,.mobile-fine-evidence-upload{display:grid;gap:18px}.mobile-fine-wizard-actions{justify-content:flex-end;padding-top:4px}.mobile-fine-context{display:grid;gap:12px;padding:16px;border-radius:18px;background:var(--surface-strong)}.mobile-fine-context.is-ambiguous,.mobile-fine-context.is-unmatched,.mobile-fine-disclaimer{background:var(--pill-warning-bg);color:var(--warning)}.mobile-fine-context>span{color:var(--muted)}.mobile-fine-disclaimer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:16px;border-radius:18px}.mobile-fine-disclaimer p{margin:0;line-height:1.45}.mobile-fine-statement-list article,.mobile-fine-evidence-list article{padding:16px;border-radius:18px;background:var(--surface-strong)}.mobile-fine-statement-list article p{margin:10px 0;white-space:pre-wrap}.mobile-fine-statement-list article small,.mobile-fine-evidence-list article span{display:block;margin-top:4px}.mobile-fine-evidence-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}@media(max-width:640px){.mobile-fines-intro,.mobile-fine-wizard-header{grid-template-columns:auto minmax(0,1fr)}.mobile-fines-new-button,.mobile-fine-steps{grid-column:1 / -1}.mobile-fines-new-button{width:100%}.mobile-fine-steps{justify-content:space-between}.mobile-fine-steps li{flex:1 1 0}.mobile-fine-steps li:last-child{flex:0 0 auto}.mobile-fine-steps li:not(:last-child):after{flex:1 1 auto}.mobile-fine-card-heading,.mobile-fine-gps-row{align-items:flex-start;flex-direction:column}.mobile-fine-wizard-actions .button{flex:1 1 0}.mobile-fine-evidence-list article{grid-template-columns:minmax(0,1fr)}.incident-stepper-heading,.mobile-incident-assignment-card .mobile-fine-card-heading{align-items:flex-start;flex-direction:column}}body{background:var(--bg);font-size:16px;min-height:100dvh;overscroll-behavior-y:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{background:var(--bg);overscroll-behavior-y:none;scrollbar-gutter:stable}a,button,input,label,select,textarea{-webkit-tap-highlight-color:transparent}a,button,label,select{touch-action:manipulation}.app-shell,.login-shell{padding-left:max(var(--shell-gutter),calc(env(safe-area-inset-left) + 8px));padding-right:max(var(--shell-gutter),calc(env(safe-area-inset-right) + 8px))}.app-shell{padding-bottom:var(--shell-gutter);padding-top:var(--safe-top-padding)}.app-frame{max-width:760px;min-height:calc(100dvh - var(--safe-top-padding) - var(--shell-gutter));padding-bottom:var(--bottom-nav-space)}.app-shell.has-back-action .app-frame{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-header{align-items:center;background:var(--bg);box-shadow:0 1px color-mix(in srgb,var(--line) 56%,transparent);display:flex;gap:12px;isolation:isolate;justify-content:space-between;margin:0 -2px;padding:5px 2px 8px;position:sticky;top:var(--app-header-safe-offset);z-index:40}.app-header:before{background:var(--bg);bottom:100%;content:"";height:calc(var(--app-header-safe-offset) + 2px);left:calc(0px - var(--shell-gutter) - env(safe-area-inset-left,0px));pointer-events:none;position:absolute;right:calc(0px - var(--shell-gutter) - env(safe-area-inset-right,0px));z-index:-1}.app-header.has-back-action{display:grid;grid-template-columns:40px minmax(0,1fr) auto}.app-header.has-back-action .app-connection-status{max-width:clamp(88px,26vw,160px)}.app-header-actions{align-items:center;display:flex;flex:0 1 auto;gap:8px;justify-content:flex-end;max-width:56%;min-width:0}.app-header-actions .app-connection-status{max-width:100%;min-width:0}.app-header.has-header-action .app-connection-status{max-width:clamp(78px,27vw,150px)}.app-header-action-slot{display:inline-flex;flex:0 0 auto;position:relative}.app-header-action-button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;position:relative;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;width:40px}.app-header-action-button:hover,.app-header-action-button.is-active{background:color-mix(in srgb,var(--brand) 10%,var(--surface));border-color:color-mix(in srgb,var(--brand) 38%,var(--line));color:var(--brand)}.app-header-action-button:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);outline:none}.app-header-action-button.has-message:after{background:var(--accent);border:2px solid var(--surface);border-radius:50%;content:"";height:8px;position:absolute;right:7px;top:7px;width:8px}.app-header-action-badge{align-items:center;background:var(--accent);border:2px solid var(--bg);border-radius:999px;color:#182022;display:inline-flex;font-size:.65rem;font-weight:800;height:20px;justify-content:center;min-width:20px;padding:0 4px;pointer-events:none;position:absolute;right:-5px;top:-5px;z-index:1}.app-header-back{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--brand);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.app-header-back:disabled{cursor:wait;opacity:.55}.app-header-back:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);outline:none}.app-header-copy{min-width:0}.app-header-kicker{color:var(--ink-soft);font-size:.72rem;font-weight:500;margin:0 0 1px}.app-header h1{font-family:var(--font-display);font-size:clamp(1.35rem,4.7vw,1.72rem);line-height:1.1;margin:0}.app-connection-status{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);display:inline-flex;flex:0 0 auto;font-size:.74rem;font-weight:600;gap:6px;max-width:42%;overflow:hidden;padding:7px 9px;text-overflow:ellipsis;white-space:nowrap}.connection-dot{background:var(--ink-soft);border-radius:50%;display:inline-block;flex:0 0 8px;height:8px;width:8px}.app-connection-status.is-online .connection-dot,.connection-dot.is-online{background:var(--success)}.app-connection-status.is-offline .connection-dot,.connection-dot.is-offline{background:var(--warning)}.system-notice{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:12px;color:var(--ink);display:flex;gap:11px;margin:0 0 12px;padding:12px}.system-notice>.app-icon{flex:0 0 auto;margin-top:1px}.system-notice>div{display:grid;flex:1;gap:2px;min-width:0}.system-notice strong,.system-notice span{overflow-wrap:anywhere}.system-notice span{color:var(--ink-soft);font-size:.84rem}.system-notice.is-warning{background:var(--banner-bg);border-color:var(--banner-line);border-left-color:var(--warning)}.system-notice.is-danger{background:var(--banner-danger-bg);border-color:var(--banner-danger-line);border-left-color:var(--danger)}.system-notice.is-success{background:var(--banner-success-bg);border-color:var(--banner-success-line);border-left-color:var(--success)}.system-notice>.button{flex:0 0 auto;min-height:40px}.is-spinning{animation:redesign-spin 1s linear infinite}@keyframes redesign-spin{to{transform:rotate(360deg)}}.page-shell,.page-stack,.section-stack{gap:14px}.page-shell{padding-top:12px}.page-stack{animation:redesign-enter .24s ease both}@keyframes redesign-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hero-card,.hero-panel,.form-panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}.hero-card,.hero-panel,.form-panel,.card{padding:16px}.card:hover{box-shadow:none}.eyebrow{color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.035em;margin-bottom:5px}.hero-copy,.muted-copy,.card-description{color:var(--ink-soft)}.section-header{align-items:flex-start;gap:10px}.section-header h3{font-size:1.08rem}.text-link{align-items:center;color:var(--brand);display:inline-flex;font-size:.88rem;min-height:44px}.button,.icon-button{font-weight:600}.button{background:var(--brand);border-radius:var(--control-radius);font-size:.8rem;line-height:1.15;min-height:var(--control-height);padding:7px 12px;position:relative}.button:before{content:"";top:-2px;right:0;bottom:-2px;left:0;position:absolute}.icon-button{border-radius:11px;min-height:44px;padding:9px 13px}.button.is-ghost,.icon-button{background:var(--surface);border:1px solid var(--line)}.button.is-compact{border-radius:8px;font-size:.78rem;min-height:var(--control-height-compact);padding:5px 10px}.button.is-compact:before{top:-4px;right:0;bottom:-4px;left:0}.button.route-map-toggle{background:var(--brand);border:1px solid var(--brand);border-radius:11px;color:var(--brand-contrast);display:grid;font-size:.9rem;gap:10px;grid-template-columns:36px minmax(0,1fr) auto;justify-self:stretch;min-height:52px;padding:7px 11px;text-align:left;width:100%}.button.route-map-toggle:hover{background:var(--brand-soft);border-color:var(--brand-soft)}.route-map-toggle-icon{align-items:center;background:color-mix(in srgb,var(--brand-contrast) 15%,transparent);border-radius:8px;display:inline-flex;height:36px;justify-content:center;width:36px}.route-map-toggle strong{font-weight:700}.route-map-toggle-chevron{opacity:.8;transition:transform .18s ease}.route-map-toggle[aria-expanded=true] .route-map-toggle-chevron{transform:rotate(90deg)}.actions-row,.page-actions,.quick-actions{align-items:center;gap:6px}.actions-row .button,.page-actions .button{flex:0 1 auto}.compact-action-grid,.inspection-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.compact-action-grid>.button,.inspection-form-actions>.button{width:100%}.compact-action-grid>.button:last-child:nth-child(odd),.inspection-form-actions>.inspection-submit-action:nth-child(3){grid-column:1 / -1}.form-submit-actions,.card-action-row,.card-action-grid{justify-content:flex-end}.form-submit-actions>.button,.card-action-row>.button,.card-action-grid>.button{flex:0 1 auto}.document-submit-actions{justify-content:center;padding-top:4px;width:100%}.document-submit-actions>.document-submit-button{box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 16%,transparent);flex:0 1 320px;font-size:.88rem;gap:8px;min-height:50px;width:min(100%,320px)}.exception-submit-actions{justify-content:center}.exception-submit-actions>.exception-submit-button{box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 16%,transparent);flex:0 1 320px;font-size:.88rem;min-height:50px;width:min(100%,320px)}.field input,.field textarea,.field select,.chat-search-field input{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:1rem;min-height:48px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%23667470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:20px 20px;padding-right:48px}.section-tabs>button,.section-tabs>a,.section-tabs>span{min-height:40px}.field input:focus,.field textarea:focus,.field select:focus,.chat-search-field input:focus{border-color:var(--focus-line);box-shadow:0 0 0 4px var(--focus-ring);outline:none}.document-upload-source{border-radius:9px;font-size:.8rem;min-height:40px;padding:7px 10px}.answer-toggle,.photo-actions{gap:8px}.answer-button{border-radius:9px;font-size:.8rem;min-height:40px;padding:7px 11px}.note-toggle{font-size:.78rem;min-height:36px;padding:6px 10px}.record-badge,.inline-pill,.network-badge,.status-pill{background:var(--pill-bg);border:0;border-radius:999px;color:var(--ink-soft);font-size:.75rem;font-weight:600;line-height:1.2;padding:6px 9px}.record-badge{overflow-wrap:normal;word-break:normal}.record-badge.is-active,.record-badge.is-loaded,.record-badge.is-in_transit,.record-badge.is-delivered{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.record-badge.is-cancelled,.record-badge.is-failed{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.bottom-nav{backface-visibility:hidden;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);border-radius:18px;bottom:var(--bottom-nav-offset);box-shadow:0 12px 36px #17201f24;gap:2px;height:var(--bottom-nav-height);left:max(10px,calc(env(safe-area-inset-left) + 6px));margin-inline:auto;max-width:720px;min-height:var(--bottom-nav-height);padding:5px;right:max(10px,calc(env(safe-area-inset-right) + 6px));transform:none;transition:opacity .12s ease;width:auto;will-change:opacity;z-index:1000}.bottom-nav-link{border-radius:12px;color:var(--ink-soft);flex-direction:column;font-size:.68rem;font-weight:500;gap:3px;min-height:56px;padding:5px 3px}.bottom-nav-link.is-active{background:var(--surface-strong);color:var(--brand)}.bottom-nav-icon{display:inline-flex}.bottom-nav-label{display:block;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bottom-nav-badge{background:var(--danger);color:#fff;right:16%;top:2px}.today-page{gap:18px}.today-worktime-card,.today-vehicle-card{align-items:center;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto auto;padding:14px 15px}.today-summary-icon,.more-menu-icon,.driver-flow-icon{align-items:center;background:var(--surface-strong);border-radius:12px;color:var(--brand);display:inline-flex;height:42px;justify-content:center;width:42px}.today-summary-copy{display:grid;gap:2px;min-width:0}.today-summary-copy small{color:var(--ink-soft)}.today-summary-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-summary-value,.today-vehicle-state{color:var(--ink-soft);font-size:.78rem;max-width:170px;text-align:right}.today-vehicle-state.is-ready{color:var(--success)}.today-vehicle-state.is-danger{color:var(--danger)}.today-summary-chevron{color:var(--ink-soft)}.today-primary-section .assignment-card{border-color:color-mix(in srgb,var(--brand) 34%,var(--line))}.section-tabs{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.section-tabs>button,.section-tabs>a,.section-tabs>span{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--ink-soft);cursor:pointer;display:flex;font:inherit;font-size:.78rem;font-weight:600;gap:5px;justify-content:center;min-height:40px;min-width:0;padding:6px;text-align:center}.section-tabs>button span,.section-tabs>a span{background:var(--pill-bg);border-radius:999px;font-size:.68rem;padding:2px 6px}.section-tabs>.is-active{background:var(--brand);color:var(--brand-contrast)}.section-tabs>.is-active span{background:color-mix(in srgb,var(--brand-contrast) 17%,transparent)}.assignment-card-link{display:block;max-width:100%;min-width:0;width:100%}.assignment-card{box-sizing:border-box;gap:13px;max-width:100%;min-width:0;overflow:hidden;padding:16px;transition:border-color .18s ease,transform .18s ease;width:100%}.assignment-card-link:hover .assignment-card{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));transform:translateY(-1px)}.assignment-card .card-header{align-items:start;display:grid;flex-wrap:nowrap;gap:10px;grid-template-columns:minmax(0,1fr) auto}.assignment-card .card-header>div{min-width:0}.assignment-card .card-header h3{font-size:1.1rem;overflow-wrap:anywhere}.assignment-card .record-badge{align-self:start;flex:0 0 auto;justify-self:end;max-width:none;overflow-wrap:normal;white-space:nowrap;word-break:normal}.assignment-route{align-items:center;display:grid;font-family:var(--font-display);font-size:1.06rem;font-weight:600;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.assignment-route span:last-child{text-align:right}.assignment-route .app-icon{color:var(--brand)}.assignment-current-stage{align-items:center;background:color-mix(in srgb,var(--brand) 8%,var(--surface-strong));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:11px;display:flex;gap:10px;padding:9px 10px}.assignment-current-stage-icon{align-items:center;background:var(--brand);border-radius:9px;color:var(--brand-contrast);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center}.assignment-current-stage>span:last-child{display:grid;gap:1px;min-width:0}.assignment-current-stage small{color:var(--ink-soft);font-size:.68rem;font-weight:600}.assignment-current-stage strong{font-size:.88rem;line-height:1.25}.assignment-schedule{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.assignment-schedule>div{background:var(--surface-strong);border-radius:10px;padding:10px}.assignment-schedule dt{color:var(--ink-soft);font-size:.72rem;margin-bottom:3px}.assignment-schedule dd{font-size:.84rem;font-weight:600;margin:0}.assignment-card.is-compact .assignment-status-metrics{display:none}.assignment-card-footer{align-items:center;border-top:1px solid var(--line);color:var(--ink-soft);display:flex;font-size:.8rem;gap:12px;justify-content:space-between;min-width:0;padding-top:11px}.assignment-card-footer>span:first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-card-open{align-items:center;color:var(--brand);display:inline-flex;flex:0 0 auto;font-weight:600;gap:3px}.assignment-search-field{margin:2px 0}.assignment-detail-page{padding-bottom:12px}.redesigned-detail-heading{align-items:center;display:grid;gap:11px;grid-template-columns:minmax(0,1fr) auto;min-height:52px}.redesigned-detail-heading>div{min-width:0}.redesigned-detail-heading .detail-title{font-size:1.24rem;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.redesigned-detail-heading>.record-badge{align-self:start;justify-self:end;white-space:nowrap}.assignment-route-action{border:1px solid var(--line);border-radius:16px;overflow:hidden}.assignment-current-step{border-color:color-mix(in srgb,var(--brand) 34%,var(--line));overflow:visible}.driver-flow-panel{display:grid;gap:13px}.driver-flow-heading{align-items:center;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr) auto}.driver-flow-heading>*{min-width:0}.driver-flow-heading h3,.driver-flow-heading p{margin:0;overflow-wrap:anywhere}.driver-flow-progress-label{background:var(--surface-strong);border-radius:999px;color:var(--brand);font-size:.78rem;font-weight:700;padding:6px 8px;white-space:nowrap}.driver-flow-progress{background:var(--bg-strong);border-radius:999px;height:6px;overflow:hidden}.driver-flow-progress>span{background:var(--brand);display:block;height:100%;transition:width .3s ease}.driver-operation-summary{background:var(--surface-strong);border-radius:11px;display:grid;gap:2px;padding:11px 12px}.driver-operation-summary>*{min-width:0;overflow-wrap:anywhere}.driver-operation-summary span,.driver-operation-summary small{color:var(--ink-soft);font-size:.76rem}.driver-flow-hint{color:var(--ink-soft);font-size:.82rem;margin:0}.trailer-equipment-checklist,.trailer-equipment-list{display:grid;gap:10px}.trailer-equipment-row{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:12px;display:grid;gap:9px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:11px}.trailer-equipment-row.is-pending{border-color:color-mix(in srgb,var(--warning) 56%,var(--line))}.trailer-equipment-copy{display:grid;gap:2px;min-width:0}.trailer-equipment-copy strong,.trailer-equipment-copy small,.trailer-equipment-context strong,.trailer-equipment-context span{max-width:100%;min-width:0;overflow-wrap:anywhere}.trailer-equipment-copy small{color:var(--ink-soft);font-size:.74rem}.trailer-equipment-counter{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;display:grid;grid-template-columns:38px 42px 38px;overflow:hidden}.trailer-equipment-counter button{background:transparent;border:0;color:var(--brand);cursor:pointer;font-size:1.3rem;font-weight:700;min-height:38px}.trailer-equipment-counter button:disabled{cursor:not-allowed;opacity:.45}.trailer-equipment-counter output{color:var(--ink);font-size:1rem;font-weight:800;text-align:center}.trailer-equipment-zero,.trailer-equipment-remove{grid-column:1 / -1;justify-self:start}.trailer-equipment-add{align-items:end;display:grid;gap:9px;grid-template-columns:minmax(0,1fr) auto}.trailer-equipment-add .field{margin:0}@media(max-width:480px){.trailer-equipment-add{grid-template-columns:1fr}.trailer-equipment-add .button{width:100%}}.driver-notes{border-top:1px solid var(--line);padding-top:10px}.driver-notes summary{color:var(--brand);cursor:pointer;font-size:.84rem;font-weight:600}.driver-notes .field{margin-top:12px}.driver-secondary-actions{display:flex;flex-wrap:wrap;gap:8px}.driver-secondary-actions .button{flex:1 1 140px}.driver-primary-action{background:var(--surface);bottom:calc(var(--bottom-nav-space) + 4px);margin:0 -4px -4px;padding:4px;position:sticky;z-index:18}.driver-primary-action .button{min-height:44px}.trailer-equipment-action-bar{background:var(--surface-strong);border:1px solid var(--line);border-radius:13px;bottom:auto;box-shadow:none;margin:4px 0 0;max-width:100%;padding:10px;position:static;z-index:auto}.trailer-equipment-action-bar .button{min-height:48px}@media(max-width:380px){.driver-flow-heading{align-items:start}.trailer-equipment-row{align-items:start;grid-template-columns:minmax(0,1fr)}.trailer-equipment-counter{justify-self:start}}.assignment-stop-overview{display:grid;gap:14px}.stop-timeline{display:grid}.stop-timeline-row{align-items:center;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;position:relative}.stop-timeline-row:not(:last-child):after{background:var(--line);bottom:-10px;content:"";height:20px;left:15px;position:absolute;width:2px;z-index:0}.stop-timeline-marker{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:50%;display:inline-flex;font-size:.76rem;font-weight:700;height:32px;justify-content:center;position:relative;width:32px;z-index:1}.stop-timeline-row.is-current .stop-timeline-marker{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.stop-timeline-row.is-completed .stop-timeline-marker{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.stop-timeline-copy{display:grid;gap:3px;min-width:0}.stop-timeline-copy strong,.stop-timeline-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-timeline-copy small{color:var(--ink-soft)}.viz-current-label{color:var(--brand);font-size:.72rem;font-weight:700}.detail-tools{background:var(--surface);border:1px solid var(--line);border-radius:16px;display:grid;overflow:hidden}.detail-tool-button{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;font:inherit;font-weight:600;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;font-size:.84rem;min-height:44px;padding:7px 11px;text-align:left}.detail-tool-button:last-child{border-bottom:0}.detail-tool-button>.app-icon:first-child{color:var(--brand)}.detail-tool-chevron{color:var(--ink-soft)}.detail-panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.detail-panel-heading h2{font-family:var(--font-display);font-size:1.18rem;margin:0}.assignment-detail-panel{display:grid;gap:18px}.route-stops-panel{gap:10px}.route-stops-heading{align-items:center;padding:0 2px}.route-stops-heading .eyebrow,.route-stops-heading h3{margin:0}.route-stops-heading .inline-pill{flex:0 0 auto}.stop-list.route-stop-list{gap:10px;max-height:none;overflow:visible}.stop-item.route-stop-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:14px;box-shadow:0 4px 14px #17201f09;display:grid;gap:10px;padding:12px}.stop-item.route-stop-card.is-current{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));border-left-color:var(--brand)}.stop-item.route-stop-card.is-completed{border-left-color:var(--success)}.route-stop-card-header{align-items:center;display:grid;gap:4px 10px;grid-template-columns:30px minmax(0,1fr)}.route-stop-card-header>strong{font-size:.96rem;line-height:1.28;min-width:0}.route-stop-sequence{align-items:center;align-self:stretch;background:var(--surface-strong);border-radius:9px;color:var(--ink-soft);display:inline-flex;font-size:.78rem;font-weight:700;grid-row:1 / span 2;justify-content:center;min-height:30px;width:30px}.route-stop-card.is-current .route-stop-sequence{background:var(--brand);color:var(--brand-contrast)}.route-stop-card.is-completed .route-stop-sequence{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.route-stop-operation{font-size:.7rem;grid-column:2;justify-self:start;padding:4px 7px}.route-stop-schedule{background:var(--line);border:1px solid var(--line);border-radius:10px;display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.route-stop-schedule>div{background:var(--surface-strong);display:grid;gap:3px;min-width:0;padding:8px 9px}.route-stop-schedule span,.route-stop-actuals dt{color:var(--ink-soft);font-size:.66rem;font-weight:600}.route-stop-schedule strong{font-size:clamp(.72rem,3.2vw,.82rem);font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap}.route-stop-actuals{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.route-stop-actuals>div{align-items:baseline;background:var(--surface-strong);border-radius:9px;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:7px 9px}.route-stop-actuals dt{margin:0}.route-stop-actuals dd{font-size:.78rem;font-variant-numeric:tabular-nums;line-height:1.2;text-align:right}.route-stop-actuals dd.is-empty,.route-stop-actuals dd.is-unconfirmed{color:var(--ink-soft);font-weight:500}.route-stop-actuals dd.is-pending{color:var(--brand);font-weight:650}.vehicle-page{gap:16px}.vehicle-identity-card{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto}.vehicle-identity-card.is-empty{display:block}.vehicle-identity-card h2{font-family:var(--font-display);font-size:1.7rem;margin:0}.vehicle-identity-card .hero-copy{margin-top:4px}.vehicle-identity-card .note-chip{grid-column:1 / -1}.vehicle-readiness{border-radius:999px;font-size:.78rem;font-weight:700;padding:7px 10px}.vehicle-readiness.is-ready{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.vehicle-readiness.is-danger{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.vehicle-next-task{display:grid;gap:12px}.vehicle-next-task h3{font-size:1.2rem}.vehicle-next-task.is-required{background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 10%,var(--surface)) 0%,var(--surface) 68%);border-color:color-mix(in srgb,var(--warning) 48%,var(--line));box-shadow:0 12px 28px color-mix(in srgb,var(--warning) 11%,transparent)}.vehicle-next-task.is-required .eyebrow{color:color-mix(in srgb,var(--warning) 80%,var(--ink))}.vehicle-assignment-link{align-items:center;align-self:start;display:inline-flex;gap:6px;justify-content:center;width:fit-content}.fuel-card-panel,.toll-device-panel,.vehicle-report-actions{box-shadow:none}.vehicle-page .fuel-card-panel,.vehicle-page .toll-device-panel{display:grid;gap:12px;padding:14px}.vehicle-page .fuel-card-panel>.card-header,.vehicle-page .toll-device-panel>.card-header{align-items:center;flex-wrap:nowrap}.vehicle-page .fuel-card-panel>.card-header h3,.vehicle-page .toll-device-panel>.card-header h3{font-size:1.08rem;line-height:1.2;margin:0}.vehicle-page .fuel-card-panel>.card-header .inline-pill,.vehicle-page .toll-device-panel>.card-header .inline-pill{flex:0 0 auto;font-size:.72rem;padding:6px 9px}.vehicle-page .fuel-card-list,.vehicle-page .toll-device-list{gap:10px}.fuel-card-row,.toll-device-row,.instruction-card{background:var(--surface-strong);border:0;border-radius:12px}.vehicle-page .fuel-card-row,.vehicle-page .toll-device-row{display:grid;gap:12px;padding:13px}.vehicle-page .fuel-card-main,.vehicle-page .toll-device-main{align-items:center;flex-direction:row;gap:10px}.vehicle-page .fuel-card-main>div,.vehicle-page .toll-device-main>div{min-width:0}.vehicle-page .fuel-card-main h3,.vehicle-page .toll-device-main h3{font-size:1.12rem;line-height:1.2;overflow-wrap:anywhere}.equipment-state-pill{flex:0 0 auto;font-size:.7rem;padding:5px 8px}.vehicle-page .equipment-meta-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;width:100%}.vehicle-page .equipment-meta-grid>div{background:var(--surface);border-radius:10px;min-width:0;padding:8px 10px}.vehicle-page .equipment-meta-grid dt{font-size:.68rem;margin-bottom:2px}.vehicle-page .equipment-meta-grid dd{font-size:.82rem;line-height:1.28}.fuel-card-secret{border-radius:11px;margin:0;min-height:44px;padding:8px 12px}.fuel-card-secret span{font-size:.74rem}.fuel-card-secret strong{font-size:1.05rem}.fuel-card-actions,.fuel-card-issue-menu{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.fuel-card-actions .button,.fuel-card-issue-menu .button{font-size:.78rem;min-height:36px;padding:5px 9px;width:100%}.fuel-card-issue-menu{border-top:1px solid var(--line);padding-top:8px}.fuel-card-issue-menu .button:last-child:nth-child(odd){grid-column:1 / -1}.vehicle-page .toll-check-grid{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-page .check-chip{font-size:.7rem;line-height:1.2;min-height:34px;padding:6px 8px}.vehicle-page .coverage-list{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-page .coverage-chip{border-radius:10px;padding:8px 9px}.vehicle-page .coverage-chip strong{font-size:.76rem}.vehicle-page .coverage-chip small{font-size:.68rem}.toll-instructions-disclosure{border-top:1px solid var(--line);padding-top:10px}.toll-instructions-disclosure summary{color:var(--brand);cursor:pointer;font-size:.78rem;font-weight:700;list-style-position:inside;min-height:34px;padding:7px 2px}.toll-instructions-disclosure[open] summary{margin-bottom:8px}.vehicle-page .toll-instruction-grid{gap:8px;grid-template-columns:1fr}.vehicle-page .instruction-card{padding:10px}.vehicle-page .instruction-card p{font-size:.76rem;line-height:1.38}.vehicle-report-actions{display:grid;gap:14px}.vehicle-report-actions .page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-report-actions .page-actions>.button:last-child:nth-child(odd){grid-column:1 / -1}.vehicle-standalone-action{justify-self:start}.button.vehicle-chat-action{align-items:center;background:color-mix(in srgb,var(--brand) 7%,var(--surface));border-color:color-mix(in srgb,var(--brand) 34%,var(--line));color:var(--brand);display:grid;font-size:.86rem;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;justify-self:stretch;min-height:52px;padding:8px 10px;text-align:left;width:100%}.button.vehicle-chat-action:hover{background:color-mix(in srgb,var(--brand) 11%,var(--surface));border-color:color-mix(in srgb,var(--brand) 48%,var(--line))}.vehicle-chat-action-icon{align-items:center;background:var(--brand);border-radius:8px;color:var(--brand-contrast);display:inline-flex;height:34px;justify-content:center;width:34px}.vehicle-chat-action strong{font-weight:700}.vehicle-chat-action-chevron{color:var(--ink-soft)}.profile-logout-button{background:color-mix(in srgb,var(--danger) 4%,var(--surface));border-color:color-mix(in srgb,var(--danger) 34%,var(--line));box-shadow:none;color:var(--danger);gap:8px;justify-self:center;min-height:48px;width:min(100%,320px)}.profile-logout-button:hover{background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-color:color-mix(in srgb,var(--danger) 52%,var(--line))}.profile-logout-button:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 16%,transparent)}.more-identity-card,.profile-identity-card{align-items:center;display:flex;gap:13px}.more-avatar,.profile-avatar{align-items:center;background:var(--brand);border-radius:14px;color:var(--brand-contrast);display:inline-flex;flex:0 0 50px;font-family:var(--font-display);font-size:1.2rem;font-weight:700;height:50px;justify-content:center}.more-identity-card h3,.more-identity-card p,.profile-identity-card h2,.profile-identity-card p{margin:0}.more-menu{display:grid;padding:0;overflow:hidden}.more-menu-link{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;padding:9px 12px}.more-menu-link:last-child{border-bottom:0}.more-menu-link .more-menu-icon{border-radius:9px;height:36px;width:36px}.more-menu-copy{display:grid;gap:3px}.more-menu-copy small,.more-menu-chevron{color:var(--ink-soft)}.more-system-card{display:grid;gap:14px}.profile-section{gap:10px}.profile-section>.section-header{padding:0 2px}.profile-identity-card{display:grid;grid-template-columns:auto minmax(0,1fr)}.profile-identity-card .hero-copy{margin-top:3px}.theme-toggle{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px}.theme-toggle-button{border-radius:10px;font-size:.8rem;min-height:40px;padding:8px 12px}.section-switcher{gap:8px}.section-switch-button{border-radius:9px;font-size:.78rem;min-height:40px;padding:7px 10px}.telematics-hero{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.telematics-hero .eyebrow,.telematics-hero-meta{color:color-mix(in srgb,var(--brand-contrast) 78%,transparent)}.telematics-metric-card{border-color:var(--line);padding:14px}.time-off-page .time-off-panel{display:grid;gap:16px}.chat-page{gap:12px}.chat-contact-picker,.chat-pinned-card,.chat-inbox-section,.chat-conversation-list,.chat-contact-list{border-color:var(--line);border-radius:16px;box-shadow:none}.chat-pinned-card{border-color:color-mix(in srgb,var(--brand) 36%,var(--line))}.chat-avatar{background:var(--brand);color:var(--brand-contrast)}.chat-conversation-row,.chat-contact-row,.chat-pinned-button{gap:10px;min-height:56px;padding:8px 10px}.chat-pinned-button{min-height:58px;padding:9px 10px}.chat-conversation-row .chat-avatar,.chat-contact-row .chat-avatar,.chat-pinned-button .chat-avatar{height:40px;width:40px}.chat-message-bubble{border-radius:14px}.chat-message.is-self .chat-message-bubble{background:var(--brand);color:var(--brand-contrast)}.app-shell.is-chat-thread{height:100dvh;min-height:0;overflow:hidden;padding-bottom:0}.app-shell.is-chat-thread .app-frame{display:flex;flex-direction:column;height:100%;min-height:0;padding-bottom:var(--bottom-nav-space)}.app-shell.is-chat-thread.has-back-action .app-frame{padding-bottom:max(8px,env(safe-area-inset-bottom))}.app-shell.is-text-entry-active .bottom-nav{opacity:0;pointer-events:none;transition:opacity .12s ease,visibility 0s linear .12s;visibility:hidden}.app-shell.is-chat-thread.is-text-entry-active .app-frame{padding-bottom:max(8px,env(safe-area-inset-bottom))}@supports selector(.app-shell:has(textarea:focus)){.app-shell:has(:is(input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]),textarea,select,[contenteditable=true]):focus) .bottom-nav{opacity:0;pointer-events:none;transition:opacity .12s ease,visibility 0s linear .12s;visibility:hidden}.app-shell.is-chat-thread:has(:is(input:not([type=button]):not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=range]):not([type=reset]):not([type=submit]),textarea,select,[contenteditable=true]):focus) .app-frame{padding-bottom:max(8px,env(safe-area-inset-bottom))}}.app-shell.is-chat-thread .app-header,.app-shell.is-chat-thread .system-notice{flex:0 0 auto}.app-shell.is-chat-thread .app-header{padding-bottom:13px}.app-shell.is-chat-thread .page-shell{display:flex;flex:1;min-height:0}.chat-thread-page{display:flex;flex:1;flex-direction:column;gap:10px;inset:auto;margin:0;max-width:760px;min-height:0;overflow:hidden;position:relative;width:100%}.chat-thread-header{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;display:grid;flex:0 0 auto;gap:10px;grid-template-columns:42px minmax(0,1fr);padding:9px 11px;position:relative;z-index:3}.chat-thread-header .chat-avatar{height:42px;width:42px}.chat-thread-person{display:grid;gap:2px;min-width:0}.chat-thread-person h2{font-family:var(--font-display);font-size:1rem;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-presence{align-items:center;color:var(--ink-soft);display:inline-flex;font-size:.72rem;gap:5px}.chat-thread-presence>span{background:var(--warning);border-radius:50%;height:6px;width:6px}.chat-thread-presence.is-online>span{background:var(--success)}.chat-thread-context{background:var(--surface-strong);border:1px solid var(--line);border-radius:13px;display:grid;flex:0 0 auto;gap:2px;margin:0;min-width:0;padding:9px 12px}.chat-thread-context>span{color:var(--ink-soft);font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.chat-thread-context>strong{font-size:.78rem;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis}.chat-thread-card{background:transparent;border:0;border-radius:0;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:0}.chat-message-list{align-content:end;display:grid;flex:1;gap:8px;height:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 3px;scrollbar-gutter:stable}.chat-thread-empty{align-items:center;align-self:center;color:var(--ink-soft);display:grid;gap:5px;justify-items:center;margin:auto;max-width:280px;padding:24px;text-align:center}.chat-thread-empty strong{color:var(--ink);font-family:var(--font-display);font-size:1rem}.chat-thread-empty>span:last-child{font-size:.8rem}.chat-thread-empty-icon{align-items:center;background:var(--surface-strong);border-radius:50%;color:var(--brand);display:inline-flex;height:48px;justify-content:center;margin-bottom:4px;width:48px}.chat-thread-empty-icon svg{height:23px;width:23px}.chat-message-bubble{border-color:var(--line);border-radius:16px 16px 16px 5px;box-shadow:0 4px 12px #17201f0a;max-width:min(82%,560px);padding:10px 12px}.chat-message.is-self .chat-message-bubble{border-radius:16px 16px 5px}.chat-compose{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 28px #17201f1a;display:grid;flex:0 0 auto;gap:7px;grid-template-columns:44px 44px minmax(0,1fr) 44px;inset:auto;padding:7px;position:relative;width:100%;z-index:5}.chat-attach-button,.chat-voice-button{background:var(--surface-strong);border:0;height:44px;min-width:44px;width:44px}.chat-send-button{height:44px;min-width:44px;width:44px}.chat-compose-field textarea{background:var(--surface-strong);border:1px solid transparent;font-size:1rem;height:44px;min-height:44px;padding:10px 38px 10px 13px}.chat-compose-field textarea:focus{border-color:var(--focus-line);outline:2px solid var(--focus-ring)}.chat-attachment-draft,.chat-recording-draft{border:1px solid var(--line);border-radius:13px}.chat-safety-card{flex:0 0 auto}@media(max-width:520px){.app-shell.is-chat-thread{padding-left:9px;padding-right:9px}.app-shell.is-chat-thread .app-frame{padding-bottom:var(--bottom-nav-space)}.chat-thread-page{gap:8px}.chat-thread-header{gap:8px;grid-template-columns:38px minmax(0,1fr);padding:8px 9px}.chat-thread-header .chat-avatar{height:38px;width:38px}.chat-thread-context{padding:8px 10px}.chat-message-bubble{max-width:88%}.chat-compose{gap:5px;grid-template-columns:44px 44px minmax(0,1fr) 44px;padding:6px}.chat-attach-button,.chat-voice-button,.chat-send-button{height:44px;min-width:44px;width:44px}}.login-shell{align-items:center;background:radial-gradient(circle at 8% 5%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 34%),radial-gradient(circle at 92% 95%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 36%),var(--bg);display:grid;min-height:100dvh;padding-bottom:max(18px,env(safe-area-inset-bottom));padding-top:max(18px,env(safe-area-inset-top))}.login-shell .form-panel{border-radius:18px;box-shadow:0 16px 42px #17201f17;padding:clamp(22px,6vw,30px);width:min(100%,420px)}.login-brand{background:#fff;border:1px solid color-mix(in srgb,var(--line) 72%,#ffffff);border-radius:14px;margin:0 0 22px;overflow:hidden;padding:10px 14px;width:100%}.login-brand-logo{display:block;height:auto;margin:0 auto;max-width:360px;width:100%}.login-panel-header{display:grid;gap:4px;margin-bottom:20px;text-align:center}.login-panel-header .eyebrow,.login-panel-header h1{margin:0}.login-panel-header h1{font-family:var(--font-display);font-size:clamp(1.4rem,6vw,1.7rem);line-height:1.18}.login-shell .auth-form{gap:14px}.login-shell .field{gap:7px}.login-shell .field>span{font-size:.78rem}.login-shell .field input{min-height:50px}.login-submit-button{font-size:.88rem;min-height:48px;width:100%}@media(min-width:700px){.app-shell{padding-top:max(20px,env(safe-area-inset-top))}.app-header{padding-top:10px}.today-primary-section .assignment-card,.assignment-detail-page,.vehicle-page{max-width:720px}}@media(max-width:520px){.app-shell{padding-left:12px;padding-right:12px}.app-header{padding-left:2px;padding-right:2px}.app-header.has-back-action{gap:8px}.app-connection-status{max-width:46%}.chat-icon-button{height:44px;width:44px}.today-summary-value{max-width:118px}.assignment-schedule{grid-template-columns:1fr}.section-tabs>button,.section-tabs>a,.section-tabs>span{font-size:.75rem}.section-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.section-switch-button:last-child:nth-child(odd){grid-column:1 / -1}.redesigned-detail-heading{gap:8px;grid-template-columns:minmax(0,1fr)}.redesigned-detail-heading>.record-badge{grid-column:1;justify-self:start}.detail-panel-heading{align-items:flex-start;flex-direction:column}}@media(max-width:380px){.bottom-nav-link{font-size:.62rem}.bottom-nav-badge{right:8%}.today-worktime-card,.today-vehicle-card{grid-template-columns:auto minmax(0,1fr) auto}.today-summary-value,.today-vehicle-state{grid-column:2;text-align:left}.today-summary-chevron{grid-column:3;grid-row:1 / span 2}.assignment-route{font-size:.96rem}}.route-map-canvas .maplibregl-ctrl-top-right{right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top))}.route-map-canvas .maplibregl-ctrl-top-right button{height:44px;width:44px}.route-map-follow-control{height:44px;right:max(10px,env(safe-area-inset-right));top:calc(max(10px,env(safe-area-inset-top)) + 142px);width:44px}.route-map-canvas:has(.route-turn-guidance) .maplibregl-ctrl-top-right{top:190px}.route-map-canvas:has(.route-lane-guidance) .maplibregl-ctrl-top-right{top:246px}.route-map-follow-control.has-guidance{top:334px}.route-map-canvas:has(.route-lane-guidance) .route-map-follow-control{top:390px}.route-map-canvas:has(.route-recovery-guidance) .maplibregl-ctrl-top-right{top:166px}.route-map-canvas:has(.route-recovery-guidance) .route-map-follow-control{top:310px}.route-navigation-top-stack,.route-navigation-status,.route-map-simulator{max-width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 20px)}.route-navigation-close-button,.route-navigation-diagnostics-toggle{height:44px;width:44px}.route-navigation-status.has-start-action .route-navigation-close-button{font-size:1.4rem;height:44px;width:44px}.route-navigation-diagnostics-toggle{right:66px}.route-navigation-status.has-start-action{grid-template-rows:44px 56px;min-height:124px}.route-navigation-status.has-itinerary{grid-template-rows:44px 54px auto}.route-map-simulator-actions button,.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator-actions button:first-child{min-height:44px}.route-turn-guidance-main>button{height:44px;width:44px}@media(orientation:landscape)and (max-height:520px){.app-frame{padding-bottom:var(--bottom-nav-space)}.app-shell.has-back-action .app-frame{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.app-header{gap:10px;padding-bottom:10px;padding-top:3px}.app-header-kicker{font-size:.68rem;margin-bottom:1px}.app-header h1{font-size:1.4rem}.app-connection-status{padding:6px 9px}.bottom-nav{border-radius:15px;bottom:var(--bottom-nav-offset);min-height:var(--bottom-nav-height);padding:4px}.bottom-nav-link{flex-direction:row;gap:5px;min-height:46px;padding:6px 8px}.bottom-nav-icon .app-icon{height:20px;width:20px}.bottom-nav-badge{right:5%;top:0}.route-navigation-status.has-itinerary{bottom:max(8px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)) - 8px);overflow:hidden;right:auto;transform:none;width:min(58vw,520px)}.route-navigation-status.has-itinerary .route-navigation-itinerary{min-height:0}.route-navigation-status.has-itinerary .route-navigation-itinerary ol{max-height:42dvh}.route-map-canvas:has(.route-navigation-status.has-itinerary) .route-map-simulator{bottom:auto;left:auto;right:max(64px,calc(env(safe-area-inset-right) + 64px));top:max(10px,env(safe-area-inset-top));transform:none}.app-shell.is-chat-thread .app-header{display:none}.app-shell.is-chat-thread .app-frame{padding-bottom:var(--bottom-nav-space)}.app-shell.is-chat-thread.is-text-entry-active .app-frame{padding-bottom:max(6px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.page-stack,.is-spinning{animation:none}.assignment-card,.driver-flow-progress>span{transition:none}}
