@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap";.app{--ink:#0d2240;--ink-soft:#163b68;--page-bg:#f2f7fd;--panel:#ffffff;--panel-soft:#edf4fc;--card:#fff;--line:#d5e2f2;--text:#0b1932;--text-soft:#526784;--text-invert:#f4f8ff;--blue:#1265e9;--blue-deep:#0954ca;--shadow-card:0 8px 24px #103b6a0d;--shadow-float:0 12px 35px #103b6a24;background:var(--page-bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.app[data-theme=dark]{color-scheme:dark;--ink:#102a4b;--ink-soft:#193e67;--page-bg:#091525;--panel:#10233b;--panel-soft:#162e4a;--card:#10233b;--line:#294561;--text:#edf5ff;--text-soft:#b3c7e0;--blue:#5295ff;--blue-deep:#2776ed;--shadow-card:0 8px 24px #0002;--shadow-float:0 12px 35px #0005}.app .sidebar{background:linear-gradient(170deg,#0b1e38,#12345d);border-right:1px solid #24496f;padding-inline:20px}.app .brand-mark{color:#fff;font-size:2.1rem;font-family:Inter,system-ui,sans-serif;letter-spacing:-.065em}.app .brand-accent{color:#59ccf4}.app .brand-sub{color:#abc4e4;font-size:.65rem;letter-spacing:.09em}.app .nav-link{width:100%;color:#c3d5ee;border:0;border-radius:10px;padding:11px 14px;font-size:.92rem}.app .nav-link:hover{background:#ffffff12;color:#fff}.app .nav-link.active{color:#fff;background:linear-gradient(110deg,#1261e6,#1a80ed);box-shadow:0 5px 16px #07173140}.app .nav ul li{margin-bottom:7px}.app .sidebar-footer{display:flex;flex-direction:column;gap:16px}.theme-switch{display:flex;gap:3px;padding:4px;background:#07172c;border:1px solid #34506f;border-radius:10px}.theme-switch button{flex:1;background:transparent;border:0;border-radius:7px;color:#bfd3ed;padding:8px 6px;font:600 .78rem Inter,system-ui,sans-serif;cursor:pointer}.theme-switch button[aria-pressed=true]{background:#2265b6;color:#fff}.app .logout-btn{color:#c3d5ee;text-align:left;padding:8px 12px;font:600 .85rem Inter,system-ui,sans-serif}.app .logout-btn:hover{color:#fff}.app .content{padding:24px}.app .list-header{background:var(--ink)}.app :is(.list-body,.form-panel,.form-shell,.card){background:var(--panel);color:var(--text);border-color:var(--line)}.app :is(input,select,textarea){background-color:var(--panel);color:var(--text);border-color:var(--line)}.app :is(.item-card,.list-item){background:var(--card);color:var(--text);border-color:var(--line)}.app .btn{border-radius:10px}.app .btn:not(.btn-danger):not(.btn-ghost){background:linear-gradient(110deg,#1261e6,#1a80ed);color:#fff}.app .user-tab.active{background:var(--blue);color:#fff}.app .map-shell{border:1px solid var(--line);box-shadow:var(--shadow-card);background:var(--panel-soft)}.app #map{position:absolute;top:0;right:0;bottom:0;left:0}.app :is(.float-fleet,.route-bottom-sheet){background:var(--panel);color:var(--text);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.app .fleet-vehicle{border:1px solid var(--line);background:var(--panel-soft)}.app .fleet-vehicle:hover,.app .fleet-vehicle.selected{border-color:var(--blue);background:var(--panel-soft);box-shadow:inset 3px 0 var(--blue)}.app :is(.fleet-panel-message,.route-sheet-message,.route-sheet-eyebrow,.vehicle-position-time){color:var(--text-soft)}.app .vehicle-position-time{font-size:.72rem;margin:6px 0 0;line-height:1.45}.app .fleet-panel-message.error{color:#bb3545}.app[data-theme=dark] .fleet-panel-message.error{color:#ff9ba5}.app :is(.fleet-status,.fleet-status-count){background:var(--panel-soft)}.app :is(.fleet-status.online,.fleet-status-count.online){color:#087452}.app :is(.fleet-status.maintenance,.fleet-status-count.maintenance){color:#93530c}.app :is(.fleet-status.offline,.fleet-status-count.offline){color:var(--text-soft)}.app[data-theme=dark] :is(.fleet-status.online,.fleet-status-count.online){color:#6ce0b5}.app[data-theme=dark] :is(.fleet-status.maintenance,.fleet-status-count.maintenance){color:#ffc47c}.app .route-sheet-name,.app .route-next-badge{color:var(--blue)}.app :is(.route-stop-list li,.route-stop-number,.route-sheet-close){background:var(--panel-soft);color:var(--text)}.app .map-empty{inset:auto 20px 20px;padding:12px 18px;border-radius:10px;color:var(--text);background:var(--panel);border:1px solid var(--line)}@media (max-width:860px){.app .sidebar-footer{flex-direction:row;align-items:center;gap:8px}.app .nav-link{padding:8px 12px}.app .content{padding:14px}}@media (max-width:480px){.app .sidebar{padding-inline:12px}.app .brand-mark{font-size:1.65rem}.app .brand-sub{font-size:.55rem}.theme-switch button{font-size:.7rem;padding:7px 5px}.app .logout-btn{padding:6px}}.app .form-panel h2,.app .row-edit-btn{color:var(--text)}.app .form-panel :is(.input-field,.select-field){border:1px solid var(--line);background-color:var(--panel-soft);color:var(--text);border-radius:10px}.app .form-divider{background:var(--line)}.app .list-row{border:1px solid var(--line);border-radius:12px}.app .btn-ghost{color:var(--text);background:var(--panel-soft);border:1px solid var(--line)}.login-body.vanps-login{min-height:100vh;min-height:100dvh;color:#0b1932;background:radial-gradient(ellipse at 90% 10%,#c6eaf9 0,transparent 42%),radial-gradient(ellipse at 8% 100%,#d5e7fd 0,transparent 45%),#f2f7fd;font-family:Inter,system-ui,sans-serif;color-scheme:light}.vanps-login .login-wrap{width:min(100%,480px);padding:32px 20px;display:flex;flex-direction:column;align-items:stretch;gap:22px}.vanps-login .login-back{position:static;align-self:flex-start;color:#526784;font-size:.9rem;font-weight:600;text-decoration:none;padding:5px 0}.vanps-login .login-back:hover{color:#1265e9}.vanps-login .login-card{width:100%;max-width:none;background:#fff;padding:38px 32px 30px;border:1px solid #d5e2f2;border-radius:18px;box-shadow:0 18px 50px #103b6a12}.vanps-login .brand-center{padding:0;margin:0 0 30px}.vanps-login .brand-center .brand-mark{color:#0959cc;font:900 46px/1 Inter,system-ui,sans-serif;letter-spacing:-.075em}.vanps-login .brand-accent{color:#59ccf4;font-size:.8em;letter-spacing:-.065em}.vanps-login h1{margin:22px 0 0;color:#0b1932;font-size:1.45rem;line-height:1.25;letter-spacing:-.035em;font-weight:750}.vanps-login .form-group{gap:7px;margin-bottom:20px}.vanps-login .form-group label{color:#243d5e;font-size:.85rem;font-weight:650}.vanps-login .login-card .input-field{background:#fff;color:#0b1932;border:1px solid #cfdff3;border-radius:10px;min-height:48px;padding:12px 14px;font:400 1rem/1.4 Inter,system-ui,sans-serif}.vanps-login .input-field:hover{border-color:#95b8e8}.vanps-login .input-field:focus{border-color:#1265e9;outline:3px solid #1265e91c}.vanps-login .btn{min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:12px;color:#fff;background:linear-gradient(110deg,#1261e6,#1a80ed);box-shadow:0 9px 24px #1568da28;font:750 .95rem/1.4 Inter,system-ui,sans-serif}.vanps-login .btn:hover{background:linear-gradient(110deg,#0d53cb,#136fd4)}.vanps-login .btn:disabled{opacity:.65;cursor:wait}.vanps-login .login-hint{color:#526784;font-size:.8rem;line-height:1.6;margin-top:24px}.vanps-login .form-error{background:#fff0f1;border:1px solid #f3c9cd;color:#a52232;border-radius:10px;padding:10px 12px;line-height:1.5}.vanps-login :focus-visible{outline:3px solid #2582ff;outline-offset:3px}@media (max-width:420px){.vanps-login .login-wrap{padding:24px 16px;gap:16px}.vanps-login .login-card{padding:30px 22px 24px}}.lp{--navy:#0b1932;--blue:#1265e9;--cyan:#59ccf4;--muted:#526784;--line:#d5e2f2;--pale:#f2f7fd;color:var(--navy);background:#fff;font-family:Inter,system-ui,sans-serif;line-height:1.55}.lp *{box-sizing:border-box}.lp a{text-decoration:none;color:inherit}.lp :focus-visible{outline:3px solid #2582ff;outline-offset:3px}.lp section[id]{scroll-margin-top:88px}.lp-wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}.lp-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #e2ebf7}.lp-header-inner,.lp-footer .lp-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}.lp-logo{color:#0959cc;font-weight:900;font-size:clamp(32px,4.8vw,46px);line-height:1;letter-spacing:-.075em;white-space:nowrap}.lp-logo span{color:var(--cyan);font-size:.8em;letter-spacing:-.065em}.lp nav,.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.8vw,26px)}.lp nav a{font-size:.86rem;font-weight:650;color:#465973}.lp nav a:hover{color:var(--blue)}.lp .lp-button{display:inline-flex;justify-content:center;align-items:center;gap:.6em;min-height:46px;border:1px solid #cfdff3;border-radius:12px;background:#fff;color:var(--navy);padding:10px 17px;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer}.lp .lp-button.primary{color:#fff;background:linear-gradient(110deg,#1261e6,#1a80ed);border-color:transparent;box-shadow:0 9px 24px #1568da28}.lp .lp-button:hover{filter:brightness(.96)}.lp .lp-button:disabled{opacity:.65;cursor:wait}.lp h1,.lp h2,.lp h3,.lp p{margin:0}.lp h1,.lp h2{line-height:1.09;letter-spacing:-.045em}.lp h1{font-size:clamp(38px,5.15vw,70px);margin:21px 0;font-weight:770}.lp h1 em{color:var(--blue);font-style:normal}.lp h2{font-size:clamp(30px,3.6vw,50px);font-weight:750}.lp p{color:var(--muted);margin-top:14px}.lp-hero{overflow:hidden;background:radial-gradient(ellipse at 88% 19%,#c6eaf9 0,transparent 39%),radial-gradient(ellipse at 8% 100%,#d5e7fd 0,transparent 45%),var(--pale)}.lp-hero-inner{min-height:640px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;padding-block:70px}.lp-hero p{font-size:clamp(1rem,1.9vw,1.22rem);max-width:44ch}.lp-hero .lp-actions{margin-top:30px;gap:12px}.lp-kicker,.lp-label{color:var(--blue);text-transform:uppercase;font-size:.72rem;letter-spacing:.075em;font-weight:800;display:inline-block}.lp-kicker{border:1px solid #cfe3ff;background:#e6f0ff;border-radius:100px;padding:7px 12px}.lp-kicker:before{content:"";display:inline-block;width:7px;height:7px;background:#30b8de;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #30b8de20}.lp-label{margin-bottom:13px}.lp-checks,.lp-segment-list{padding:0;list-style:none;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px}.lp-checks li{color:var(--muted);font-size:.78rem;display:flex;gap:6px}.lp-checks li:before{content:"✓";color:#008269;font-weight:800}.lp-hero-art{display:grid;grid-template-columns:minmax(0,1fr) 38%;align-items:center}.lp-dashboard{grid-column:1/-1;grid-row:1;width:89%;min-width:0;display:grid;grid-template-columns:30% 1fr;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 25px 46px #152e5638}.lp-dashboard aside{background:#0d203b;color:#c5ddff;padding:12px 7px;display:grid;align-content:start;gap:9px;font-size:clamp(7px,1vw,12px)}.lp-dashboard .lp-logo,.lp-phone .lp-logo{color:#fff;font-size:1.15em;margin-bottom:5px}.lp-dashboard aside b{background:#1969df;color:#fff;border-radius:5px;padding:6px}.lp-dashboard aside>span:not(.lp-logo){padding-left:5px}.lp-dash-body{padding:12px;font-size:clamp(8px,1.18vw,14px)}.lp-dash-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.lp-dash-stats>div,.lp-dash-trips{border:1px solid var(--line);border-radius:8px;padding:7px}.lp-dash-stats>div{background:#f4f7fb}.lp-dash-stats b,.lp-dash-body small{display:block}.lp-dash-body small{color:var(--muted);font-size:.72em}.lp-dash-trips>div{border-top:1px solid #e5edf8;padding:5px 0;font-size:.83em}.lp-phone{position:relative;width:100%;max-width:200px;aspect-ratio:.48;border:3px solid #152033;border-radius:clamp(16px,2.55vw,30px);background:#f2f6fc;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 23px 32px #15243f42;font-size:clamp(7px,.95vw,11px)}.lp-phone:after{content:"";position:absolute;top:5px;left:37%;width:26%;height:3%;background:#08131f;border-radius:20px}.lp-hero-art>.lp-phone{grid-column:2;grid-row:1;justify-self:end}.lp-phone-top{background:linear-gradient(140deg,#1469d5,#209cdb);color:#fff;padding:6% 7% 8%;display:grid;line-height:1.3}.lp-driver .lp-phone-top{background:linear-gradient(140deg,#09244a,#1561d1)}.lp-status,.lp-phone-meta{display:flex;justify-content:space-between;gap:4px}.lp-status{font-size:.75em;margin-bottom:9%}.lp-phone-top strong{font-size:1.33em}.lp-phone small{font-size:.77em}.lp-phone-body{flex:1;padding:5%}.lp-phone-card{display:grid;gap:4px;padding:6%;margin-bottom:5%;border:1px solid #e1eaf7;border-radius:8px;background:#fff;line-height:1.2}.lp-phone-card small{color:var(--muted)}.lp-progress{height:3px;background:linear-gradient(90deg,#1567eb 28%,#e6edf8 28%);border-radius:4px;margin:3px 0}.lp-phone-action{text-align:center;padding:6px 2px;border-radius:6px;color:#fff;background:#1567eb;font-size:.78em;font-weight:700}.lp-stop{padding:8% 0;border-bottom:1px solid #e5edf8}.lp-phone-nav{display:flex;justify-content:space-around;text-align:center;background:#fff;padding:3% 0 5%;border-top:1px solid #e1eaf7;color:#315988}.lp-phone-nav small{display:block}.lp-solutions,.lp-pricing{background:var(--pale);padding-block:64px}.lp-solution-grid,.lp-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lp-solution-grid article{background:radial-gradient(circle at 100% 100%,#ffffff16 19%,transparent 20%),linear-gradient(135deg,#0b2345,#143e70);color:#fff;padding:26px;min-height:178px;border-radius:14px}.lp-solution-grid article:nth-child(2){background:radial-gradient(circle at 100% 100%,#ffffff18 19%,transparent 20%),linear-gradient(135deg,#1554ad,#187ecd)}.lp-solution-grid article:nth-child(3){background:radial-gradient(circle at 100% 100%,#ffffff18 19%,transparent 20%),linear-gradient(135deg,#096581,#168da6)}.lp-solution-grid h2{font-size:clamp(19px,2.1vw,27px)}.lp-solution-grid p{color:#ecf6ff;font-size:.92rem}.lp-segments,.lp-contact{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(26px,5vw,75px);padding-block:clamp(56px,8vw,110px)}.lp-segment-list li{color:#2d496d;border:1px solid var(--line);padding:6px 12px;border-radius:30px;font-size:.82rem;font-weight:650}.lp-phone-pair{display:flex;gap:5%;justify-content:center;padding-bottom:45px}.lp-phone-pair .lp-phone{width:43%}.lp-phone-pair .lp-phone:last-child{transform:translateY(45px)}.lp-centered{text-align:center;max-width:680px;margin:0 auto 36px}.lp-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-plan,.lp-form{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px}.lp-plan{display:flex;flex-direction:column}.lp-plan.featured{border-color:#176cff;box-shadow:0 12px 28px #176cff14}.lp-plan h3{font-size:1.12rem}.lp-plan p{font-size:.82rem;margin:4px 0 15px;flex:1}.lp-price{display:flex;align-items:baseline;gap:3px 5px;flex-wrap:wrap;margin-bottom:12px}.lp-price b{font-size:clamp(19px,2.35vw,30px);white-space:nowrap;letter-spacing:-.045em}.lp-price small{color:var(--muted);font-size:.74rem}.lp-plan .lp-checks{flex-direction:column;border-top:1px solid #e3eaf5;padding-top:13px}.lp .lp-price-note{text-align:center;font-size:.78rem;margin-top:24px}.lp-banner{background:linear-gradient(110deg,#0d1e37,#123867);color:#fff}.lp-banner .lp-wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:36px}.lp-banner h2{font-size:clamp(25px,3.3vw,38px)}.lp-banner p{color:#d9e9fd;margin-top:7px}.lp-banner .lp-button{flex-shrink:0;color:#125acb}.lp-contact{align-items:start}.lp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;box-shadow:0 16px 40px #122e5510}.lp-form label{display:grid;gap:5px;font-size:.82rem;font-weight:650}.lp-form :is(input,select,textarea){width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:450;color:var(--navy);background:#fff}.lp-form textarea{resize:vertical}.lp-wide{grid-column:1/-1}.lp-form .lp-feedback{margin-top:0}.lp-feedback[role=alert]{color:#a32a34}.lp-footer{background:#09162b;color:#e4efff;padding:12px 0}.lp-footer .lp-logo{color:#fff}.lp-footer nav a,.lp-footer nav a:hover{color:#e4efff}@media (max-width:900px){.lp-header-inner{gap:12px}.lp-header nav{gap:12px}.lp-header nav a{font-size:.77rem}.lp-header .lp-actions{gap:8px}.lp-header .lp-button{padding-inline:10px}}@media (max-width:740px){.lp section[id]{scroll-margin-top:120px}.lp-header-inner{flex-wrap:wrap;padding-block:10px}.lp-header nav{order:3;flex:1 0 100%;justify-content:space-between}.lp-header-cta{display:none!important}.lp-hero-inner,.lp-segments,.lp-contact{grid-template-columns:1fr;min-height:0;padding-block:48px}.lp-hero-art{width:min(100%,470px);margin:auto}.lp-phone{font-size:clamp(7px,1.75vw,11px)}.lp-dash-body,.lp-dashboard aside{font-size:clamp(8px,1.9vw,12px)}.lp-solution-grid{grid-template-columns:1fr}.lp-solution-grid article{min-height:0}.lp-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-footer .lp-wrap,.lp-banner .lp-wrap{flex-wrap:wrap}}@media (max-width:410px){.lp-wrap{width:calc(100% - 32px)}.lp-plan-grid,.lp-form{grid-template-columns:1fr}.lp-phone-card{gap:2px}}:root{--ink: #2B2B30;--ink-soft: #38383E;--page-bg: #C9C9C9;--panel: #979797;--panel-soft: #A5A5A5;--card: #FFFFFF;--line: rgba(0,0,0,.1);--text: #1C1C1F;--text-soft: #6D6D72;--text-invert: #F4F4F4;--blue: #2F6FED;--blue-deep: #1F4FC4;--red: #E5433C;--red-deep: #C9332C;--orange: #F2994A;--orange-deep: #DD8433;--green: #35B56B;--dot-idle: #E2E2E2;--radius-lg: 20px;--radius-md: 14px;--radius-pill: 999px;--shadow-card: 0 6px 18px rgba(0,0,0,.16);--shadow-float: 0 10px 30px rgba(0,0,0,.3)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;padding:0;color:var(--text);background-color:var(--page-bg);font-family:Work Sans,sans-serif;-webkit-font-smoothing:antialiased}body ul{list-style:none;margin:0;padding:0}body ul li a{text-decoration:none;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:var(--text-invert);display:flex;flex-direction:column;padding:30px 24px;position:sticky;top:0;height:100vh}.brand{padding:0 0 22px;margin-bottom:22px}.brand-mark{font-family:Work Sans,sans-serif;font-weight:800;font-size:1.7rem;color:#fff;letter-spacing:.2px}.brand-accent{color:var(--blue)}.brand-sub{display:block;font-family:Work Sans,sans-serif;font-weight:600;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:#f4f4f473;margin-top:4px}.nav ul li{margin-bottom:14px}.nav-list{padding:0}.nav-link{display:inline-flex;align-items:center;gap:10px;padding:2px 0 5px;font-weight:600;font-size:1rem;color:#f4f4f48c;border-bottom:2px solid transparent}.nav-link svg{display:none}.nav-link:hover{color:var(--text-invert)}.nav-link.active{color:var(--text-invert);border-bottom-color:var(--blue)}.sidebar-footer{margin-top:auto;padding-top:12px}.status-chip{display:none}.logout-btn{background:none;border:none;color:#f4f4f466;font-family:Work Sans,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;padding:0}.logout-btn:hover{color:var(--text-invert)}.main{display:flex;flex-direction:column;min-width:0}.topbar{padding:26px 36px 0}.topbar.is-empty{display:none}.content{padding:22px 36px 36px;display:flex;flex-direction:column;gap:24px;flex:1;min-height:0}.route-rule{display:none}.split{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:28px;align-items:start}.users-page{display:flex;flex-direction:column;gap:18px}.user-tabs{display:flex;gap:8px;width:fit-content;max-width:100%;padding:5px;border-radius:var(--radius-pill);background:#00000012}.user-tab{min-height:42px;padding:9px 18px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-soft);font:700 .9rem Work Sans,sans-serif;cursor:pointer}.user-tab.active{background:var(--ink);color:#fff}.user-tab:focus-visible{outline-color:var(--blue)}.list-shell{display:flex;flex-direction:column}.list-header{background:var(--ink);color:var(--text-invert);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.list-header h2{font-size:1.25rem;font-weight:800;margin:0}.filter-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:Work Sans,sans-serif;font-weight:700;font-size:.85rem;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1C1F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center / 14px;border:none;border-radius:var(--radius-pill);padding:9px 32px 9px 16px;cursor:pointer}.list-body{background:transparent;padding:14px 4px 4px;display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow-y:auto}.list-row{background:var(--card);border-radius:var(--radius-pill);padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow-card);cursor:default}.list-row-main{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700;font-size:.95rem}.list-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row-sub{color:var(--text-soft);font-weight:500;font-size:.8rem}.list-row-tag{font-weight:700;font-size:.9rem;white-space:nowrap}.tag-blue{color:var(--blue)}.tag-orange{color:var(--orange-deep)}.tag-gray{color:var(--text-soft)}.tag-red{color:var(--red)}.row-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.row-dot.green{background:var(--green)}.row-dot.red{background:var(--red)}.row-dot.idle{background:var(--dot-idle);border:1px solid #cfcfcf}.row-edit-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--ink);flex-shrink:0;display:inline-flex}.row-edit-btn svg{width:16px;height:16px;stroke:currentColor}.row-edit-btn:hover{color:var(--blue)}.list-new-btn{align-self:center;margin-top:16px}.list-empty{background:var(--card);border-radius:var(--radius-lg);padding:30px 20px;text-align:center;color:var(--text-soft);font-size:.9rem}.form-panel{background:var(--panel);border-radius:var(--radius-lg);padding:28px 30px 26px;color:var(--text-invert)}.form-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.form-panel h2{font-size:1.3rem;font-weight:800;margin:0;color:#fff}.plate-badge{background:var(--orange);color:#fff;font-family:IBM Plex Mono,monospace;font-weight:700;font-size:.82rem;letter-spacing:.5px;padding:7px 14px;border-radius:var(--radius-pill);white-space:nowrap}.form-row{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}.form-row.cols-2{grid-template-columns:1fr 1fr}.form-panel .input-field,.form-panel .select-field{width:100%;background:#fff;border:none;border-radius:var(--radius-pill);padding:12px 18px;font-family:Work Sans,sans-serif;font-weight:500;font-size:.9rem;color:var(--text)}.form-panel textarea.input-field{border-radius:var(--radius-md);resize:vertical}.form-panel .select-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1C1F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:36px}.form-panel .input-field:focus,.form-panel .select-field:focus{outline:3px solid rgba(255,255,255,.55)}.form-divider{height:1px;background:#ffffff40;margin:16px 0;border:none}.dynamic-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.dynamic-row{display:flex;align-items:center;gap:8px}.dynamic-row .input-field{flex:1}.dynamic-remove{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:4px;flex-shrink:0;display:inline-flex}.dynamic-remove:hover{color:var(--red)}.dynamic-remove svg{width:16px;height:16px;stroke:currentColor}.btn-tertiary{background:var(--orange);color:#fff}.btn-tertiary:hover{background:var(--orange-deep)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.role-readout{display:inline-flex;align-items:center;background:#fff;border-radius:var(--radius-pill);padding:12px 18px;font-weight:700;font-size:.9rem;color:var(--blue);width:100%}.btn{display:inline-flex;align-items:center;gap:8px;font-family:Work Sans,sans-serif;font-weight:700;font-size:.88rem;padding:11px 24px;border-radius:var(--radius-pill);border:none;cursor:pointer;background:var(--blue);color:#fff}.btn:hover{background:var(--blue-deep)}.btn-danger{background:var(--red)}.btn-danger:hover{background:var(--red-deep)}.btn-ghost{background:#ffffff26;color:#fff}.btn-ghost:hover{background:#ffffff47}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:26px 28px}.panel-head{margin-bottom:18px}.panel-title{font-weight:800;font-size:1.2rem;color:var(--text);margin:0 0 4px}.panel-sub{font-size:.92rem;color:var(--text-soft);margin:0;font-weight:500}.map-shell{position:relative;flex:1;min-height:74vh;border-radius:var(--radius-lg);overflow:hidden;background:var(--ink)}#map{width:100%;height:100%}.van-marker-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--blue);border:2px solid #F4F4F4;box-shadow:0 0 0 3px #2f6fed4d}.marker-label{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;background:var(--ink);color:#f4f4f4;border:none;padding:2px 6px;border-radius:4px;box-shadow:none}.marker-label:before{border-top-color:var(--ink)}.next-stop-marker{background:transparent;border:0}.next-stop-marker-inner{width:34px;height:34px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.38))}.float-fleet{position:absolute;top:20px;right:20px;z-index:650;background:#1e1e22d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-lg);padding:18px;width:min(360px,calc(100% - 40px));max-height:calc(100% - 40px);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:10px;overflow:hidden;color:var(--text-invert)}.fleet-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fleet-panel-header h2{margin:0;font-size:1.1rem}.fleet-status-summary{display:flex;flex-wrap:wrap;gap:6px}.fleet-status-count,.fleet-status{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;white-space:nowrap}.fleet-status-count{padding:4px 7px;background:#ffffff1f}.fleet-status-count.online{color:#71dfa0}.fleet-status-count.maintenance{color:#ffb36d}.fleet-status-count.offline{color:#c1c4cc}.fleet-vehicle-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.fleet-vehicle{width:100%;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:#ffffff1a;color:inherit;text-align:left;cursor:pointer;font:inherit}.fleet-vehicle:hover,.fleet-vehicle.selected{border-color:#71dfa0b8;background:#ffffff29}.fleet-vehicle-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.fleet-vehicle-plate{font-weight:800}.fleet-status{padding:4px 8px;background:#ffffff1f}.fleet-status.online{color:#71dfa0}.fleet-status.maintenance{color:#ffb36d}.fleet-status.offline{color:#c1c4cc}.fleet-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.fleet-route-name{margin:6px 0 2px;font-size:.84rem;font-weight:700}.fleet-route-stops{margin:0;color:#f4f4f4ad;font-size:.74rem;line-height:1.4}.fleet-panel-message{margin:0;color:#f4f4f4bf;font-size:.82rem;line-height:1.4}.fleet-panel-message.error{color:#ffaaa4;overflow-wrap:anywhere}.route-bottom-sheet{position:absolute;left:20px;right:400px;bottom:20px;z-index:700;max-height:38%;overflow-y:auto;padding:14px 16px;border-radius:var(--radius-lg);background:#1e1e22f0;box-shadow:var(--shadow-float);color:var(--text-invert);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-sheet-eyebrow{display:block;margin-bottom:2px;color:#f4f4f4a6;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.route-sheet-header h3{margin:0;font-size:1.05rem}.route-sheet-close{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff1a;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer}.route-sheet-name{margin:8px 0 10px;color:#71dfa0;font-size:.86rem;font-weight:800}.route-stop-list{margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;list-style:none}.route-stop-list li{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#ffffff14;font-size:.78rem}.route-stop-list li.next{border:1px solid rgba(47,111,237,.95);background:#2f6fed2e}.route-stop-number{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff24;font-weight:800}.route-next-badge{margin-left:auto;color:#83aaff;font-size:.68rem;font-weight:800;text-transform:uppercase}.route-sheet-message{margin:6px 0 0;color:#f4f4f4b8;font-size:.78rem}.map-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:center;justify-content:center;color:#f4f4f4b8;font-weight:600;text-align:center;padding:20px min(400px,35%);line-height:1.5;pointer-events:none}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink)}.login-wrap{width:100%;display:flex;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px;background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px 28px}.brand-center{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 0 24px;margin:0 0 20px}.brand-center .brand-mark{color:#fff;font-size:2rem}.brand-center .brand-sub{color:#ffffff8c}.login-hint{margin:18px 0 0;font-size:.78rem;color:#fff9;text-align:center;line-height:1.4}.form-error{color:#ffd9d6;background:#e5433c59;border-radius:var(--radius-md);padding:8px 12px;font-size:.85rem;font-weight:600;margin:-2px 0 14px}.btn-block{width:100%;justify-content:center}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:.8rem;font-weight:700;color:#ffffffbf}.login-card .input-field{font-family:Work Sans,sans-serif;font-size:.9rem;padding:12px 16px;border:none;border-radius:var(--radius-pill);background:#fff;color:var(--text);width:100%}.landing-page{min-height:100vh;background:#f5f6f8;color:var(--ink)}.landing-header,.landing-footer{max-width:1180px;margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}.landing-header{min-height:84px}.landing-brand{display:flex;flex-direction:column;text-decoration:none}.landing-brand .brand-mark{color:var(--ink)}.landing-brand .brand-sub{color:var(--text-soft)}.landing-nav{display:flex;align-items:center;gap:28px;font-weight:700}.landing-nav a{text-decoration:none}.landing-nav a:not(.landing-login):hover{color:var(--blue)}.landing-login{color:#fff;background:var(--ink);border-radius:var(--radius-pill);padding:11px 20px}.landing-hero{min-height:620px;max-width:1180px;margin:0 auto;padding:70px 28px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px}.hero-kicker,.section-label{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.hero-copy h1{margin:18px 0 22px;font-size:clamp(3rem,6vw,5.3rem);line-height:.98;letter-spacing:-4px}.hero-copy h1 span{color:var(--blue)}.hero-copy p{max-width:590px;color:var(--text-soft);font-size:1.08rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.btn,.plan-button{display:inline-flex;align-items:center;border:0;border-radius:var(--radius-pill);background:var(--blue);color:#fff;font-weight:800;padding:13px 22px;text-decoration:none;cursor:pointer}.hero-primary{padding:15px 26px;box-shadow:0 12px 24px #2f6fed3d}.hero-secondary{font-weight:800;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:4px}.hero-visual{min-height:430px;border-radius:28px;position:relative;overflow:hidden;background:#dfe4ea;box-shadow:var(--shadow-float)}.hero-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background-image:linear-gradient(rgba(43,43,48,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(43,43,48,.09) 1px,transparent 1px);background-size:38px 38px}.hero-route{position:absolute;height:8px;border-radius:999px;background:var(--blue);transform-origin:left center;box-shadow:0 0 0 4px #2f6fed1f}.route-one{width:68%;left:12%;top:58%;transform:rotate(-22deg)}.route-two{width:55%;left:35%;top:34%;transform:rotate(38deg)}.hero-vehicle{position:absolute;z-index:2;background:var(--ink);color:#fff;border-radius:999px;padding:9px 12px;font-size:.72rem;font-weight:800;box-shadow:var(--shadow-card)}.vehicle-one{left:18%;top:46%}.vehicle-two{right:10%;top:48%}.hero-panel{position:absolute;left:24px;bottom:24px;z-index:2;width:150px;height:112px;background:#fff;border-radius:18px;display:flex;flex-direction:column;justify-content:center;padding:18px;box-shadow:var(--shadow-card)}.hero-panel strong{font-size:2.1rem}.hero-panel span{color:var(--text-soft);font-size:.78rem;font-weight:700}.landing-section{max-width:1180px;margin:0 auto;padding:88px 28px;border-top:1px solid rgba(43,43,48,.08)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;margin-top:20px}.about-grid h2,.contact-section h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0}.about-grid p{font-size:1.1rem;line-height:1.75;color:var(--text-soft)}.solutions-grid,.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.solution-card,.plan-card{min-height:280px;border-radius:22px;background:#fff;border:1px solid rgba(43,43,48,.08);padding:28px;box-shadow:0 8px 30px #2b2b300d}.solution-number{font-family:IBM Plex Mono,monospace;color:var(--blue);font-size:.78rem}.solution-card h3,.plan-card h3{font-size:1.45rem;margin:70px 0 12px}.solution-card p,.plan-card li{color:var(--text-soft);line-height:1.65}.plan-card{min-height:390px;position:relative}.plan-card.featured{background:var(--ink);color:#fff;transform:translateY(-12px)}.plan-card.featured li{color:#ffffffad}.plan-price{font-size:1.15rem;font-weight:800}.plan-card ul{padding-left:18px!important;margin:24px 0!important}.plan-card li{padding:4px 0}.plan-badge{position:absolute;right:18px;top:18px;background:var(--blue);color:#fff;border-radius:999px;padding:7px 10px;font-size:.68rem;font-weight:800}.plan-card.featured h3{margin-top:55px}.plan-card.featured .plan-button{background:#fff;color:var(--ink)}.plan-button{margin-top:10px}.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-section h2{margin:18px 0}.contact-section p{color:var(--text-soft);line-height:1.65}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border-radius:22px;padding:26px;box-shadow:var(--shadow-card)}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:800}.contact-form label:nth-child(4),.contact-form .btn,.contact-success{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(43,43,48,.14);border-radius:12px;padding:12px 14px;font:inherit;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);outline:2px solid rgba(47,111,237,.12)}.contact-form .btn{justify-content:center}.contact-success{color:#197c43!important;margin:0;font-size:.82rem;font-weight:700}.contact-form .contact-success:last-child{color:#197c43!important}.contact-form p[role=alert]{color:var(--red-deep)!important}.landing-footer{border-top:1px solid rgba(43,43,48,.08);color:var(--text-soft)}.landing-footer>p{font-size:.78rem}.social-links{display:flex;gap:8px}.social-links a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:var(--ink);font-size:.65rem;font-weight:800}.login-back{position:absolute;left:28px;top:28px;color:#fff;text-decoration:none;font-weight:800;font-size:.82rem}.login-wrap{position:relative}@media (max-width: 1080px){.split{grid-template-columns:1fr}.list-body{max-height:none}}@media (max-width: 860px){.app{grid-template-columns:1fr}.sidebar{position:sticky;z-index:1000;top:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand logout" "nav nav";align-items:center;gap:10px 16px;padding:12px 18px 8px}.brand{grid-area:brand;padding:0;margin:0}.brand-mark{font-size:1.35rem}.brand-sub{margin-top:0;font-size:.58rem}.nav{grid-area:nav;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav ul{display:flex;gap:20px;width:max-content}.nav ul li{margin:0}.nav-link{display:inline-flex;padding:4px 0 8px;white-space:nowrap}.sidebar-footer{grid-area:logout;margin:0;padding:0}.logout-btn{color:#f4f4f4bf;padding:8px}.topbar,.content{padding-left:20px;padding-right:20px}.map-shell{min-height:60vh}.float-fleet{width:min(360px,calc(100% - 40px));padding:14px}}@media (max-width: 560px){.content{padding:16px 14px 24px;gap:18px}.split{gap:18px}.form-panel{padding:22px 18px}.form-row.cols-2{grid-template-columns:minmax(0,1fr)}.form-actions{flex-wrap:wrap;gap:8px}.form-actions .btn{flex:1 1 auto;justify-content:center;padding:11px 16px}.list-row{padding:12px 14px;gap:8px}.list-row-tag{font-size:.78rem}.list-header{padding:16px}.user-tabs{width:100%}.user-tab{flex:1;padding:9px 12px}.nav ul{gap:12px}.nav-link{font-size:.92rem}.map-shell{min-height:55vh}.float-fleet{top:10px;right:10px;width:min(360px,calc(100% - 20px));max-height:48%;padding:10px 12px}.route-bottom-sheet{left:10px;right:10px;bottom:10px;max-height:35%}.fleet-vehicle{padding:8px 10px}.fleet-route-stops{font-size:.7rem}.map-empty{align-items:flex-end;padding:20px 16px 28px}}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.subnav-link{font-family:Work Sans,sans-serif;font-weight:700;font-size:.82rem;padding:9px 16px;border-radius:var(--radius-pill);background:#0000000f;color:var(--text-soft)}.subnav-link.active{background:var(--ink);color:#fff}.subnav-link:hover{background:#0000001f;color:var(--text)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700}.badge-green{background:#35b56b26;color:#1f8a4f}.badge-orange{background:#f2994a2e;color:var(--orange-deep)}.badge-red{background:#e5433c26;color:var(--red-deep)}.badge-gray{background:#00000014;color:var(--text-soft)}.page-loading,.page-error{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-soft);font-weight:600}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:4px}.kpi-card{background:var(--card);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-card)}.kpi-card .kpi-label{font-size:.78rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.kpi-card .kpi-value{font-size:1.5rem;font-weight:800;color:var(--text);margin-top:4px}.kpi-card.kpi-positive .kpi-value{color:#1f8a4f}.kpi-card.kpi-negative .kpi-value{color:var(--red-deep)}.app-shell-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#ffffffb3;font-weight:700}.api-connection-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.api-connection-error h1,.api-connection-error p{margin:0}.api-connection-error p{max-width:640px;color:var(--text-soft)}@media (max-width: 860px){.landing-header{padding-inline:20px}.landing-nav{gap:14px}.landing-nav a:not(.landing-login){display:none}.landing-hero{grid-template-columns:1fr;min-height:0;padding-top:45px}.hero-copy h1{letter-spacing:-2px}.hero-visual{min-height:340px}.landing-section{padding-block:64px}.about-grid,.contact-section{grid-template-columns:1fr;gap:24px}.solutions-grid,.plans-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}.landing-footer{gap:18px;flex-wrap:wrap}}@media (max-width: 560px){.landing-header,.landing-footer,.landing-hero,.landing-section{padding-inline:16px}.landing-header{min-height:72px}.landing-header .brand-sub{display:none}.landing-login{padding:9px 14px}.landing-hero{padding-top:34px;padding-bottom:48px;gap:32px}.hero-copy h1{font-size:2.75rem}.hero-copy p{font-size:.98rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-visual{min-height:300px}.landing-section{padding-block:48px}.solution-card{min-height:230px}.solution-card h3{margin-top:45px}.contact-form{grid-template-columns:1fr;padding:18px}.contact-form label:nth-child(4),.contact-form .btn,.contact-success{grid-column:auto}.landing-footer{align-items:flex-start}.landing-footer>p{order:3;width:100%}.login-back{left:16px;top:16px}}
