:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:#17283b;background:#f4f7fb;font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#101c2d;color:#eff6ff;padding:31px 17px 24px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:13px;padding:0 13px 36px}.brand-mark{width:43px;height:43px;display:grid;place-content:center;background:linear-gradient(135deg,#20accf,#3a6dea);color:white;font-size:27px;font-weight:800;border-radius:13px;box-shadow:0 6px 22px #1867d056}.brand-mark span{color:#aef4eb}.brand strong{font-size:23px;letter-spacing:-.7px}.brand small{display:block;margin-top:3px;letter-spacing:1.7px;font-size:8px;color:#9eafc5}.nav-caption{color:#70879f;font-size:11px;letter-spacing:1.9px;padding:0 15px;margin:15px 0}.nav-menu{display:flex;flex-direction:column;gap:7px}.nav-link{border:0;background:none;color:#a5b5c8;text-align:left;padding:14px;border-radius:12px;display:flex;gap:13px;align-items:center;font-weight:600;font-size:14px;transition:.15s}.nav-link:hover,.nav-link.is-active{background:#263b56;color:white}.nav-link.is-active{box-shadow:inset 3px 0 #4abde5}.nav-icon{font-size:20px;width:24px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;padding:18px 16px;border-radius:14px;background:#1a2b40}.sidebar-bottom .safe-icon{font-size:21px;color:#6ddeca}.sidebar-bottom strong{font-size:13px}.sidebar-bottom p{font-size:11px;line-height:1.8;color:#93a7bd;margin:8px 0 0}.version{color:#58718e;font-size:11px;padding:17px 7px 0}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{background:white;border-bottom:1px solid #e8edf4;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1400px)/2));gap:16px}.crumb{display:flex;gap:12px;align-items:center;color:#94a4b7;font-size:13px}.crumb strong{color:#253b53}.crumb-slash{color:#d3deeb}.top-actions{display:flex;align-items:center;gap:18px}.updated{font-size:12px;color:#94a4b7}.pill{display:inline-flex;gap:7px;align-items:center;border-radius:50px;padding:7px 12px;font-size:12px;font-weight:700;white-space:nowrap}.pill-neutral{background:#edf2f8;color:#677e98}.pill-success{background:#e7f8f1;color:#11856b}.pill-warning{background:#fff1e5;color:#a86921}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.workspace main{width:100%;max-width:1450px;margin:0 auto;flex:1;padding:38px 32px 70px}.view{animation:fadein .18s ease}@keyframes fadein{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow,.overline{color:#4e84bd;letter-spacing:2px;font-size:10px;font-weight:800;margin:0 0 10px}.page-head h1{font-size:30px;letter-spacing:-.8px;line-height:1.35;margin:0 0 9px}.lead{color:#74869c;font-size:14px;line-height:1.7;margin:0}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:10px;padding:11px 17px;font-weight:700;font-size:13px;min-height:42px;transition:.16s;box-shadow:none}.button-primary{color:white;background:#2569dd}.button-primary:hover:not(:disabled){background:#1756bd;box-shadow:0 6px 16px #2267d32d}.button-secondary{color:#385571;background:#f4f7fb;border-color:#dfe8f2}.button-secondary:hover:not(:disabled){background:#eaf1f9}.button-danger{color:#b54345;background:#fff1f0;border-color:#ffdbdc}.button-light{background:white;color:#18416a}.surface{background:white;border:1px solid #e4eaf2;border-radius:19px;box-shadow:0 7px 34px #183b6008;overflow:hidden}.surface-pad{padding:26px}.surface-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.surface h2{font-size:20px;margin:0 0 13px;letter-spacing:-.35px}.surface-heading h2{margin:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px}.vehicle-surface{padding:27px}.vehicle-art{height:212px;margin:0 -9px 12px;display:grid;place-content:center;background:radial-gradient(ellipse at 50% 70%,#f6faff 0,#ffffff 70%)}.vehicle-art svg{width:100%;max-height:200px}.vehicle-select-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #edf1f6}.vehicle-select-row label{font-size:12px;color:#8292a6}.vehicle-select-row select{min-width:175px;max-width:380px;flex:1}.vehicle-select-row .text-action{margin-left:auto;border:0;background:none;color:#2c72c7;font-size:12px;font-weight:700}.help-line,.inline-status{font-size:12px;color:#798fa8;line-height:1.7;min-height:19px;margin-top:8px}.inline-status{color:#3a648e}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.metric-tile{background:#f5f8fc;border:1px solid #edf1f7;border-radius:13px;padding:17px 12px;min-width:0}.metric-tile>span{font-size:12px;color:#8093a7}.metric-tile strong{display:block;font-size:22px;letter-spacing:-.5px;margin:10px 0 4px;white-space:nowrap}.metric-tile small{font-size:10px;color:#98a7b8;line-height:1.5}.inline-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.side-stack{display:grid;gap:22px;grid-template-rows:1.1fr .9fr}.mini-tag{font-size:11px;background:#eff4fa;border-radius:40px;padding:7px 10px;color:#69839e;white-space:nowrap}.mini-map{position:relative;min-height:180px;border-radius:13px;overflow:hidden;background:linear-gradient(30deg,#eaf2f7,#f8fafc);margin:20px 0 15px;border:1px solid #e4ebf2;display:grid;place-items:center}.mini-map:before,.map-canvas:before,.history-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#afc2d226 1px,transparent 1px),linear-gradient(90deg,#afc2d226 1px,transparent 1px);background-size:26px 26px;pointer-events:none}.mini-map-text{text-align:center;color:#758ea7;font-size:13px;line-height:1.8;position:relative;z-index:1}.mini-map-text small{font-size:11px}.coordinate{font-size:12px;font-weight:700;color:#294967;overflow-wrap:anywhere}.microcopy{font-size:11px;line-height:1.8;color:#92a1b0}.quick-start{color:white;background:linear-gradient(125deg,#123b67,#1a629c);border-color:#236296;position:relative}.quick-start:before{content:"";position:absolute;width:190px;height:190px;border:1px solid #ffffff22;border-radius:50%;right:-50px;bottom:-80px}.quick-start .overline{color:#8bd3f3}.quick-badge{font-size:28px;margin-bottom:14px}.quick-start p{font-size:13px;line-height:1.7;color:#bdd5ed}.quick-start .button{margin-top:13px}.quick-start .button span{font-size:18px;margin-left:16px}.trip-control{margin-bottom:19px}.trip-control-main{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.trip-field{display:flex;flex-direction:column;gap:9px;flex:0 1 240px}.trip-field.trip-name{flex:1 1 220px}.trip-field label{color:#667e97;font-size:12px;font-weight:700}select,input{appearance:auto;min-height:42px;border:1px solid #d8e2ee;border-radius:9px;background:white;color:#24394f;padding:9px 12px;font-size:13px;width:100%}select:focus,input:focus,button:focus-visible{outline:3px solid #a9d4ff;outline-offset:2px}.trip-actions{display:flex;gap:9px;flex-wrap:wrap}.trip-guidance{border-top:1px solid #edf1f6;margin-top:20px;padding-top:17px;display:flex;align-items:flex-start;gap:12px}.guidance-icon{display:grid;place-items:center;border-radius:50%;background:#edf5fc;color:#236cb9;font-weight:900;width:23px;height:23px;font-family:Georgia}.trip-guidance strong{font-size:12px}.trip-guidance p{font-size:12px;color:#8093a7;margin:6px 0;line-height:1.7}.trip-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:19px}.trip-metric{padding:19px 22px;border:1px solid #e3eaf2;border-radius:15px;background:white}.trip-metric span{display:block;font-size:12px;color:#7e91a7}.trip-metric span small{font-size:10px}.trip-metric strong{display:block;font-size:26px;margin-top:13px;letter-spacing:-.5px}.trip-metric strong small{font-size:13px;font-weight:500;color:#7891a9}.route-surface{padding:26px}.route-header{align-items:center;margin-bottom:15px}.route-tools{display:flex;gap:7px;align-items:center}.icon-btn{border:1px solid #dfe7f0;background:white;color:#335470;min-width:33px;height:33px;border-radius:8px;font-size:16px}.icon-btn:hover{background:#f0f5fb}.map-canvas{height:415px;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(130deg,#e8f1f8,#eef5fa);border:1px solid #e4eaf0}.map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;text-align:center;color:#7189a3}.map-empty span{font-size:55px;font-weight:200;color:#4e8bd1}.map-empty strong{font-size:16px;color:#4c6683}.map-empty small{font-size:12px}.map-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11px;color:#8b9fb0;margin-top:14px}.history-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:20px}.history-list{max-height:635px;overflow:auto;padding-top:16px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid #e5edf5;background:#fff;border-radius:12px;text-align:left;padding:16px;margin-bottom:10px;color:#253b51;transition:.15s}.history-item:hover,.history-item.selected{border-color:#9dc4f7;background:#f5f9ff}.history-item strong{display:block;font-size:13px;margin-bottom:7px}.history-item small{color:#8197af;font-size:11px;line-height:1.6}.history-item .km{white-space:nowrap;font-size:14px;font-weight:800}.empty-state{padding:55px 20px;text-align:center;color:#93a3b5;font-size:13px}.archive-summary{color:#768ba1;font-size:13px;line-height:1.8;padding:18px 0}.archive-summary strong{font-size:18px;color:#213953}.history-map{position:relative;height:340px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#eaf2f7,#f5f9fc);display:grid;place-items:center}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-copy{font-size:13px;color:#7b90a7;line-height:1.8}.settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.diagnostic{padding:15px;background:#f4f8fd;border-radius:12px;font-size:12px;line-height:1.9;color:#506883;word-break:break-word}.privacy-row{display:flex;justify-content:space-between;padding:13px 0;gap:12px;border-bottom:1px solid #edf2f6;color:#6b849e;font-size:13px}.privacy-row strong{font-size:12px;color:#23536a;text-align:right}.footer{display:flex;justify-content:space-between;gap:18px;padding:19px 32px 24px;border-top:1px solid #e8edf4;color:#9baaBC;font-size:11px}.announcement{padding:12px 16px;background:#fff6e7;color:#885a17;border:1px solid #ffdf9b;border-radius:11px;margin-bottom:20px;display:flex;justify-content:space-between;gap:10px;font-size:13px;line-height:1.6}.announcement button{border:0;background:transparent;font-size:23px;color:#99743c}.tile-grid{position:absolute;inset:0;overflow:hidden}.tile-grid img{position:absolute;width:256px;height:256px;display:block}.route-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.basemap-note{position:absolute;bottom:7px;right:9px;background:#ffffffdc;font-size:10px;border-radius:5px;padding:4px 7px;color:#546a7e}.map-fallback-hint{position:absolute;left:13px;bottom:12px;border-radius:6px;background:#ffffffdb;font-size:11px;padding:5px 8px;color:#687e94;pointer-events:none}.map-pin{filter:drop-shadow(0 2px 3px #0004)}.mini-map>.route-svg{z-index:1}.mini-map>.tile-grid{z-index:0}
@media(max-width:1180px){.overview-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.trip-control-main{align-items:stretch}.trip-actions{width:100%;padding-top:7px}}
@media(max-width:790px){.shell{display:block}.sidebar{position:relative;height:auto;padding:14px 18px 4px}.brand{padding:0 5px 12px}.brand-mark{width:34px;height:34px;font-size:20px}.brand strong{font-size:19px}.nav-caption,.sidebar-bottom,.version{display:none}.nav-menu{display:flex;flex-direction:row;overflow:auto;gap:2px}.nav-link{white-space:nowrap;padding:11px 12px;border-radius:9px;font-size:12px}.nav-icon{font-size:16px;width:auto}.topbar{padding:0 18px;min-height:59px}.updated{display:none}.workspace main{padding:25px 16px 50px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.surface-pad,.route-surface,.vehicle-surface{padding:20px}.trip-metrics{grid-template-columns:repeat(2,1fr)}.history-layout,.settings-grid{grid-template-columns:1fr}.footer{padding:18px;flex-direction:column}.map-canvas{height:365px}}
@media(max-width:520px){.side-stack{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column;align-items:stretch}.page-head>.button{align-self:flex-start}.vehicle-art{height:145px}.vehicle-art svg{max-height:150px}.trip-field{flex:1 1 100%}.trip-actions .button{flex:1 1 140px}.route-header{align-items:flex-start}.route-tools{flex-wrap:wrap;justify-content:flex-end}.map-canvas{height:300px}.trip-metric{padding:15px}.trip-metric strong{font-size:22px}}
