@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f6f0;--card:#fff;--ink:#203d35;--muted:#536359;--line:#e1e5dc;--green:#163e35;--lime:#d9edac;--soft:#edf1e8;--danger:#9a3d35}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #75983e;outline-offset:3px}button{border:0}a{color:inherit}button:disabled{opacity:.5;cursor:wait}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{background:var(--card);border-right:1px solid var(--line);padding:36px 25px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{font:bold 43px 'Manrope',sans-serif;letter-spacing:-4px;line-height:1}.logo i{color:#80a347;font-style:normal}.tagline{font-size:11px;color:var(--muted);margin-top:12px}.nav{display:grid;gap:6px;margin-top:54px}.nav button{display:flex;gap:13px;align-items:center;text-align:left;padding:14px;border-radius:12px;background:none;color:var(--muted);font-weight:600}.nav button.active{color:var(--green);background:var(--soft)}.nav b{font-size:20px;font-weight:400;width:23px}.side-bottom{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.8}.help{background:var(--soft);padding:16px;border-radius:14px;margin-bottom:24px}.help strong{display:block;color:var(--ink)}.main{padding:0 42px 35px;min-width:0;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);height:88px}.breadcrumb{font-size:13px;color:var(--muted)}.profile{display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#e7ebdd;color:var(--ink);font-weight:700}.profile small{display:block;color:var(--muted);font-size:11px}.quiet{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--muted);font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(28px,3vw,40px)/1.2 'Manrope',sans-serif;letter-spacing:-1.4px;margin-bottom:11px}h2{font:700 19px 'Manrope',sans-serif;letter-spacing:-.5px;margin-bottom:8px}h3{font-size:15px;margin-bottom:6px}p{line-height:1.6}.intro{padding:31px 0 23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.intro p{margin:0;color:var(--muted);font-size:14px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:7px 10px;border-radius:99px;background:var(--soft);white-space:nowrap}.pill.live{background:#e5efcf;color:#45652b}.dot{width:6px;height:6px;background:#6b973b;border-radius:50%}.demo-banner{background:#eeeedd;border:1px solid #dfdfc6;border-radius:10px;padding:10px 13px;color:#68694d;font-size:11px;margin-bottom:22px;display:flex;justify-content:space-between;gap:10px}.layout{display:grid;grid-template-columns:345px minmax(300px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:23px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-top h2{margin:0}.small{font-size:12px;color:var(--muted)}.field{display:grid;gap:7px;font-size:12px;font-weight:600;margin-bottom:15px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:13px 14px;border-radius:10px;min-height:46px;font-weight:400}.field textarea{resize:vertical;min-height:85px}.route-inputs{position:relative}.route-inputs .field{padding-left:23px}.route-inputs:before{content:'';position:absolute;left:5px;top:36px;height:79px;border-left:1px dashed #98ab91}.route-inputs .field:before{position:absolute;left:0;margin-top:34px;content:'';width:10px;height:10px;border-radius:50%;border:2px solid #446c4b;background:var(--card)}.route-inputs .field:nth-child(2):before{border-radius:3px;background:var(--green)}.choice{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px;margin:9px 0;cursor:pointer}.choice:has(input:checked){border-color:#829a6c;background:#f4f8ec}.choice input{accent-color:var(--green);width:17px;height:17px}.choice strong{display:block;font-size:13px}.choice small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.price-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0 15px}.price{font:700 28px 'Manrope',sans-serif;letter-spacing:-1px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 18px;background:var(--green);color:#fff;border-radius:11px;font-size:13px;font-weight:600;text-decoration:none}.btn.full{width:100%}.btn.secondary{background:var(--soft);color:var(--green)}.btn.danger{color:var(--danger);background:#fbefec}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.actions .btn{flex:1}.fine{font-size:10px;color:var(--muted);line-height:1.6;text-align:center;margin:12px 0 0}.map-card{padding:0;overflow:hidden}.map-head{padding:19px 22px;display:flex;align-items:center;justify-content:space-between}.map{height:360px;position:relative;background:#edf0e8;overflow:hidden}.map svg{width:100%;height:100%}.map .gridline{stroke:#fafbf6;stroke-width:15;fill:none}.map .street{stroke:#dce3d6;stroke-width:1;fill:none}.map .route{stroke:#386047;stroke-width:6;fill:none;stroke-linecap:round;stroke-dasharray:900;animation:draw 2s ease both}.map .alt{stroke:#89a260;stroke-width:4;fill:none;stroke-dasharray:7 7}.map text{font-family:'DM Sans',sans-serif}.map-key{position:absolute;bottom:17px;left:17px;padding:9px 12px;background:#fff;border-radius:8px;font-size:10px;color:#536257;box-shadow:0 3px 10px #203d3510}.map-key span{color:#80a347;margin-right:5px}.map-controls{position:absolute;right:14px;bottom:15px;background:white;border-radius:9px;padding:10px;font-size:18px;color:#345143}.journey-strip{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.journey-strip strong{display:block;font-size:13px}.journey-strip small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.insight{background:var(--green);color:#f3f7e8;display:flex;align-items:center;gap:16px;padding:22px;border-radius:17px}.insight .spark{font-size:33px;color:var(--lime)}.insight h3{font-weight:500}.insight p{font-size:12px;margin:0;color:#ccdccd}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.tile{padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.tile .symbol{font-size:20px;margin-bottom:12px}.tile h3{font-size:12px}.tile p{font-size:11px;color:var(--muted);margin:0}.consent{border-color:#97ac78}.consent .numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--soft);padding:14px;border-radius:10px;margin:14px 0}.numbers strong{display:block;font-size:19px}.request{margin-top:16px}.request .status{font-size:11px;letter-spacing:.4px;color:var(--muted);margin:10px 0}.stop{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.stop b{color:#6e8b52}.notice{padding:13px;background:var(--soft);border-radius:10px;font-size:12px;line-height:1.6}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:13px 9px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.metrics strong{display:block;font:700 26px 'Manrope',sans-serif;margin-top:10px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--green);color:#fff;padding:65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art .logo{font-size:54px}.login-art h1{font-size:clamp(45px,5vw,76px);max-width:550px;line-height:1.1;margin-top:60px}.login-art h1 em{font-style:normal;color:var(--lime)}.login-art p{max-width:340px;color:#c4d6c5}.login-line{position:absolute;width:350px;height:260px;border:2px dashed #b2ce8d66;border-radius:40% 60%;bottom:50px;right:-100px;transform:rotate(-35deg)}.login-form{padding:50px;display:flex;align-items:center;justify-content:center}.login-inner{width:100%;max-width:390px}.accounts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.accounts button{padding:10px 5px;border-radius:8px;background:var(--soft);color:var(--ink);font-size:11px}.accounts small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.login-warning{font-size:11px;padding:13px;background:#eeeeE0;line-height:1.6;border-radius:9px;color:#68694d}footer{margin-top:27px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:12px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--green);color:white;padding:14px 20px;border-radius:12px;box-shadow:0 8px 25px #0002;z-index:50;font-size:13px;display:none}#toast.show{display:block}.code{font:700 35px monospace;letter-spacing:9px;text-align:center;margin:16px 0;color:var(--green)}details summary{cursor:pointer;padding:10px 0;font-size:13px}.section-title{margin-bottom:18px}.empty{padding:24px;color:var(--muted);font-size:13px;line-height:1.7}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes draw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}@media(min-width:1500px){.layout{grid-template-columns:390px 1fr}.map{height:420px}}@media(max-width:1100px){.shell{grid-template-columns:185px 1fr}.side{padding:28px 16px}.main{padding:0 24px 25px}.layout{grid-template-columns:310px 1fr}.map{height:350px}.tiles{gap:9px}.tile{padding:14px}}@media(max-width:900px){.layout{grid-template-columns:1fr}.map{height:320px}.main{max-width:800px}.login-art{padding:35px}.login-form{padding:30px}.tiles{margin-top:16px}}@media(max-width:600px){.shell{display:block}.side{position:static;height:auto;padding:19px 20px 0;border-right:0;border-bottom:1px solid var(--line)}.logo{font-size:37px}.tagline,.side-bottom{display:none}.nav{grid-template-columns:repeat(4,1fr);gap:5px;margin:16px 0 10px}.nav button{padding:9px 2px;gap:5px;flex-direction:column;font-size:10px}.nav b{font-size:18px}.main{padding:0 18px 25px}.topbar{height:63px}.profile .name{display:none}.intro{padding:24px 0 18px;align-items:start}.intro h1{font-size:29px}.intro p{font-size:12px}.intro>.pill{display:none}.demo-banner{font-size:10px;margin-bottom:17px}.layout{gap:16px}.card{padding:19px}.map-card{padding:0}.map{height:285px}.tiles{grid-template-columns:1fr}.tile{display:grid;grid-template-columns:30px 1fr;gap:0 9px}.tile .symbol{grid-row:span 2;margin:0}.tile p{grid-column:2}.metrics{gap:8px}.metrics .card{padding:13px;font-size:10px}.metrics strong{font-size:22px}.login{display:block}.login-art{padding:27px 24px}.login-art h1{font-size:39px;margin:30px 0 14px}.login-art p{font-size:12px}.login-art>small,.login-line{display:none}.login-form{padding:28px 23px}.login-form h2{font-size:24px}footer{line-height:1.7}.journey-strip{padding:15px;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{--bg:#14231e;--card:#1c2d25;--ink:#edf2e6;--muted:#b1c0b2;--line:#35473a;--soft:#2a3e2f;--green:#244f3e}.choice:has(input:checked){background:#2c402d}.demo-banner,.login-warning{background:#373c26;color:#e0e1b9;border-color:#555c39}.btn.secondary{color:var(--ink)}.avatar{background:#344936;color:#edf2e6}.btn.danger{background:#492d28;color:#ffb8aa}.pill.live{background:#354c29;color:#d7edbb}.code{color:#d9edac}.map-key,.map-controls{color:#345143}}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
@media(prefers-color-scheme:dark){.nav button.active{color:var(--ink)}}
