/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:var(--font-montserrat),"Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#0d1b3d;--color-blue:#1e3a8a;--color-blue-tint:#eaf0fb;--color-yellow:#ffc400;--color-canvas:#eef1f6;--color-surface:#fff;--color-panel:#f7f8fa;--color-panel-alt:#f3f7ff;--color-line:#eef1f6;--color-line-strong:#e3e7ee;--color-muted:#5b6472;--color-muted-strong:#4a5261;--color-faint:#646a74;--color-success:#17805a;--color-success-text:#167b56;--color-success-bg:#e4f5ec;--color-pulse-ink:#047857;--color-pulse-tint:#ecfdf5;--color-pulse-tint-hover:#dcfce7;--color-pulse-dot:#10b981;--vh100:100vh;--color-road-tint:#fff7ed;--color-road-line:#f97316;--color-road-ink:#c2410c;--color-amber:#e0930b;--color-amber-text:#966207;--color-amber-bg:#fdf1d6;--color-purple:#7a4dd6;--color-purple-bg:#efe9fb;--color-notready-text:#9d3f6a;--color-notready-bg:#fbe9f1;--color-danger:#c0392b;--color-danger-soft:#d94a3d;--color-danger-bg:#fdeaea;--color-live:#22c55e;--color-live-text:#7ee2a4;--font-georgian:var(--font-noto-georgian),var(--font-montserrat),system-ui,sans-serif;--radius-tile:18px;--radius-card:16px;--radius-ctl:12px;--radius-pill:999px;--shadow-card:0 2px 10px #0d1b3d0f;--shadow-modal:0 30px 70px #0d1b3d47;--animate-pulse-live:atpulse 1.6s infinite;--animate-slide-up:atup .26s ease;--animate-flash:atflash .3s ease}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer vendor;@layer components{.auth-card{background:var(--color-surface);border-radius:var(--radius-tile);max-width:380px;box-shadow:var(--shadow-card);margin:8vh auto;padding:28px 26px}.auth-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.auth-card h1{font:800 22px/1.1 var(--font-sans);color:var(--color-ink);margin:0}form{gap:14px;margin-top:16px}form,label{flex-direction:column;display:flex}label{font:600 12.5px var(--font-sans);color:var(--color-muted-strong);gap:6px}input{border:1.5px solid var(--color-line-strong);border-radius:var(--radius-ctl);font:500 14px var(--font-sans);color:var(--color-ink);background:var(--color-surface);outline:none;padding:13px 14px}input:not(.login-input):focus-visible,select:focus-visible{border-color:var(--color-blue);outline:2px solid var(--color-blue);outline-offset:2px}button{font:inherit;cursor:pointer;border-radius:var(--radius-ctl)}button:disabled,button[aria-disabled=true]{cursor:not-allowed}.btn-primary{background:var(--color-blue);color:#fff;font:700 14px var(--font-sans);border:none;padding:14px}.btn-primary:disabled{opacity:.4}.btn-ghost{border:1.5px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);font:700 13px var(--font-sans);padding:10px 14px}.form-error{color:var(--color-danger);font:500 12.5px var(--font-sans);margin:0}.muted{color:var(--color-muted)}.small{font-size:.8rem}.login-page{min-height:var(--vh100);background:var(--color-canvas);justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background:var(--color-surface);border-radius:20px;width:960px;max-width:100%;height:600px;box-shadow:0 34px 80px #0d1b3d4d}.login-brand,.login-card{display:flex;overflow:hidden}.login-brand{background:var(--color-ink);color:#fff;flex-direction:column;flex:none;width:400px;padding:40px 38px;position:relative}.login-brand:after,.login-brand:before{content:"";pointer-events:none;border:1px solid #ffffff0f;border-radius:50%;position:absolute}.login-brand:before{width:240px;height:240px;top:-70px;right:-70px}.login-brand:after{width:300px;height:300px;bottom:-90px;right:-30px}.login-brand-logo{align-items:center;gap:12px;display:flex;position:relative}.login-brand-mark{border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.login-brand-word{font:700 20px var(--font-sans);letter-spacing:.16em;line-height:1;display:block}.login-brand-airport{font:500 8px var(--font-sans);letter-spacing:.24em;opacity:.6;margin-top:3px;display:block}.login-brand-copy{margin:auto 0;position:relative}.login-brand-eyebrow{font:700 9px var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--color-yellow)}.login-brand-tagline{font:800 26px/1.2 var(--font-sans);margin:12px 0 0}.login-brand-features{flex-direction:column;gap:12px;margin:26px 0 0;padding:0;list-style:none;display:flex}.login-brand-feature{font:500 12.5px var(--font-sans);color:#ffffffd1;align-items:center;gap:11px;display:flex}.login-brand-check{width:22px;height:22px;color:var(--color-live-text);background:#ffffff1a;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;display:flex}.login-brand-copyright{font:500 10px var(--font-sans);color:#fff6;position:relative}.login-form{flex-direction:column;flex:1;min-width:0;padding:34px 44px;display:flex;position:relative}.login-form-top{justify-content:flex-end;display:flex}.login-form-body{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:360px;margin:0 auto;display:flex}.login-title{font:800 26px var(--font-sans);color:var(--color-ink);margin:0}.login-sub{font:500 13px var(--font-sans);color:var(--color-muted);margin:6px 0 0}.login-form-el{gap:15px;margin-top:24px}.login-field,.login-form-el{flex-direction:column;display:flex}.login-field{gap:7px}.login-label{font:700 8.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.login-input-wrap{border:1.5px solid var(--color-line-strong);background:var(--color-surface);border-radius:11px;align-items:center;gap:9px;padding:0 13px;display:flex}.login-input-wrap:focus-within{border-color:var(--color-blue)}.login-input-wrap:has(>.login-input:focus-visible){outline:2px solid var(--color-blue);outline-offset:2px}.login-input{min-width:0;font:600 13.5px var(--font-sans);color:var(--color-ink);background:0 0;border:none;outline:none;flex:1;padding:13px 0}.login-pw-toggle{cursor:pointer;font:700 10px var(--font-sans);color:var(--color-blue);background:0 0;border:none;flex:none;padding:4px 2px}.login-error{background:var(--color-danger-bg);font:600 11px var(--font-sans);color:var(--color-danger);border:1px solid #f6d9d5;border-radius:9px;align-items:center;gap:8px;padding:10px 12px;display:flex}.login-error-mark{background:var(--color-danger);border-radius:50%;flex:none;width:16px;height:16px;font-size:10px}.login-error-mark,.login-submit{color:#fff;justify-content:center;align-items:center;display:flex}.login-submit{background:var(--color-blue);height:50px;font:700 14px var(--font-sans);cursor:pointer;border:none;border-radius:12px;padding:14px}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-note{background:var(--color-panel);border:1px solid var(--color-line);font:500 10.5px/1.5 var(--font-sans);color:var(--color-muted);border-radius:10px;align-items:flex-start;gap:8px;margin-top:18px;padding:11px 13px;display:flex}.login-note-mark{flex:none;font-size:12px}@media (max-width:860px){.login-card{flex-direction:column;width:420px;height:auto}.login-brand{width:100%;padding:28px 30px}.login-brand-copy{margin:20px 0}.login-brand-tagline{font-size:22px}.login-form{padding:28px 30px}.login-form-body{max-width:100%}}.setpw-card{height:auto;min-height:600px}.setpw-pill{font:700 9px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-amber-text);background:var(--color-amber-bg);border-radius:var(--radius-pill);align-self:flex-start;align-items:center;margin-bottom:13px;padding:5px 11px;display:inline-flex}.setpw-meter{gap:5px;margin-top:9px;display:flex}.setpw-bar{border-radius:var(--radius-pill);background:var(--color-line-strong);flex:1;height:5px;transition:background .2s}.setpw-meter[data-strength="1"] .setpw-bar[data-filled=true],.setpw-meter[data-strength="2"] .setpw-bar[data-filled=true]{background:var(--color-amber)}.setpw-meter[data-strength="3"] .setpw-bar[data-filled=true]{background:var(--color-yellow)}.setpw-meter[data-strength="4"] .setpw-bar[data-filled=true]{background:var(--color-success)}@media (prefers-reduced-motion:reduce){.setpw-bar{transition:none}}.setpw-rule{font:500 9.5px var(--font-sans);color:var(--color-faint);margin:6px 0 0}.setpw-back{color:var(--color-muted);font:700 11.5px var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:11px;padding:4px 2px}.lang-switcher{background:#ffffff1a;gap:3px;padding:3px;display:inline-flex}.lang-btn,.lang-switcher{border-radius:var(--radius-pill)}.lang-btn{cursor:pointer;color:#ffffff8c;font:600 13px var(--font-sans);letter-spacing:.02em;background:0 0;border:none;padding:5px 10px;transition:all .15s}.lang-btn.active{background:var(--color-yellow);color:var(--color-ink)}.lang-switcher.on-light{background:var(--color-panel)}.lang-switcher.on-light .lang-btn{color:var(--color-muted)}.lang-switcher.on-light .lang-btn.active{color:var(--color-ink)}.portal{min-height:var(--vh100);flex-direction:column;display:flex}.portal-header{z-index:30;background:var(--color-ink);color:#fff;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:14px 20px;position:sticky;top:0}.portal-center,.portal-header{align-items:center;display:flex}.portal-center{pointer-events:none;gap:10px;min-width:0;position:absolute;left:50%;transform:translate(-50%)}.portal-center>*{pointer-events:auto}@media (max-width:720px){.portal-center{position:static;transform:none}}.portal-brand{flex-wrap:wrap;gap:16px}.brand-logo,.portal-brand{align-items:center;display:flex}.brand-logo{gap:10px}.brand-mark{border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-word{font:700 16px var(--font-sans);letter-spacing:.16em;line-height:1}.brand-sub{font:500 7.5px var(--font-sans);letter-spacing:.24em;opacity:.62;margin-top:2px}.portal-nav{gap:4px;display:flex}.nav-link{border-radius:var(--radius-ctl);color:#fff9;font:600 12.5px var(--font-sans);padding:7px 12px;text-decoration:none}.nav-link.active{color:#fff;background:#ffffff1f}.portal-actions{align-items:center;gap:12px;display:flex}.portal-role{font:500 11px var(--font-sans);color:#fff9}.header-ghost{color:#fff;font:600 14.5px var(--font-sans);border-radius:var(--radius-ctl);background:0 0;border:1px solid #ffffff40;padding:7px 12px}.portal-main{flex:1;width:100%;min-height:0}.portal-shell{min-height:var(--vh100);background:var(--color-canvas);display:flex}.shell-sidebar{background:var(--color-ink);color:#fff;width:236px;height:var(--vh100);flex-direction:column;flex:none;padding:22px 0;display:flex;position:sticky;top:0;overflow-y:auto}.shell-brand{align-items:center;padding:0 22px 22px;display:flex}.shell-brand-text,.shell-nav{flex-direction:column;display:flex}.shell-nav{gap:3px;padding:0 14px}.shell-nav-item{border-radius:var(--radius-ctl);color:#fff9;font:600 13px var(--font-sans);align-items:center;padding:11px 14px;text-decoration:none;display:flex}.shell-nav-item.active{color:#fff;background:#ffffff1f}.shell-spacer{flex:1}.shell-user{border-top:1px solid #ffffff14;gap:11px;margin:0 14px;padding:16px 6px 0}.shell-user,.shell-user-avatar{align-items:center;display:flex}.shell-user-avatar{background:var(--color-blue);width:36px;height:36px;border-radius:50%;flex:none;justify-content:center}.shell-user-avatar,.shell-user-role{color:#fff;font:700 12px var(--font-sans)}.shell-user-role{min-width:0;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.shell-user-id{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.shell-user-name{font:700 12px var(--font-sans);color:#fff}.shell-user-name,.shell-user-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell-user-sub{font:600 10px var(--font-sans);color:#ffffff8c}.shell-logout{color:#ffffff8c;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.shell-logout:hover{color:#fff;background:#ffffff1a}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-line-strong);flex:none;justify-content:space-between;align-items:center;gap:14px;height:70px;padding:0 26px;display:flex}.shell-page-title{font:700 19px var(--font-sans);color:var(--color-ink)}.shell-scope{font:600 11px var(--font-sans);color:var(--color-muted);align-items:center;gap:7px;margin-top:2px;display:flex}.shell-live-dot{border-radius:50%;width:6px;height:6px}.shell-live-dot.is-live{background:var(--color-live);animation:var(--animate-pulse-live)}.shell-live-dot.is-connecting{background:var(--color-yellow);animation:var(--animate-pulse-live)}.shell-live-dot.is-offline{background:var(--color-danger)}.shell-live-dot.is-idle{background:var(--color-muted)}.shell-topbar-right{align-items:center;gap:14px;display:flex}.shell-topbar--nav{color:var(--color-ink);gap:26px}.shell-topbar-brand{flex:none;align-items:center;display:flex}.shell-topbar-brand .brand-mark{border-color:var(--color-blue);color:var(--color-blue)}.shell-topbar-brand .brand-word{color:var(--color-ink)}.shell-topbar-brand .brand-sub{color:var(--color-muted)}.shell-topnav{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.shell-topnav::-webkit-scrollbar{display:none}.shell-topnav-item{border-radius:var(--radius-ctl);color:var(--color-muted-strong);font:600 13px var(--font-sans);white-space:nowrap;flex:none;padding:9px 14px;text-decoration:none}.shell-topnav-item:hover{background:var(--color-canvas);color:var(--color-ink)}.shell-topnav-item.active{background:var(--color-blue-tint);color:var(--color-blue);font-weight:700}.shell-user--topbar{border-top:none;border-left:1px solid var(--color-line-strong);flex:none;gap:9px;margin:0;padding:0 0 0 14px}.shell-user--topbar .shell-user-avatar{width:30px;height:30px;font-size:11px}.shell-user--topbar .shell-user-name,.shell-user--topbar .shell-user-role{color:var(--color-ink)}.shell-user--topbar .shell-user-sub{color:var(--color-muted)}.shell-user--topbar .shell-logout{color:var(--color-muted-strong)}.shell-user--topbar .shell-logout:hover{background:var(--color-canvas);color:var(--color-ink)}@media (max-width:720px){.shell-sidebar{width:176px}}.live-badge{border-radius:var(--radius-pill);font:600 12px var(--font-sans);letter-spacing:.14em;align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.live-badge .dot{border-radius:50%;width:7px;height:7px}.live-badge.is-live{color:#0a6b3b;background:#c9e9db;border:1px solid #a6d6c2}.live-badge.is-live .dot{background:var(--color-live);animation:var(--animate-pulse-live)}.live-badge.is-connecting{color:#44546e;background:#dbe0e7;border:1px solid #c2cad6}.live-badge.is-connecting .dot{background:var(--color-yellow);animation:var(--animate-pulse-live)}.live-badge.is-offline{color:#9a3320;background:#eed9dd;border:1px solid #e0bcc2}.live-badge.is-offline .dot{background:var(--color-danger)}@media (prefers-reduced-motion:reduce){.live-badge.is-connecting .dot,.live-badge.is-live .dot,.shell-live-dot.is-connecting,.shell-live-dot.is-live{animation:none}}.ui-error{background:var(--color-danger-bg);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);gap:10px;padding:12px 14px}.ui-error,.ui-error-mark{align-items:center;display:flex}.ui-error-mark{background:var(--color-danger);width:18px;height:18px;color:var(--color-surface);font:700 11px var(--font-sans);border-radius:50%;flex:none;justify-content:center}.ui-error-message{min-width:0;font:600 12px var(--font-sans);color:var(--color-danger);flex:1;margin:0}.ui-error-retry{background:var(--color-surface);font:700 11px var(--font-sans);cursor:pointer;flex:none;padding:7px 13px}.ui-error-retry,.ui-offline{border:1px solid var(--color-line-strong);color:var(--color-muted-strong);border-radius:var(--radius-ctl)}.ui-offline{background:var(--color-panel);font:600 11px var(--font-sans);align-items:center;gap:9px;padding:9px 13px;display:flex}.ui-offline-dot{background:var(--color-danger);border-radius:50%;flex:none;width:7px;height:7px}.ui-offline.is-reconnecting .ui-offline-dot{background:var(--color-amber);animation:var(--animate-pulse-live)}@media (prefers-reduced-motion:reduce){.ui-offline.is-reconnecting .ui-offline-dot{animation:none}}.ui-loading{font:600 12px var(--font-sans);color:var(--color-muted);margin:0;padding:22px 2px}.portal-placeholder,.reports-page{padding:26px 30px 34px}.reports-aside{padding:0 30px 34px}.reports-header{margin-bottom:18px}.reports-title{font:800 21px var(--font-sans);color:var(--color-ink);margin:0}.reports-subtitle{font:500 12px var(--font-sans);color:var(--color-muted);margin:2px 0 0}.reports-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.reports-field{flex-direction:column;gap:6px;display:flex}.reports-label{font:700 8.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.reports-select{border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);min-width:160px;font:600 12px var(--font-sans);color:var(--color-ink);background:var(--color-surface);cursor:pointer;outline:none;padding:9px 12px}.reports-select:focus-visible{border-color:var(--color-blue)}.reports-toolbar-right{align-items:center;gap:14px;display:flex}.reports-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.reports-chip-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports-chip{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);font:600 11.5px var(--font-sans);cursor:pointer;border-radius:999px;outline:none;padding:8px 14px}.reports-chip:focus-visible{border-color:var(--color-blue)}.reports-chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}.reports-count{font:600 12px var(--font-sans);color:var(--color-muted-strong)}.reports-count b,.reports-csv{color:var(--color-ink)}.reports-csv{border:1px solid var(--color-line-strong);background:var(--color-surface);font:700 11px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;padding:9px 15px}.reports-csv:disabled{opacity:.5;cursor:not-allowed}.reports-load-more{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);font:700 11px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;margin:14px auto 0;padding:9px 22px;display:block}.reports-load-more:disabled{opacity:.5;cursor:not-allowed}.reports-load-more-retry{flex-direction:column;align-items:center;gap:8px;margin:14px 0 0;display:flex}.reports-load-more-retry .reports-load-more{margin:0}.reports-end{text-align:center;color:var(--color-muted)}.reports-end,.reports-live-paused{font:600 11px var(--font-sans);margin:14px 0 0}.reports-live-paused{color:var(--color-muted-strong);justify-content:center;align-items:center;gap:12px;display:flex}.reports-card{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);overflow-x:auto}.reports-table{border-collapse:collapse;width:100%}.reports-table thead th{background:var(--color-ink);color:#fff9;font:700 8.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:12px 22px}.reports-table tbody td{border-bottom:1px solid var(--color-line);vertical-align:middle;padding:11px 22px}.reports-table tbody tr:last-child td{border-bottom:none}.reports-when{font:600 10.5px var(--font-sans);color:var(--color-muted);white-space:nowrap}.reports-vehicle{font:700 12px var(--font-sans);color:var(--color-ink)}.reports-driver{font:600 11.5px var(--font-sans);color:var(--color-ink)}.reports-fleet{font:600 11px var(--font-sans);color:var(--color-muted-strong);white-space:nowrap}.reports-event{font:700 11px var(--font-sans);color:var(--color-danger);white-space:nowrap}.reports-location{font:500 11px var(--font-sans);color:var(--color-muted-strong)}.reports-detail,.reports-legs{font:600 11px var(--font-sans);color:var(--color-ink);white-space:nowrap}.reports-detail-clip{text-overflow:ellipsis;white-space:nowrap;max-width:240px;display:block;overflow:hidden}.logs-search{min-width:200px}.logs-search::-webkit-search-cancel-button,.logs-search::-webkit-search-decoration{appearance:none}.logs-actor{font:600 11.5px var(--font-sans);color:var(--color-ink)}.logs-role{font:600 11px var(--font-sans)}.logs-event,.logs-role{color:var(--color-muted-strong);white-space:nowrap}.logs-event{font:700 11px var(--font-sans)}.logs-entity{font:500 11px var(--font-sans);color:var(--color-muted-strong)}.veh-th-num{text-align:center}.veh-plate{font:700 12.5px var(--font-sans);color:var(--color-ink);white-space:nowrap}.veh-carline{font:500 10px var(--font-sans);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.veh-driver{font:600 12px var(--font-sans);color:var(--color-ink);white-space:nowrap;gap:8px}.veh-avatar,.veh-driver{align-items:center;display:inline-flex}.veh-avatar{background:var(--color-blue-tint);width:26px;height:26px;color:var(--color-blue);font:700 10px var(--font-sans);border-radius:50%;flex:none;justify-content:center}.veh-status{font:700 9px var(--font-sans);letter-spacing:.02em;border-radius:var(--radius-pill);white-space:nowrap;padding:4px 8px;display:inline-block}.vst-on_trip{color:var(--color-blue);background:var(--color-blue-tint)}.vst-returning{color:var(--color-amber-text);background:var(--color-amber-bg)}.vst-queued{color:var(--color-purple);background:var(--color-purple-bg)}.vst-parking_ready{color:var(--color-success-text);background:var(--color-success-bg)}.vst-parking_not_ready{color:var(--color-notready-text);background:var(--color-notready-bg)}.vst-no_gps{color:var(--color-danger);background:var(--color-danger-bg)}.vst-off{color:var(--color-muted);background:var(--color-line)}.veh-status-cell{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.veh-contact{font:600 8.5px var(--font-sans);color:var(--color-muted);white-space:nowrap}.veh-num{font:800 13px var(--font-sans);color:var(--color-ink);text-align:center;white-space:nowrap}.veh-earn{color:var(--color-success-text);font-size:12px}.veh-viol{color:var(--color-danger);font-size:12px}.veh-viol.zero{color:var(--color-faint)}.veh-toolbar{flex-flow:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:10px;display:flex}.veh-search-field{flex-direction:column;gap:4px;width:100%;max-width:240px;display:flex}.veh-search-label{font:600 11px var(--font-sans);color:var(--color-muted-strong)}.veh-search{border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);width:100%;max-width:340px;font:500 12.5px var(--font-sans);color:var(--color-ink);background:var(--color-surface);outline:none;padding:9px 13px}.veh-search:focus-visible{border-color:var(--color-blue)}.veh-chip-count{opacity:.55;margin-left:4px}.veh-sort{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.veh-sort:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #ffffffb3}.veh-sort-arrow{font-size:9px}.veh-sort-arrow.dim{opacity:.35}.veh-layout{align-items:flex-start;gap:16px;display:flex}.veh-main{flex:1;min-width:0}.veh-detail{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-card);max-height:calc(var(--vh100) - 96px);overflow:hidden}.veh-detail,.veh-right{width:340px;flex-direction:column;flex:none;align-self:stretch;display:flex}.veh-right .veh-detail{flex:1;width:100%}.veh-period-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.veh-period-row .reports-chip-group{flex:1;min-width:0}.veh-export .reports-chip{color:#fff;white-space:nowrap;background:#1d6f42;border-color:#1d6f42}.veh-export .reports-chip:disabled{opacity:.6}.veh-detail-scroll>.veh-earnings,.veh-detail-scroll>.veh-rating,.veh-detail-scroll>.veh-vehicle,.veh-detail-scroll>.veh-violations{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);margin:0 12px 10px;padding:12px}.veh-detail-scroll>.veh-vehicle:first-child{margin-top:12px}.veh-shift.veh-live-route{background:var(--color-blue-tint);border:1px solid var(--color-blue);border-left-width:4px;padding:9px 12px 10px}.veh-shift.veh-live-route-planned{background:var(--color-purple-bg);border-color:var(--color-purple)}.veh-live-route-planned .veh-shift-head{color:var(--color-purple)}.veh-live-route .veh-shift-head{color:var(--color-blue);margin-bottom:6px}.veh-live-route .veh-live-route-dest{margin:0 0 7px}.veh-live-route-head{align-items:center;gap:6px;animation:veh-pulse-blink 1.6s ease-in-out infinite;display:flex}.veh-live-dot{background:var(--color-blue);flex:none;width:7px;height:7px}.veh-live-route .veh-fact dt{color:var(--color-muted-strong)}.veh-shift.veh-live-route.veh-live-route-back{background:var(--color-road-tint);border-color:var(--color-road-line)}.veh-live-route-back .veh-live-route-head,.veh-live-route-back .veh-shift-head{color:var(--color-road-ink)}.veh-live-route-back .veh-live-dot{background:var(--color-road-line)}.veh-detail-empty{text-align:center;color:var(--color-faint);font:500 12.5px/1.5 var(--font-sans);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 32px;display:flex}.veh-detail-empty-mark{color:var(--color-line-strong);font-size:26px}.veh-detail-card{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}.veh-detail-top{border-bottom:1px solid var(--color-line);flex:none}.veh-detail-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.veh-detail-scroll:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.veh-detail-bar{grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 8px 0;display:grid}.veh-detail-bar-status{grid-column:2;justify-content:center;min-width:0;display:flex}.veh-detail-close{color:var(--color-danger);font:700 20px/1 var(--font-sans);cursor:pointer;border-radius:var(--radius-ctl);background:0 0;border:none;justify-self:end;padding:4px 9px}.veh-detail-close:hover{background:var(--color-danger-bg);color:var(--color-danger)}.veh-detail-close:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-detail-header{align-items:center;gap:12px;padding:10px 18px 4px;display:flex}.veh-detail-contact{text-align:right;white-space:nowrap;flex:none;margin-left:auto}.veh-detail-plate-row{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.veh-pulse{border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-panel);font:700 11px var(--font-sans);cursor:pointer;text-align:left;align-items:center;gap:6px;margin:5px 18px 12px;padding:5px 9px;display:flex}.veh-pulse:hover{background:var(--color-blue-tint)}.veh-pulse:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-pulse-live{color:var(--color-pulse-ink);background:var(--color-pulse-tint);border-color:#05966952}.veh-pulse-live:hover{background:var(--color-pulse-tint-hover)}.veh-pulse-off{color:var(--color-muted-strong)}.veh-pulse-dot{background:var(--color-pulse-dot);border-radius:50%;flex:none;width:7px;height:7px;animation:veh-pulse-blink 1.6s ease-in-out infinite}@keyframes veh-pulse-blink{50%{opacity:.35}}.veh-pulse-badge{font:800 8.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-pulse-ink);border-radius:var(--radius-pill);background:#1f8a541f;padding:2px 7px}.veh-pulse-go{color:var(--color-muted);font:700 13px var(--font-sans);margin-left:auto}.veh-detail-avatar{background:var(--color-blue-tint);width:42px;height:42px;color:var(--color-blue);font:700 15px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.veh-detail-id{flex:1;min-width:0}.veh-detail-driver{font:700 17px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.veh-detail-plate{font:700 12.5px var(--font-sans);color:var(--color-blue);margin-top:2px}.veh-vehicle{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);flex-direction:column;gap:10px;padding:13px 14px;display:flex}.veh-vehicle .veh-rotation{background:var(--color-surface);border:1px solid var(--color-line-strong)}.veh-vehicle .veh-rotation-btn:hover{background:var(--color-blue-tint)}.veh-detail-body{flex-direction:column;gap:16px;padding:16px 18px 20px;display:flex}.veh-detail-carrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.veh-detail-car{font:600 12.5px var(--font-sans);color:var(--color-ink)}.veh-type-chip{font:700 9.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-blue);background:var(--color-blue-tint);border-radius:var(--radius-ctl);flex:none;padding:4px 9px}.veh-detail-facts{flex-direction:column;gap:6px;margin:0;display:flex}.veh-fact{font:500 11.5px var(--font-sans);align-items:center;gap:8px;display:flex}.veh-fact dt{color:var(--color-muted)}.veh-fact dd{color:var(--color-ink);margin:0;font-weight:700}.veh-period-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:4px;margin-bottom:11px;display:flex;overflow-x:auto}.veh-period-tabs::-webkit-scrollbar{display:none}.veh-period{white-space:nowrap;border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted);font:700 10.5px var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;flex:none;padding:6px 9px}.veh-period:hover{border-color:var(--color-blue);color:var(--color-ink)}.veh-period:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-period.is-active{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-surface)}.veh-tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.veh-tile-btn{box-shadow:var(--shadow-card);transition:background .12s,border-color .12s;background:var(--color-blue-tint)!important;border:1px solid var(--color-blue)!important}.veh-tile-btn:hover{background:var(--color-surface)!important;border-color:var(--color-blue)!important}.veh-tile-btn .veh-tile-go{color:var(--color-blue);font-weight:800}.veh-tile{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);padding:14px}.veh-tile-num{font:800 26px/1 var(--font-sans);color:var(--color-ink);text-align:center}.veh-tile-earn{color:var(--color-success-text)}.veh-tile-label{font:600 9.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);justify-content:center;align-items:center;gap:6px;margin-top:5px;display:flex}.veh-row.is-openable{cursor:pointer}.veh-row.is-openable:hover{background:var(--color-panel)}.veh-row.is-selected,.veh-subrow.is-selected td:not(.veh-car-cell){background:var(--color-blue-tint)}.veh-open-cell{text-align:right;white-space:nowrap;width:1%}.veh-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:980px){.veh-layout{flex-direction:column;align-items:stretch}.veh-detail,.veh-right{width:100%}}.admin-user-cell-name{font:600 12.5px var(--font-sans);color:var(--color-ink);display:block}.admin-user-cell-username{font:500 11px var(--font-sans);color:var(--color-faint);display:block}.admin-user-status{font:700 9px var(--font-sans);letter-spacing:.02em;border-radius:var(--radius-pill);white-space:nowrap;padding:4px 8px;display:inline-block}.admin-user-status.is-pending{color:var(--color-amber-text);background:var(--color-amber-bg)}.admin-user-status.is-active{color:var(--color-success-text);background:var(--color-success-bg)}.admin-user-status.is-disabled{color:var(--color-danger);background:var(--color-danger-bg)}.admin-retired-badge{margin-left:8px}.admin-user-head{border-bottom:1px solid var(--color-line);align-items:center;gap:12px;padding:4px 18px 16px;display:flex}.admin-user-avatar{width:42px;height:42px;font-size:15px}.admin-user-headtext{min-width:0}.admin-user-name{font:700 15px var(--font-sans);color:var(--color-ink);margin:0}.admin-user-username{font:500 12px var(--font-sans);color:var(--color-faint);margin:2px 0 0}.admin-user-facts{grid-template-columns:1fr;gap:10px;margin:0;padding:16px 18px;display:grid}.admin-user-fact{justify-content:space-between;gap:12px;display:flex}.admin-user-fact dt{font:600 11px var(--font-sans);color:var(--color-faint)}.admin-user-fact dd{font:600 12.5px var(--font-sans);color:var(--color-ink);text-align:right;margin:0}.admin-user-pii{border-top:1px solid var(--color-line);padding:14px 18px 18px}.admin-user-pii-title{font:700 11px var(--font-sans);letter-spacing:.02em;text-transform:uppercase;color:var(--color-faint);margin:0 0 6px}.admin-user-pii .admin-user-facts{padding:4px 0 12px}.admin-user-pii-mask{letter-spacing:.12em;color:var(--color-line-strong)}.admin-user-pii-val{font-variant-numeric:tabular-nums}.admin-user-pii-quiet{font:500 12px/1.5 var(--font-sans);color:var(--color-faint);margin:0;padding:6px 0}.admin-pii-toggle{border:1px solid var(--color-line-strong);color:var(--color-ink);font:600 12px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;background:0 0;padding:6px 14px}.admin-pii-toggle:hover:not(:disabled){background:var(--color-panel)}.admin-pii-toggle:disabled{color:var(--color-faint);cursor:default}.admin-pii-toggle:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.admin-users-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-user-actions{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:10px;padding:14px 18px 18px;display:flex}.admin-write-btn{font:700 13px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;border:1px solid #0000;padding:11px 16px}.admin-write-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.admin-write-btn.primary{background:var(--color-blue);color:#fff}.admin-write-btn.ghost{border-color:var(--color-line-strong);color:var(--color-ink);background:0 0}.admin-write-btn.ghost:hover{background:var(--color-panel)}.admin-write-btn.danger{background:var(--color-danger);color:#fff}.admin-write-btn:disabled{opacity:.55;cursor:default}.admin-write-card{text-align:left;width:min(440px,100vw - 48px);max-width:440px;max-height:calc(var(--vh100) - 48px);flex-direction:column;gap:12px;display:flex;overflow-y:auto}.admin-write-title{font:700 17px var(--font-sans);color:var(--color-ink);margin:0}.admin-write-body{font:400 12.5px/1.5 var(--font-sans);color:var(--color-muted-strong);margin:0}.admin-write-field{flex-direction:column;gap:4px;display:flex}.admin-write-label{font:600 11px var(--font-sans);color:var(--color-faint)}.admin-write-req{color:var(--color-danger)}.admin-write-input{font:500 13px var(--font-sans);color:var(--color-ink);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:#fff;padding:10px 12px}.admin-write-input:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px}.admin-write-input:disabled{background:var(--color-panel);color:var(--color-faint)}.admin-write-actions{gap:10px;margin-top:4px;display:flex}.admin-write-actions .admin-write-btn{flex:1}.admin-write-card-wide{width:min(560px,100vw - 48px);max-width:560px}.admin-write-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.admin-write-grid .admin-write-field{min-width:0}.admin-write-readonly{font:500 13px var(--font-sans);color:var(--color-muted-strong);border:1px dashed var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-panel);margin:0;padding:10px 12px}.admin-write-hint{font:500 11px var(--font-sans);color:var(--color-danger)}.admin-write-btn-sm{padding:7px 12px;font-size:12px}.table-pager{font:500 13px var(--font-sans);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.table-pager-size{align-items:center;gap:8px;display:inline-flex}.table-pager-select{border:1px solid var(--color-line);border-radius:var(--radius-ctl);background:var(--color-panel);color:var(--color-ink);font:inherit;padding:6px 10px}.table-pager-range{margin-left:auto}.table-pager-nav{gap:8px;display:inline-flex}.admin-owner-note{background:var(--color-panel);padding:10px 12px}.admin-owner-note,.admin-owner-section{border:1px solid var(--color-line);border-radius:var(--radius-ctl)}.admin-owner-section{flex-direction:column;gap:10px;padding:14px;display:flex}.admin-owner-danger{border-color:var(--color-danger-soft)}.admin-owner-subtitle{font:700 13px var(--font-sans);color:var(--color-ink);margin:0}.admin-owner-ok{font:600 12.5px var(--font-sans);color:var(--color-success);margin:0}.setting-group{margin-top:22px}.setting-group-title{font:700 15px var(--font-sans);color:var(--color-ink);margin:0 0 10px}.setting-card{padding:0}.setting-row{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(280px,auto);align-items:start;gap:10px 24px;padding:14px 16px;display:grid}.setting-row:last-child{border-bottom:none}.setting-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.setting-label{font:600 13.5px var(--font-sans);color:var(--color-ink);align-items:center;gap:8px;display:flex}.setting-desc{font:400 12.5px var(--font-sans);color:var(--color-muted);line-height:1.45}.setting-locked-badge{font:600 10.5px var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-strong);background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:999px;padding:1px 8px}.setting-control{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.setting-numeric{width:100%}.setting-input-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setting-input{width:120px;font:500 13px var(--font-sans);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);color:var(--color-ink);background:#fff;padding:7px 10px}.setting-input:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px;border-color:var(--color-blue)}.setting-unit{font:400 12.5px var(--font-sans);color:var(--color-muted)}.setting-hint{font:400 12px var(--font-sans);color:var(--color-danger)}.setting-error,.setting-hint{margin:2px 0 0}.setting-saved{font:600 12px var(--font-sans);color:var(--color-success);margin:2px 0 0}.setting-readonly{flex-direction:column;gap:3px;display:flex}.setting-value-static{font:600 13px var(--font-sans);color:var(--color-ink)}.setting-note{font:400 12px var(--font-sans);color:var(--color-muted)}.setting-toggle{cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;padding:2px;display:inline-flex}.setting-toggle:disabled{cursor:default;opacity:.6}.setting-toggle-track{background:var(--color-line-strong);border-radius:999px;flex:none;width:40px;height:22px;transition:background .15s;position:relative}.setting-toggle.is-on .setting-toggle-track{background:var(--color-blue)}.setting-toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.setting-toggle.is-on .setting-toggle-thumb{transform:translate(18px)}.setting-toggle:focus-visible .setting-toggle-track{outline:2px solid var(--color-blue);outline-offset:2px}.setting-toggle-text{font:600 12.5px var(--font-sans);color:var(--color-ink)}.setting-choice{flex-wrap:wrap;gap:8px;display:flex}.setting-choice-option{text-align:left;border:1px solid var(--color-line-strong);background:var(--color-surface);cursor:pointer;border-radius:8px;flex-direction:column;flex:220px;align-items:flex-start;gap:2px;max-width:320px;padding:8px 11px;transition:border-color .15s,background .15s;display:flex}.setting-choice-option.is-on,.setting-choice-option:hover:not(:disabled){border-color:var(--color-blue)}.setting-choice-option.is-on{cursor:default;background:#2563eb14}.setting-choice-option:disabled:not(.is-on){cursor:default;opacity:.6}.setting-choice-option:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.setting-choice-label{font:600 12.5px var(--font-sans);color:var(--color-ink)}.setting-choice-option.is-on .setting-choice-label{color:var(--color-blue)}.setting-choice-desc{font:400 11.5px var(--font-sans);color:var(--color-muted);line-height:1.35}@media (max-width:640px){.setting-row{grid-template-columns:1fr}.setting-choice-option{flex:100%;max-width:none}}.geo-panel,.geo-panel-card{flex-direction:column;display:flex}.geo-panel-card{gap:18px;padding:16px}.geo-panel-title{font:700 14px var(--font-sans);color:var(--color-ink);margin:0 0 8px}.geo-draw-count,.geo-draw-hint{font:400 12.5px var(--font-sans);color:var(--color-muted);margin:0 0 6px}.geo-draw-actions,.geo-kind-picker{flex-wrap:wrap;gap:8px;display:flex}.geo-draw-tools{border:1px solid var(--color-blue);border-radius:var(--radius-ctl);background:var(--color-blue-tint);padding:12px}.geo-kind-group{margin-top:10px}.geo-kind-title{font:600 12.5px var(--font-sans);color:var(--color-muted-strong);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px}.geo-list{margin:0;padding:0;list-style:none}.geo-list,.geo-row{flex-direction:column;gap:8px;display:flex}.geo-row{border:1px solid var(--color-line);border-radius:var(--radius-ctl);padding:10px 12px}.geo-row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.geo-row-label{font:600 13px var(--font-sans);color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.geo-status{font:600 11px var(--font-sans);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px}.geo-status.is-on{color:var(--color-success-text);background:var(--color-success-bg)}.geo-status.is-off{color:var(--color-muted-strong);background:var(--color-panel)}.geo-row-actions{flex-wrap:wrap;gap:6px;display:flex}.geo-empty{font:400 12.5px var(--font-sans);color:var(--color-muted);margin:0}.device-status{font:600 11px var(--font-sans);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 8px;display:inline-block}.device-status.is-active{color:var(--color-success-text);background:var(--color-success-bg)}.device-status.is-pending{color:var(--color-amber-text);background:var(--color-amber-bg)}.device-status.is-expired,.device-status.is-unknown{color:var(--color-muted-strong);background:var(--color-panel)}.device-status.is-revoked{color:var(--color-danger);background:var(--color-danger-bg)}.admin-otp-card{text-align:center;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);max-width:380px;display:flex}.admin-otp-title{font:700 16px var(--font-sans);color:var(--color-ink);margin:0}.admin-otp-user{font:500 12px var(--font-sans);color:var(--color-faint);margin:0}.admin-otp-warn{font:600 12px/1.5 var(--font-sans);color:var(--color-amber-text);background:var(--color-amber-bg);border-radius:var(--radius-ctl);margin:0;padding:8px 12px}.admin-otp-value{flex-wrap:wrap;justify-content:center;gap:8px;padding:6px 0;display:flex}.admin-otp-group{letter-spacing:.18em;color:var(--color-ink);background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);padding:10px 12px;font:800 20px/1 ui-monospace,SF Mono,Menlo,monospace}.admin-otp-actions{gap:10px;margin-top:4px;display:flex}.admin-otp-actions .admin-write-btn{flex:1}.vmodal-row{cursor:pointer}.vmodal-row:hover{background:var(--color-panel)}.vmodal-th{width:1%}.vmodal-cell{text-align:right;white-space:nowrap;width:1%}.vmodal-open{color:var(--color-faint);font:700 17px var(--font-sans);cursor:pointer;border-radius:var(--radius-ctl);background:0 0;border:none;padding:4px 7px;line-height:1}.vmodal-open:focus-visible,.vmodal-open:hover,.vmodal-row:hover .vmodal-open{color:var(--color-ink)}.skip-link,.sr-only,.vmodal-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip:auto;background:var(--color-ink);width:auto;height:auto;color:var(--color-surface);border-radius:var(--radius-pill);font:600 13px var(--font-sans);z-index:2000;outline:2px solid var(--color-yellow);outline-offset:2px;margin:0;padding:10px 16px;text-decoration:none;position:fixed;top:12px;left:12px;overflow:visible}#main-content:focus{outline:none}.vmodal-overlay{z-index:1000;background:#0d1b3d8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.vmodal-card{background:var(--color-surface);border-radius:var(--radius-card);width:474px;max-width:100%;max-height:calc(var(--vh100) - 48px);box-shadow:var(--shadow-modal);animation:var(--animate-flash);overflow:hidden auto}.vmodal-card:focus{outline:none}.vmodal-header{background:var(--color-danger-bg);border-bottom:1px solid var(--color-line-strong);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px;display:flex}.vmodal-heading{gap:13px}.vmodal-badge,.vmodal-heading{align-items:center;display:flex}.vmodal-badge{border-radius:var(--radius-ctl);background:var(--color-danger);width:42px;height:42px;color:var(--color-surface);font:800 22px var(--font-sans);flex:none;justify-content:center}.vmodal-eyebrow{font:700 8.5px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-danger)}.vmodal-type{font:700 17px var(--font-sans);color:var(--color-danger);margin-top:3px}.vmodal-x{color:var(--color-danger-soft);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:24px;line-height:1}.vmodal-x:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px;border-radius:4px}.vmodal-grid{grid-template-columns:1fr 1fr;gap:16px 22px;padding:22px;display:grid}.vmodal-field-full{grid-column:1/-1}.vmodal-field-border{border-top:1px solid var(--color-line);padding-top:15px}.vmodal-label{font:700 8.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.vmodal-value{font:700 13px var(--font-sans);color:var(--color-ink);word-break:break-word;margin-top:5px}.vmodal-value-danger{color:var(--color-danger)}.vmodal-value-muted{color:var(--color-muted)}.vmodal-retry{font:700 12px var(--font-sans);color:var(--color-blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.vmodal-figs{flex-wrap:wrap;gap:18px;margin-top:8px;display:flex}.vmodal-fig{flex-direction:column;gap:2px;min-width:0;display:flex}.vmodal-fig-label{font:700 8px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint)}.vmodal-fig-val{font:700 12px var(--font-sans);color:var(--color-ink);font-variant-numeric:tabular-nums}.vmodal-fig-val-danger{color:var(--color-danger)}.vmodal-footer{justify-content:flex-end;padding:0 22px 20px;display:flex}.vmodal-close{border:1.5px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);font:700 13px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;padding:11px 22px}.vmodal-close:hover{background:var(--color-panel)}@media (prefers-reduced-motion:reduce){.vmodal-card{animation:none}}.veh-tile-btn{text-align:left;cursor:pointer;font:inherit}.veh-tile-btn:hover{border-color:var(--color-blue)}.veh-tile-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-tile-go{float:right;color:var(--color-faint);font-weight:700}.veh-empty{background:var(--color-success-bg);border-radius:var(--radius-ctl);font:600 12px var(--font-sans);color:var(--color-success-text);gap:9px;padding:11px 13px}.veh-empty,.veh-empty-check{align-items:center;display:flex}.veh-empty-check{background:var(--color-success);width:18px;height:18px;color:var(--color-surface);border-radius:50%;flex:none;justify-content:center;font-size:10px}.veh-rotation{background:var(--color-panel);border-radius:var(--radius-ctl);align-items:center;gap:10px;padding:9px 11px;display:flex}.veh-rotation-btn{text-align:left;cursor:pointer;width:100%;font:inherit;border:none}.veh-rotation-btn:hover{background:var(--color-blue-tint)}.veh-rotation-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-rotation-go{font:700 13px var(--font-sans);color:var(--color-faint);flex:none;margin-left:auto}.roster-list{flex-direction:column;gap:10px;margin:0;padding:16px 24px 24px;list-style:none;display:flex}.roster-row{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);align-items:center;gap:12px;padding:12px 14px;display:flex}.roster-photo{background:var(--color-blue-tint);width:44px;height:44px;color:var(--color-blue);font:700 15px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.roster-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.roster-name{font:700 13px var(--font-sans);color:var(--color-ink);overflow-wrap:anywhere}.roster-rating{font:700 12px var(--font-sans);color:var(--color-ink);align-items:center;gap:7px;display:flex}.roster-muted{color:var(--color-muted);font-weight:600}.roster-avg{font-variant-numeric:tabular-nums}.roster-count{font:500 10.5px var(--font-sans);color:var(--color-muted)}.roster-seen{font:600 10.5px var(--font-sans);color:var(--color-muted);text-align:right;flex:none}.veh-rotation-avatars{flex:none;display:inline-flex}.veh-rotation-avatar{background:var(--color-blue-tint);width:26px;height:26px;color:var(--color-blue);font:700 9.5px var(--font-sans);border:2px solid var(--color-surface);border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;display:inline-flex}.veh-rotation-avatar:first-child{margin-left:0}.veh-rotation-text{font:600 11px var(--font-sans);color:var(--color-muted-strong)}.veh-violations{flex-direction:column;gap:8px;display:flex}.veh-violations-head{font:700 9.5px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0}.veh-violations-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.veh-violation{text-align:left;background:var(--color-panel);border:1px solid var(--color-line-strong);border-left:3px solid var(--color-danger);border-radius:var(--radius-ctl);cursor:pointer;width:100%;font:inherit;flex-direction:column;gap:4px;padding:11px 13px;display:flex}.veh-violation:hover{border-color:var(--color-blue);border-left-color:var(--color-danger)}.veh-violation:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-violation-type{font:700 12px var(--font-sans);color:var(--color-danger)}.veh-violation-loc{font:600 11.5px/1.45 var(--font-sans);color:var(--color-muted-strong)}.veh-violations-more{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);font:700 10.5px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;align-self:flex-start;padding:8px 13px}.veh-violations-more:hover:not(:disabled){border-color:var(--color-blue);color:var(--color-ink)}.veh-violations-more:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-violations-more:disabled{opacity:.6;cursor:default}.veh-violations-more-error{font:600 11px var(--font-sans);color:var(--color-danger)}.tmodal-overlay{z-index:2000}.tmodal-card{width:760px;max-width:100%;max-height:calc(var(--vh100) - 48px);height:calc(var(--vh100) - 48px);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);animation:var(--animate-flash);flex-direction:column;display:flex;overflow:hidden}.tmodal-card:focus{outline:none}.tmodal-bar{border-bottom:1px solid var(--color-line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.tmodal-title{font:700 16px var(--font-sans);color:var(--color-ink)}.tmodal-x{color:var(--color-faint);font:700 24px/1 var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 2px}.tmodal-x:hover{color:var(--color-ink)}.tmodal-x:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.tmodal-body{flex:1;min-height:0;overflow-y:auto}.tmodal-empty{text-align:center;font:500 12.5px var(--font-sans);padding:32px 22px}.tmodal-counts,.tmodal-empty{color:var(--color-muted);margin:0}.tmodal-counts{font:500 11.5px/1.5 var(--font-sans);padding:12px 22px 0}.tmodal-list{margin:0;padding:0;list-style:none}.tmodal-ride{border-bottom:1px solid var(--color-line);gap:0}.tmodal-ride,.tmodal-row{align-items:stretch;display:flex}.tmodal-row{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:9px;min-width:0;padding:14px 24px 14px 22px}.tmodal-leg{align-items:flex-start;gap:12px;min-width:0;display:flex}.tmodal-leg .tmodal-figs{flex:1;gap:12px;min-width:0}.tmodal-leg-label{width:58px;font:700 9px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-strong);flex:none;padding-top:2px}.tmodal-row-top{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.tmodal-row-warnslot{flex:none;justify-content:flex-start;align-items:center;width:44px;display:flex}.tmodal-row-warn{cursor:pointer;width:34px;height:34px;font:900 14px var(--font-sans);color:#fff;background:var(--color-danger);border:none;border-radius:10px;flex:none;justify-content:center;align-self:center;align-items:center;margin-right:10px;display:inline-flex}.tmodal-row-warn:hover{filter:brightness(.92)}.tmodal-row-warn:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.slog-stats.tmodal-stats{flex-wrap:wrap;justify-content:center;gap:10px;padding:12px 24px 2px;display:flex}.tmodal-stats .slog-stat{flex:0 240px;min-width:150px}.tmodal-periods{scrollbar-width:none;flex-wrap:nowrap;gap:4px;margin-left:auto;display:flex;overflow-x:auto}.tmodal-periods::-webkit-scrollbar{display:none}.tmodal-period{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);border-radius:var(--radius-pill);font:700 10.5px var(--font-sans);cursor:pointer;white-space:nowrap;flex:none;padding:3px 9px}.tmodal-period:hover{background:var(--color-blue-tint)}.tmodal-period.is-on{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.tmodal-period:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px}.tmodal-row-earned{font:800 12px var(--font-sans);color:var(--color-pulse-ink);white-space:nowrap;flex:none}.tmodal-leg-label.is-out{color:var(--color-blue)}.tmodal-leg-label.is-back{color:var(--color-road-ink)}.tmodal-figs{flex-wrap:wrap;gap:18px;display:flex}.tmodal-fig{flex-direction:column;gap:2px;min-width:0;display:flex}.tmodal-fig-label{font:700 8px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint)}.tmodal-fig-val{font:700 11.5px var(--font-sans);color:var(--color-muted);font-variant-numeric:tabular-nums}.tmodal-fig-val-danger{color:var(--color-danger)}.tmodal-row:hover{background:var(--color-panel)}.tmodal-row:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.tmodal-row-main{align-items:center;gap:11px;min-width:0;display:flex}.tmodal-row-n{font:700 11px var(--font-sans);color:var(--color-faint);flex:none}.tmodal-row-dest{font:600 12.5px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tmodal-row-meta{flex:none;align-items:center;gap:11px;display:flex}.tmodal-row-time{font:600 11.5px var(--font-sans);color:var(--color-muted)}.tmodal-badge{font:700 9px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);padding:3px 9px}.tmodal-chevron{color:var(--color-line-strong);font-size:17px}.tdmodal-overlay,.tvmodal-overlay{z-index:2100}.dvmodal-overlay{z-index:2200}.sdmodal-overlay{z-index:2100}.scmodal-overlay{z-index:2200}.tdmodal-card{width:520px;max-width:100%;max-height:calc(var(--vh100) - 48px);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);animation:var(--animate-flash);overflow-y:auto}.tdmodal-card:focus{outline:none}.tdmodal-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px;display:flex}.tdmodal-eyebrow{font:700 9px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.tdmodal-route{font:700 17px var(--font-sans);color:var(--color-ink);margin-top:3px}.tdmodal-body{flex-direction:column;display:flex}.tdmodal-status{border-bottom:1px solid var(--color-line);align-items:center;gap:12px;padding:15px 22px;display:flex}.tdmodal-pill{font:700 9.5px var(--font-sans);letter-spacing:.05em;border-radius:var(--radius-pill);flex:none;padding:5px 11px}.tdmodal-pill-done{color:var(--color-success-text);background:var(--color-success-bg)}.tdmodal-pill-admin,.tdmodal-pill-cancel{color:var(--color-muted);background:var(--color-panel)}.tdmodal-who{text-align:right;flex:1;min-width:0}.tdmodal-driver{font:700 13px var(--font-sans);color:var(--color-ink)}.tdmodal-veh{font:600 11px var(--font-sans);color:var(--color-muted)}.tdmodal-grid{grid-template-columns:1fr 1fr 1fr;gap:18px 20px;margin:0;padding:20px 22px;display:grid}.tdmodal-grid-times{border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr;padding-top:16px}.tdmodal-cell-wide{grid-column:1/-1}.tdmodal-legs{border-top:1px solid var(--color-line);border-collapse:collapse;table-layout:fixed;width:calc(100% - 44px);margin:0 22px}.tdmodal-legs-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tdmodal-legs-scroll .tdmodal-legs{table-layout:auto;width:auto;min-width:100%}.tdmodal-legs-scroll .tdmodal-legs td,.tdmodal-legs-scroll .tdmodal-legs th[scope=col]{white-space:nowrap;padding-left:10px;padding-right:10px}.tdmodal-legs-to{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font:500 9px var(--font-sans);color:var(--color-ink-muted);text-transform:none;letter-spacing:0;display:block;overflow:hidden}.tdmodal-legs th[scope=col]{font:700 8px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);text-align:right;padding:14px 0 8px}.tdmodal-legs th[scope=col]:first-child{text-align:left;width:38%}.tdmodal-legs-label{font:600 11px var(--font-sans);color:var(--color-muted);text-align:left;padding:7px 0}.tdmodal-legs-val{font:700 13px var(--font-sans);color:var(--color-ink);text-align:right;white-space:nowrap;padding:7px 0}.tdmodal-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tdmodal-finish{border-top:1px solid var(--color-line);margin:16px 22px 0;padding-top:14px}.tdmodal-finish-label{font:700 8px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.tdmodal-finish-value{font:600 13px var(--font-sans);color:var(--color-ink);margin-top:4px}.tdmodal-attrib{font:600 10px var(--font-sans);color:var(--color-faint);margin-top:6px}.tdmodal-mapwrap{margin:16px 22px 0}.tdmodal-map{border:1px solid var(--color-line-strong);border-radius:10px;height:240px;position:relative;overflow:hidden}.tdmodal-map-note{font:600 11px var(--font-sans);color:var(--color-muted);margin:8px 0 0}.tdmodal-note-row{margin-left:22px;margin-right:22px}.tdmodal-legend{flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tdmodal-legend-row{font:600 11px var(--font-sans);color:var(--color-muted);align-items:center;gap:6px;display:flex}.tdmodal-legend-dot{width:11px;height:11px;box-shadow:0 0 0 1px var(--color-line-strong);border:1.5px solid #fff;border-radius:50%;flex:none}.tdmodal-legend-line{border-radius:2px;flex:none;width:18px;height:3px}.tdmodal-cell-label{font:700 8px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.tdmodal-cell-value{font:700 14px var(--font-sans);color:var(--color-ink);margin:4px 0 0}.tdmodal-cancel{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);margin:0 22px 20px;padding:15px 16px}.tdmodal-cancel-head{font:700 13px var(--font-sans);color:var(--color-muted-strong);align-items:center;gap:9px;display:flex}.tdmodal-cancel-mark{background:var(--color-faint);width:20px;height:20px;color:var(--color-surface);font:700 11px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.tdmodal-cancel-body{font:500 11.5px/1.5 var(--font-sans);color:var(--color-muted);margin-top:8px}.tdmodal-fare{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-ctl);margin:0 22px 20px;padding:16px}.tdmodal-fare-top{border-bottom:1px solid var(--color-line-strong);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.tdmodal-fare-label{font:700 10px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.tdmodal-fare-total{font:800 22px var(--font-sans);color:var(--color-success-text)}.tdmodal-fare-split{grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;display:grid}.tdmodal-fare-num{font:800 15px var(--font-sans);color:var(--color-ink)}.tdmodal-fare-cap{font:600 8.5px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);margin-top:3px}.tdmodal-fare-flags{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.tdmodal-flag{background:var(--color-white,#fff);border:1px solid var(--color-line-strong);font:600 10.5px var(--font-sans);color:var(--color-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;display:inline-flex}@media (prefers-reduced-motion:reduce){.tdmodal-card,.tmodal-card{animation:none}}.stars{letter-spacing:.5px;white-space:nowrap;font-size:12px}.stars-on{color:var(--color-yellow)}.stars-off{color:var(--color-line-strong)}.veh-shift{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);padding:13px 14px}.veh-change-address{width:100%;font:700 12px var(--font-sans);color:var(--color-ink);cursor:pointer;text-align:left;align-items:center;gap:8px;margin:0 0 12px;display:flex}.veh-change-address:hover{background:var(--color-blue-tint)}.veh-change-address:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-change-address .veh-pulse-go{margin-left:auto}.veh-live-route-dest{font:600 12px/1.45 var(--font-sans);color:var(--color-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:-4px 0 10px;display:-webkit-box;overflow:hidden}.veh-live-route-dest.veh-live-stop-list{-webkit-line-clamp:unset;padding:0;list-style:none;display:block;overflow:visible}.veh-live-stop-list li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.veh-shift-head{font:700 9.5px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:11px}.veh-rating{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);flex-direction:column;gap:12px;padding:14px 15px;display:flex}.veh-rating-label{font:700 9.5px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.veh-rating-line{align-items:center;gap:8px;display:flex}.veh-rating-muted{font:600 12px var(--font-sans);color:var(--color-muted)}.veh-rating-avg{font:800 13px var(--font-sans);color:var(--color-ink)}.veh-rating-count{font:500 10px var(--font-sans);color:var(--color-faint)}.veh-rating-actions{gap:9px;display:flex}.veh-rating-btn{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-muted-strong);font:700 11.5px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;flex:1;padding:11px}.veh-rating-btn:hover{border-color:var(--color-blue);color:var(--color-ink)}.veh-rating-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.veh-rating-btn-primary{background:var(--color-yellow);border-color:var(--color-yellow);color:var(--color-ink)}.veh-rating-btn-primary:hover{color:var(--color-ink)}.hmodal-overlay{z-index:2000}.hmodal-card{width:520px;max-width:100%;max-height:calc(var(--vh100) - 48px);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);animation:var(--animate-flash);flex-direction:column;display:flex;overflow:hidden}.hmodal-card-wide{width:820px}.tvmodal-card{width:680px}.tvmodal-card .hmodal-body{padding:10px 12px 18px}.hmodal-card:focus{outline:none}.hmodal-head{border-bottom:1px solid var(--color-line);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.hmodal-eyebrow{font:700 9px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.hmodal-name{font:700 18px var(--font-sans);color:var(--color-ink);margin-top:3px}.hmodal-head-3col{grid-template-columns:1fr auto 1fr;align-items:flex-start;display:grid}.hmodal-head-3col>:first-child{grid-column:1;justify-self:start}.hmodal-head-3col>.tmodal-x{grid-column:3;justify-self:end}.hmodal-body{flex:1;min-height:0;overflow-y:auto}.hmodal-empty{text-align:center;font:500 12.5px var(--font-sans);color:var(--color-muted);margin:0;padding:32px 24px}.appr-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px 20px;padding:20px 24px 24px;display:grid}.appr-grid>:nth-child(odd){border-right:1px solid var(--color-line);padding-right:20px}.appr-cell-empty{display:block}.appr-col-none-given{grid-column:2}.appr-col-head{font:800 15px var(--font-sans);letter-spacing:.01em;margin:0}.appr-subject-head{flex:1;gap:10px;min-width:0;display:flex}.appr-subject-avatar,.appr-subject-head{justify-content:center;align-items:center}.appr-subject-avatar{background:var(--color-blue-tint);width:36px;height:36px;color:var(--color-blue);font:700 13px var(--font-sans);border-radius:50%;flex:none;display:inline-flex}.appr-subject-text{text-align:left;min-width:0}.appr-subject-name{font:800 16px var(--font-sans);color:var(--color-ink);overflow-wrap:anywhere}.appr-subject-score{align-items:center;gap:7px;margin-top:2px;display:inline-flex}.appr-subject-avg{font:800 15px var(--font-sans)}.appr-col-head-received,.appr-subject-avg{color:var(--color-ink)}.appr-col-head-given{color:var(--color-blue)}.appr-col-none{font:500 11.5px var(--font-sans);color:var(--color-muted);margin:0}.appr-card{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);padding:16px}.appr-card-top{border-bottom:1px solid var(--color-line);align-items:center;gap:10px;padding-bottom:13px;display:flex}.appr-who{flex:1;min-width:0}.appr-subject{font:700 13.5px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appr-subject-given{color:var(--color-blue)}.appr-meta{font:600 10px var(--font-sans);color:var(--color-muted)}.appr-avg{text-align:right;flex:none}.appr-avg-num{font:800 18px/1 var(--font-sans);color:var(--color-ink)}.appr-items{flex-direction:column;gap:11px;margin-top:13px;display:flex}.appr-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.appr-item-label{font:700 11.5px var(--font-sans);color:var(--color-ink)}.appr-item-comment{font:500 10.5px/1.45 var(--font-sans);color:var(--color-muted);margin-top:4px}.shift-list{flex-direction:column;gap:12px;margin:0;padding:16px 24px 4px;list-style:none;display:flex}.shift-block{text-align:left;background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);cursor:pointer;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.shift-block:hover{border-color:var(--color-blue);background:var(--color-surface)}.shift-block:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.shift-go{color:var(--color-blue);font:800 16px var(--font-sans);flex:none;margin-left:auto}.shift-figs{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.shift-range{font:700 12px var(--font-sans);color:var(--color-ink)}.shift-when{white-space:nowrap}.shift-chip-current{background:var(--color-blue);color:var(--color-surface);font:700 10px var(--font-sans);border-radius:999px;padding:2px 8px;display:inline-block}.shift-fig{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.shift-fig-label{font:600 10.5px var(--font-sans);color:var(--color-muted)}.shift-fig-val{font:800 12.5px var(--font-sans);color:var(--color-ink);white-space:nowrap}.shift-fig-val-danger{color:var(--color-danger)}.shd-figs,.shd-photos{padding:16px 24px 0}.shd-photos{grid-template-columns:1fr 1fr;gap:14px;display:grid}.shd-side{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);padding:12px 14px}.shd-side-label{font:700 10.5px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px}.shd-who{font:700 12px var(--font-sans);color:var(--color-ink)}.shd-when{font:600 10.5px var(--font-sans);color:var(--color-muted);margin:2px 0 6px}.shd-km{font:800 14px var(--font-sans);color:var(--color-ink);margin-bottom:7px}.shd-none{font:600 11.5px var(--font-sans);color:var(--color-muted)}.shd-img{object-fit:cover;border-radius:var(--radius-ctl);border:1px solid var(--color-line-strong);width:100%;height:96px;display:block}.shd-img-ph{background:var(--color-surface);color:var(--color-line-strong);justify-content:center;align-items:center;font-size:26px;display:flex}.shd-cmps{flex-wrap:wrap;gap:12px;padding:16px 24px 24px;display:flex}.shd-cmp-btn{border:1px solid var(--color-line-strong);background:var(--color-surface);border-radius:var(--radius-ctl);font:700 12px var(--font-sans);color:var(--color-ink);cursor:pointer;align-items:center;gap:10px;padding:9px 14px;display:inline-flex}.shd-cmp-btn:hover{border-color:var(--color-blue)}.shd-cmp-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.shd-cmp-btn-red{border-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger)}.shd-cmp-km{font:800 13px var(--font-sans)}.scmp-diff{font:700 13px var(--font-sans);color:var(--color-ink);justify-content:center;align-items:baseline;gap:10px;padding:16px 24px 24px;display:flex}.scmp-diff-val{font:800 16px var(--font-sans)}.scmp-diff-red .scmp-diff-val,.scmp-diff-red .shift-fig-label{color:var(--color-danger)}.slog-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 24px 4px;display:grid}.slog-stat{background:var(--color-blue-tint);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);text-align:center;padding:10px 10px 9px}.slog-stat-current{background:var(--color-success-bg)}.slog-stat-num{font:800 18px/1.2 var(--font-sans);color:var(--color-ink)}.slog-stat-label{font:600 9px/1.35 var(--font-sans);color:var(--color-muted);margin-top:3px}.slog-list{gap:9px;margin:0;padding:12px 24px 20px;list-style:none}.slog-list,.slog-row{flex-direction:column;display:flex}.slog-row{background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);gap:7px;padding:10px 13px}.slog-range{font:700 11.5px var(--font-sans);color:var(--color-ink)}.slog-when{white-space:nowrap}.slog-figs{flex-wrap:wrap;gap:6px 18px;display:flex}.slog-figs .shift-fig{justify-content:flex-start;gap:7px}.slog-fig-green{color:var(--color-pulse-ink)}@media (max-width:720px){.slog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.hmodal-card,.veh-live-dot,.veh-live-route-head,.veh-pulse-dot{animation:none}}@media (max-width:720px){.hmodal-card-wide{width:520px}}.tile{background:var(--color-surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);flex-direction:column;padding:14px 13px;display:flex}.tile-label{font:700 12px var(--font-sans);letter-spacing:.14em;color:var(--color-muted)}.tile-free{font:800 42px/1 var(--font-sans);color:var(--color-success-text)}.tile-free-lbl{font:600 11px var(--font-sans);color:var(--color-muted)}.tile-row{align-items:center;gap:7px;display:flex}.tile-row .n{font:700 12px var(--font-sans);color:var(--color-ink)}.tile-stats{border-top:1px solid var(--color-line);flex-direction:column;gap:8px;margin-top:13px;padding-top:11px;display:flex}.tile-stat{grid-template-columns:14px minmax(2ch,auto) minmax(0,1fr);align-items:center;gap:7px;display:grid}.tile-stat-icon{font:700 11px var(--font-sans);justify-content:center;align-items:center;display:flex}.tile-dot{border-radius:50%;width:7px;height:7px}.tile-stat .n{font:700 12.5px var(--font-sans);color:var(--color-ink);text-align:right}.tile-stat .lbl{font:500 10.5px var(--font-sans);color:var(--color-muted);min-width:0}.tile-row .lbl{font:500 9.5px/1.2 var(--font-sans);color:var(--color-muted)}.tile-assign{color:#fff;border-radius:var(--radius-ctl);font:700 12px var(--font-sans);border:none;margin-top:12px;padding:11px}.tile-assign:disabled{opacity:.5}.tile .btn-ghost{font:700 12px var(--font-sans);padding:8px 12px}.panel{background:var(--color-surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.panel-head{border-bottom:1px solid var(--color-line);justify-content:center;align-items:center;padding:15px 16px 12px;display:flex;position:relative}.panel-head>.count-badge{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.panel-title{font:700 13px var(--font-sans);color:var(--color-ink)}.panel-head.panel-head-return{background:var(--color-road-tint)}.count-badge{font:800 15px var(--font-sans);color:var(--color-ink);background:var(--color-yellow);border-radius:var(--radius-pill);padding:2px 11px}.ride-row{border-bottom:1px solid var(--color-canvas);justify-content:space-between;gap:10px;padding:13px 16px}.ride-avatar,.ride-row{align-items:center;display:flex}.ride-avatar{width:52px;height:52px;color:var(--color-blue);font:700 16px var(--font-sans);background:#d6deeb;border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;box-shadow:0 1px 4px #0d1b3d29}.ride-name{font:700 12.5px var(--font-sans);color:var(--color-ink)}.ride-plate{font:700 10.5px var(--font-sans);color:var(--color-muted-strong)}.ride-dest{font:500 11px var(--font-sans);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.ride-live{font:700 10px var(--font-sans);border-radius:var(--radius-pill);white-space:nowrap;flex:none;padding:2px 7px}.ride-live.is-dark{color:var(--color-danger);background:var(--color-danger-bg)}.ride-live.is-reconnected{color:var(--color-success-text);background:var(--color-success-bg)}.ride-cancel{background:var(--color-danger-bg);width:34px;height:34px;color:var(--color-danger);border:none;border-radius:10px;flex:none;font-size:19px;line-height:1}.empty-state,.ride-cancel{justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;color:var(--color-faint);font:500 12px var(--font-sans);flex-direction:column;gap:12px;padding:40px 20px}.empty-glyph{background:var(--color-canvas);color:#c4ccd8;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:19px;display:flex}.retry-banner{border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-panel);color:var(--color-muted-strong);font:600 12px var(--font-sans);text-align:left;width:calc(100% - 32px);margin:10px 16px;padding:10px 14px}.segment{background:var(--color-surface);box-shadow:var(--shadow-card);gap:3px;padding:4px;display:inline-flex}.segment,.segment a{border-radius:var(--radius-pill)}.segment a{font:700 12px var(--font-sans);color:var(--color-faint);padding:8px 18px;text-decoration:none}.segment a.active{background:var(--color-blue);color:#fff}.segment button{cursor:pointer;border-radius:var(--radius-pill);font:700 12px var(--font-sans);color:var(--color-faint);white-space:nowrap;background:0 0;border:none;padding:8px 18px}.segment button.active{background:var(--color-blue);color:#fff}.segment button:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.count-badge.is-quiet{background:var(--color-panel);color:var(--color-faint)}.nocar-card{margin-top:14px;padding-bottom:12px}.nocar-card .segment,.nocar-cases,.nocar-stats,.nocar-truncated{padding-inline:16px}.nocar-card .segment{margin-top:12px}.nocar-cases{flex-direction:column;gap:4px;margin:0;list-style:none;display:flex}.nocar-truncated{margin-top:8px}.nocar-stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px;display:grid}.nocar-stat{background:var(--color-panel);border-radius:var(--radius-ctl);flex-direction:column;gap:1px;padding:9px 11px;display:flex}.nocar-stat-k{font:700 10px var(--font-sans);letter-spacing:.03em;color:var(--color-faint)}.nocar-stat-v{font:800 20px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-ink);line-height:1.1}.nocar-stat.is-hot{background:var(--color-amber-bg)}.nocar-stat.is-hot .nocar-stat-v{color:var(--color-amber-text)}.nocar-zero{border-top:1px solid var(--color-line);font:500 11.5px var(--font-sans);color:var(--color-success-text);gap:7px;padding:9px 16px 2px}.nocar-zero,.nocar-zero-mark{align-items:center;display:flex}.nocar-zero-mark{background:var(--color-success-bg);border-radius:50%;flex:none;justify-content:center;width:16px;height:16px;font-size:10px}.dispatch-surface{background:var(--color-canvas);flex-direction:column;display:flex}.segment-refresh{background:var(--color-surface);width:32px;height:32px;box-shadow:var(--shadow-card);color:var(--color-blue);font:700 15px var(--font-sans);cursor:pointer;border:0;border-radius:50%;flex:none;line-height:1}.segment-refresh:active{background:var(--color-blue-tint)}.dispatch-body{flex-direction:column;gap:14px;width:100%;max-width:760px;padding:14px 20px 24px;display:flex}.tiles-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.dispatch-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 17px 2px;display:flex;position:relative}.dispatch-refresh-centre{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dispatch-strip h1{font:800 22px/1 var(--font-sans);color:var(--color-ink);overflow-wrap:anywhere;margin:0}.dispatch-strip .sub{font:500 11.5px var(--font-sans);color:var(--color-muted);margin-top:5px}.overlay{z-index:40;background:#0d1b3d8c;display:flex;position:fixed;inset:0}.overlay.center{justify-content:center;align-items:center;padding:24px}.overlay.period-picker-overlay{z-index:2300}.overlay.bottom{align-items:flex-end}.modal-card:focus,.sheet:focus{outline:none}.sheet{animation:var(--animate-slide-up);max-height:calc(var(--vh100) - 24px);border-radius:24px 24px 0 0;padding:8px 18px 22px;overflow-y:auto}.modal-card,.sheet{background:var(--color-surface);width:100%}.modal-card{max-width:420px;box-shadow:var(--shadow-modal);animation:var(--animate-flash);border-radius:22px;padding:24px 22px}.modal-card.narrow{text-align:center;max-width:340px}.modal-h2{font:700 17px var(--font-sans);color:var(--color-ink);margin:0}.modal-body-text{font:400 12px/1.5 var(--font-sans);color:var(--color-muted-strong);margin:8px 0 0}.modal-danger-btn{background:var(--color-danger);color:#fff;font:700 13px var(--font-sans);border-radius:var(--radius-ctl);border:none;padding:14px}.sheet-title{font:700 15px var(--font-sans);color:var(--color-ink)}.sheet-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.sheet-head,.sheet-section{margin-bottom:14px}.sheet-section+.sheet-section{border-top:1px solid var(--color-line);padding-top:14px}.sheet-section-label{font:700 9.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:8px}.sheet-actions{border-top:1px solid var(--color-line);gap:10px;padding-top:14px;display:flex}.sheet-actions .btn-ghost,.sheet-actions .btn-primary{font-size:12px}.cancel-confirm-ride{font:600 12.5px var(--font-sans);color:var(--color-blue);margin:10px 0 0}.inline-confirm-title{font:700 13px var(--font-sans);color:var(--color-ink);margin:10px 0 0}.inline-confirm-body{font:400 12px/1.5 var(--font-sans);color:var(--color-muted-strong);margin:6px 0 0}.nocar-flash-text{font:700 14px var(--font-sans);margin:0}.grabber{background:#dfe3ea;border-radius:2px;width:40px;height:4px;margin:6px auto 14px}.type-pill{font:700 10px var(--font-sans);letter-spacing:.1em;color:var(--color-blue);background:var(--color-blue-tint);border-radius:var(--radius-pill);padding:5px 11px}.chip{border:1px solid var(--color-line-strong);background:var(--color-panel);color:#3a4250;font:600 11.5px var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;padding:8px 13px}.chip[aria-pressed=true]{border-color:var(--color-blue);background:var(--color-blue-tint);color:var(--color-blue)}.chip:disabled{opacity:.5}.tariff-chip-row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.chip-price{min-width:74px;font:700 12px var(--font-sans);justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.addr-search{position:relative}.addr-input{box-sizing:border-box;border:1px solid var(--color-line-strong);background:var(--color-white,#fff);width:100%;min-width:0;color:var(--color-ink);font:600 11.5px var(--font-sans);border-radius:var(--radius-ctl);flex:1 1 0;padding:9px 11px}.addr-input:disabled{opacity:.5}.addr-dropdown{z-index:30;pointer-events:none;position:absolute;top:calc(100% + 6px);left:0;right:0}.addr-dropdown>*{pointer-events:auto}.addr-dropdown>.addr-attribution,.addr-dropdown>.addr-hint{margin:4px 0 0;padding:6px 10px;font-size:11px}.addr-dropdown>.addr-attribution,.addr-dropdown>.addr-hint,.addr-list{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);box-shadow:var(--shadow-card)}.addr-list{max-height:184px;margin:0;padding:4px;list-style:none;overflow-y:auto}.addr-row{box-sizing:border-box;text-align:left;border-radius:var(--radius-ctl);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;width:100%;height:44px;padding:4px 10px;display:flex;overflow:hidden}.addr-row-active{background:var(--color-blue-tint)}.addr-row-label{font:700 12px/1.3 var(--font-sans);color:var(--color-ink)}.addr-row-far{background:var(--color-warn-tint,#fdf1dc);color:var(--color-warn-ink,#8a5a00);font:700 10px var(--font-sans);vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 5px;display:inline-block}.addr-row-detail{font:500 11px var(--font-sans);color:var(--color-muted)}.addr-choice{border:1px solid var(--color-blue);border-radius:var(--radius-ctl);background:var(--color-blue-tint);margin-top:9px;padding:9px 10px 10px}.addr-choice-title{font:700 13px var(--font-sans);color:var(--color-ink);margin:0}.addr-choice .addr-hint{margin-top:3px}.addr-choice .addr-list{box-shadow:none}.addr-choice .btn-secondary{margin-top:8px}.addr-hint{font:500 11.5px var(--font-sans);color:var(--color-muted);margin-top:7px}.addr-hint-error{color:var(--color-danger,#c0362c);font-weight:700}.addr-attribution{font:500 10.5px var(--font-sans);color:var(--color-muted);text-align:right;margin-top:4px}.addr-input-row{align-items:stretch;gap:8px;display:flex;position:relative}.addr-map-btn{box-sizing:border-box;border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-panel);min-height:40px;color:var(--color-ink);font:600 12px var(--font-sans);white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.addr-map-btn svg{flex:none}.addr-map-btn-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.addr-map-btn:hover{background:var(--color-line)}.addr-map-btn:disabled{opacity:.45;cursor:default}.addr-map-overlay{z-index:50;background:#0d1b3d8c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.addr-map-screen{background:var(--color-surface);width:min(1180px,100%);height:min(92vh,900px);box-shadow:var(--shadow-modal);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden}.addr-map-screen:focus{outline:none}.addr-map-canvas{flex:1;min-height:0;position:relative}.addr-map-pin{pointer-events:none;filter:drop-shadow(0 2px 3px #0d1b3d59);position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.addr-map-close{z-index:2;background:var(--color-danger);color:#fff;width:52px;height:52px;font:700 22px/1 var(--font-sans);box-shadow:var(--shadow-modal);cursor:pointer;border:2px solid #fff;border-radius:50%;position:absolute;top:12px;right:12px}.addr-map-close:hover{background:var(--color-danger-soft)}.addr-map-panel{padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));flex:none;box-shadow:0 -6px 20px #0d1b3d1f}.addr-map-panel-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:7px;display:flex}.addr-map-panel-row{align-items:center;gap:10px;display:flex}.addr-map-title{font:700 13.5px var(--font-sans);color:var(--color-ink);margin:0}.addr-map-sub{font:500 11px var(--font-sans);color:var(--color-muted);margin:0}.addr-map-address{border-radius:var(--radius-ctl);background:var(--color-panel);flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;height:46px;margin-top:0;padding:11px 13px;display:flex;overflow-y:auto}.addr-map-address-label{font:700 12.5px var(--font-sans);color:var(--color-ink)}.addr-map-address-detail{font:500 11.5px var(--font-sans);color:var(--color-muted)}.addr-map-confirm{flex:none;width:auto;min-width:190px;margin-top:0}.dist-strip{border-radius:var(--radius-ctl);background:var(--color-panel-alt);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;display:grid}.dist-strip-label{font:700 9.5px var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted)}.dist-strip-value{font:700 15px var(--font-sans);color:var(--color-ink);white-space:nowrap;justify-self:center}.dist-strip-pending{font:500 12px var(--font-sans);color:var(--color-muted);justify-self:center}.dist-strip-extra{font:700 12px var(--font-sans);color:var(--color-blue);white-space:nowrap;justify-self:end}.addr-pill{border:1px solid var(--color-line-strong);background:var(--color-blue-tint);border-radius:var(--radius-ctl);flex:1 1 0;align-items:center;gap:10px;min-width:0;padding:8px 11px;display:flex}.addr-pill-label{min-width:0;font:600 11.5px/1.35 var(--font-sans);color:var(--color-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.addr-pill-clear{color:var(--color-muted);font:700 14px var(--font-sans);cursor:pointer;border-radius:var(--radius-ctl);background:0 0;border:none;flex:none;padding:2px 6px}.addr-pill-clear:disabled{opacity:.5}.tariff-section-hint{font:500 11.5px var(--font-sans);color:var(--color-muted);margin:0 0 8px}.tariff-manual-input{box-sizing:border-box;border:1px solid var(--color-line-strong);background:var(--color-white,#fff);width:100%;color:var(--color-ink);font:600 11.5px var(--font-sans);border-radius:var(--radius-ctl);padding:9px 11px}.addr-input:focus,.tariff-manual-input:focus{outline:2px solid var(--color-success);outline-offset:1px;border-color:var(--color-success)}.tariff-manual-input[aria-invalid=true]{border-color:var(--color-danger,#c0362c)}.tariff-manual-input:disabled{opacity:.5}.stop-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.stop-row+.stop-row{margin-top:8px}.stop-row>.addr-search{flex:1 0 100%;order:-1;min-width:0}.stop-handle{width:28px;min-height:40px;color:var(--color-ink-muted);cursor:grab;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.stop-handle:active{cursor:grabbing}.stop-move-col{flex:none;gap:4px;display:flex}.stop-add,.stop-move,.stop-remove{box-sizing:border-box;border:1px solid var(--color-line-strong);border-radius:var(--radius-ctl);background:var(--color-panel);min-width:40px;min-height:40px;color:var(--color-ink);font:700 15px var(--font-sans);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0 10px;line-height:1;display:inline-flex}.stop-add:hover,.stop-move:hover,.stop-remove:hover{background:var(--color-line)}.stop-add:disabled,.stop-move:disabled,.stop-remove:disabled{opacity:.45;cursor:default}.stop-remove{color:var(--color-danger,#c0362c)}.stop-reached{width:28px;min-height:40px;color:var(--color-success,#17805a);flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.ride-fare{font:700 12px var(--font-sans);color:var(--color-success-text);margin-top:2px}.ride-car{font:600 11px var(--font-sans);color:var(--color-muted-strong);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.assign-confirm-card{max-width:460px}.assign-confirm-title{font:700 17px var(--font-sans);color:var(--color-ink);margin:0}.assign-confirm-driver{align-items:center;gap:12px;min-width:0;margin-top:14px;display:flex}.assign-confirm-photo{object-fit:cover;border:2px solid #fff;border-radius:50%;flex:none;width:56px;height:56px;box-shadow:0 1px 4px #0d1b3d29}.assign-confirm-name{font:700 15px var(--font-sans);color:var(--color-ink)}.assign-confirm-car{font:600 12.5px var(--font-sans);color:var(--color-blue);margin-top:3px}.assign-confirm-electric{background:var(--color-success-tint,#e3f4ea);color:var(--color-success-text);font:700 10px var(--font-sans);border-radius:999px;margin-left:6px;padding:1px 6px;display:inline-block}.assign-confirm-plate{font:700 12px var(--font-sans);color:var(--color-muted-strong);margin-top:3px}.assign-confirm-dest{font:500 12.5px var(--font-sans);color:var(--color-muted-strong);margin:14px 0 0}.assign-confirm-route{flex-wrap:wrap;align-items:baseline;gap:8px;min-height:20px;margin-top:12px;display:flex}.assign-confirm-eta{font:700 14px var(--font-sans);color:var(--color-ink)}.assign-confirm-muted{font:500 11.5px var(--font-sans);color:var(--color-muted)}.assign-confirm-close{background:var(--color-blue);color:#fff;width:100%;font:700 13px var(--font-sans);border-radius:var(--radius-ctl);border:none;margin-top:20px;padding:14px}.assign-searching-ring{border:3px solid var(--color-line,#e3e8f2);border-top-color:var(--color-blue);border-radius:50%;width:44px;height:44px;margin:16px auto 0;animation:atspin .9s linear infinite}@media (prefers-reduced-motion:reduce){.assign-searching-ring{animation:none}}.assign-searching-ring-inline{vertical-align:-2px;border-width:2px;width:13px;height:13px;margin:0 7px 0 0;display:inline-block}.form-note{font:500 12px/1.45 var(--font-sans);color:var(--color-muted-strong);align-items:center;margin:2px 0 0;display:flex}.assign-searching-attempt{text-align:center;font:700 12.5px var(--font-sans);color:var(--color-blue);margin-top:10px;display:block}.assign-searching-note{text-align:center;font:500 12px/1.5 var(--font-sans);color:var(--color-muted-strong);margin:10px 0 0}.assign-searching-actions{flex-direction:column;gap:8px;margin-top:18px;display:flex}.assign-searching-danger{background:var(--color-danger);color:#fff;font:700 13px var(--font-sans);border-radius:var(--radius-ctl);border:none;padding:14px}.check-circle{background:var(--color-live);color:#fff;border-radius:50%;width:62px;height:62px;margin:0 auto 14px;font-size:30px}.check-circle,.flash-toast{justify-content:center;align-items:center;display:flex}.flash-toast{z-index:40;pointer-events:none;padding:24px;position:fixed;inset:0}.flash-card{background:var(--color-surface);width:100%;max-width:420px;box-shadow:var(--shadow-modal);text-align:center;animation:var(--animate-flash);pointer-events:none;border-radius:22px;padding:26px 24px}.flash-card .check-circle{width:54px;height:54px;margin:0 auto 14px;font-size:27px}.sum-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px;display:grid}.sum-kpi{background:var(--color-surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);padding:8px 12px}.sum-kpi-label{font:700 10.5px var(--font-sans);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.sum-kpi-value{font:800 17px var(--font-sans);color:var(--color-ink);margin-top:2px}.sum-kpi.is-money{background:var(--color-success-bg)}.sum-kpi.is-money .sum-kpi-value{color:var(--color-success-text)}.sum-fleets{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sum-fleet{background:var(--color-surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);gap:13px;min-width:0;padding:13px 16px;text-decoration:none}.sum-avatar,.sum-fleet{align-items:center;display:flex}.sum-avatar{background:var(--color-blue-tint);width:44px;height:44px;color:var(--color-blue);font:700 15px var(--font-sans);border-radius:50%;flex:none;justify-content:center}.sum-fleet-id{flex:1;min-width:0}.sum-fleet-name{font:700 13px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sum-fleet-retired{font:700 10px var(--font-sans);letter-spacing:.04em}.sum-fleet-owner,.sum-fleet-retired{color:var(--color-muted);margin-top:2px;display:block}.sum-fleet-owner{font:500 11px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sum-metrics{flex:none;gap:18px;display:flex}.sum-metric{text-align:right}.sum-metric-label{font:700 9.5px var(--font-sans);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;display:block}.sum-metric-value{font:700 12.5px var(--font-sans);color:var(--color-ink);margin-top:2px;display:block}.sum-chevron{color:var(--color-faint);font:700 18px var(--font-sans);flex:none}@media (max-width:860px){.sum-fleet{flex-wrap:wrap}.sum-metrics{justify-content:space-between;gap:10px;width:100%}}.veh-fleet-scope{border:1px solid var(--color-line-strong);background:var(--color-blue-tint);color:var(--color-blue);font:700 11px var(--font-sans);border-radius:var(--radius-pill);margin-bottom:10px;padding:5px 11px}.map-wrap{height:calc(var(--vh100) - 210px);border-radius:var(--radius-tile);min-height:420px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.map-canvas,.map-host{position:absolute;inset:0}.map-legend{z-index:1;background:var(--color-surface);border-radius:var(--radius-tile);width:232px;max-height:calc(100% - 24px);box-shadow:var(--shadow-card);flex-direction:column;gap:3px;padding:12px;display:flex;position:absolute;top:12px;left:12px;overflow-y:auto}.map-legend-title{font:700 12px var(--font-sans);color:var(--color-ink);margin:0 0 6px}.map-legend-row{border-radius:var(--radius-ctl);width:100%;font:500 11.5px var(--font-sans);color:var(--color-ink);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:5px 6px;display:flex}.map-legend-row[aria-checked=true]{background:var(--color-blue-tint);font-weight:700}.map-swatch{width:11px;height:11px;box-shadow:0 0 0 1px var(--color-line-strong);border:1.5px solid #fff;border-radius:50%;flex:none}.map-swatch-all{box-shadow:inset 0 0 0 1.5px var(--color-line-strong);background:0 0;border-color:#0000}.map-legend-label{flex:1;min-width:0}.map-legend-count{font:800 11.5px var(--font-sans);color:var(--color-muted-strong)}.map-list{border-top:1px solid var(--color-line);flex-direction:column;gap:2px;margin:8px 0 0;padding:8px 0 0;list-style:none;display:flex}.map-list-item{border-radius:var(--radius-ctl);text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;min-width:0;padding:5px 6px;display:flex}.map-list-item[aria-expanded=true]{background:var(--color-panel-alt)}.map-list-plate{font:700 11px var(--font-sans);color:var(--color-ink);white-space:nowrap}.map-list-driver{min-width:0;font:500 10.5px var(--font-sans);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.map-no-position,.map-position-age{z-index:1;border-radius:var(--radius-pill);background:var(--color-surface);max-width:min(60%,320px);box-shadow:var(--shadow-card);font:600 11px var(--font-sans);color:var(--color-muted-strong);margin:0;padding:5px 9px;position:absolute;bottom:12px;left:12px}.map-list-nogps{font:700 9px var(--font-sans);color:var(--color-muted-strong);background:var(--color-panel);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);flex:none;padding:1px 6px}.map-list-none{font:500 11px var(--font-sans);color:var(--color-muted);margin:8px 0 0;padding:8px 6px 0}.map-list-none,.map-route{border-top:1px solid var(--color-line)}.map-route{flex-direction:column;gap:3px;margin-top:8px;padding:8px 8px 0;display:flex}.map-route-head{font:700 10px var(--font-sans);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.map-route-dest{font:700 12px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-route-eta{font:700 12px var(--font-sans);color:var(--color-blue);align-items:center;gap:6px;display:flex}.returning-modal-dist{font:600 13px var(--font-sans);margin-left:8px}.map-route-dist,.returning-modal-dist{color:var(--color-muted-strong);white-space:nowrap}.map-route-dist{font:600 12px var(--font-sans)}.map-route-est{font:700 9px var(--font-sans);color:var(--color-amber-text);background:var(--color-amber-bg);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;padding:1px 6px}.map-geo-legend{border-top:1px solid var(--color-line);margin-top:8px;padding:8px 6px 0}.map-geo-title{font:700 10px var(--font-sans);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}.map-geo-note{font:500 10px var(--font-sans);color:var(--color-muted);margin:4px 0 0}.map-style-error{z-index:1;background:var(--color-surface);max-width:min(86%,460px);color:var(--color-danger);font:700 11.5px var(--font-sans);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);text-align:center;padding:8px 14px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@media (max-width:860px){.map-wrap{height:55vh}.map-legend{width:154px;max-height:calc(100% - 16px);padding:8px;top:8px;left:8px}.map-legend-title{margin:0 0 4px;font-size:10.5px}.map-legend-row{padding:4px 5px}.map-legend-label{font-size:10.5px}}@media (min-width:981px){.map-page .reports-header{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-page{padding:0}.map-page .veh-layout{gap:0}.map-page .map-wrap{height:calc(var(--vh100) - 70px)}.map-page .veh-detail{width:300px}.map-page .veh-period-tabs{gap:3px;margin-left:-10px;margin-right:-18px}.map-page .veh-period{padding:6px 8px}}.admin-tariff-group-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.admin-tariff-group-head .setting-group-title{margin:0}.admin-tariff-count{font:400 12px var(--font-sans);color:var(--color-muted);margin-right:auto}.admin-tariff-total-cell{font:700 14px var(--font-sans);color:var(--color-ink)}.admin-tariff-retired{opacity:.6}.admin-tariff-total{font:600 13px var(--font-sans);color:var(--color-ink);margin:6px 0 0}.admin-switch-hint,.admin-write-field .setting-toggle+.admin-switch-hint{font:400 12px var(--font-sans);color:var(--color-muted)}.returning-group+.returning-group{border-top:1px solid var(--color-canvas)}.returning-group .tile-row{padding:10px 16px 2px}.returning-list{margin:0;padding:0;list-style:none}.returning-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:0;border-bottom:1px solid var(--color-canvas);background:0 0;align-items:center;gap:11px;padding:10px 16px;display:flex}.returning-row:hover{background:var(--color-canvas)}.returning-photo{object-fit:cover}.returning-text{flex-direction:column;gap:2px;min-width:0;display:flex}.returning-car{font:700 12.5px var(--font-sans);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.returning-meta{align-items:baseline;gap:8px;min-width:0;display:flex}.queue-modal-card{width:min(560px,92vw);max-height:calc(var(--vh100) - 48px);text-align:left;overflow-y:auto}.tile-free-button{appearance:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.queue-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.queue-row{border:1px solid var(--color-line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.queue-pos{text-align:center;min-width:26px;font:700 15px var(--font-sans);color:var(--color-blue);flex:none}.queue-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.queue-car{font:600 13px var(--font-sans);color:var(--color-ink)}.queue-meta{font:400 12px var(--font-sans);color:var(--color-muted-strong);flex-wrap:wrap;gap:8px;display:flex}.queue-not-answering{color:var(--color-amber-text);font-weight:600}.queue-btn{background:var(--color-blue);color:#fff;width:auto;font:700 12px var(--font-sans);border-radius:var(--radius-ctl);cursor:pointer;border:none;flex:0 auto;margin-top:0;padding:9px 12px}.queue-btn:disabled{opacity:.6;cursor:default}.queue-btn-danger{background:var(--color-danger)}.queue-confirm{flex-direction:column;flex:1 0 100%;gap:8px;margin-top:8px;display:flex}.inline-confirm:focus,.queue-confirm:focus{outline:2px solid var(--color-blue);outline-offset:2px}.queue-confirm-body{font:400 12px var(--font-sans);color:var(--color-ink)}.queue-confirm-actions{gap:8px;display:flex}.returning-modal-card{width:min(520px,92vw);max-height:calc(var(--vh100) - 48px);overflow-y:auto}.returning-map{border:1px solid var(--color-line-strong);border-radius:10px;height:260px;margin-top:12px;position:relative;overflow:hidden}.returning-modal-eta{font:700 13px var(--font-sans);color:var(--color-ink);margin-top:8px}.returning-modal-note{font:500 11px/1.45 var(--font-sans);color:var(--color-muted);margin:8px 0 0}.returning-modal-error{text-align:center;border:1px solid var(--color-line-strong);background:var(--color-surface);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:140px;margin-top:12px;padding:20px 16px;display:flex}.panel-scroll{overscroll-behavior:contain;max-height:var(--panel-max,320px);overflow-y:auto}.panel.is-primary{--panel-max:520px}.panel.is-secondary{--panel-max:170px}.panel-head{background:var(--color-surface);z-index:1;position:sticky;top:0}.machine-closed-notice{border-color:var(--color-danger)}.machine-closed-notice,.machine-closed-notice .panel-head{background:var(--color-danger-bg)}.machine-closed-notice .count-badge,.machine-closed-notice .panel-title{color:var(--color-danger)}.portal-crash{padding:26px 30px 34px}@media (max-width:640px){.lcards{gap:10px;margin:0;padding:0;list-style:none}.lcard,.lcards{flex-direction:column;display:flex}.lcard{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);gap:9px;min-width:0;padding:12px 14px}.lcard.is-selected{outline:2px solid var(--color-blue)}.lcard-head{align-items:flex-start;gap:9px;display:flex}.lcard-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lcard-eyebrow{font:700 10px var(--font-sans);letter-spacing:.05em;color:var(--color-faint)}.lcard-title{font:800 14px var(--font-sans);color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.lcard-sub,.lcard-title{overflow-wrap:break-word}.lcard-sub{font:500 12px var(--font-sans);color:var(--color-muted)}.lcard-action,.lcard-chip{flex:none}.lcard-pairs{border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding-top:9px;display:grid}.lcard-pair:last-child:nth-child(odd){grid-column:1/-1}.lcard-pair{flex-direction:column;gap:1px;min-width:0;display:flex}.lcard-k{font:700 9.5px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint)}.lcard-v{font:600 12.5px var(--font-sans);color:var(--color-ink);font-variant-numeric:tabular-nums;overflow-wrap:break-word}.lchip{border-radius:var(--radius-pill);background:var(--color-panel);color:var(--color-muted);font:700 10.5px var(--font-sans);white-space:nowrap;padding:4px 9px;display:inline-block}.lchip.is-danger{background:var(--color-danger-bg);color:var(--color-danger)}.lcard .vmodal-open{min-width:44px;min-height:44px}.shell--tabs .reports-field,.shell--tabs .reports-filters{min-width:0}.shell--tabs .reports-chip-group,.shell--tabs .segment,.shell--tabs .veh-period-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;min-width:0;padding-right:14px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.shell--tabs .reports-chip-group::-webkit-scrollbar,.shell--tabs .veh-period-tabs::-webkit-scrollbar{display:none}.shell--tabs .segment::-webkit-scrollbar{display:none}.shell--tabs .reports-chip-group>*,.shell--tabs .segment>*,.shell--tabs .veh-period-tabs>*{scroll-snap-align:start;flex:none}.shell--tabs .segment{max-width:100%;display:flex}}.tmenu-overlay{z-index:60;padding:calc(env(safe-area-inset-top,0px) + 62px) 10px 0;background:#0d1b3d57;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.tmenu-card{background:var(--color-surface);border-radius:var(--radius-card);min-width:208px;max-width:calc(100vw - 20px);box-shadow:var(--shadow-card),0 16px 40px #0d1b3d47;outline:none;gap:2px;padding:6px}.tmenu-card,.tmenu-head{flex-direction:column;display:flex}.tmenu-head{border-bottom:1px solid var(--color-line);gap:1px;margin-bottom:4px;padding:8px 12px 9px}.tmenu-name{font:700 13px var(--font-sans);color:var(--color-ink);overflow-wrap:anywhere}.tmenu-sub{font:600 11px var(--font-sans);color:var(--color-muted)}.tmenu-item{border-radius:var(--radius-ctl);min-height:44px;color:var(--color-ink);font:600 13px var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0 12px;display:flex}.tmenu-item:hover{background:var(--color-panel)}.tmenu-item.is-selected{background:var(--color-blue-tint);color:var(--color-blue)}.tmenu-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.tmenu-code{min-width:30px;font:700 10px var(--font-sans);letter-spacing:.06em;color:var(--color-faint);flex:none}.tmenu-item.is-selected .tmenu-code{color:var(--color-blue)}@media (max-width:860px){.portal-shell.shell--tabs{--shell-tabbar-h:calc(60px + env(safe-area-inset-bottom,0px));flex-direction:column}.shell--tabs .shell-mtop{z-index:30;background:var(--color-ink);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 10px) 13px 10px;flex:none;align-items:center;gap:9px;display:flex;position:sticky;top:0}.shell--tabs .shell-mtop-mark{background:var(--color-yellow);width:32px;height:32px;color:var(--color-ink);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:15px;display:flex}.shell--tabs .shell-mtop-brand{flex-direction:column;min-width:0;line-height:1.1;display:flex}.shell--tabs .shell-mtop-word{font:800 14px var(--font-sans);letter-spacing:.07em}.shell--tabs .shell-mtop-sub{font:500 9.5px var(--font-sans);letter-spacing:.04em;color:#aab6d4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell--tabs .shell-mtop-right{flex:none;align-items:center;gap:7px;margin-left:auto;display:flex}.shell--tabs .shell-mtop-live{border-radius:var(--radius-pill);font:700 9.5px var(--font-sans);letter-spacing:.09em;white-space:nowrap;background:#ffffff1a;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.shell--tabs .shell-mtop-lang{border-radius:var(--radius-pill);color:#fff;min-width:44px;height:44px;font:700 11px var(--font-sans);letter-spacing:.04em;cursor:pointer;background:#ffffff1a;border:none;flex:none;padding:0 11px}.shell--tabs .shell-mtop-user{background:var(--color-blue);color:#fff;width:44px;height:44px;font:700 13px var(--font-sans);cursor:pointer;border:none;border-radius:50%;flex:none}.shell--tabs .shell-mscope{color:#c3cee9;font:600 11px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;background:#142450;flex:none;align-items:center;gap:6px;padding:5px 14px 6px;display:flex;overflow:hidden}.shell--tabs .portal-main{padding-bottom:var(--shell-tabbar-h)}.shell--tabs .shell-tabbar{z-index:30;background:var(--color-surface);border-top:1px solid var(--color-line-strong);padding-bottom:env(safe-area-inset-bottom,0);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.shell--tabs .shell-tab{min-height:58px;color:var(--color-faint);font:600 10px var(--font-sans);text-align:center;flex-direction:column;gap:3px;padding:7px 3px 6px;line-height:1.15;text-decoration:none;position:relative}.shell--tabs .shell-tab,.shell--tabs .shell-tab-icon{justify-content:center;align-items:center;display:flex}.shell--tabs .shell-tab-icon{background:var(--color-panel);width:23px;height:23px;color:var(--color-muted);border-radius:8px;flex:none;font-size:12px}.shell--tabs .shell-tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.shell--tabs .shell-tab.active{color:var(--color-ink)}.shell--tabs .shell-tab.active .shell-tab-icon{background:var(--color-yellow);color:var(--color-ink)}.shell--tabs .shell-tab.active:before{content:"";background:var(--color-yellow);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:22%;right:22%}.shell--tabs .shell-tab:focus-visible{outline:2px solid var(--color-blue);outline-offset:-3px;border-radius:var(--radius-ctl)}.shell--tabs .shell-mtop-lang:focus-visible,.shell--tabs .shell-mtop-user:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.shell--tabs .map-list-driver,.shell--tabs .reports-detail-clip,.shell--tabs .sum-fleet-name,.shell--tabs .sum-fleet-owner,.shell--tabs .veh-carline{white-space:normal;text-overflow:clip;overflow-wrap:break-word;max-width:none;overflow:visible}.shell--tabs .map-list-item{flex-wrap:wrap;row-gap:0}.shell--tabs .map-list-driver{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.flash-card,.modal-card,.sheet{animation:none}}@media (min-width:900px){html{zoom:.9;--vh100:calc(100vh / .9)}.portal-main:has(.dispatch-surface){flex-direction:column;display:flex}.dispatch-surface{flex:1;align-items:stretch}.dispatch-main{flex-direction:column;flex:1;min-width:0;display:flex}.dispatch-body{flex:1;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;max-width:1200px;margin:0 auto;padding:8px 26px 22px;display:grid}.dispatch-rides-col>.panel{flex:1}.tiles-grid{grid-column:1/-1;gap:16px;width:100%;min-width:0;max-width:940px;margin:0 auto}.overlay.bottom.assign-sheet-overlay{justify-content:center;align-items:center;padding:32px}.stop-row{flex-wrap:nowrap}.stop-row>.addr-search{flex:auto;order:0}.overlay.bottom.assign-sheet-overlay .sheet{border-radius:22px;width:640px;max-width:100%}.overlay.bottom.assign-sheet-overlay .grabber{display:none}.assign-confirm-card{max-width:480px}.cancel-confirm-card{max-width:520px}.tile{padding:15px 14px}.tile-label{font-size:15px}.tile-free{font-size:44px}.tile-free-lbl{font-size:14px}.tile-stat-icon{font-size:13px}.tile-stat .n{font-size:14.5px}.tile-stat .lbl{font-size:13px}.tile-assign{padding:11px;font-size:15px}.tile .btn-ghost{padding:9px 12px;font-size:14px}.dispatch-body .panel-head{padding:16px 18px 13px}.dispatch-body .panel-title{font-size:17px}.dispatch-body .count-badge{padding:2px 11px;font-size:17px}.dispatch-body .panel .empty-state{font-size:15.5px}.dispatch-body .panel.is-primary{--panel-max:700px}.dispatch-body .panel.is-secondary{--panel-max:240px}.dispatch-body .returning-row{padding:11px 16px;font-size:15px}.dispatch-body .returning-car{font-size:15.5px}.dispatch-body .ride-row{padding:14px 18px}.dispatch-body .ride-name{font-size:15.5px}.dispatch-body .ride-plate{font-size:13.5px}.dispatch-body .ride-car,.dispatch-body .ride-dest{font-size:14px}.dispatch-body .ride-fare{font-size:15px}.dispatch-body .queue-btn{font-size:12.5px}.sheet-title{font-size:18px}.type-pill{padding:7px 15px;font-size:12px}.chip{padding:11px 18px;font-size:13.5px}.addr-input{padding:13px 16px;font-size:15px}.addr-row-label{font-size:14px}.addr-row-far{font-size:11.5px}.addr-row-detail{font-size:12.5px}.addr-choice-title{font-size:18px}.addr-hint{font-size:13px}.addr-attribution{font-size:12px}.addr-pill-label{font-size:14px}.addr-pill-clear{font-size:16.5px}.sheet-section-label,.tariff-section-label{font-size:11.5px}.tariff-section-hint{font-size:13px}.tariff-manual-input{padding:12px 16px;font-size:15px}.addr-map-btn{min-height:52px;padding:13px 18px;font-size:14px}.addr-map-title{font-size:18px}.addr-map-sub{font-size:13.5px}.addr-map-address-label{font-size:15.5px}.addr-map-address-detail{font-size:13px}.dist-strip-label{font-size:10.5px}.dist-strip-value{font-size:18px}.dist-strip-extra{font-size:13.5px}.dist-strip-pending{font-size:13px}.sheet-actions .btn-ghost,.sheet-actions .btn-primary{font-size:14.5px}.assign-confirm-title{font-size:24px}.assign-confirm-name{font-size:21px}.assign-confirm-car{font-size:17.5px}.assign-confirm-electric{font-size:14px}.assign-confirm-plate{font-size:16.5px}.assign-confirm-dest{font-size:17.5px}.assign-confirm-eta{font-size:19.5px}.assign-confirm-muted{font-size:16px}.assign-confirm-close{padding:18px;font-size:18px}.assign-searching-attempt{font-size:17.5px}.assign-searching-note{font-size:16.5px}.assign-searching-danger{padding:18px;font-size:18px}.returning-modal-dist,.returning-modal-eta{font-size:18px}.returning-modal-note{font-size:15.5px}.inline-confirm-title{font-size:18px}.inline-confirm-body{font-size:16.5px}.modal-h2{font-size:24px}.modal-body-text{font-size:16.5px}.modal-danger-btn{padding:18px;font-size:18px}.cancel-confirm-ride{font-size:17.5px}.nocar-flash-text{font-size:19.5px}.dispatch-strip h1{font-size:25px}.dispatch-strip .live-badge{padding:6px 13px;font-size:12.5px}.dispatch-body .tile-row .n{font-size:15px}.dispatch-body .tile-row .lbl{font-size:12.5px}.dispatch-body .panel .retry-banner{padding:10px 14px;font-size:13.5px}.dispatch-body .ride-live{font-size:11px}.dispatch-body .ride-avatar{width:58px;height:58px;font-size:16px}}@media (max-width:560px){.addr-input,.login-input,.reports-select,.tariff-manual-input,.veh-search,input,select,textarea{font-size:16px}.portal-header{gap:10px;padding:12px 14px}.portal-header .brand-text{display:none}.portal-brand{gap:10px}.dispatch-strip{padding:14px 14px 6px}.dispatch-strip h1{font-size:20px}.dispatch-body{gap:12px;padding:12px 14px 24px}.segment-wrap{padding:4px 14px 0}.tile{padding:13px 12px}.tile-free{font-size:38px}.ride-avatar{width:42px;height:42px;font-size:14px}}.sum-kpis{margin-top:14px}.sum-kpi{text-align:center}.sum-datafloor{border-radius:var(--radius-tile);background:var(--color-warn-bg,var(--color-surface));color:var(--color-muted);font:500 12px var(--font-sans);margin:0 0 12px;padding:9px 12px}.period-picker-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.veh-period-menu{display:inline-flex;position:relative}.veh-period-pop{z-index:30;background:var(--color-surface);border-radius:var(--radius-tile);min-width:132px;box-shadow:var(--shadow-modal);flex-direction:column;padding:4px;display:flex;position:fixed;overflow-y:auto}.veh-period-item{appearance:none;text-align:left;white-space:nowrap;font:600 12px var(--font-sans);color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px}.veh-period-item:focus-visible,.veh-period-item:hover{background:var(--color-bg)}.veh-period-item[aria-current=true]{color:var(--color-accent,var(--color-ink))}.veh-scope-row{flex-wrap:wrap;gap:8px;margin:10px 0 0;display:flex}.veh-section{margin-bottom:18px}.veh-section-head{font:700 14px var(--font-sans);color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;display:flex}.veh-section-name{font-weight:700}.veh-export{align-items:center;gap:8px;display:inline-flex}.veh-section-totals{font:600 12px var(--font-sans);color:var(--color-muted);gap:12px;margin-left:auto;display:flex}.veh-section-empty{font:500 12px var(--font-sans);color:var(--color-muted);margin:0;padding:10px 2px}.veh-live-dot{background:var(--color-muted);border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.veh-live-dot.is-live{background:var(--color-success-text,green)}.veh-live-dot.is-retired{background:var(--color-danger-text,crimson)}.veh-plate-text.is-retired{color:var(--color-danger-text,crimson)}.veh-report-table tbody.veh-vehicle-group+tbody.veh-vehicle-group td{border-top:1px solid var(--color-border,#00000014)}.veh-subrow td{padding-top:4px;padding-bottom:4px;font-size:12.5px}.veh-car-cell{vertical-align:top;border-right:1px solid var(--color-border,#00000014);text-align:center;padding-top:8px;padding-bottom:8px}.veh-car-earn{font:700 12.5px var(--font-sans);color:var(--color-success-text,green);margin-top:4px}.veh-car-counts{font:600 11px var(--font-sans);color:var(--color-muted);margin-top:2px}.veh-subrow.is-openable{cursor:pointer}.veh-assigned-now{font:600 10.5px var(--font-sans);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.veh-assigned-now,.veh-muted{color:var(--color-muted)}.veh-open-blocked{width:26px;display:inline-block}.veh-report-cards{flex-direction:column;gap:10px;display:flex}.veh-report-card{background:var(--color-surface);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);padding:12px 14px}.veh-report-card.is-selected{outline:2px solid var(--color-accent,var(--color-ink))}.veh-report-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.veh-report-card-metrics{font:600 12px var(--font-sans);flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.veh-report-card-drivers{border-top:1px solid var(--color-border,#00000014);font:500 12px var(--font-sans);flex-direction:column;gap:6px;margin:8px 0 0;padding:8px 0 0;list-style:none;display:flex}.veh-report-card-drivers li{align-items:center;gap:10px;display:flex}.veh-report-card-drivers li .veh-driver{flex:1}.veh-violation-when{font:500 11px var(--font-sans);color:var(--color-muted);margin-top:2px;display:block}.veh-period-tabs .veh-period-menu{flex:none}.veh-period-tabs{gap:3px}.veh-period-tabs .veh-period{padding:6px}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.row-6{grid-row:6}.row-10{grid-row:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-row{display:table-row}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@keyframes atpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@keyframes atup{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes atflash{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes atspin{to{transform:rotate(1turn)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}:lang(ka){font-family:var(--font-georgian)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}