[hidden] { display:none !important; }
:root { --accent:#0878f9; --line:#e0e3e9; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#171b22; background:#f3f4f8; }
a { color:#0866bb; }
button,.button { font-weight:600; border-radius:14px; }
button:hover,.button:hover { background:#0060d5; }
.brand { font-weight:650; letter-spacing:-.025em; }
.panel { border-color:#e0e3e9; }
.tabs { border:none; }
.tabs a[aria-current=page] { color:#0866bb; border-color:#0878f9; }
.driver-screen>header,.driver-screen>footer { display:none; }
.driver-screen #main { width:100%;max-width:690px;margin:0 auto;padding:0;background:white;min-height:100vh; }
.driver-screen #message:not(:empty) { position:fixed;left:50%;bottom:16px;top:auto;transform:translateX(-50%);width:calc(100% - 32px);max-width:658px;margin:0;border-radius:12px;z-index:600;pointer-events:none; }
.driver-screen .screen-toolbar { position:sticky;top:0;z-index:500;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px;height:76px;padding:12px 16px;background:#ffffffed;backdrop-filter:blur(16px); }
.screen-toolbar.over-map { margin-bottom:-76px; }
.screen-toolbar h1 { font-size:19px;font-weight:650;text-align:center;letter-spacing:-.02em;margin:0; }
.round-control { width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#14232c;text-decoration:none; }
.round-control svg { width:27px;height:27px; }
.bol-control { background:#fff;border-radius:24px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#121a20;text-decoration:none;font-size:16px;font-weight:500; }
.screen-content { padding-bottom:28px; }
.map-hero { height:226px;background:#dceaf0;position:relative;isolation:isolate; }
.map-hero .leaflet-container { height:100%;width:100%;background:#dceaf0;z-index:0; }
.map-hero .leaflet-control-attribution { font-size:9px;background:#ffffffd9; }
.map-hero .leaflet-top { top:76px; }
.map-label { padding:5px 9px;background:#182c35;color:white;border-radius:7px;white-space:nowrap;font-size:12px; }
.map-label.delivery { background:#0878f9; }
.map-fallback { padding:92px 22px 22px;text-align:center;height:100%;background:#e5f1fa; }
.map-fallback strong { display:block;font-size:20px;margin-bottom:6px; }
.map-caption { position:absolute;bottom:20px;left:16px;font-size:10px;background:#fff;padding:3px 6px;border-radius:4px;color:#44555e;z-index:400; }
.inspection-banner { display:flex;align-items:center;gap:13px;background:#e5f6fb;border-bottom:1px solid #dbe3e8;padding:15px 16px;color:#21353d; }
.inspection-banner p { margin:0;font-size:15px;line-height:1.4; }
.camera-medallion { color:#057799;background:#ceeaf2;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.camera-medallion svg { width:27px;height:27px; }
.load-price { padding:14px 16px 18px;border-bottom:1px solid #d9dce2; }
.load-price small { display:block;font-size:14px; }
.load-price strong { display:block;font-size:22px;line-height:1.3; }
.load-price p { margin:5px 0 0;font-size:15px; }
.section-bar { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;background:#f3f4f9;border-top:1px solid #e0e2e6;border-bottom:1px solid #e0e2e6; }
.section-bar h2 { margin:0;font-size:20px;font-weight:650;letter-spacing:-.025em; }
.section-bar span { font-size:14px;color:#5d626b; }
.vehicle-block { padding:18px 16px 14px;border-bottom:1px solid #e4e5e9; }
.vehicle-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:14px; }
.vehicle-heading h3 { font-size:18px;letter-spacing:-.02em;margin:0 0 3px;font-weight:600; }
.vehicle-heading p { font-size:15px;margin:0;overflow-wrap:anywhere; }
.vehicle-outline { width:80px;height:55px;flex-shrink:0;stroke:#969da7;fill:none;stroke-width:1; }
.vehicle-condition { margin:14px 0 4px;color:#777d85;font-size:15px; }
.photo-progress { margin:0 0 30px;color:#60656d;font-size:15px; }
.photo-progress mark { background:#cc2819;color:white;padding:1px 5px;border-radius:3px; }
.photo-progress.complete mark { background:#197447; }
.primary-wide { display:flex;width:100%;min-height:49px;border-radius:17px;background:var(--action, #0878f9);border:0;color:#fff;font-size:17px;font-weight:600;text-decoration:none;align-items:center;justify-content:center;gap:8px;padding:12px 16px; }
.primary-wide svg { width:21px;height:21px; }
.scan-section { padding:14px 16px 16px;border-bottom:1px solid #e4e5e9; }
.scan-section p { margin:0 0 12px;font-size:15px;color:#61666e; }
.scan-action { display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:13px;background:#eaf3ff;border-radius:16px;text-decoration:none;color:#0866bb;font-size:17px;font-weight:600;min-height:74px; }
.scan-action svg { width:26px;height:26px; }
.stop-information { padding:17px 16px 10px;font-size:16px; }
.stop-information h3 { font-size:18px;font-weight:600;letter-spacing:-.025em;margin:0 0 9px; }
.site-kind { display:inline-flex;align-items:center;gap:4px;background:#eceef1;border-radius:3px;padding:1px 5px;font-size:14px;margin-bottom:15px; }
.site-kind svg { width:15px;height:15px; }
.stop-address { display:flex;justify-content:space-between;gap:18px;margin-bottom:16px;line-height:1.35; }
.stop-address a { font-weight:600;text-decoration:none; }
.stop-contacts { color:#61666e;line-height:1.55;margin-bottom:14px;overflow-wrap:anywhere; }
.stop-contacts a { text-decoration:none; }
.stop-notes { white-space:pre-line;line-height:1.45;margin-bottom:6px; }
.stop-notes .muted { display:block;margin-bottom:3px; }
.edit-row { display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #e4e5e9;border-bottom:1px solid #e4e5e9;text-decoration:none; }
.edit-row svg { width:18px;height:18px;color:#9da3ab; }
.eta-block { padding:10px 16px 22px; }
.eta-block p { text-align:center;color:#61666e;font-size:14px;margin:0 0 12px; }
.eta-block .eta-saved { color:#0866bb; }
.local-edit { font-size:12px;color:#996200;margin:4px 0; }
.detail-secondary { padding:18px 16px;border-top:7px solid #f3f4f8; }
.detail-secondary h2 { font-size:20px;margin:0 0 12px; }
.detail-secondary p { font-size:15px; }
.detail-secondary .notice { font-size:13px;margin:12px 0; }
.detail-secondary form { gap:12px; }
.detail-secondary button { border-radius:13px; }
.mini-status { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px; }
.screen-form { padding:22px 16px; }
.screen-form h2 { margin-top:0;font-size:23px; }
.screen-form p { font-size:15px;color:#61666e; }
.screen-form input,.screen-form select,.screen-form textarea { border-color:#d0d4db;border-radius:10px;min-height:48px;font-size:16px; }
.screen-form label { font-weight:500; }
.screen-form .grid { gap:16px; }
.inline-back { display:inline-flex;align-items:center;gap:5px;text-decoration:none; }
.photo-section { padding:18px 16px; }
.photo-section h2 { font-size:20px;margin:0 0 5px; }
.photo-section p { font-size:14px;color:#61666e; }
.photo-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.photo-slot { position:relative;min-width:0; }
.photo-tile { aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:#edf4fe;border:1px dashed #8fb4e4;border-radius:12px;color:#0866bb;position:relative;overflow:hidden;cursor:pointer; }
.photo-tile svg { width:27px;height:27px; }
.photo-tile span { font-size:12px; }
.photo-tile img { width:100%;height:100%;object-fit:cover; }
.photo-tile input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.photo-tile:focus-within { outline:3px solid #a76100;outline-offset:3px; }
.photo-caption { display:flex;justify-content:space-between;align-items:center;gap:3px;margin:5px 0;font-size:12px; }
.photo-caption button { min-height:30px;padding:2px 4px;border:0;background:none;color:#a02318;font-size:12px; }
.photo-slot.pending { opacity:.5;pointer-events:none; }
.stage-switch { display:flex;background:#ededf2;padding:3px;border-radius:10px;margin-bottom:18px; }
.stage-switch a { flex:1;text-align:center;padding:8px;text-decoration:none;color:#606670;border-radius:8px;font-size:14px;font-weight:500; }
.stage-switch a.selected { background:white;color:#171b22;box-shadow:0 2px 5px #00000012; }
.signed-grid { margin:16px 0; }
.scanner-video { width:100%;aspect-ratio:4/3;background:#17232c;border-radius:16px;object-fit:cover; }
.scanner-video[hidden] { display:none; }
.scanner-controls { display:flex;gap:10px;margin:14px 0; }
.scanner-controls button { flex:1; }
.vin-input { text-transform:uppercase;letter-spacing:.03em; }
.success-note { padding:14px;background:#e7f5ec;color:#246e43;border-radius:10px; }
.scanner-photo { margin:18px 0; }
.bol-summary { padding:20px 16px; }
.bol-summary h2 { margin:0 0 12px;font-size:21px; }
.bol-summary dl { margin:18px 0; }
.bol-summary dt { font-size:13px;color:#61666e; }
.bol-summary dd { margin:0 0 14px;font-size:16px; }
.bol-actions { display:grid;gap:12px;margin:22px 0; }
.bol-actions .secondary { border-radius:16px; }
.bol-viewer { min-width:0; }
.bol-viewer-controls { display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:12px 0; }
.bol-page-controls,.bol-zoom-controls { display:flex;align-items:center;gap:8px; }
.bol-viewer-controls button { min-height:44px;padding:8px 12px; }
.bol-page-controls span { font-size:14px;white-space:nowrap; }
.bol-page-viewport { width:100%;overflow:auto;max-height:75vh;border:1px solid #bbc2cc;background:#fff; }
.bol-page-viewport canvas { display:block;max-width:none; }
.bol-page-text { margin-top:12px; }
.bol-page-text p { white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px; }
.bol-viewer [hidden] { display:none; }
.subtle-demo { font-size:12px;color:#656c77; }
.driver-screen #message.error { max-width:690px; }
@media(min-width:760px){.driver-screen #main{border-left:1px solid #e1e4e9;border-right:1px solid #e1e4e9}.map-hero{height:280px}.vehicle-block,.stop-information,.screen-form,.photo-section,.bol-summary{padding-left:24px;padding-right:24px}.scan-section,.eta-block,.section-bar{padding-left:24px;padding-right:24px}.screen-toolbar h1{font-size:21px}}
@media(max-width:420px){.screen-form .grid{grid-template-columns:1fr}.vehicle-outline{width:69px}.photo-grid{gap:8px}.screen-toolbar h1{font-size:18px}}
@media(prefers-reduced-motion:no-preference){.screen-content{animation:content-arrive .2s ease-out}@keyframes content-arrive{from{clip-path:inset(0 0 1% 0);opacity:.8}to{clip-path:inset(0);opacity:1}}}

.company-switch { display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:0; }
.company-switch label { flex:1;max-width:420px; }
.company-row { padding:20px 0;border-bottom:1px solid var(--line); }
.company-row:first-child { padding-top:0; }
.company-row:last-child { border-bottom:0;padding-bottom:0; }
.company-row h2 { margin:0 0 8px; }
.company-row p { font-size:14px; }
.mapping-form { margin:16px 0;align-items:end; }
.mapping-form label { flex:1; }
@media(max-width:560px){.company-switch{align-items:stretch;flex-direction:column;gap:10px}.company-row .row{gap:10px}}
