@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";.landing-page{background:var(--paper);min-height:100vh;color:var(--ink)}.landing-page .skip-link{position:fixed}.landing-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1240px;height:78px;margin:auto;padding:0 40px;display:flex}.landing-brand{color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:flex}.landing-brand>span:last-child{line-height:1;display:grid}.landing-brand strong{letter-spacing:-.05em;font-family:Fraunces,Georgia,serif;font-size:23px}.landing-brand small{letter-spacing:.06em;color:var(--muted);margin-top:3px;font:500 9px DM Mono,monospace}.landing-nav nav{gap:24px;display:flex}.landing-nav nav a{color:#4c5e54;font-size:12px;text-decoration:none}.landing-nav nav a:hover,.text-link:hover{color:var(--forest)}.landing-enter{padding:8px 12px;font-size:11px}.landing-hero{grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);align-items:center;gap:60px;max-width:1240px;min-height:610px;margin:auto;padding:76px 40px 70px;display:grid}.landing-hero h1{letter-spacing:-.06em;max-width:690px;margin:13px 0 22px;font:500 clamp(44px,5.2vw,76px)/.98 Fraunces,Georgia,serif}.landing-lead{color:#516057;max-width:610px;font-size:18px;line-height:1.55}.landing-actions{align-items:center;gap:22px;margin-top:32px;display:flex}.landing-actions .primary{padding:13px 17px;font-size:13px}.text-link{color:#315c48;cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:12px;font-weight:600;text-decoration:none}.landing-disclosure{color:var(--muted);max-width:440px;margin-top:30px;font:10px/1.55 DM Mono,monospace}.hero-map-preview{background:#dfe7db;border:1px solid #cfd7cb;height:450px;position:relative;overflow:hidden;box-shadow:0 24px 52px #18332b1a}.hero-map-preview:before{content:"";opacity:.75;background:repeating-linear-gradient(18deg,#0000 0 42px,#c9d4c6 43px 44px,#0000 45px 94px),repeating-linear-gradient(-37deg,#0000 0 76px,#e9eee5 77px 79px,#0000 80px 156px);position:absolute;inset:-15%}.hero-preview-top{background:#fffcf4ed;border:1px solid #d6ddd2;align-items:center;gap:7px;padding:11px 12px;font-size:11px;display:flex;position:absolute;top:18px;left:20px;right:20px;box-shadow:0 4px 13px #15322b12}.hero-preview-top small{color:var(--muted);margin-left:auto;font-family:DM Mono,monospace}.hero-preview-road{background:#f9faf5;border:2px solid #c8d0c4;border-radius:999px;height:13px;position:absolute;box-shadow:0 0 0 3px #e2e8df}.road-one{width:104%;top:45%;left:-10%;transform:rotate(18deg)}.road-two{width:86%;top:65%;left:12%;transform:rotate(-38deg)}.hero-preview-river{background:#bdd9dc;border-inline:4px solid #accdd0;width:20%;height:130%;position:absolute;top:-18%;left:58%;transform:rotate(22deg)}.hero-preview-marker{z-index:2;color:#fff;background:#2b8761;border:2px solid #fff;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font:600 11px DM Sans,sans-serif;display:flex;position:absolute;box-shadow:0 4px 14px #15322b3f}.marker-main{top:52%;left:34%}.marker-alert{background:#a75a4a;top:31%;right:9%}.hero-preview-card{background:#fffcf4;border:1px solid #d3dbd0;width:250px;padding:17px;position:absolute;bottom:18px;right:18px;box-shadow:0 14px 28px #15322b24}.hero-preview-card strong,.hero-preview-card small{display:block}.hero-preview-card strong{margin:4px 0;font-size:15px}.hero-preview-card small{color:var(--muted);font-size:10px}.hero-preview-card button{color:#315c48;cursor:pointer;background:0 0;border:0;padding:10px 0 0;font-size:11px;font-weight:700}.landing-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1240px;margin:auto;display:grid}.landing-proof p{border-right:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:#456053;margin:0;padding:20px 24px;font:600 10px DM Mono,monospace}.landing-proof p:last-child{border:0}.landing-section{border-bottom:1px solid var(--line);max-width:1240px;margin:auto;padding:112px 40px}.section-heading{grid-template-columns:minmax(150px,.45fr) minmax(0,1.1fr);align-items:start;gap:32px;margin-bottom:48px;display:grid}.section-heading h2,.trust-section h2,.landing-final h2{letter-spacing:-.05em;max-width:770px;margin:0;font:500 clamp(31px,3.7vw,50px)/1.05 Fraunces,Georgia,serif}.capability-list{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.capability-list article{border-right:1px solid var(--line);margin-right:20px;padding:25px 20px 18px 0}.capability-list article:last-child{border:0;margin-right:0}.capability-list span{color:#79877d;font:500 10px DM Mono,monospace}.capability-list h3,.audience-list h3{margin:30px 0 10px;font:500 22px/1.1 Fraunces,Georgia,serif}.capability-list p,.audience-list p{color:#5b685f;margin:0;font-size:13px;line-height:1.55}.audience-section{background:#eaf0e7;max-width:none;padding-left:max(40px,50% - 580px);padding-right:max(40px,50% - 580px)}.audience-list{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.audience-list article{background:#f8f8f2;border-top:2px solid #315c48;flex-direction:column;align-items:flex-start;min-height:245px;padding:22px 26px 24px;display:flex}.audience-list article>span{color:#315c48}.audience-list .text-link{margin-top:auto}.journey-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;display:grid}.journey-section .section-heading{margin:0;display:block}.journey-section .section-heading h2{margin-top:13px}.journey-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.journey-list li{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr 1.4fr;align-items:baseline;gap:14px;padding:21px 0;display:grid}.journey-list li:before{content:counter(list-item, decimal-leading-zero);color:#7d887e;font:500 10px DM Mono,monospace}.journey-list strong{font-size:16px}.journey-list span{color:#59665e;font-size:13px;line-height:1.5}.trust-section{color:#f4f2e9;background:#15372e;border:0;grid-template-columns:1fr 1fr;gap:90px;max-width:none;padding-left:max(40px,50% - 580px);padding-right:max(40px,50% - 580px);display:grid}.trust-section .eyebrow{color:#d1bd76}.trust-section h2{color:#f4f2e9;margin-top:13px}.trust-section p{color:#d4ddd3;margin:0 0 17px;font-size:14px;line-height:1.65}.faq-section{grid-template-columns:.9fr 1.1fr;gap:56px;display:grid}.faq-section .section-heading{margin:0;display:block}.faq-section .section-heading h2{margin-top:13px}.faq-section details{border-top:1px solid var(--line);padding:20px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;font-size:14px;font-weight:600;list-style-position:inside}.faq-section details p{color:#5d6a61;margin:13px 0 0 18px;font-size:13px;line-height:1.55}.landing-final{text-align:center;max-width:930px;margin:auto;padding:110px 40px}.landing-final h2{margin:15px auto 29px}.landing-footer{border-top:1px solid var(--line);max-width:1240px;color:var(--muted);justify-content:space-between;margin:auto;padding:22px 40px;font-size:11px;display:flex}.landing-footer span:first-child{color:var(--ink);font:600 17px Fraunces,Georgia,serif}.landing-footer small{color:var(--muted);font:500 9px DM Mono,monospace}.login-back{color:#d5e1d6;cursor:pointer;background:0 0;border:0;font-size:11px;position:absolute;top:22px;left:28px}.login-brand small{color:#cdd9ce;letter-spacing:.04em;margin-top:3px;font:500 8px DM Mono,monospace;display:block}@media (width<=900px){.landing-nav,.landing-hero,.landing-section{padding-left:24px;padding-right:24px}.landing-hero{grid-template-columns:1fr;gap:36px;padding-top:55px}.hero-map-preview{max-width:640px;height:380px}.capability-list{grid-template-columns:repeat(2,1fr)}.capability-list article:nth-child(2){border-right:0}.capability-list article:nth-child(-n+2){border-bottom:1px solid var(--line)}.journey-section,.trust-section,.faq-section{grid-template-columns:1fr;gap:40px}.landing-proof{grid-template-columns:repeat(2,1fr)}.landing-proof p:nth-child(2){border-right:0}.landing-proof p:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=560px){.landing-nav{height:68px;padding:0 16px}.landing-nav nav{display:none}.landing-enter{padding:7px 8px;font-size:10px}.landing-brand strong{font-size:20px}.landing-brand small{font-size:7px}.landing-hero{min-height:0;padding:45px 16px 50px}.landing-hero h1{font-size:43px}.landing-lead{font-size:16px}.landing-actions{flex-direction:column;align-items:flex-start;gap:12px}.hero-map-preview{height:310px}.hero-preview-card{width:220px;padding:13px;bottom:12px;right:12px}.marker-main{top:53%;left:16%}.marker-alert{top:29%;right:5%}.landing-proof{grid-template-columns:1fr}.landing-proof p,.landing-proof p:nth-child(2){border-right:0;border-bottom:1px solid var(--line);padding:15px 16px}.landing-proof p:last-child{border-bottom:0}.landing-section{padding:70px 16px}.section-heading{margin-bottom:33px;display:block}.section-heading h2{margin-top:13px}.capability-list,.audience-list{grid-template-columns:1fr}.capability-list article,.capability-list article:nth-child(2){border-right:0;border-bottom:1px solid var(--line);margin:0;padding:20px 0}.capability-list article:last-child{border-bottom:0}.audience-section{padding-left:16px;padding-right:16px}.audience-list{gap:10px}.audience-list article{min-height:190px}.journey-list li{grid-template-columns:37px 1fr;gap:8px}.journey-list li span{grid-column:2}.trust-section{padding-left:16px;padding-right:16px}.faq-section{gap:28px}.landing-final{padding:70px 16px}.landing-footer{gap:8px;padding:18px 16px;display:grid}.login-back{top:15px;left:18px}.login-panel{padding-top:45px}}@media (width>=681px) and (width<=1320px){.filter-row{flex-wrap:wrap;overflow:visible}.filter-row button{padding-inline:7px}}@media (width<=680px){.fleet-panel{height:320px}}:root{--ink:#15322b;--forest:#173b31;--forest-2:#21503f;--paper:#f7f5ef;--warm:#ece7da;--line:#d9d9cf;--muted:#6c746d;--amber:#d79024;--red:#bf553e;--blue:#276e79;--radius:12px;color:var(--ink);background:var(--paper);font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e5aa46}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1,h2{font-family:Fraunces,serif}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#69736b;font:500 10px DM Mono,monospace}.muted{color:var(--muted)}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--forest);color:#f5f0e5;z-index:7;flex-direction:column;padding:22px 14px;display:flex;position:relative}.brand{letter-spacing:-.08em;align-items:center;gap:9px;font-size:22px;font-weight:700;display:flex}.brand-mark{color:#fff;letter-spacing:-.12em;background:#d99b38;border-radius:6px;place-items:center;width:29px;height:29px;font-family:Fraunces,serif;font-size:20px;display:grid}.workspace{border-bottom:1px solid #ffffff1c;align-items:center;gap:9px;margin:23px 0 16px;padding:16px 10px;display:flex}.workspace span:nth-child(2){flex:1;gap:2px;display:grid}.workspace strong{font-size:12px}.workspace small{color:#b8c7bd;font-size:11px}.workspace-dot{background:#e0a13b;border-radius:50%;width:9px;height:9px;display:block;box-shadow:0 0 0 3px #e0a13b28}.sidebar nav{gap:3px;display:grid}.sidebar nav button,.sidebar-bottom button{color:#cbd5cc;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;padding:11px 10px;font-size:13px;display:flex}.sidebar nav button:hover,.sidebar nav button.active,.sidebar-bottom button:hover{color:#fff;background:#ffffff14}.nav-count{color:#16382f;background:#df9a31;border-radius:99px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.sidebar-bottom{border-top:1px solid #ffffff1c;margin-top:auto;padding-top:12px}.sidebar-bottom p{color:#8fa599;padding:16px 10px 0;font-size:10px;line-height:1.55}.mobile-close{display:none}main{background:var(--paper);min-width:0;position:relative}.topbar{border-bottom:1px solid var(--line);background:#fbfaf6;justify-content:space-between;align-items:center;height:83px;padding:0 36px;display:flex}.topbar h1{margin-top:4px;font-size:25px;line-height:1.2}.top-actions{align-items:center;gap:18px;display:flex}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:0 0;border-radius:8px;place-items:center;display:grid;position:relative}.icon-button i{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font:700 9px DM Mono;display:grid;position:absolute;top:-5px;right:-5px}.profile{color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;font-size:13px;display:flex}.profile span{background:#e7d5ae;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.demo-banner{color:#6a4a12;background:#f5e8ca;border-bottom:1px solid #e8d2a2;align-items:center;gap:8px;padding:8px 36px;font-size:12px;display:flex}.toast{z-index:20;color:#fff;background:#183b31;border-radius:9px;align-items:center;gap:14px;padding:13px 12px 13px 16px;font-size:13px;display:flex;position:fixed;top:104px;right:22px;box-shadow:0 12px 34px #12291f33}.toast button{color:#fff;background:0 0;border:0}.page-content{padding:32px 36px}.dashboard{grid-template-columns:315px minmax(0,1fr);min-height:calc(100vh - 119px);padding:0;display:grid}.fleet-panel{border-right:1px solid var(--line);background:#fbfaf6;flex-direction:column;min-height:0;padding:24px 16px;display:flex}.panel-heading,.page-intro{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.panel-heading h2{margin-top:4px;font-size:22px}.panel-heading h2 span{color:var(--muted);background:var(--warm);vertical-align:middle;border-radius:4px;padding:3px 6px;font:500 11px DM Mono}.search{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;align-items:center;margin:19px 0 12px;padding:0 10px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:10px 8px;font-size:12px}.filter-row{gap:5px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow:auto}.filter-row button{color:#68716a;background:0 0;border:1px solid #0000;border-radius:99px;flex:none;padding:5px 8px;font-size:10px}.filter-row button.selected{color:#244535;background:#dce7d9;border-color:#b8cbb6}.vehicle-list{flex:1;gap:4px;display:grid;overflow:auto}.vehicle-row{text-align:left;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:9px;padding:10px 6px;display:flex}.vehicle-row:hover,.vehicle-row.selected{background:#eff2ec;border-color:#dbe3d8}.status-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px;display:block}.status-dot.moving,.map-legend i.moving{background:#2b8761}.status-dot.stopped,.map-legend i.stopped{background:#d1922d}.status-dot.offline,.map-legend i.offline{background:#b55b4a}.vehicle-info{flex:1;gap:3px;min-width:0;display:grid}.vehicle-info strong{font-size:12px}.vehicle-info small,.vehicle-info em{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-style:normal;overflow:hidden}.vehicle-info em{color:#8a938c}.vehicle-speed{color:#4d5d52;white-space:nowrap;margin-top:4px;font:500 10px DM Mono}.add-vehicle{color:#345745;background:0 0;border:1px dashed #b3c2b5;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px;font-size:12px;display:flex}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 15px;font-size:12px;display:grid}.empty-state strong{color:var(--ink)}.map-stage{min-height:560px;position:relative;overflow:hidden}.map-art{color:#59665d;background:#dfe6d8;position:absolute;inset:0;overflow:hidden}.map-art:before{content:"";opacity:.8;background:linear-gradient(112deg,#0000 45%,#edf0e7 45.4% 49%,#0000 49.4%),linear-gradient(21deg,#0000 20%,#f0f3eb 20.4% 24%,#0000 24.4%),repeating-linear-gradient(0deg,#0000 0 67px,#cbd6c8 68px 69px,#0000 70px 132px),repeating-linear-gradient(90deg,#0000 0 90px,#cbd6c8 91px 92px,#0000 93px 170px);position:absolute;inset:-15%;transform:rotate(-8deg)}.river{background:#c3dde0;border-inline:4px solid #b3d1d4;width:25%;height:145%;position:absolute;top:-25%;left:14%;transform:rotate(28deg)}.road{background:#fcfcf5;border:2px solid #c6cfc5;border-radius:100px;height:11px;position:absolute;box-shadow:0 0 0 2px #eff1e9}.r1{width:82%;top:39%;left:-10%;transform:rotate(10deg)}.r2{width:74%;top:64%;left:14%;transform:rotate(-24deg)}.r3{width:68%;top:19%;left:22%;transform:rotate(51deg)}.r4{width:69%;top:68%;left:-2%;transform:rotate(74deg)}.r5{width:50%;top:42%;left:45%;transform:rotate(-57deg)}.district{text-transform:uppercase;letter-spacing:.1em;color:#758177;font:500 10px DM Mono;position:absolute}.d1{top:28%;left:17%}.d2{top:22%;left:56%}.d3{top:73%;left:48%}.d4{top:52%;left:75%}.map-label{letter-spacing:.35em;color:#a5afa4;opacity:.45;font:600 20px DM Mono;position:absolute;top:44%;left:31%}.map-marker{color:#fff;z-index:3;border:2px solid #fff;border-radius:50%;place-items:center;width:31px;height:31px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #1d3c302e}.map-marker.moving{background:#2b8761}.map-marker.stopped{background:#d1922d}.map-marker.offline{background:#a75a4a}.map-marker.current{width:38px;height:38px;box-shadow:0 0 0 6px #2c876130}.map-marker span{color:#fff;white-space:nowrap;background:#15372e;border-radius:4px;padding:4px 6px;font-size:10px;display:none;position:absolute;top:4px;left:35px}.map-marker.current span{display:block}.map-tools{z-index:4;gap:6px;display:grid;position:absolute;top:18px;right:20px}.map-tools button{width:35px;height:35px;color:var(--ink);background:#fff;border:1px solid #d5dbd0;border-radius:6px;place-items:center;display:grid}.map-legend{z-index:4;background:#fffcf4e8;border:1px solid #d6ddd2;border-radius:6px;gap:12px;padding:8px 10px;font-size:10px;display:flex;position:absolute;bottom:20px;left:20px}.map-legend span{align-items:center;gap:5px;display:flex}.map-legend i{border-radius:50%;width:7px;height:7px}.vehicle-detail{z-index:5;background:#fbfaf6;border:1px solid #d7ded4;border-radius:10px;width:305px;padding:20px;position:absolute;bottom:20px;right:20px;box-shadow:0 15px 38px #213f3030}.detail-close{color:var(--muted);background:0 0;border:0;position:absolute;top:11px;right:10px}.detail-title{border-bottom:1px solid var(--line);align-items:flex-start;gap:9px;padding-bottom:15px;display:flex}.detail-title h2{margin:3px 0;font-size:20px}.detail-title p:last-child{color:var(--muted);font-size:11px}.reading-grid{grid-template-columns:1fr 1fr;gap:10px;padding:15px 0;display:grid}.reading-grid>div{color:#6d776e;grid-template-columns:17px 1fr;gap:2px 6px;display:grid}.reading-grid svg{grid-row:span 2;margin-top:2px}.reading-grid span{font-size:10px}.reading-grid strong{color:var(--ink);font-size:15px}.reading-grid small{color:var(--muted);font-size:9px}.reading-grid .green{color:#287653}.location-row{border-top:1px solid var(--line);color:#526258;gap:8px;padding:13px 0;display:flex}.location-row span{gap:2px;display:grid}.location-row small,.location-row em{color:var(--muted);font-size:10px;font-style:normal}.location-row strong{color:var(--ink);font-size:11px}.remote-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;padding:13px 0;display:grid}.remote-actions p{grid-column:span 2}.remote-actions button{border:1px solid var(--line);color:#4c5b51;background:#fff;border-radius:5px;padding:7px;font-size:10px}.full{justify-content:center;width:100%}.primary,.secondary{border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:12px;font-weight:600;display:inline-flex}.primary{border:1px solid var(--forest);background:var(--forest);color:#fff}.primary:hover{background:#245142}.secondary{color:#294b3b;background:0 0;border:1px solid #b9c4b8}.secondary:hover{background:#eaf0e7}.reading-page{max-width:1120px;margin:auto}.page-intro{margin-bottom:26px}.page-intro h2{margin-top:5px;font-size:31px}.page-intro>div>p:last-child{color:var(--muted);margin-top:7px;font-size:13px}.alert-list{border-top:1px solid var(--line)}.alert{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr 30px;gap:14px;padding:19px 4px;display:grid}.alert-symbol{color:#8a6522;background:#efe9dc;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.alert.danger .alert-symbol{color:#a04d3a;background:#f3dfd9}.alert h3{margin:4px 0;font-size:16px}.alert p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.45}.alert div button{color:#316348;background:0 0;border:0;padding:7px 0 0;font-size:11px}.alert>button{color:var(--muted);background:0 0;border:0;height:30px}.route-card{border:1px solid var(--line);background:#fbfaf6;grid-template-columns:1.3fr .7fr;min-height:420px;display:grid}.route-map{min-height:420px;position:relative}.route-line{z-index:3;width:100%;height:100%;position:absolute;inset:0}.route-line polyline{fill:none;stroke:#d28e25;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linecap:round}.route-start,.route-end{z-index:4;color:#fff;background:#183b31;border-radius:4px;padding:3px 5px;font-size:9px;position:absolute;transform:translate(-50%,-50%)}.route-end{background:#be573f}.route-card aside{border-left:1px solid var(--line);padding:28px 24px}.route-card h3{font-size:19px}.route-card dl,.report-card dl{margin:20px 0}.route-card dl div,.report-card dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:10px 0;display:flex}.route-card dt,.report-card dt{color:var(--muted);font-size:11px}.route-card dd,.report-card dd{color:var(--ink);margin:0;font:500 11px DM Mono}.honest-gap{color:#755419;background:#f4ead2;border-left:3px solid #d5942c;gap:8px;padding:10px;display:flex}.honest-gap p{font-size:11px;line-height:1.45}.honest-gap strong{display:block}.report-card{border:1px solid var(--line);background:#fbfaf6;justify-content:space-between;align-items:end;gap:25px;padding:30px;display:flex}.report-icon{color:#27533d;background:#dce9dc;border-radius:6px;place-items:center;width:40px;height:40px;margin-bottom:16px;display:grid}.report-card h3{margin:5px 0;font-size:22px}.report-card p:not(.eyebrow){color:var(--muted);max-width:500px;font-size:13px}.report-card dl{max-width:480px}.report-buttons{flex-wrap:wrap;gap:8px;display:flex}.audit-note{border-top:1px solid var(--line);color:#526258;gap:10px;margin-top:24px;padding:17px 4px;display:flex}.audit-note p{font-size:12px;line-height:1.5}.settings-form{border:1px solid var(--line);background:#fbfaf6}.settings-form section{border-bottom:1px solid var(--line);grid-template-columns:.75fr 1fr 1fr;gap:18px;padding:22px;display:grid}.settings-form h3{margin-top:4px;font-size:16px}.settings-form label{color:#4f5d53;gap:7px;font-size:11px;font-weight:600;display:grid}.settings-form input,.settings-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd3c9;border-radius:5px;padding:9px;font-size:12px;font-weight:400}.settings-form textarea{resize:vertical;min-height:68px}.settings-form>.primary{margin:18px 22px}.plans{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.plans article{border:1px solid var(--line);background:#fbfaf6;flex-direction:column;align-items:flex-start;min-height:290px;padding:24px;display:flex}.plans article.recommended{border-color:#507b59;box-shadow:inset 0 3px #507b59}.plan-badge{color:#28513d;background:#dce9dc;border-radius:99px;align-self:flex-start;margin-bottom:11px;padding:3px 8px;font-size:10px;font-weight:600}.plans h3{margin:6px 0;font-size:21px}.plans p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.45}.plans strong{color:#426051;margin-top:auto;padding:20px 0;font:500 11px DM Mono}.plans button{width:100%}.placeholder{text-align:center;color:#617065;place-items:center;min-height:500px;display:grid}.placeholder div{justify-items:center;gap:11px;display:grid}.placeholder h2{color:var(--ink);font-size:25px}.placeholder p{font-size:13px}.login-page{background:#f8f5ed;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-panel{background:var(--forest);color:#fff;flex-direction:column;padding:48px 10%;display:flex;position:relative;overflow:hidden}.login-brand{z-index:1;position:relative}.login-copy{z-index:1;max-width:520px;margin:auto 0;position:relative}.login-copy .eyebrow{color:#e7c17d}.login-copy h1{margin:15px 0 21px;font-size:clamp(38px,5vw,68px);line-height:1.02}.login-copy p:last-child{color:#c2d0c4;max-width:395px;line-height:1.55}.grid-lines{opacity:.16;background:linear-gradient(30deg,#0000 44%,#ecc778 44.2% 44.6%,#0000 44.8%),repeating-linear-gradient(0deg,#0000 0 76px,#c9dfcb 77px 78px),repeating-linear-gradient(90deg,#0000 0 110px,#c9dfcb 111px 112px);position:absolute;inset:0}.login-foot{z-index:1;color:#aac0b0;font:10px DM Mono;position:relative}.login-card{border:1px solid var(--line);background:#fbfaf6;place-self:center;width:min(390px,100% - 44px);padding:36px;box-shadow:0 20px 65px #2b3e2d16}.login-card h2{margin:7px 0 8px;font-size:31px}.login-card .muted{margin-bottom:25px;font-size:13px;line-height:1.4}.login-card form{gap:15px;display:grid}.login-card label{gap:7px;font-size:11px;font-weight:600;display:grid}.login-card input{background:#fff;border:1px solid #cbd3c9;border-radius:5px;padding:10px;font-size:13px}.login-card .primary{justify-content:space-between;width:100%;margin-top:4px}.form-hint{color:#6b786e;justify-content:center;align-items:center;gap:6px;margin-top:7px;font-size:10px;display:flex}.selector,.role{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:#fff;align-items:center;gap:10px;padding:12px;display:flex}.selector{border-radius:6px;margin:21px 0 12px}.selector span:nth-child(2){flex:1;gap:3px;display:grid}.selector strong,.role strong{font-size:12px}.selector small,.role small{color:var(--muted);font-size:10px}.role-options{gap:7px;margin-bottom:18px;display:grid}.role{border-radius:6px}.role.selected{background:#eff5ed;border-color:#6c9670}.role span:nth-child(2){flex:1;gap:2px;display:grid}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{width:254px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:none}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;display:block}.mobile-menu{color:var(--ink);background:0 0;border:0;place-items:center;margin-right:10px;display:grid}.topbar{justify-content:flex-start;padding:0 20px}.top-actions{margin-left:auto}.profile strong,.profile svg{display:none}.backdrop{z-index:6;background:#0c2119aa;border:0;position:fixed;inset:0}.dashboard{grid-template-columns:280px minmax(0,1fr)}.page-content{padding:26px 24px}.login-page{grid-template-columns:1fr}.login-panel{min-height:340px;padding:35px}.login-copy{margin:auto 0}.login-card{margin:40px 0}.settings-form section{grid-template-columns:1fr 1fr}.settings-form section>div{grid-column:span 2}.plans{grid-template-columns:1fr}.plans article{min-height:210px}}@media (width>=901px){.mobile-menu{display:none}}@media (width<=680px){.topbar{height:72px}.topbar h1{font-size:21px}.topbar .eyebrow{font-size:8px}.demo-banner{padding:8px 16px;font-size:10px}.dashboard{display:block}.fleet-panel{border-right:0;border-bottom:1px solid var(--line);height:360px}.map-stage{min-height:530px}.vehicle-detail{width:auto;bottom:12px;left:12px;right:12px}.map-legend{top:13px;bottom:auto;left:12px}.map-legend span{font-size:9px}.map-tools{top:57px;right:12px}.page-content{padding:22px 16px}.page-intro{gap:14px;display:grid}.page-intro h2{font-size:27px}.route-card{grid-template-columns:1fr}.route-map{min-height:300px}.route-card aside{border-left:0;border-top:1px solid var(--line);padding:22px 18px}.report-card{padding:23px;display:grid}.report-buttons{width:100%}.report-buttons button{flex:1}.settings-form section{grid-template-columns:1fr;padding:18px}.settings-form section>div{grid-column:auto}.settings-form>.primary{margin:16px 18px}.alert{grid-template-columns:33px 1fr 24px;gap:9px}.plans{gap:10px}.login-panel{min-height:320px;padding:28px}.login-copy h1{font-size:40px}.login-card{width:calc(100% - 32px);margin:16px 0 35px;padding:28px 23px}.login-card h2{font-size:27px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.skip-link{z-index:100;color:#fff;background:#173b31;border-radius:6px;padding:9px 12px;font-size:12px;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.live-map-shell{background:#eff2ea;position:absolute;inset:0}.live-map,.live-map.maplibregl-map{width:100%;height:100%;position:absolute;inset:0}.maplibregl-ctrl-top-right{top:18px;right:18px}.maplibregl-ctrl-group{overflow:hidden;border:1px solid #d5dbd0!important;border-radius:7px!important;box-shadow:0 5px 18px #15322b1c!important}.maplibregl-ctrl-group button{width:35px!important;height:35px!important}.maplibregl-ctrl-attrib{color:#526258!important;background:#fffcf4e8!important;font:9px DM Mono,monospace!important}.fleet-marker{color:#fff;white-space:nowrap;background:#2b8761;border:2px solid #fff;border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 6px;font:600 10px DM Sans,sans-serif;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 3px 12px #15322b45}.fleet-marker span{background:#ffffff30;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;line-height:1;display:grid}.fleet-marker.stopped{background:#c78925}.fleet-marker.offline{background:#a75a4a}.fleet-marker.is-selected{transform:scale(1.12);box-shadow:0 0 0 6px #2b876133,0 5px 14px #15322b50}.fleet-marker.moving span{animation:2s ease-in-out infinite atlas-pulse}.map-hud{z-index:2;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:18px;left:20px}.map-hud>*{pointer-events:auto}.map-status,.map-hint,.map-hud button{color:#405349;background:#fffcf4ed;border:1px solid #d6ddd2;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;display:flex;box-shadow:0 3px 12px #15322b14}.map-status i{background:#2b8761;border-radius:50%;width:7px;height:7px}.map-status.warning i{background:#bf553e}.map-hud button{color:#244b38;cursor:pointer;border-color:#315c48;font-weight:600}.map-hint{color:#657268}@keyframes atlas-pulse{0%,to{box-shadow:0 0 #fff0}50%{box-shadow:0 0 0 4px #ffffff3d}}@media (width<=680px){.maplibregl-ctrl-top-right{top:62px;right:12px}.map-hud{flex-wrap:wrap;align-items:flex-start;top:12px;left:12px;right:12px}.map-hint{display:none}.map-status{max-width:240px}.fleet-marker strong{display:none}.fleet-marker{padding:6px}.map-legend{z-index:3;top:auto;bottom:230px}}.context-actions{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:5px;padding:13px 0;display:grid}.context-actions p{grid-column:span 3}.context-actions button{border:1px solid var(--line);color:#315a45;background:#fff;border-radius:5px;padding:7px 3px;font-size:10px}.simulation-confirm{color:#6f511b;background:#f7edd5;border-left:3px solid #d5942c;grid-column:span 2;gap:6px;padding:9px;font-size:10px;display:grid}.simulation-confirm span{font-size:10px}.simulation-confirm .primary{padding:7px 9px;font-size:10px}.simulation-confirm button:not(.primary){color:#6f511b;text-align:left;background:0 0;border:0;padding:0;font-size:10px}.protection-layout{border:1px solid var(--line);background:#fbfaf6;grid-template-columns:1fr .78fr;display:grid}.protection-builder{gap:18px;padding:28px;display:grid}.builder-step{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:18px;display:flex}.builder-step>span{color:#fff;background:#183b31;border-radius:50%;place-items:center;width:26px;height:26px;font:500 11px DM Mono;display:grid}.builder-step div{gap:3px;display:grid}.builder-step strong{font-size:13px}.builder-step small{color:var(--muted);font-size:10px}.protection-builder>label{color:#4f5d53;gap:7px;font-size:11px;font-weight:600;display:grid}.protection-builder input:not([type=range]){width:100%;color:var(--ink);background:#fff;border:1px solid #cbd3c9;border-radius:5px;padding:10px;font-size:12px}.protection-builder label output{color:#496052;justify-self:end;margin-top:-23px;font:500 10px DM Mono}.protection-builder input[type=range]{accent-color:#315f46;width:100%}.protection-builder fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.protection-builder legend{color:#4f5d53;padding:0;font-size:11px;font-weight:600}.goal-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.goal-options button{border:1px solid var(--line);text-align:left;color:#405349;background:#fff;border-radius:6px;gap:5px;padding:12px;display:grid}.goal-options button.selected{background:#edf4ea;border-color:#5e8b64;box-shadow:inset 0 0 0 1px #b9d0b5}.goal-options strong{font-size:12px}.goal-options span{color:var(--muted);font-size:10px;line-height:1.35}.protection-preview{border-left:1px solid var(--line);flex-direction:column;padding:28px;display:flex}.protection-preview h3{margin:6px 0 16px;font-size:23px;line-height:1.08}.protection-radius{background:#e0eadc;place-items:center;height:180px;margin:4px 0 17px;display:grid;position:relative;overflow:hidden}.protection-radius:before,.protection-radius:after{content:"";background:#ffffffa6;position:absolute}.protection-radius:before{width:8px;height:100%;transform:rotate(55deg)}.protection-radius:after{width:100%;height:8px;transform:rotate(-25deg)}.protection-radius i{z-index:1;background:#2f7a5c25;border:2px solid #2f7a5c;border-radius:50%;width:115px;height:115px;position:absolute}.protection-radius span{z-index:2;color:#fff;background:#183b31;border-radius:99px;padding:5px 8px;font:500 10px DM Mono}.protection-preview dl{margin:0}.protection-preview dl div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.protection-preview dt{color:var(--muted);font-size:10px}.protection-preview dd{text-align:right;max-width:60%;margin:0;font:500 10px DM Mono}.protection-created{color:#28533e;background:#e9f1e6;border-left:3px solid #3b805d;gap:8px;margin-top:17px;padding:11px;display:flex}.protection-created div{gap:4px;display:grid}.protection-created strong{font-size:11px}.protection-created p{font-size:10px;line-height:1.35}.protection-created button{color:#215b40;text-align:left;background:0 0;border:0;padding:3px 0 0;font-size:10px;font-weight:700}.protection-library{border-top:1px solid var(--line);margin-top:22px}.protection-library>div{padding:16px 0 9px}.protection-library h3{margin-top:5px;font-size:20px}.protection-library article{border-top:1px solid var(--line);grid-template-columns:12px 1fr auto;align-items:start;gap:10px;padding:14px 3px;display:grid}.protection-library article .status-dot{margin-top:4px}.protection-library article strong{font-size:12px}.protection-library article p{color:var(--muted);margin-top:3px;font-size:11px}.protection-library article button{color:#2d6047;background:0 0;border:0;padding:0;font-size:11px}@media (width<=680px){.context-actions{grid-template-columns:1fr}.context-actions p{grid-column:auto}.context-actions button{padding:8px}.protection-layout{grid-template-columns:1fr}.protection-builder,.protection-preview{padding:20px}.protection-preview{border-left:0;border-top:1px solid var(--line)}.goal-options{grid-template-columns:1fr}.protection-radius{height:150px}}.evidence-context{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:end;gap:14px;margin:0 0 22px;padding:16px 0;display:flex}.evidence-context label{color:#4f5d53;text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:10px;font-weight:700;display:grid}.evidence-context select{min-width:220px;color:var(--ink);background:#fff;border:1px solid #cbd3c9;border-radius:5px;padding:9px;font-size:12px}.evidence-context fieldset{border:0;margin:0;padding:0}.evidence-context legend{color:#4f5d53;text-transform:uppercase;letter-spacing:.06em;padding:0 0 6px;font-size:10px;font-weight:700}.evidence-context fieldset>div{gap:6px;display:flex}.evidence-context button{border:1px solid var(--line);color:#647168;background:0 0;border-radius:99px;padding:8px 10px;font-size:11px}.evidence-context button.selected{color:#28523d;background:#edf4ea;border-color:#6c9670;font-weight:700}@media (width<=680px){.evidence-context{align-items:start;display:grid}.evidence-context select{width:100%;min-width:0}.evidence-context fieldset>div{flex-wrap:wrap}}
