:root{font:14px/1.5 'Segoe UI',Arial,sans-serif;color:#183d42;background:#f3f6f8;--bg:#f3f6f8;--card:#fff;--ink:#183d42;--muted:#72848e;--line:#e2e9ed;--soft:#eef5f4;--accent:#087f70;--sidebar:#113535;--warn:#9a6212;--red:#b94343;--shadow:0 4px 24px #1c465305}*{box-sizing:border-box}body{margin:0}body.dark{--bg:#101f26;--card:#182c34;--ink:#e2efec;--muted:#9eb3bb;--line:#2c444c;--soft:#203b40;--accent:#36c9ae;--sidebar:#0b2229;--warn:#f0be74;--red:#ff9a93;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.6px;line-height:1.2}h2{font-size:19px;letter-spacing:-.3px}h3{font-size:16px}p{color:var(--muted);line-height:1.7}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;font-weight:600;transition:background .15s,box-shadow .15s}button:focus-visible,a:focus-visible{outline:3px solid #55bde1;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.96)}.primary{background:var(--accent);color:#fff}.dark .primary{color:#082921}.secondary{background:var(--card);border:1px solid var(--line);color:var(--ink)}.danger{background:#fff0ed;color:#ad3535;border:1px solid #f2d8d2}.dark .danger{background:#472c2d;color:#ffb3aa;border-color:#664044}.full{display:block;width:100%;margin-top:12px}.muted,small{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.65px;color:var(--muted)}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:1.6px;font-weight:750;color:#e7f6f2}.brand small{font-size:9px;display:block;letter-spacing:2px;color:#93b9b6;font-weight:500}.brand-icon{display:grid;place-items:center;background:#47c3a2;color:#103e38;font-size:25px;width:38px;height:41px;border-radius:12px 12px 12px 3px;letter-spacing:0}.app{display:flex;min-height:100vh}.sidebar{width:235px;background:var(--sidebar);position:fixed;inset:0 auto 0 0;padding:30px 19px;display:flex;flex-direction:column;color:#b4cecb}.sidebar .brand{padding:0 10px}.org-label{margin:32px 0;padding:17px 13px;border:1px solid #ffffff13;border-radius:12px;background:#ffffff04;display:grid;gap:5px}.org-label strong{color:#e2efec;font-size:13px}.org-label>span:last-child{font-size:11px}.sidebar .eyebrow{color:#85a4a1;font-size:9px}nav{display:grid;gap:8px}nav button{background:transparent;text-align:left;color:#aec8c4;display:flex;align-items:center;gap:14px;padding:13px 15px;font-size:13px}nav button>span:first-child{font-size:20px;width:23px;font-weight:400}nav button.selected{background:#285953;color:#d5fff0;box-shadow:inset 3px 0 #4ac6a4}.sidebar-foot{margin-top:auto;font-size:11px;padding:20px 10px 0}.sidebar-foot small{display:block;margin-top:7px;color:#789996}.live-dot{display:inline-block;background:#4ac6a4;border-radius:50%;width:7px;height:7px;margin-right:6px}.main{margin-left:235px;width:calc(100% - 235px);padding:0 34px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:27px 0 22px}.topbar .eyebrow{margin-bottom:8px}.top-actions{display:flex;gap:10px;align-items:center}.top-actions button{padding:9px 13px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;background:var(--soft);color:var(--accent);padding:5px 10px;border-radius:6px;white-space:nowrap}.badge.warn{background:#fff1dc;color:#946119}.dark .badge.warn{background:#473a28;color:#f0be74}.badge.neutral{background:var(--bg);color:var(--muted)}.status{background:var(--soft);border-left:3px solid var(--accent);padding:13px 17px;margin-top:16px;border-radius:7px}.status.error{border-color:var(--red);color:var(--red)}.account-note{font-size:11px;color:var(--muted);margin:13px 0 0}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 20px}.section-intro p{margin-top:5px;font-size:12px}.section-intro>.muted{font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.metric{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 21px;box-shadow:var(--shadow)}.metric>span{color:var(--muted);font-size:12px}.metric strong{display:block;font-size:28px;letter-spacing:-.8px;margin:7px 0 4px;line-height:1.25}.metric small{font-size:10px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:22px;align-items:start}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:20px}.card-heading h2{font-size:16px}.card-heading p{font-size:11px;margin-top:5px}.map-card{padding:0;overflow:hidden}.map-card .card-heading{padding:21px 22px;margin:0}.map-card .card-heading>div{min-width:0}.map-card h2{overflow-wrap:anywhere}.map{height:460px;position:relative;overflow:hidden;background:var(--soft);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;touch-action:none;cursor:grab}.map:active{cursor:grabbing}.map-tiles{position:absolute;inset:0;pointer-events:none}.map-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none}.map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.map-empty>span{font-size:43px;color:var(--accent);line-height:1;margin-bottom:20px}.map-empty p{font-size:12px;margin-top:9px}.map-tools{position:absolute;right:13px;top:15px;display:grid;gap:5px}.map-tools button{background:var(--card);color:var(--ink);width:35px;height:35px;display:grid;place-items:center;padding:0;box-shadow:0 2px 8px #16332920;font-size:21px}.map-attribution{position:absolute;bottom:0;right:0;background:#ffffffe8;font-size:10px;padding:2px 7px}.map-attribution a{color:#165851;text-decoration:none}.map-error{position:absolute;left:10px;bottom:23px;background:#fff4d9;color:#6e4b16;font-size:11px;padding:5px 9px;max-width:85%}.map-detail{padding:15px 22px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.vehicle-summary{padding:14px;background:var(--soft);border-radius:9px;margin-bottom:16px}.vehicle-summary b{display:block}.vehicle-summary span{font-size:12px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:15px 0;color:var(--ink)}input,select,textarea{display:block;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:11px 12px;border-radius:8px;margin-top:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #20a89413}textarea{min-height:90px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);font-weight:400}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check-gate{font-size:12px;color:var(--warn);padding:8px 0}.check-gate.ready{color:var(--accent)}.field-note{font-size:11px;line-height:1.7;padding:14px 5px}.tracking-info{font-size:12px;padding:10px 0}.action-row,.form-footer{display:flex;gap:10px;align-items:center;justify-content:space-between}.action-row>*{flex:1}#departure-info,#distance-preview{font-size:12px;margin-top:8px}#finish{border-top:1px solid var(--line);margin-top:19px;padding-top:3px}.driver-row{padding:18px 0;border-top:1px solid var(--line)}.person{display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;background:var(--soft);color:var(--accent);width:42px;height:42px;flex-shrink:0;border-radius:12px;font-size:14px;font-weight:750}.person b{font-size:13px}.person p{font-size:11px}.driver-row .badge{margin:12px 0 8px}.driver-row>p{font-size:12px}.driver-row button{margin-top:10px;padding:7px 11px;font-size:11px}.empty{padding:30px 12px;text-align:center;color:var(--muted);font-size:13px}.empty strong{display:block;font-size:15px;color:var(--ink);margin-bottom:9px}.summary-card{margin-top:22px}.summary-values{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:20px;margin-top:18px;border-top:1px solid var(--line)}.summary-values b{display:block;font-size:24px;margin-top:5px}.summary-values span{font-size:11px;color:var(--muted)}.summary-card>p{font-size:12px;margin-top:10px}.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.check-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.check-row label{font-size:13px;margin:0;flex:1}.check-row select{width:130px;margin:0;font-size:12px}.check-number{color:var(--muted);font-size:10px;width:20px}.form-footer{margin-top:20px}.form-footer span{font-size:12px}.narrow{max-width:750px}.trip-list{display:grid;gap:16px}.trip-list .card-heading{margin-bottom:12px}.trip-list .summary-values{padding-top:15px;margin-top:12px}.trip-list .summary-values b{font-size:21px}.trip-list .card>p{font-size:12px}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.fleet-grid .card p{font-size:12px;margin-top:13px}.count{background:#f1b86f;color:#5a3d18;font-size:10px;padding:0 6px;border-radius:5px;margin-left:auto}.profile-detail{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.profile-detail span{color:var(--muted)}.footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding:32px 0}.auth{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--card)}.auth-story{background:#123b3b;color:#e6f4ee;padding:55px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background-image:radial-gradient(ellipse at 0% 90%,#296b58 0,transparent 65%)}.auth-story .eyebrow{color:#8fcbb7}.auth-story h1{font-size:clamp(36px,4vw,64px);font-weight:650;line-height:1.08;margin:27px 0}.auth-story p{color:#adcbc6}.auth-story>small{color:#88aaa2}.auth-route{display:flex;gap:40px;margin-top:42px;border-top:1px solid #ffffff20;padding-top:25px}.auth-route span{font-size:11px;color:#89b0a6}.auth-route b{color:#dcece3;font-size:14px;font-weight:500}.auth-form{max-width:420px;margin:auto;padding:40px 25px;width:100%}.auth-form h2{font-size:28px;margin:14px 0 8px}.auth-form>p{font-size:13px}.auth-form form{margin:30px 0}.auth-form button{width:100%;display:flex;justify-content:space-between;margin-top:25px}.auth-form>small{font-size:11px}#login-status{color:var(--red);margin:15px 0}.dark .map-tiles{filter:brightness(.7) saturate(.75)}
.task-inbox{margin-bottom:22px}.task-inbox .card-heading{margin-bottom:12px}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.task-item{padding:16px;background:var(--soft);border-radius:10px}.task-item h3{margin:9px 0 5px}.task-item p{font-size:12px}.top-actions{flex-wrap:wrap}.map-card .card-heading{flex-wrap:wrap}
.route-picker{margin:0;padding:0 22px 16px}.route-picker select{font-weight:400}.sidebar nav{overflow-y:auto;min-height:0}.panel>.card{margin-bottom:20px}.section-intro{flex-wrap:wrap}
@media print{body,body.dark{background:white;color:black;--ink:black;--card:white;--muted:#444;--line:#ccc;--bg:white}.sidebar,.topbar,.footer,button,form,.account-note,#status{display:none!important}.main{margin:0;width:100%;padding:0}.card{box-shadow:none;break-inside:avoid}.panel[hidden]{display:none!important}.trip-list{display:block}.trip-list .card{margin:12px 0}.summary-values{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1650px){.main{padding:0 45px}.overview-grid{grid-template-columns:minmax(0,1fr) 360px}.map{height:540px}}
@media(max-width:1200px){.sidebar{width:200px;padding:25px 12px}.main{margin-left:200px;width:calc(100% - 200px);padding:0 23px}.overview-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.metric{padding:16px}.metric-grid{gap:12px}.card{padding:18px}.map-card{padding:0}.fleet-grid{grid-template-columns:1fr 1fr}.brand{font-size:16px}}
@media(max-width:1000px){.overview-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.journey-control #driver-control{display:grid;grid-template-columns:1fr}.checks-grid{grid-template-columns:1fr}.map{height:400px}.summary-values{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.badge{font-size:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:75px;padding:0;z-index:20;border-top:1px solid #ffffff20}.sidebar>.brand,.org-label,.sidebar-foot{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:0;height:100%}nav button{flex:1;min-width:0;justify-content:center;flex-direction:column;gap:1px;font-size:10px;padding:9px 3px;border-radius:0;position:relative}nav button>span:first-child{font-size:21px;width:auto}nav button.selected{box-shadow:inset 0 3px #4ac6a4}nav .count{position:absolute;top:5px;right:13px}.main{margin-left:0;width:100%;padding:0 16px 75px}.topbar{padding:20px 0 17px;gap:10px}.topbar h1{font-size:23px}.topbar .eyebrow{font-size:8px;letter-spacing:1px}.top-actions{gap:5px}.top-actions button{font-size:11px;padding:7px 10px}.top-actions .badge{display:none}.section-intro{margin:21px 0 15px;gap:10px}.section-intro h2{font-size:17px}.section-intro p{font-size:11px}.section-intro>.muted{display:none}.metric-grid{gap:10px;margin-bottom:16px}.metric{padding:12px 15px}.metric strong{font-size:25px}.metric>span{font-size:11px}.metric small{font-size:9px}.map{height:345px}.map-card .card-heading{padding:16px}.map-detail{padding:12px 16px}.card{border-radius:12px}.fleet-grid,.two-col{grid-template-columns:1fr}.two-col{gap:0}.summary-values{gap:15px}.summary-values b{font-size:21px}.check-row select{width:106px}.check-row label{font-size:12px}.form-footer{align-items:flex-start;flex-direction:column}.form-footer button{width:100%}.footer{font-size:10px;flex-direction:column;gap:4px}.auth{grid-template-columns:1fr}.auth-story{min-height:0;padding:25px 28px}.auth-story>div:nth-child(2),.auth-story>small{display:none}.auth-form{margin:40px auto}.profile-detail{font-size:12px}}

@media(max-width:700px){.sidebar nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.sidebar nav button{flex:0 0 96px}.profile-detail{overflow-wrap:anywhere}.card-heading{flex-wrap:wrap}}

.driver-view #panel-overview{display:flex;flex-direction:column}.driver-view #panel-overview>.section-intro{order:0}.driver-view #panel-overview>.overview-grid{order:1}.driver-view #panel-overview>.metric-grid{order:2;margin-top:22px}.driver-view #panel-overview>.task-inbox{order:3}.driver-view #panel-overview>.summary-card{order:4}

/* Decorative terrain: isolated from the live fleet map and sign-in controls. */
.auth-story{position:relative;isolation:isolate;overflow:hidden;background:#103b3a}
.auth-story::before{content:"";position:absolute;inset:-25%;z-index:-2;background:radial-gradient(ellipse at 75% 20%,#267e66 0,transparent 48%),radial-gradient(ellipse at 15% 80%,#2a726c 0,transparent 50%),linear-gradient(135deg,#0b292f,#194d42);animation:auth-glow 24s ease-in-out infinite alternate;pointer-events:none}
.auth-terrain{position:absolute;inset:-7%;z-index:-1;color:#92dbbe;opacity:.6;pointer-events:none;mask-image:linear-gradient(115deg,#0008,#000 70%);animation:auth-drift 32s ease-in-out infinite alternate}
.auth-terrain svg{width:100%;height:100%;display:block}
.auth-story h1{letter-spacing:-2px;text-shadow:0 3px 25px #103b3a88}
.auth-story>div:nth-child(2){position:relative}.auth-story p{color:#c2dcd5}.auth-story .auth-route{border-color:#b2e4ce30}
.auth-story>small{max-width:65%;font-size:10px;line-height:1.6}
.auth-motion{position:absolute;bottom:47px;right:24px;border:1px solid #c3ebdd35;border-radius:20px;background:#103b3a70;color:#c5e2d8;font-size:10px;padding:8px 12px;font-weight:500;backdrop-filter:blur(8px)}
.auth-motion span{margin-left:8px}.auth-motion:hover{background:#285d50}
.auth.motion-paused .auth-story::before,.auth.motion-paused .auth-terrain{animation-play-state:paused}
@keyframes auth-drift{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.055)}}
@keyframes auth-glow{from{transform:translate3d(-2%,1%,0) rotate(-4deg)}to{transform:translate3d(3%,-2%,0) rotate(5deg)}}
@media(max-width:700px){.auth-story{min-height:155px;padding:28px}.auth-motion{bottom:16px;right:20px}.auth-terrain{inset:-65% -10%;opacity:.55}.auth-story .brand{position:relative}.auth-form{margin:28px auto}}
@media(prefers-reduced-motion:reduce){.auth-story::before,.auth-terrain{animation:none}.auth-motion{display:none}}

.gps-speed{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;border-top:1px solid var(--line);background:var(--soft)}.gps-speed strong{font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.gps-speed p{font-size:11px;max-width:180px;text-align:right}.gps-speed>div>div>span{color:var(--muted);font-size:12px}.driver-speed{font-variant-numeric:tabular-nums;color:var(--accent)}

.device-identity-note{padding:14px 18px;margin-bottom:18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:12px}

.account-dialog{width:min(520px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:25px;background:var(--card);color:var(--ink);box-shadow:0 24px 80px #08292140}.account-dialog::backdrop{background:#071f29a8;backdrop-filter:blur(4px)}.account-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}#account-message{margin-top:14px}.account-dialog input{width:100%}#platform-editor{margin-top:22px;margin-bottom:22px}

/* Full-panel topography, quiet continuous movement. */
.auth-story{position:relative;isolation:isolate;overflow:hidden}.auth-terrain{position:absolute!important;inset:-12%!important;width:124%!important;height:124%!important;max-width:none!important;pointer-events:none;opacity:.22!important;z-index:-1;animation:terrain-drift 24s ease-in-out infinite alternate!important}.auth-terrain svg{width:100%;height:100%}@keyframes terrain-drift{0%{transform:translate(-2%,-2%) rotate(-3deg) scale(1.02)}100%{transform:translate(3%,2%) rotate(3deg) scale(1.12)}}@media(prefers-reduced-motion:reduce){.auth-terrain{animation:none!important}}

.monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.monitor-grid[data-windows="9"],.monitor-grid[data-windows="16"]{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-card{padding:16px;min-width:0}.monitor-map{height:260px}.monitor-stats{padding:12px 0;font-weight:700}.monitor-stage{min-height:40px}.monitor-card.long-stop{border:2px solid #d69736}.monitor-card.monitor-expanded{position:fixed;inset:20px;z-index:1000;overflow:auto;box-shadow:0 0 0 100vmax #0009}.monitor-expanded .monitor-map{height:65vh}.monitor-card[hidden]{display:none}@media(min-width:1800px){.monitor-grid[data-windows="16"]{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.monitor-grid,.monitor-grid[data-windows="9"],.monitor-grid[data-windows="16"]{grid-template-columns:1fr}}
