:root{--bg: oklch(12% .015 250);--bg-grad: radial-gradient(120% 80% at 70% -10%, oklch(18% .03 220 / .55), transparent 60%), radial-gradient(80% 60% at 0% 110%, oklch(22% .04 155 / .35), transparent 60%), oklch(12% .015 250);--surface: oklch(16% .018 250);--surface-2: oklch(20% .02 250);--surface-3: oklch(24% .022 250);--border: oklch(26% .022 250);--border-strong: oklch(36% .028 250);--fg: oklch(97% .004 250);--fg-2: oklch(84% .008 250);--muted: oklch(62% .016 250);--muted-2: oklch(46% .018 250);--accent: oklch(85% .22 142);--accent-soft: oklch(85% .22 142 / .14);--accent-line: oklch(85% .22 142 / .5);--accent-fg: oklch(16% .05 145);--accent-2: oklch(72% .18 220);--accent-2-soft: oklch(72% .18 220 / .14);--ok: oklch(78% .18 150);--ok-soft: oklch(78% .18 150 / .14);--warn: oklch(82% .16 80);--warn-soft: oklch(82% .16 80 / .14);--danger: oklch(68% .22 22);--danger-soft: oklch(68% .22 22 / .14);--info: oklch(72% .14 220);--info-soft: oklch(72% .14 220 / .14);--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--r-2: 2px;--r-4: 4px;--r-6: 6px;--r-8: 8px;--r-10: 10px;--r-12: 12px;--r-16: 16px;--r-20: 20px;--r-pill: 999px;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--d-fast: .12s;--d-med: .22s;--d-slow: .42s;--shadow-pop: 0 12px 32px -12px oklch(0% 0 0 / .6), 0 2px 6px -2px oklch(0% 0 0 / .4);--shadow-glow: 0 0 0 1px var(--accent-line), 0 0 24px -6px oklch(85% .22 142 / .4);--shell-sidebar: 240px;--shell-topbar: 56px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:dark}body{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--fg);background:var(--bg-grad);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.upper{text-transform:uppercase;letter-spacing:.08em;font-weight:500}.muted{color:var(--muted)}.fg-2{color:var(--fg-2)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-4)}.app{display:grid;grid-template-columns:var(--shell-sidebar) 1fr;grid-template-rows:var(--shell-topbar) 1fr;min-height:100vh}.sidebar{grid-row:1 / 3;grid-column:1;background:#010407b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px;gap:4px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-brand .mark{width:28px;height:28px;border-radius:var(--r-8);display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:0 0 0 1px #6af05f59}.sidebar-brand .mark svg{display:block;width:100%;height:100%}.sidebar-brand .name{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--fg)}.sidebar-brand .name span{color:var(--accent)}.nav-group{display:flex;flex-direction:column;gap:2px;padding:12px 0}.nav-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:4px 12px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-8);color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.nav-item svg{width:16px;height:16px;opacity:.7;flex-shrink:0}.nav-item:hover{background:var(--surface-2);color:var(--fg)}.nav-item:hover svg{opacity:1}.nav-item.active{background:var(--surface-2);color:var(--fg);position:relative}.nav-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px var(--accent)}.nav-item.active svg{opacity:1;color:var(--accent)}.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.nav-item.active .count{color:var(--accent)}.sidebar-foot{margin-top:auto;padding:12px 8px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-foot .avatar{width:32px;height:32px}.sidebar-foot .who{display:flex;flex-direction:column;min-width:0}.sidebar-foot .who-name{font-size:13px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .who-org{font-size:11px;color:var(--muted)}.topbar{grid-row:1;grid-column:2;border-bottom:1px solid var(--border);background:#010407bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:10}.topbar .crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.topbar .crumbs .here{color:var(--fg);font-weight:500}.topbar .crumbs svg{width:12px;height:12px;opacity:.5}.topbar .search{flex:1;max-width:420px;margin-left:auto}.topbar .right{display:flex;align-items:center;gap:8px}.topbar .live-badge{display:inline-flex;align-items:center;gap:8px;padding:0 12px;height:30px;border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.topbar .live-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.4s ease-in-out infinite}.main{grid-row:2;grid-column:2;padding:28px 32px 48px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--fg);margin:0 0 4px}.page-head .page-sub{color:var(--muted);font-size:13px;margin:0}.page-head .page-actions{display:flex;align-items:center;gap:8px}@media(max-width:1024px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;z-index:50;transform:translate(-100%);transition:transform var(--d-med) var(--ease)}.app[data-nav=open] .sidebar{transform:translate(0)}.topbar{grid-column:1;padding:0 16px}.main{grid-column:1;padding:20px 16px 40px}.topbar .hamburger{display:inline-flex!important}.app[data-nav=open]:before{content:"";position:fixed;inset:0;background:#00000080;z-index:40}}@media(min-width:1025px){.topbar .hamburger{display:none}}@media(max-width:640px){.topbar .search,.topbar .live-badge{display:none}.main{padding:16px 12px 32px}.page-head h1{font-size:22px}}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r-8);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--fg);font-weight:500;font-size:13px;letter-spacing:-.005em;cursor:pointer;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease);white-space:nowrap}.btn:hover{background:var(--surface-3);border-color:var(--muted-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:#58df4d;border-color:#58df4d}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-2);border-color:var(--border)}.btn-lg{height:44px;padding:0 20px;font-size:14px}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-icon{width:36px;padding:0;justify-content:center}.btn-icon.btn-sm{width:28px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.card-pad{padding:20px}.card-pad-lg{padding:28px}.card-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--fg)}.card-body{padding:20px}.card-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);font-size:11px;font-weight:500;letter-spacing:.01em;color:var(--fg-2)}.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.pill-live{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.pill-live .dot{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.4s ease-in-out infinite}.pill-ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.pill-ok .dot{background:var(--ok)}.pill-warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.pill-warn .dot{background:var(--warn)}.pill-danger{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.pill-danger .dot{background:var(--danger)}.pill-info{color:var(--info);border-color:var(--info);background:var(--info-soft)}.pill-info .dot{background:var(--info)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}.field{height:36px;padding:0 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-8);color:var(--fg);font-size:13px;outline:none;transition:border-color var(--d-fast) var(--ease),background var(--d-fast) var(--ease);width:100%}.field:focus{border-color:var(--accent);background:var(--surface-2)}.field::placeholder{color:var(--muted-2)}textarea.field{height:auto;padding:10px 12px;resize:vertical;min-height:80px}.field-with-icon{position:relative}.field-with-icon .field{padding-left:36px}.field-with-icon svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:1}.tbl td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--fg-2);vertical-align:middle}.tbl tr:hover td{background:#0f171f80}.tbl tr:last-child td{border-bottom:none}.tbl td .row-title{color:var(--fg);font-weight:500}.tbl td .row-sub{color:var(--muted);font-size:12px;margin-top:2px}.kpi{display:flex;flex-direction:column;gap:6px;padding:20px}.kpi-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--fg);line-height:1}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--danger)}.section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.section-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;color:var(--fg);margin:0}.section-sub{color:var(--muted);font-size:16px;max-width:62ch;margin:12px 0 0}.avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-3);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--fg);font-family:var(--font-mono)}.avatar-lg{width:40px;height:40px;font-size:13px}.avatar.online:after{content:"";position:absolute;width:8px;height:8px;background:var(--accent);border:2px solid var(--surface);border-radius:50%;right:-2px;bottom:-2px}.avatar.online{position:relative}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--muted);gap:12px}.empty svg{width:32px;height:32px;opacity:.5}.divider{height:1px;background:var(--border);border:none;margin:24px 0}.kbd{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--r-4);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);font-size:11px}.tabs{display:inline-flex;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-8);gap:2px}.tabs button{height:28px;padding:0 12px;border:none;border-radius:var(--r-6);background:transparent;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.tabs button.active{background:var(--surface-3);color:var(--fg)}.tabs button:hover:not(.active){color:var(--fg-2)}.bar{position:relative;height:6px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width var(--d-slow) var(--ease-out)}.bar.danger>span{background:var(--danger)}.bar.warn>span{background:var(--warn)}.grid{display:grid;gap:16px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.spread{display:flex;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}.app{position:relative}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.loading-screen:after{content:"";width:14px;height:14px;margin-left:12px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:loading-spin .9s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.app a{color:inherit;text-decoration:none}.app a:hover{color:inherit}.landing{min-height:100vh;overflow-x:hidden;font-size:15px;line-height:1.55}.landing .container{max-width:1320px;margin:0 auto;padding:0 32px}@media(max-width:720px){.landing .container{padding:0 20px}}.landing .nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#03060ba6;border-bottom:1px solid oklch(26% .022 250 / .6)}.landing .nav-row{display:flex;align-items:center;gap:28px;height:64px}.landing .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--fg)}.landing .brand .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;box-shadow:0 0 0 1px #6af05f66,0 0 24px -8px #6af05f99;position:relative;overflow:hidden}.landing .brand .mark svg{display:block;width:100%;height:100%}.landing .brand .name span{color:var(--accent)}.landing .nav-links{display:flex;gap:28px;margin-left:8px;font-size:13px;color:var(--muted)}.landing .nav-links a{transition:color var(--ease) .12s}.landing .nav-links a:hover{color:var(--fg)}.landing .nav-spacer{flex:1}.landing .nav-cta{display:flex;align-items:center;gap:8px}@media(max-width:720px){.landing .nav-links{display:none}}.landing .btn-primary{box-shadow:0 0 24px -8px #6af05f80}.landing .hero{position:relative;min-height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:48px;padding:60px 0 80px}.landing .hero-text{max-width:560px}.landing .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:5px 10px 5px 8px;border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.landing .hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 1.4s ease-in-out infinite}.landing .hero h1{font-family:var(--font-display);font-size:clamp(40px,6.2vw,72px);font-weight:700;line-height:1.02;letter-spacing:-.035em;margin:24px 0;color:var(--fg)}.landing .hero h1 .grad{background:linear-gradient(120deg,var(--accent) 0%,oklch(78% .2 165) 60%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.landing .hero .sub{font-size:17px;line-height:1.55;color:var(--fg-2);max-width:480px;margin:0 0 32px}.landing .hero .ctas{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.landing .hero .ctas .meta{font-size:12px;color:var(--muted);margin-left:4px}.landing .hero .proof{margin-top:48px;padding-top:28px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing .hero .proof .stat{display:flex;flex-direction:column;gap:4px}.landing .hero .proof .v{font-family:var(--font-mono);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--fg)}.landing .hero .proof .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.landing .hero-3d{position:relative;height:620px;width:100%;isolation:isolate}.landing .hero-3d canvas{width:100%;height:100%;display:block;cursor:grab}.landing .hero-3d canvas:active{cursor:grabbing}.landing .hero-3d:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 40% at 50% 50%,oklch(85% .22 142 / .12),transparent 60%);z-index:-1;pointer-events:none}.landing .hero-3d:after{content:"";position:absolute;inset:0;background-image:linear-gradient(oklch(26% .022 250 / .5) 1px,transparent 1px),linear-gradient(90deg,oklch(26% .022 250 / .5) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(60% 60% at 50% 50%,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,black 30%,transparent 80%);pointer-events:none;z-index:-2}.landing .hud-callout{position:absolute;display:flex;align-items:center;gap:10px;padding:9px 12px 9px 10px;background:#040a10db;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:10px;font-size:12px;color:var(--fg);box-shadow:0 8px 24px -8px #00000080;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;animation:float-in .6s var(--ease-out) both}.landing .hud-callout .swatch{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.landing .hud-callout.cyan .swatch{background:var(--accent-2);box-shadow:0 0 8px var(--accent-2)}.landing .hud-callout .route{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--fg)}.landing .hud-callout .eta{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.landing .hud-callout .live{font-size:9px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:2px 6px;border-radius:var(--r-4);background:var(--accent-soft);border:1px solid var(--accent-line)}@keyframes float-in{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(max-width:1024px){.landing .hero{grid-template-columns:1fr;gap:24px;padding:40px 0 60px}.landing .hero-3d{height:460px;order:-1}.landing .hero h1{font-size:clamp(34px,8vw,56px)}}@media(max-width:560px){.landing .hero-3d{height:360px}.landing .hero .proof{grid-template-columns:repeat(3,1fr);gap:12px}.landing .hero .proof .v{font-size:18px}}.landing .section{padding:96px 0;position:relative}.landing .section-head{display:flex;flex-direction:column;gap:12px;margin-bottom:48px;max-width:720px}.landing .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.landing .section h2{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0;color:var(--fg)}.landing .section .lede{font-size:17px;color:var(--muted);max-width:580px;margin:8px 0 0}.landing .product-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}.landing .feature-list{display:flex;flex-direction:column;gap:4px}.landing .feature{display:flex;gap:18px;padding:22px;border-radius:var(--r-12);border:1px solid transparent;transition:background .2s var(--ease),border-color .2s var(--ease);cursor:pointer}.landing .feature:hover{background:var(--surface);border-color:var(--border)}.landing .feature .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--muted-2);width:28px;flex-shrink:0;padding-top:3px}.landing .feature .body h3{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.015em;margin:0 0 6px;color:var(--fg)}.landing .feature .body p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}.landing .preview{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-16);overflow:hidden;box-shadow:0 24px 48px -16px #0009,0 8px 24px -8px #0006,0 0 0 1px #ffffff05 inset}.landing .preview-chrome{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);background:#050a0f}.landing .preview-chrome .dot{width:9px;height:9px;border-radius:50%;background:var(--surface-3)}.landing .preview-chrome .url{margin-left:16px;font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:4px 10px;background:var(--surface-2);border-radius:var(--r-pill);flex:1;text-align:center}.landing .preview-body{display:grid;grid-template-columns:56px 1fr;min-height:380px}.landing .preview-side{background:#04080d;border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;gap:6px;align-items:center}.landing .preview-side .side-mark{width:24px;height:24px;border-radius:7px;background:var(--accent);margin-bottom:6px}.landing .preview-side .side-item{width:30px;height:30px;border-radius:7px;background:var(--surface-3)}.landing .preview-side .side-item.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.landing .preview-main{padding:16px;display:flex;flex-direction:column;gap:12px;background:#03060b}.landing .preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.landing .pkpi{padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-8)}.landing .pkpi .l{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.landing .pkpi .v{font-family:var(--font-mono);font-size:16px;color:var(--fg);margin-top:2px}.landing .pkpi .d{font-family:var(--font-mono);font-size:10px;color:var(--ok)}.landing .preview-chart{flex:1;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-8);position:relative;min-height:120px}.landing .preview-chart svg{width:100%;height:100%}.landing .preview-rows{display:flex;flex-direction:column;gap:4px}.landing .prow{display:grid;grid-template-columns:8px 1fr 70px 50px;gap:8px;align-items:center;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-6);font-size:11px}.landing .prow .pill-tiny{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}.landing .prow .pill-tiny.idle{background:var(--muted);box-shadow:none}.landing .prow .who{color:var(--fg)}.landing .prow .ttl{color:var(--muted);font-family:var(--font-mono);font-size:10px}.landing .prow .eta{color:var(--fg-2);font-family:var(--font-mono);text-align:right}.landing .phone-mock{width:220px;height:440px;background:#010203;border:8px solid oklch(20% .015 250);border-radius:36px;padding:8px;position:absolute;right:-28px;bottom:-32px;box-shadow:0 30px 60px -20px #0009,0 0 0 1px #ffffff0a inset}.landing .phone-screen{width:100%;height:100%;border-radius:24px;background:#04080d;overflow:hidden;position:relative;padding:28px 14px 14px;display:flex;flex-direction:column;gap:10px}.landing .phone-island{position:absolute;top:10px;left:50%;transform:translate(-50%);width:70px;height:18px;border-radius:9px;background:#000001}.landing .phone-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.landing .phone-card{padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:6px}.landing .phone-card.live{border-color:var(--accent-line);background:var(--accent-soft)}.landing .phone-card .t{font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.landing .phone-card .v{font-size:13px;color:var(--fg);font-weight:600}.landing .phone-card .v.lime{color:var(--accent)}.landing .phone-map{flex:1;border-radius:10px;background:linear-gradient(135deg,#041419,#060c13),var(--surface);position:relative;overflow:hidden;border:1px solid var(--border)}.landing .phone-map:after{content:"";position:absolute;inset:0;background-image:linear-gradient(oklch(30% .03 250 / .4) 1px,transparent 1px),linear-gradient(90deg,oklch(30% .03 250 / .4) 1px,transparent 1px);background-size:18px 18px}.landing .phone-route{position:absolute;inset:0}.landing .phone-route svg{width:100%;height:100%}@media(max-width:1024px){.landing .product-split{grid-template-columns:1fr;gap:32px}.landing .preview{max-width:560px;margin:0 auto;width:100%}.landing .phone-mock{display:none}}.landing .pricing-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap}.landing .price-toggle{display:inline-flex;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);gap:2px}.landing .price-toggle button{height:32px;padding:0 16px;border:none;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:12px;font-weight:500;transition:background .12s var(--ease),color .12s var(--ease);cursor:pointer}.landing .price-toggle button.active{background:var(--fg);color:var(--bg);font-weight:600}.landing .price-toggle .save{margin-left:6px;font-family:var(--font-mono);font-size:10px;color:var(--accent)}.landing .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing .plan{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-16);padding:28px;display:flex;flex-direction:column;gap:20px}.landing .plan.featured{background:var(--surface-2);border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-line),0 24px 48px -24px #6af05f4d}.landing .plan-flag{position:absolute;top:-10px;right:20px;padding:3px 10px;background:var(--accent);color:var(--accent-fg);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.landing .plan-name{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--fg);display:flex;align-items:center;gap:8px}.landing .plan-name .for{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.landing .plan-price{display:flex;align-items:baseline;gap:8px}.landing .plan-price .num{font-family:var(--font-display);font-size:44px;font-weight:600;letter-spacing:-.04em;color:var(--fg);line-height:1}.landing .plan-price .per{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.landing .plan-price .yearly{font-family:var(--font-mono);font-size:11px;color:var(--muted-2)}.landing .plan ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.landing .plan li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--fg-2)}.landing .plan li svg{width:14px;height:14px;color:var(--accent);flex-shrink:0;margin-top:3px}.landing .plan li b{color:var(--fg);font-weight:600}.landing .plan li.dim{color:var(--muted)}.landing .plan li.dim svg{color:var(--muted-2)}.landing .plan .btn{justify-content:center;width:100%}.landing .plan .foot{margin-top:auto;font-family:var(--font-mono);font-size:10px;color:var(--muted-2);letter-spacing:.04em;text-transform:uppercase}@media(max-width:920px){.landing .price-grid{grid-template-columns:1fr;gap:16px}}.landing .cta-end{padding:96px 0 120px;position:relative;overflow:hidden}.landing .cta-card{border:1px solid var(--border-strong);border-radius:var(--r-16);background:radial-gradient(60% 100% at 100% 0%,oklch(85% .22 142 / .12),transparent 60%),radial-gradient(50% 80% at 0% 100%,oklch(72% .18 220 / .1),transparent 60%),var(--surface);padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center}.landing .cta-card h2{font-family:var(--font-display);font-size:clamp(28px,3.6vw,40px);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0 0 16px;color:var(--fg)}.landing .cta-card p{color:var(--muted);font-size:15px;margin:0 0 24px;max-width:480px}.landing .cta-card .ctas{display:flex;gap:10px;flex-wrap:wrap}.landing .cta-side{display:flex;flex-direction:column;gap:14px;padding:20px;background:#01040799;border:1px solid var(--border);border-radius:var(--r-12)}.landing .cta-side .ln{display:flex;align-items:center;gap:10px;font-size:13px}.landing .cta-side .ln svg{width:14px;height:14px;color:var(--accent);flex-shrink:0}.landing .cta-side .ln span{color:var(--fg-2)}.landing .cta-side .ln b{color:var(--fg);font-weight:600}@media(max-width:920px){.landing .cta-card{grid-template-columns:1fr;padding:36px 24px}}.landing .footer{border-top:1px solid var(--border);padding:32px 0 48px;color:var(--muted);font-size:12px}.landing .footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.landing .footer .links{display:flex;gap:24px}.landing .footer .links a:hover{color:var(--fg)}.landing .footer .built{font-family:var(--font-mono);font-size:11px;color:var(--muted-2)}.landing .footer .built span{color:var(--accent)}@media(prefers-reduced-motion:no-preference){.landing .hero-text>*{animation:rise .7s var(--ease-out) backwards}.landing .hero-text>*:nth-child(1){animation-delay:60ms}.landing .hero-text>*:nth-child(2){animation-delay:.14s}.landing .hero-text>*:nth-child(3){animation-delay:.22s}.landing .hero-text>*:nth-child(4){animation-delay:.3s}.landing .hero-text>*:nth-child(5){animation-delay:.38s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}.signin-page{min-height:100vh;display:flex;align-items:stretch;justify-content:center;padding:32px;background:var(--bg-grad)}.signin-card{width:min(560px,100%);margin:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-16);padding:36px;display:flex;flex-direction:column;gap:24px;box-shadow:0 24px 48px -24px #00000073}.signin-card .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em}.signin-card .brand .mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 1px #6af05f59}.signin-card .brand .mark svg{display:block;width:100%;height:100%}.signin-card .brand span.dot{color:var(--accent)}.signin-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0}.signin-card h1{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.025em;margin:8px 0 12px;color:var(--fg)}.signin-card p.signin-sub{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.signin-plan-card{border:1px solid var(--border);border-radius:var(--r-12);padding:16px;background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:16px}.signin-plan-card .signin-plan-meta{display:flex;flex-direction:column;gap:4px}.signin-plan-card .signin-plan-meta strong{color:var(--fg);font-weight:600}.signin-plan-card .signin-plan-meta small{color:var(--muted);font-size:12px}.signin-plan-card .signin-plan-price{font-family:var(--font-mono);font-size:24px;color:var(--fg);font-weight:500;letter-spacing:-.02em}.signin-form{display:flex;flex-direction:column;gap:14px}.signin-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.signin-form label .field{font-family:var(--font-body);font-size:13px;text-transform:none;letter-spacing:0}.signin-form label textarea.field{min-height:60px}.signin-error{padding:10px 12px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--r-8);color:var(--danger);font-size:13px}.signin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.signin-google{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;background:#fff;color:#202020;border:1px solid var(--border-strong);border-radius:var(--r-8);font-weight:600;font-size:14px;cursor:pointer;transition:transform .12s var(--ease)}.signin-google:hover{transform:translateY(-1px)}.signin-google svg{width:18px;height:18px}.signin-status{padding:12px 14px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-8);color:var(--accent);font-size:12px;font-family:var(--font-mono);letter-spacing:.04em}.signin-back{font-size:12px;color:var(--muted);margin-top:8px}.signin-back a{color:var(--accent)}.dash-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.dash-kpi-row .kpi.card{padding:0}.dash-kpi-row .kpi.card .kpi{padding:18px 20px 20px}.dash-kpi-row .kpi.card .spark{height:36px;margin:0 -1px -1px}.dash-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-bottom:20px}.dash-grid-3{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.dash-map-block{position:relative;min-height:420px;overflow:hidden;padding-bottom:0}.dash-map-canvas{position:relative;height:360px;margin:0 -20px -20px;border-top:1px solid var(--border);background:#040a10;overflow:hidden}.dash-map-canvas .fleet-map-container{height:100%;min-height:100%;border-radius:0}.dash-map-canvas .fleet-map-container>div{border-radius:0!important}.dash-map-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.dash-map-empty svg{color:var(--muted);opacity:.6}.dash-feed{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.dash-feed li{display:grid;grid-template-columns:60px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:flex-start}.dash-feed li:last-child{border-bottom:none}.dash-feed .ts{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding-top:2px}.dash-feed .msg{font-size:13px;color:var(--fg-2)}.dash-feed .msg b{color:var(--fg)}.dash-feed .msg .tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--accent);margin-left:6px}.dash-feed .icn{width:14px;height:14px;color:var(--accent);flex-shrink:0}.dash-chart{position:relative;height:240px;padding:16px 20px 20px}.dash-chart svg{width:100%;height:100%}.dash-chart-meta{position:absolute;top:16px;left:20px;display:flex;gap:16px;font-family:var(--font-mono);font-size:11px}.dash-chart-meta .v{color:var(--fg);font-size:22px;font-weight:500;letter-spacing:-.02em}.dash-chart-meta .l{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-top:4px}.dash-chart-meta .d{color:var(--ok);font-size:11px;margin-top:2px}.dash-queue-row{padding:16px 20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.dash-queue-row:last-of-type{border-bottom:none}.dash-queue-row .title{font-weight:600;font-size:13px;color:var(--fg)}.dash-queue-row .sub{font-size:12px;color:var(--muted);margin-top:4px}@media(max-width:1180px){.dash-kpi-row{grid-template-columns:repeat(2,1fr)}.dash-grid-2,.dash-grid-3{grid-template-columns:1fr}}.dashboard-ad-banner{background:linear-gradient(135deg,#111f37,#0a121f);border:1px solid var(--border);border-radius:var(--r-12);padding:16px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 4px 20px #00000026;transition:all .3s ease}.dashboard-ad-banner.standard-ad{background:linear-gradient(135deg,#0d1218,#080c0f);border:1px dashed var(--border);padding:10px 20px;margin-bottom:20px;opacity:.85}.dashboard-ad-banner.standard-ad .ad-badge{background:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.dashboard-ad-banner.standard-ad .ad-text{font-size:12px;color:var(--fg-3)}.dashboard-ad-banner .ad-content{display:flex;align-items:center;gap:16px}.dashboard-ad-banner .ad-badge{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);font-family:var(--font-mono);font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--r-6);letter-spacing:.08em;flex-shrink:0;text-transform:uppercase}.dashboard-ad-banner .ad-text{font-size:13px;color:var(--fg-2);line-height:1.5}.dashboard-ad-banner .ad-text b{color:var(--fg)}@media(max-width:768px){.dashboard-ad-banner{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.dashboard-ad-banner .ad-content{flex-direction:column;align-items:flex-start;gap:8px}.dashboard-ad-banner .btn{width:100%;text-align:center}}.trips-filters{display:flex;gap:8px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.trips-filters .field-with-icon{flex:1;max-width:320px}.trip-filter-select{appearance:none;height:28px;padding:0 28px 0 10px;font-size:12px;background:var(--surface);color:var(--fg-2);border:1px solid var(--border);border-radius:var(--r-8);font-family:var(--font-body);cursor:pointer;max-width:180px;text-overflow:ellipsis;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%238b94a3' stroke-width='1.6'><path d='M3 6l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center}.trip-filter-select:hover{border-color:var(--border-strong);color:var(--fg)}.trip-filter-select:focus{outline:none;border-color:var(--accent)}.trips-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trips-col{background:#040a10;border:1px solid var(--border);border-radius:var(--r-12);display:flex;flex-direction:column;min-height:600px}.trips-col-head{display:flex;align-items:center;gap:10px;padding:16px 18px 14px;border-bottom:1px solid var(--border)}.trips-col-head .name{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--fg)}.trips-col-head .count{font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--surface-2);padding:2px 7px;border-radius:var(--r-pill)}.trips-col-head .add{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:var(--r-6);background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer}.trips-col-head .add:hover{color:var(--fg);background:var(--surface-3)}.trips-col-body{padding:12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.trip-card{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:transform .12s var(--ease),border-color .12s var(--ease);cursor:pointer;display:block;color:inherit;text-decoration:none}.trip-card:hover{border-color:var(--border-strong);transform:translateY(-1px);color:inherit}.trip-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.trip-card .id{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.04em}.trip-card .route{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--fg);letter-spacing:-.01em;margin-bottom:4px}.trip-card .who{font-size:12px;color:var(--muted);margin-bottom:10px}.trip-card .trip-meta{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px;color:var(--muted-2);font-family:var(--font-mono);flex-wrap:wrap}.trip-card .trip-meta .micro-dot{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}.trip-card .trip-meta .driver{display:flex;align-items:center;gap:6px;color:var(--fg-2)}.trip-card .trip-meta .driver .avatar{width:18px;height:18px;font-size:9px}.trip-card.live{border-color:var(--accent-line)}.trip-card.live:before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--accent),transparent);margin:-14px -14px 12px;border-top-left-radius:9px;border-top-right-radius:9px}.trip-card .progress{margin-top:12px}.trip-card .progress-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-bottom:4px}.trip-card .progress-meta .pct{color:var(--accent)}.trips-tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);overflow:hidden}.view-toggle{display:inline-flex;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-8);gap:2px}.view-toggle button{height:28px;padding:0 10px;border:none;border-radius:var(--r-6);background:transparent;color:var(--muted);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.view-toggle button.active{background:var(--surface-3);color:var(--fg)}.view-toggle svg{width:13px;height:13px}@media(max-width:1024px){.trips-board{grid-template-columns:1fr}}.trip-form{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:20px;align-items:flex-start}.trip-form-main{display:flex;flex-direction:column;gap:16px}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);overflow:hidden}.form-section .sec-head{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.form-section .sec-num{width:26px;height:26px;border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600;display:grid;place-items:center}.form-section .sec-title{flex:1;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--fg);letter-spacing:-.005em}.form-section .sec-sub{font-size:12px;color:var(--muted);font-family:var(--font-mono)}.form-section .sec-body{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.field-group{display:flex;flex-direction:column;gap:6px}.field-group .label{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field-group .help{font-size:11px;color:var(--muted-2);font-family:var(--font-mono)}.field-group.req .label:after{content:"*";color:var(--accent);margin-left:4px}.field-group .label .opt{color:var(--muted-2);font-weight:400;text-transform:none;letter-spacing:0;font-size:10px;margin-left:4px;font-style:normal}.field-span-2{grid-column:span 2}.field-span-3{grid-column:span 3}select.field{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%23999' stroke-width='1.5'><path d='M4 6l4 4 4-4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.trip-summary{position:sticky;top:76px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);padding:24px;display:flex;flex-direction:column;gap:14px}.trip-summary h3{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--fg);margin:0}.trip-summary .row{display:flex;justify-content:space-between;gap:16px;font-size:13px}.trip-summary .row span:first-child{color:var(--muted)}.trip-summary .row span:last-child{color:var(--fg);font-family:var(--font-mono)}.trip-summary .actions{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1024px){.trip-form{grid-template-columns:1fr}}.trip-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:20px;min-height:580px}.td-map-wrap{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);overflow:hidden;min-height:580px}.td-map-wrap .fleet-map-container{height:100%;min-height:580px}.td-overlay-top{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:5}.td-overlay-top .panel{background:#03060bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--r-8);padding:8px 12px;display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:11px}.td-overlay-top .panel .v{color:var(--fg);font-size:13px;font-weight:500}.td-overlay-top .panel .l{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.td-overlay-bottom{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-end;z-index:5;gap:12px;pointer-events:none}.td-speed-card{background:#03060beb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--r-8);padding:12px 16px;display:flex;gap:18px;align-items:center;pointer-events:auto}.td-speed-card .col-meta{display:flex;flex-direction:column;gap:2px}.td-speed-card .l{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.td-speed-card .v{font-family:var(--font-mono);font-size:18px;color:var(--fg);font-weight:500;letter-spacing:-.02em}.td-speed-card .v.lime{color:var(--accent)}.td-speed-card .sep{width:1px;background:var(--border);align-self:stretch}.td-panel-stack{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.td-hero{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.td-hero .top-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.td-hero .top-row .id{font-family:var(--font-mono);color:var(--muted);font-size:12px}.td-hero .route{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--fg);line-height:1.2}.td-hero .when{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:4px}.td-hero .actions{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}.td-hero .actions .btn{flex:1;min-width:120px;justify-content:center}.td-card{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.td-card h4{margin:0 0 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);font-weight:500}.td-card .kv{display:grid;grid-template-columns:100px 1fr;gap:6px 12px;font-size:13px}.td-card .kv .k{color:var(--muted)}.td-card .kv .v{color:var(--fg-2)}.td-timeline{display:flex;flex-direction:column;gap:0;margin-top:4px}.td-timeline .item{display:grid;grid-template-columns:24px 1fr;gap:12px;padding-bottom:14px;position:relative}.td-timeline .item:not(:last-child):before{content:"";position:absolute;left:5px;top:16px;bottom:-2px;width:2px;background:var(--border)}.td-timeline .item.done:before{background:var(--accent)}.td-timeline .dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--muted);margin-top:4px;background:var(--surface)}.td-timeline .item.done .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.td-timeline .item.current .dot{animation:pulse 1.4s ease-in-out infinite;border-color:var(--accent);background:var(--accent)}.td-timeline .item .label{font-size:13px;color:var(--fg-2);font-weight:500}.td-timeline .item .when{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.td-share{display:flex;flex-direction:column;gap:12px}.td-share .card-head h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);font-weight:500}.td-share-row{display:flex;align-items:center;gap:8px}.td-share-input{flex:1;font-family:var(--font-mono);font-size:12px;letter-spacing:.01em;color:var(--fg-2);background:#01040799;cursor:text}.td-share-input:focus{color:var(--fg)}.td-share-copied{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.td-share-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.td-share-regen{margin-left:auto}.td-share-hint{margin:0;font-size:11px;color:var(--muted);line-height:1.5;font-family:var(--font-mono);letter-spacing:.01em}.td-paused-hint{margin:10px 0 0;font-size:11px;color:var(--muted);line-height:1.5;font-family:var(--font-mono);letter-spacing:.01em}.td-driver-conflict{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.td-driver-conflict-line{font-size:12px;color:var(--fg-2);line-height:1.5}.td-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.td-photo{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:var(--r-8);overflow:hidden;background:var(--surface)}.td-photo img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.td-photo-missing{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1 / 1;font-size:11px;color:var(--muted);background:var(--surface-3)}.td-photo-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 8px;font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.01em;gap:6px}@media(max-width:1100px){.trip-layout{grid-template-columns:1fr}.td-share-regen{margin-left:0}}.drv-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.drv-stat{padding:16px 18px;display:flex;align-items:center;gap:14px}.drv-stat .ico{width:38px;height:38px;border-radius:var(--r-10);display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.drv-stat .ico.live{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.drv-stat .ico.ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.drv-stat .ico.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.drv-stat .lab{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.drv-stat .val{font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--fg);letter-spacing:-.02em;line-height:1;margin-top:4px}.drv-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(380px,1fr);gap:20px;align-items:flex-start}.drv-toolbar{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.drv-toolbar .field-with-icon{flex:1;max-width:320px}.drv-row{display:grid;grid-template-columns:36px minmax(180px,1.5fr) minmax(160px,1.2fr) minmax(120px,1fr);gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center;cursor:pointer;transition:background var(--d-fast) var(--ease)}.drv-row:hover{background:#0b121a99}.drv-row.active{background:var(--surface-2);border-left:2px solid var(--accent);padding-left:14px}.drv-row .nm{font-size:13px;color:var(--fg);font-weight:500}.drv-row .sub{font-size:11px;color:var(--muted);margin-top:2px;font-family:var(--font-mono)}.drv-row .assign{font-family:var(--font-mono);font-size:11px;color:var(--fg-2)}.drv-row .assign .route{color:var(--fg);display:block;font-size:12px}.drv-row .assign .route .arr{color:var(--muted);margin:0 4px}.drv-row .perf{display:flex;gap:14px;font-family:var(--font-mono);font-size:11px;color:var(--fg-2);text-align:right;justify-content:flex-end}.drv-row .perf span{display:flex;flex-direction:column;align-items:flex-end}.drv-row .perf .v{color:var(--fg);font-size:13px}.drv-row .perf .v.lime{color:var(--accent)}.drv-row .perf .l{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.drv-detail{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 88px);overflow-y:auto;padding-right:4px}.drv-hero{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);display:flex;flex-direction:column;gap:14px}.drv-hero .head{display:flex;align-items:center;gap:14px}.drv-hero .avatar{width:56px;height:56px;font-size:18px}.drv-hero .name{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.drv-hero .meta{font-size:12px;color:var(--muted);margin-top:2px}.drv-hero .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:14px;border-top:1px dashed var(--border)}.drv-hero .stats .l{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.drv-hero .stats .v{font-family:var(--font-mono);font-size:16px;color:var(--fg);margin-top:4px}.drv-hero .stats .v.lime{color:var(--accent)}.doc-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.doc-row:last-child{border-bottom:none}.doc-row .ico{width:28px;height:28px;border-radius:var(--r-8);display:grid;place-items:center;background:var(--surface-2);color:var(--muted)}.doc-row .ico.ok{background:var(--ok-soft);border:1px solid var(--ok);color:var(--ok)}.doc-row .ico.warn{background:var(--warn-soft);border:1px solid var(--warn);color:var(--warn)}.doc-row .nm{font-size:13px;color:var(--fg)}.doc-row .sub{font-size:11px;color:var(--muted);font-family:var(--font-mono)}@media(max-width:1100px){.drv-layout{grid-template-columns:1fr}.drv-detail{position:static}}.cus-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:20px;align-items:flex-start}.cus-toolbar{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.cus-toolbar .field-with-icon{flex:1;max-width:320px}.cus-row{display:grid;grid-template-columns:36px minmax(180px,1.4fr) minmax(120px,.8fr) minmax(180px,1fr);gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center;cursor:pointer}.cus-row:hover{background:#0b121a99}.cus-row.active{background:var(--surface-2);border-left:2px solid var(--accent);padding-left:14px}.cus-row .nm{font-size:13px;color:var(--fg);font-weight:500}.cus-row .sub{font-size:11px;color:var(--muted);font-family:var(--font-mono);margin-top:2px}.cus-row .tags{display:flex;gap:4px;flex-wrap:wrap}.cus-row .stats{display:flex;gap:14px;justify-content:flex-end;font-family:var(--font-mono);font-size:11px;color:var(--fg-2)}.cus-row .stats span{display:flex;flex-direction:column;align-items:flex-end}.cus-row .stats .v{color:var(--fg);font-size:13px}.cus-row .stats .l{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.cus-detail{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 88px);overflow-y:auto;padding-right:4px}.cus-hero{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);display:flex;flex-direction:column;gap:14px}.cus-hero .head{display:flex;align-items:center;gap:14px}.cus-hero .avatar{width:56px;height:56px;font-size:18px}.cus-hero .name{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.cus-hero .meta{font-size:12px;color:var(--muted);margin-top:2px}.cus-hero .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;border-top:1px dashed var(--border)}.cus-hero .stats .l{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cus-hero .stats .v{font-family:var(--font-mono);font-size:16px;color:var(--fg);margin-top:4px}.sample-banner{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-10);padding:12px 16px;margin-bottom:16px;color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}@media(max-width:1100px){.cus-layout{grid-template-columns:1fr}.cus-detail{position:static}}.fleet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-card{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);display:flex;flex-direction:column;gap:6px}.stat-card .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stat-card .v{font-family:var(--font-mono);font-size:24px;color:var(--fg);letter-spacing:-.02em;font-weight:500}.stat-card .v.lime{color:var(--accent)}.stat-card .v.warn{color:var(--warn)}.stat-card .breakdown{display:flex;gap:1px;margin-top:4px;height:4px;border-radius:var(--r-pill);overflow:hidden}.stat-card .breakdown>span{flex:var(--w, 1);background:var(--c, var(--accent))}.vehicle-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.vehicle-toolbar .field-with-icon{flex:1;max-width:320px}.veh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.veh{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);padding:18px 18px 14px;display:flex;flex-direction:column;gap:14px;transition:border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.veh:hover{border-color:var(--border-strong);transform:translateY(-1px)}.veh:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--muted)}.veh.live:before{background:var(--accent);box-shadow:0 0 10px var(--accent)}.veh.idle:before{background:var(--muted)}.veh.service:before{background:var(--warn)}.veh.offline:before{background:var(--danger)}.veh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.veh-plate{font-family:var(--font-mono);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.veh-model{font-size:12px;color:var(--muted);margin-top:2px}.veh-rows .veh-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;color:var(--fg-2)}.veh-row .l{color:var(--muted)}.veh-row .v{font-family:var(--font-mono);color:var(--fg)}.veh-meter{margin-top:4px}.veh-meter-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-bottom:4px}.veh-meter-meta .due{color:var(--warn)}.veh-meter-meta .ok{color:var(--accent)}.veh-driver{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.veh-driver .avatar{width:28px;height:28px;font-size:11px}.veh-driver .nm{font-size:12px;color:var(--fg);font-weight:500}.veh-driver .sub{font-size:10px;color:var(--muted);font-family:var(--font-mono);margin-top:2px}.veh-driver .right{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted);text-align:right}.veh-actions{display:flex;gap:6px;padding-top:8px}.veh-actions .btn{flex:1;justify-content:center}@media(max-width:720px){.fleet-stats{grid-template-columns:repeat(2,1fr)}}.billing-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-bottom:24px}.plan-banner{position:relative;padding:28px;background:radial-gradient(60% 100% at 100% 0%,oklch(85% .22 142 / .14),transparent 60%),radial-gradient(40% 80% at 0% 100%,oklch(72% .18 220 / .1),transparent 60%),var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-12);overflow:hidden}.plan-banner .row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.plan-banner .name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.plan-banner .name .pill{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.plan-banner .price{margin-top:8px;font-family:var(--font-display);font-size:44px;font-weight:600;letter-spacing:-.04em;color:var(--fg)}.plan-banner .price .per{font-family:var(--font-mono);font-size:13px;color:var(--muted);font-weight:400;letter-spacing:.04em}.plan-banner .meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:6px}.plan-banner .renew{text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.plan-banner .renew .next{font-size:20px;color:var(--fg);font-weight:500;letter-spacing:-.02em}.meters{padding:20px}.meter{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.meter:last-child{border-bottom:none}.meter .h{display:flex;justify-content:space-between;align-items:baseline}.meter .h .l{font-size:13px;color:var(--fg);font-weight:500}.meter .h .nums{font-family:var(--font-mono);font-size:13px;color:var(--fg)}.meter .h .nums .ttl{color:var(--muted);font-size:11px}.meter .h .nums .pct{color:var(--accent);font-size:11px;margin-left:8px}.meter .h .nums .pct.warn{color:var(--warn)}.meter .h .nums .pct.danger{color:var(--danger)}.meter .sub{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.plans-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);padding:22px;display:flex;flex-direction:column;gap:14px;position:relative}.plan-card.current{border-color:var(--accent-line);background:var(--surface-2);box-shadow:0 0 0 1px var(--accent-line)}.plan-card .ribbon{position:absolute;top:-9px;left:16px;padding:3px 8px;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;border-radius:var(--r-pill);font-weight:700}.plan-card .nm{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg)}.plan-card .pr{display:flex;align-items:baseline;gap:6px}.plan-card .pr .n{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.03em;color:var(--fg)}.plan-card .pr .p{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.plan-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--fg-2)}.plan-card ul li{display:flex;gap:8px;align-items:flex-start}.plan-card ul li svg{width:12px;height:12px;color:var(--accent);flex-shrink:0;margin-top:3px}.plan-card .btn{justify-content:center}.inv-pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em}@media(max-width:1024px){.billing-grid,.plans-row{grid-template-columns:1fr}}.profile-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:flex-start}.profile-subnav{display:flex;flex-direction:column;gap:2px;position:sticky;top:76px}.profile-subnav button{text-align:left;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid transparent;border-radius:var(--r-8);background:transparent;color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;position:relative}.profile-subnav button:hover,.profile-subnav button.active{background:var(--surface-2);color:var(--fg)}.profile-subnav button.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px var(--accent)}.profile-subnav svg{width:16px;height:16px;opacity:.7}.profile-main{display:flex;flex-direction:column;gap:16px}.profile-hero{padding:24px;display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.profile-hero .avatar{width:76px;height:76px;font-size:22px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-fg);border:none}.profile-hero .name{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.profile-hero .role{font-size:12px;color:var(--muted);font-family:var(--font-mono);margin-top:4px}.profile-hero .actions{margin-left:auto;display:flex;gap:8px}.profile-section{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.profile-section h3{margin:0 0 16px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--fg)}.profile-section .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-section .kv{display:grid;grid-template-columns:160px 1fr;gap:6px 16px;font-size:13px}.profile-section .kv .k{color:var(--muted)}.profile-section .kv .v{color:var(--fg)}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-subnav{flex-direction:row;flex-wrap:wrap;position:static}}.pt-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--bg)}.pt-header{padding:14px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);background:#010407d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.pt-header .mark{width:28px;height:28px;border-radius:var(--r-8);display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 1px #6af05f59}.pt-header .mark svg{display:block;width:100%;height:100%}.pt-header .name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:-.01em}.pt-header .live{margin-left:auto}.pt-body{display:grid;grid-template-columns:1fr;gap:16px;padding:16px;min-height:0}.pt-route{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.pt-route .stops{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:stretch}.pt-route .stop{display:flex;align-items:center;gap:12px;padding:12px 0}.pt-route .stop-icons{display:flex;flex-direction:column;align-items:center}.pt-route .stop-icons .from{width:14px;height:14px;border-radius:50%;background:var(--accent-2)}.pt-route .stop-icons .to{width:14px;height:14px;background:var(--accent);transform:rotate(45deg);border-radius:2px}.pt-route .stop-icons .line{width:2px;flex:1;min-height:24px;background:linear-gradient(to bottom,var(--accent-2),var(--accent));border-radius:2px;margin:6px 0}.pt-route .place .label{font-size:10px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.pt-route .place .name{font-size:17px;font-weight:600;color:var(--fg);font-family:var(--font-display);letter-spacing:-.02em}.pt-route .place .meta{font-size:12px;color:var(--muted);font-family:var(--font-mono);margin-top:2px}.pt-map-wrap{height:60vh;min-height:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12);overflow:hidden;position:relative}.pt-map-wrap .fleet-map-container{height:100%;min-height:100%}.pt-info-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.pt-info-card .item .l{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pt-info-card .item .v{font-family:var(--font-mono);font-size:16px;color:var(--fg);margin-top:4px}.pt-timeline{display:flex;flex-direction:column;gap:0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-12)}.pt-timeline .step{display:grid;grid-template-columns:24px 1fr auto;gap:12px;padding:10px 0;align-items:center}.pt-timeline .step .dot{width:12px;height:12px;border-radius:50%;background:var(--surface-3);border:2px solid var(--muted)}.pt-timeline .step.done .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.pt-timeline .step .when{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.pt-error{padding:24px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--r-12);color:var(--danger);text-align:center}.pt-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;text-decoration:none}@media(min-width:960px){.pt-body{grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto auto auto 1fr;padding:20px 20px 0;gap:20px}.pt-route{grid-column:2;grid-row:1;margin:0}.pt-map-wrap{grid-column:1;grid-row:1 / 5;height:100%;min-height:calc(100dvh - 80px)}.pt-info-card{grid-column:2;grid-row:2;margin:0}.pt-timeline{grid-column:2;grid-row:3;margin:0}.pt-call{grid-column:2;grid-row:4;align-self:start}}
