:root,:root[data-theme=light]{--background:#e9edf2;--foreground:#1f2937;--hk-desk:#e9edf2;--hk-side:#e0e5eb;--hk-panel:#fafbfc;--hk-well:#f0f3f6;--hk-well2:#f5f7f9;--hk-surface:#ffffff;--hk-raised:#f4f5f7;--hk-raised-hover:#ffffff;--hk-nav:#f1f3f6;--hk-face:#eef1f5;--hk-thead:#e6eaef;--hk-zebra:#f6f8fa;--hk-strip:#eef2f7;--hk-track:#e4e8ed;--hk-line:#c9d1db;--hk-line-soft:#dde3ea;--hk-frame:#94a3b8;--hk-text:#1f2937;--hk-ink:#0f172a;--hk-label:#475569;--muted-fg:#64748b;--hk-link:#1d4ed8;--hk-hi:#ffffff;--hk-lo:#9aa5b4;--hk-lo2:#d5dbe3;--hk-sunk:#e2e6eb;--hk-shade:#b8c1cc;--sheet-head:#1f3864;--sheet-cell:#e2efd9;--sheet-line:#000000;--danger:#be123c;--success:#047857;--warn:#92400e;--card:var(--hk-panel);--muted:var(--hk-well);--border:var(--hk-line);--radius:8px;--radius-lg:12px;--surface-shadow:0 2px 8px rgb(15 23 42/.06),0 8px 24px rgb(15 23 42/.04);--fs-xs:10px;--fs-sm:11px;--fs-base:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;color-scheme:light}:root[data-theme=dark]{--background:#0e131a;--foreground:#e5e9ee;--hk-desk:#0e131a;--hk-side:#121922;--hk-panel:#161d26;--hk-well:#1b232d;--hk-well2:#18202a;--hk-surface:#1e2631;--hk-raised:#232d39;--hk-raised-hover:#2a3644;--hk-nav:#1e2631;--hk-face:#1a222c;--hk-thead:#232d39;--hk-zebra:#1a222c;--hk-strip:#1f2833;--hk-track:#2b3541;--hk-line:#364252;--hk-line-soft:#2a3441;--hk-frame:#4b5a6d;--hk-text:#e5e9ee;--hk-ink:#f3f6f9;--hk-label:#a9b4c2;--muted-fg:#8794a6;--hk-link:#7fb2ff;--hk-hi:#2f3a48;--hk-lo:#0a0e13;--hk-lo2:#11171e;--hk-sunk:#0c1117;--hk-shade:#05080b;--sheet-head:#24406e;--sheet-cell:#1d3326;--sheet-line:#4b5a6d;--danger:#fb7185;--success:#34d399;--warn:#fbbf24;--surface-shadow:0 2px 8px rgb(0 0 0/.35),0 8px 24px rgb(0 0 0/.25);color-scheme:dark}:root[data-theme=night]{--background:#070605;--foreground:#d6c8ad;--hk-desk:#070605;--hk-side:#0c0b09;--hk-panel:#100f0c;--hk-well:#14120e;--hk-well2:#12100d;--hk-surface:#17140f;--hk-raised:#1c1913;--hk-raised-hover:#231f18;--hk-nav:#17140f;--hk-face:#13110d;--hk-thead:#1c1913;--hk-zebra:#13110e;--hk-strip:#19160f;--hk-track:#2a251c;--hk-line:#2f2a20;--hk-line-soft:#241f18;--hk-frame:#3d362a;--hk-text:#d6c8ad;--hk-ink:#e8dcc3;--hk-label:#a8977a;--muted-fg:#85775f;--hk-link:#d9a35b;--hk-hi:#2a251c;--hk-lo:#050403;--hk-lo2:#0b0a08;--hk-sunk:#080706;--hk-shade:#000000;--sheet-head:#3a2d17;--sheet-cell:#1f1b12;--sheet-line:#3d362a;--danger:#e8796b;--success:#9bc46a;--warn:#e0a03c;--surface-shadow:0 2px 8px rgb(0 0 0/.5);color-scheme:dark}.hk-desktop{--hk-brand:var(--brand-primary,#0c447c);--hk-brand-dark:color-mix(in srgb,var(--hk-brand) 52%,#000);--hk-brand-edge:color-mix(in srgb,var(--hk-brand) 60%,#fff);--hk-brand-tint:color-mix(in srgb,var(--hk-brand) 13%,var(--hk-surface));--hk-active:var(--hk-brand);--hk-active-edge:var(--hk-brand-dark);--primary:var(--hk-brand);--accent:var(--hk-brand-tint)}[data-theme=dark] .hk-desktop{--hk-brand-tint:color-mix(in srgb,var(--hk-brand) 30%,var(--hk-surface));--hk-active:color-mix(in srgb,var(--hk-brand) 75%,#5b8def)}[data-theme=night] .hk-desktop{--hk-brand:color-mix(in srgb,var(--brand-primary,#0c447c) 45%,#9a5b13);--hk-brand-tint:color-mix(in srgb,var(--hk-brand) 30%,var(--hk-surface))}[data-theme=night] .hk-desktop img{filter:brightness(.8)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}.hk-desktop{background:var(--background);color:var(--hk-text);font:12px Tahoma,Segoe UI,Verdana,Arial,Liberation Sans,DejaVu Sans,sans-serif;line-height:1.45}.hk-desktop .bus-arrow,.hk-desktop .end-dot,.hk-desktop .legend-bus,.hk-desktop .legend-dot,.hk-desktop .maplibregl-ctrl-group,.hk-desktop .spinner{border-radius:9999px!important}.hk-desktop .maplibregl-ctrl-group{border-radius:4px!important}.hk-desktop .route-pin{border-radius:50% 50% 50% 0!important}a{color:var(--hk-link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--hk-ink)}:focus-visible{outline:2px solid var(--hk-brand);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.text-danger{color:var(--danger)}.full-width{width:100%}.icon-button,.primary-button,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:4px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--hk-text);white-space:nowrap;background:var(--hk-raised);border:1px solid;border-color:var(--hk-hi) var(--hk-lo) var(--hk-lo) var(--hk-hi);box-shadow:inset -1px -1px var(--hk-lo2),inset 1px 1px var(--hk-hi);cursor:pointer}button:hover{background:var(--hk-raised-hover)}button:active:not(:disabled){border-color:var(--hk-lo) var(--hk-hi) var(--hk-hi) var(--hk-lo);box-shadow:inset 1px 1px var(--hk-sunk)}button:disabled{opacity:.55;cursor:not-allowed}button[aria-busy=true]{cursor:progress}.primary-button i.ti,button i.ti{font-size:14px}.primary-button{color:#fff;background:var(--hk-brand);border-color:var(--hk-brand-edge) var(--hk-brand-dark) var(--hk-brand-dark) var(--hk-brand-edge);box-shadow:inset 1px 1px rgb(255 255 255/.22);text-decoration:none}.primary-button:hover{color:#fff;background:color-mix(in srgb,var(--hk-brand) 88%,#fff);text-decoration:none}.primary-button:active:not(:disabled){border-color:var(--hk-brand-dark) var(--hk-brand-edge) var(--hk-brand-edge) var(--hk-brand-dark);box-shadow:inset 1px 1px rgb(0 0 0/.25)}.danger-button,.icon-button.is-danger{color:var(--danger)}.danger-fill,.danger-fill:hover{color:#fff;background:#be123c;border-color:#f0a3b3 #7f0d27 #7f0d27 #f0a3b3}.icon-button{width:28px;height:28px;min-height:28px;padding:0;font-size:15px}.link-button{min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--hk-link);text-decoration:underline;font-weight:400}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{min-width:0;min-height:28px;height:28px;padding:3px 8px;font:inherit;font-size:12px;color:var(--hk-text);background:var(--hk-surface);border:1px solid;border-color:var(--hk-lo) var(--hk-hi) var(--hk-hi) var(--hk-lo);box-shadow:inset 1px 1px var(--hk-sunk)}textarea{height:auto;padding:5px 8px}input:focus,select:focus,textarea:focus{outline:2px solid var(--hk-brand);outline-offset:1px}input::placeholder,textarea::placeholder{color:#777}input[type=checkbox]{accent-color:var(--hk-brand)}.field label,.form-label,label{font-size:11px;font-weight:600;color:var(--hk-label)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-full,.span-2{grid-column:1/-1}.form-help,.hk-hint{margin:0;font-size:11px;color:var(--muted-fg)}.error-message{margin:0;font-size:12px;color:var(--danger)}.inline-notice{margin:0;padding:6px 10px;font-size:12px;color:#1e3a5f;background:#eef4fb;border:1px solid var(--hk-line)}.password-field{position:relative}.password-field input{width:100%;padding-right:58px}.password-field button{position:absolute;right:3px;top:3px;min-height:22px;height:22px;padding:0 8px;font-size:11px}.hk-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.hk-titlebar{flex:none;min-height:38px;padding:5px 14px;justify-content:space-between;gap:12px;background:linear-gradient(90deg,var(--hk-brand-dark),var(--hk-brand));border:1px solid var(--hk-brand-edge)}.hk-brand,.hk-titlebar{display:flex;align-items:center;color:#fff}.hk-brand{gap:9px;min-width:0}.hk-brand:hover{text-decoration:none}.hk-brand i{font-size:18px}.hk-brand strong{font-size:16px;white-space:nowrap}.hk-brand>span{padding-left:12px;border-left:1px solid rgb(255 255 255/.45);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hk-userbar{gap:8px;font-size:11px}.hk-userbar,.hk-userbar-user{display:flex;align-items:center;min-width:0}.hk-userbar-user{gap:5px;white-space:nowrap}.hk-userbar-user b{font-weight:600;overflow:hidden;text-overflow:ellipsis}.hk-userbar-user small{opacity:.8;text-transform:capitalize;font-size:11px}.hk-userbar-btn{min-height:24px;height:24px;padding:0 8px;gap:4px;font-size:11px;font-weight:400;color:#fff;background:transparent;border:1px solid rgb(255 255 255/.5);box-shadow:none}.hk-userbar-btn:hover{background:rgb(255 255 255/.15)}.hk-userbar-btn:active:not(:disabled){border-color:rgb(255 255 255/.5);box-shadow:none}.hk-userbar-btn i.ti{font-size:13px}.hk-body{flex:1 1;min-height:0;display:flex}.hk-sidebar{flex:none;width:232px;display:flex;flex-direction:column;border-right:1px solid var(--hk-line);transition:width .22s ease;overflow:hidden}.hk-sidebar.collapsed{width:58px}.hk-sidebar-brand{flex:none;display:flex;align-items:center;gap:10px;padding:14px 10px 12px;min-height:72px;border-bottom:1px solid var(--hk-line);box-shadow:0 1px #e8e8e8}.hk-sidebar-brand img{display:block;width:44px;height:44px;flex:none;object-fit:contain;background:#fff;border:1px solid #9a9a9a;padding:2px}.hk-sidebar-mark{width:38px;height:38px;flex:none;display:grid;place-items:center;font-size:20px;color:#fff;background:var(--hk-brand);border:1px solid;border-color:var(--hk-brand-edge) var(--hk-brand-dark) var(--hk-brand-dark) var(--hk-brand-edge)}.hk-sidebar-name{min-width:0;white-space:nowrap}.hk-sidebar-name b{display:block;color:var(--hk-ink);overflow:hidden;text-overflow:ellipsis}.hk-sidebar-name small{display:block;color:var(--hk-label);text-transform:uppercase;letter-spacing:.12em}.hk-sidebar nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 6px 8px;display:flex;flex-direction:column;gap:3px}.hk-subnav{margin:0;padding:0;border:0}.hk-subnav,.hk-subnav>div{display:flex;flex-direction:column;gap:4px}.hk-subnav a{position:relative;width:100%;min-height:44px;display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:700;background:var(--hk-raised);border:1px solid;border-color:var(--hk-hi) var(--hk-lo) var(--hk-lo) var(--hk-hi);box-shadow:inset 1px 1px var(--hk-hi),inset -1px -1px var(--hk-lo2)}.hk-subnav a:hover{text-decoration:none;background:var(--hk-raised-hover)}.hk-subnav a[aria-current=page]{color:#fff;background:var(--hk-active);border-color:#fff var(--hk-active-edge) var(--hk-active-edge) #fff}.hk-subnav a>i,.hk-subnav a>span:not(.hk-subnav-current){position:relative;z-index:1}.hk-subnav a>i{font-size:20px;flex:none}.hk-subnav-current{position:absolute;inset:0;z-index:0;background:var(--hk-active)}.hk-dept-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hk-sidebar-toggle{flex:none;margin:6px;padding:7px;font-size:11px}.hk-sidebar-toggle i.ti{font-size:16px}.hk-sidebar.collapsed .hk-sidebar-brand{justify-content:center;padding-inline:0}.hk-sidebar.collapsed .hk-sidebar-brand img{width:38px;height:38px}.hk-sidebar.collapsed .hk-dept-label,.hk-sidebar.collapsed .hk-sidebar-name,.hk-sidebar.collapsed .hk-subnav p,.hk-sidebar.collapsed .hk-toggle-label{display:none}.hk-sidebar.collapsed .hk-subnav{margin:0;padding:0;border:0}.hk-sidebar.collapsed .hk-subnav a{justify-content:center;padding:8px 0}.hk-workspace{flex:1 1;min-width:0;min-height:0;overflow:auto}.billing-banner{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;font-size:12px;color:#78350f;background:#fffbeb;border-bottom:1px solid #b45309}.fcc,.page-content{padding:10px 12px;display:flex;flex-direction:column;gap:10px;max-width:none;margin:0}.page-heading{justify-content:space-between;gap:12px;margin:0;padding:10px 14px;background:var(--hk-panel);border:1px solid var(--hk-line);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade)}.page-heading,.page-title{display:flex;flex-wrap:wrap;align-items:center}.page-title{gap:8px;min-width:0}.page-heading h1,.page-title h1{margin:0;font-size:16px;color:var(--hk-ink)}.page-subtitle{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 0;font-size:11px;color:var(--hk-label)}.count-badge,.tab-count{display:inline-block;min-width:20px;padding:0 5px;font-size:10px;font-weight:700;text-align:center;color:#fff;background:var(--hk-brand)}.count-badge.is-full{background:var(--danger);color:#fff}.billing-card,.directory-panel,.fcc-feed,.fcc-panel,.invoice-doc,.invoice-pay,.panel,.till-breakdown{background:var(--hk-panel);border:1px solid var(--hk-line);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade);min-width:0}.empty-state{margin:0;padding:28px 12px;text-align:center;color:var(--muted-fg);font-weight:600}.data-stale{margin:0;padding:7px 12px;color:#78350f;background:#fffbeb;border:1px solid #b45309}.admin-tabs,.archive-tabs,.group-switch,.mode-switch{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px 6px;background:var(--hk-well);border:1px solid var(--hk-line);align-self:flex-start}.admin-tabs a,.archive-tabs button,.group-switch button,.mode-btn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:0;padding:5px 12px;font-size:12px;font-weight:600;color:var(--hk-label);background:transparent;border:1px solid transparent;box-shadow:none;white-space:nowrap}.admin-tabs a:hover,.archive-tabs button:hover,.group-switch button:hover,.mode-btn:hover{color:var(--hk-ink);background:transparent;text-decoration:none}.admin-tabs a[aria-current],.archive-tabs button[aria-selected=true],.group-switch button[aria-pressed=true]{color:var(--hk-ink);background:var(--hk-panel);border-color:var(--hk-line);border-top:2px solid var(--hk-brand);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade)}.archive-tabs button span{font-weight:400;color:var(--hk-label)}.mode-btn.active,.mode-btn.active:hover{color:var(--hk-ink)}.mode-btn>i,.mode-btn>span:not(.mode-pill){position:relative;z-index:1}.mode-pill{position:absolute;inset:-1px;z-index:0;background:var(--hk-panel);border:1px solid var(--hk-line);border-top:2px solid var(--hk-brand);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade)}.group-pill{display:none}.filter-chip{color:#fff!important;background:var(--hk-brand)!important}.data-table{display:flex;flex-direction:column;min-width:0}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 12px;padding:10px 0 8px;border-bottom:1px solid var(--hk-line)}.table-title{margin:0 auto 0 0;font-size:13px;font-weight:700;color:var(--hk-ink)}.table-search{position:relative;display:flex;align-items:center;gap:6px;margin-left:auto;padding:0 8px;background:var(--hk-surface);border:1px solid;border-color:var(--hk-lo) var(--hk-hi) var(--hk-hi) var(--hk-lo);box-shadow:inset 1px 1px var(--hk-sunk);color:var(--muted-fg)}.table-search input{width:220px;height:26px!important;min-height:26px!important;padding:0!important;border:0!important;box-shadow:none!important;outline:none;background:transparent!important}.column-menu{position:relative}.column-menu summary{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 12px;font-size:12px;font-weight:600;list-style:none;cursor:pointer;background:var(--hk-raised);border:1px solid;border-color:var(--hk-hi) var(--hk-lo) var(--hk-lo) var(--hk-hi);box-shadow:inset -1px -1px var(--hk-lo2),inset 1px 1px var(--hk-hi)}.column-menu summary::-webkit-details-marker{display:none}.column-menu>div{position:absolute;right:0;top:32px;z-index:20;min-width:180px;padding:6px;background:var(--hk-surface);border:1px solid var(--hk-frame);box-shadow:3px 3px 0 rgb(0 0 0/.3)}.column-menu label{display:flex;align-items:center;gap:8px;padding:4px;font-weight:400;color:var(--hk-text)}.table-scroll{overflow:auto;margin:10px 12px 0}table{border-collapse:collapse}.data-table table,.fleet-table table,.history-table,.invoice-table,.report-table,.summary-table{width:100%;background:var(--hk-surface);border-collapse:collapse;font-size:12px}.data-table td,.data-table th,.fleet-table td,.fleet-table th,.history-table td,.invoice-table td,.invoice-table th,.report-table td,.report-table th,.summary-table td,.summary-table th{border:1px solid var(--hk-line);padding:6px 9px}.data-table th,.fleet-table th,.history-table thead td,.invoice-table thead th,.report-table thead th,.summary-table thead th{height:auto;background:var(--hk-thead);color:var(--hk-text);font-weight:600;text-align:left;white-space:nowrap}.data-table tbody tr:nth-child(2n),.fleet-table tbody tr:nth-child(2n),.history-table tbody tr:nth-child(2n),.report-table tbody tr.report-row:nth-child(2n){background:var(--hk-zebra)}.data-table tbody tr.is-selected,.data-table tbody tr:hover,.fleet-table tbody tr:hover{background:var(--hk-brand-tint)}.sort-button{min-height:0;padding:0;gap:4px;font-size:12px;font-weight:600;color:var(--hk-text);border:0;box-shadow:none}.sort-button,.sort-button:hover{background:none}.sort-button:disabled{opacity:1;cursor:default}.data-table td.select-cell,.data-table th.select-cell{width:34px;text-align:center}.data-table td.actions-cell,.data-table th.actions-cell{width:44px;text-align:center}.row-checkbox{width:14px;height:14px;margin:0;vertical-align:middle;cursor:pointer}.table-empty{height:80px;text-align:center;color:var(--muted-fg);font-weight:600}.table-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:8px 12px 10px;font-size:11px;color:var(--hk-label)}.table-pagination label{display:flex;align-items:center;gap:6px;font-weight:400}.table-pagination select{min-height:24px;height:24px;padding:0 4px}.pagination-buttons{display:flex;align-items:center;gap:6px}.pagination-buttons button{width:26px;min-height:24px;height:24px;padding:0}.bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-right:auto;padding:3px 6px 3px 10px;font-size:12px;background:var(--hk-brand-tint);border:1px solid var(--hk-brand)}.bulk-bar button{min-height:24px;padding:2px 9px;font-size:11px}.row-action-trigger{min-height:22px;height:22px;width:30px;padding:0;font-size:12px;letter-spacing:1px}.row-action-menu{position:fixed;z-index:100;width:220px;padding:3px;background:var(--hk-surface);color:var(--hk-text);border:1px solid var(--hk-frame);box-shadow:3px 3px 0 rgb(0 0 0/.3)}.row-action-menu p{margin:0;padding:5px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--hk-label)}.row-action-menu button{width:100%;justify-content:flex-start;gap:10px;min-height:26px;padding:4px 8px;font-weight:400;text-align:left;background:transparent;border:0;box-shadow:none}.row-action-menu button:focus,.row-action-menu button:hover{color:#fff;background:var(--hk-brand);outline:none}.row-action-menu button span{width:14px;color:inherit}.billing-badge,.invoice-status,.role-badge,.vendor-status{display:inline-block;flex:none;align-self:flex-start;padding:1px 6px;font-size:10px;font-weight:700;text-transform:uppercase;white-space:nowrap;color:var(--hk-ink);background:var(--hk-well);border:1px solid var(--hk-line)}.billing-badge.is-ok,.invoice-status.is-ok{background:#a7f3d0;color:#064e3b}.billing-badge.is-warn,.vendor-status.is-unpaid{background:#fcd34d;color:#78350f}.billing-badge.is-bad,.invoice-status.is-bad,.vendor-status.is-overdue{background:#fecdd3;color:#881337;border-color:#be123c}.billing-badge.is-muted,.invoice-status.is-muted{background:#e2e8f0;color:var(--hk-label)}.app-dialog{padding:0;width:calc(100% - 32px);max-width:560px;max-height:90dvh;overflow:auto;background:var(--hk-panel);color:var(--hk-ink);border:2px solid var(--hk-frame);box-shadow:4px 4px 0 rgb(0 0 0/.35)}.app-dialog::-webkit-backdrop{background:rgb(0 0 0/.45);animation:backdropIn .2s ease;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.app-dialog::backdrop{background:rgb(0 0 0/.45);animation:backdropIn .2s ease;transition:opacity .2s ease}.app-dialog[data-closing]::-webkit-backdrop{opacity:0}.app-dialog[data-closing]::backdrop{opacity:0}.app-dialog[data-closing]{pointer-events:none}@keyframes backdropIn{0%{opacity:0}}.dialog-heading{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 6px 12px;color:#fff;background:linear-gradient(90deg,var(--hk-brand-dark),var(--hk-brand))}.dialog-heading h2{margin:0;font-size:13px;font-weight:700;color:#fff}.dialog-heading button{width:22px;min-height:20px;height:20px;padding:0;font-size:14px;line-height:1}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 12px;gap:10px 12px;padding:12px}.dialog-actions,.modal-form .error-message,.modal-form .form-help{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:4px -12px -12px;padding:8px 12px;background:var(--hk-face);border-top:1px solid var(--hk-hi);box-shadow:0 -1px var(--hk-shade)}.confirm-body{padding:12px}.confirm-body p{margin:0 0 10px}.confirm-list{margin:0 0 12px;padding-left:18px;max-height:180px;overflow:auto;color:var(--hk-label)}.record-details{margin:0;padding:6px 12px 12px}.record-details>div{padding:6px 0;border-bottom:1px solid var(--hk-line-soft)}.record-details dt{font-size:11px;font-weight:600;color:var(--hk-label)}.record-details dd{margin:2px 0 0;font-size:12px;color:var(--hk-ink)}.record-id{overflow-wrap:anywhere}.summary-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:560px;max-width:96vw;height:100dvh;max-height:100dvh;border-width:0 0 0 2px;box-shadow:-3px 0 0 rgb(0 0 0/.2)}.summary-dialog[open]{display:flex;flex-direction:column}.hk-signin{min-height:100dvh;display:grid;place-items:center;padding:16px;background:linear-gradient(160deg,#dfe4ee,#f1f0ec 55%)}.hk-signin-card{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:22px 24px 20px;background:var(--hk-surface);border:2px solid var(--hk-ink);box-shadow:6px 6px 0 0 var(--hk-ink)}.hk-signin-card h1{margin:0;font-size:15px;font-weight:700;color:var(--hk-ink);padding-bottom:8px;border-bottom:2px solid var(--hk-ink)}.hk-signin-brand{display:flex;align-items:center;gap:10px}.hk-signin-brand b{display:block;font-size:16px;color:var(--hk-ink)}.hk-signin-brand small{display:block;font-size:11px;color:var(--muted-fg)}.hk-signin-card input:not([type=checkbox]){width:100%;height:32px;padding:6px 9px}.hk-signin-card .primary-button{min-height:32px}.spinner{display:inline-block;width:1em;height:1em;flex-shrink:0;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.fleet-form .field input,.fleet-form .field select{width:100%}.vendor-toolbar{display:flex}.vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:10px;gap:10px}.vendor-card{display:flex;flex-direction:column;cursor:pointer;background:var(--hk-panel);border:1px solid var(--hk-line);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade);transition:border-color .15s,box-shadow .15s}.vendor-card:focus-visible,.vendor-card:hover{border-color:var(--hk-brand);box-shadow:inset 0 0 0 1px var(--hk-brand),0 6px 14px rgb(0 0 0/.12);outline:none}.vendor-card.is-suspended .vendor-card-body{opacity:.6}.vendor-card-bar{height:6px}.vendor-card-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 14px 10px;text-align:center}.vendor-logo{width:84px;height:84px;display:grid;place-items:center;padding:4px;background:#fff;border:1px solid #9a9a9a;margin-bottom:4px}.vendor-logo img{width:100%;height:100%;object-fit:contain}.vendor-logo span{font-size:30px;font-weight:700}.vendor-card h2{margin:0;font-size:15px;font-weight:700}.vendor-status{color:#064e3b;background:#a7f3d0}.vendor-summary{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--hk-label)}.vendor-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:8px 12px;background:var(--hk-face);border-top:1px solid var(--hk-hi);box-shadow:0 -1px var(--hk-shade);cursor:default}.vendor-icon-buttons{display:flex;gap:4px}.status-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--hk-text)}.status-toggle .switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;position:relative;width:36px;min-width:36px;height:20px;min-height:0;margin:0;padding:0;cursor:pointer;background:#b9b6b0;border:1px solid var(--hk-line);box-shadow:inset 1px 1px #8a8780}.status-toggle .switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--hk-surface);border:1px solid var(--hk-line);transition:transform .15s ease}.status-toggle .switch:checked{background:var(--hk-brand);border-color:var(--hk-brand-dark)}.status-toggle .switch:checked:after{transform:translateX(16px)}.status-toggle .switch:disabled{opacity:.5;cursor:not-allowed}.vendor-form{padding:12px}.vendor-form .dialog-actions{grid-column:1/-1}.logo-field{display:flex!important;flex-direction:row!important;align-items:center;gap:12px}.logo-preview{width:80px;height:80px;flex:none;display:grid;place-items:center;padding:4px;font-size:28px;color:#64748b;background:#fff;border:1px dashed #777}.logo-preview img{width:100%;height:100%;object-fit:contain}.color-input{width:48px;padding:2px}.one-time-secret{margin:6px 0;padding:10px 12px;font-size:18px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--hk-surface);border:1px dashed #777}.one-time-secret.is-small{font-size:12px;font-weight:600}.setup-qr{display:flex;justify-content:center;margin:6px 0 10px}.setup-qr img{width:260px;height:260px;padding:6px;background:#fff;border:1px solid #777;image-rendering:pixelated}.closeout-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:18px;column-gap:18px;padding:0}.closeout-preview dd{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.billing-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.billing-card>span:first-child{font-size:11px;font-weight:600;color:var(--hk-label)}.billing-card strong{font-size:16px;color:var(--hk-ink)}.billing-card small{font-size:11px;color:var(--muted-fg)}.money{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.money small{font-size:.85em;font-weight:600;color:var(--muted-fg)}.invoice-number{font-weight:700;color:var(--hk-ink)}.invoice-date{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.invoice-date i{color:var(--muted-fg);font-size:14px}.invoice-actions{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.invoice-actions a{font-weight:600;text-decoration:underline}.invoice-panel .data-table td.actions-cell,.invoice-panel .data-table th.actions-cell{width:auto}.invoice-page{max-width:1180px}.invoice-back{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--hk-panel);border:1px solid var(--hk-line);box-shadow:inset 1px 1px var(--hk-hi),1px 1px var(--hk-shade)}.invoice-back a{display:inline-grid;place-items:center;width:24px;height:22px;color:#202020;background:var(--hk-raised);border-color:#fff #777 #777 #fff;border-style:solid;border-width:1px}.invoice-back a:hover{text-decoration:none;background:var(--hk-raised-hover)}.invoice-back h1{margin:0;font-size:16px;font-weight:600}.invoice-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:10px;gap:10px;align-items:start}.invoice-doc{padding:20px;background:var(--hk-surface)}.invoice-doc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-brand{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;text-transform:uppercase;color:var(--hk-ink)}.invoice-brand .brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;font-size:15px;color:#fff;background:var(--hk-brand)}.invoice-doc-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px;padding-bottom:12px;border-bottom:2px solid var(--hk-ink)}.invoice-doc-title h2{margin:0;font-size:14px;font-weight:700}.invoice-due{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px}.invoice-due span{display:inline-flex;align-items:center;gap:4px;font-weight:700}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:14px}.invoice-parties .is-right{text-align:right}.invoice-doc h3{margin:0 0 3px;font-size:12px;font-weight:700;color:var(--hk-ink)}.invoice-doc p{margin:0;font-size:12px;color:var(--hk-label);line-height:1.55}.invoice-meta{margin-top:12px}.invoice-section{margin:20px 0 6px!important;font-size:13px!important}.invoice-table td:last-child,.invoice-table th:last-child{text-align:right}.invoice-table td>small{display:block;margin-top:2px;font-size:11px;color:var(--muted-fg)}.invoice-table tfoot th{text-align:right;font-weight:600;color:var(--hk-label);background:var(--hk-zebra)}.invoice-table tfoot tr.is-total td,.invoice-table tfoot tr.is-total th{color:var(--hk-ink);font-weight:700}.invoice-empty{text-align:center!important;color:var(--muted-fg)}.invoice-table .narrow-label{display:none}.invoice-pay{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:8px;padding:12px}.invoice-pay-label{font-size:11px;font-weight:600;color:var(--hk-label)}.invoice-pay-amount{font-size:24px;color:var(--hk-ink)}.invoice-pay-note{margin:-4px 0 2px;font-size:11px;color:var(--muted-fg)}.invoice-method{display:flex;align-items:center;gap:8px;min-height:28px;padding:3px 8px;font-weight:600;background:var(--hk-surface);border:1px solid;border-color:var(--hk-lo) var(--hk-hi) var(--hk-hi) var(--hk-lo);box-shadow:inset 1px 1px var(--hk-sunk)}.invoice-method span{margin-left:auto;font-weight:400;font-size:11px;color:var(--muted-fg)}.invoice-pay-now{min-height:32px;color:#fff;background:var(--hk-brand);border-color:var(--hk-brand-edge) var(--hk-brand-dark) var(--hk-brand-dark) var(--hk-brand-edge);box-shadow:inset 1px 1px rgb(255 255 255/.22)}.invoice-pay-now:hover{color:#fff;background:color-mix(in srgb,var(--hk-brand) 88%,#fff)}.invoice-download{min-height:32px}.invoice-secure{display:flex;gap:6px;margin:4px 0 0;font-size:11px;color:var(--muted-fg)}.summary-body{flex:1 1;overflow:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:8px}.summary-live{display:flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700;color:var(--success)}.summary-live span{color:var(--muted-fg);font-weight:400}.summary-pulse{animation:summaryPulse 1.6s infinite}@keyframes summaryPulse{50%{opacity:.3}}.summary-refreshing{margin-left:auto}.summary-empty{margin:0;font-size:12px;color:var(--muted-fg)}.sidebar-section{margin:6px 0 0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--hk-label)}.period-bar{display:flex;justify-content:flex-end}.period-dates{display:flex;gap:8px}.period-dates label{display:flex;flex-direction:column;gap:3px}.group-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-table td,.report-table th{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.report-table td:first-child,.report-table th:first-child{text-align:left;width:1%}.report-table td.report-name,.report-table thead th:nth-child(2):not(:last-child){text-align:left}.report-table td.report-name{font-weight:700}.report-name small{display:block;font-weight:400;font-size:10px;color:var(--muted-fg)}.report-name small.text-danger{color:var(--danger)}.report-row{cursor:pointer}.report-row.is-open,.report-row:hover{background:var(--hk-brand-tint)!important}.perf-accent,.perf-mid{color:var(--warn);font-weight:700}.perf-good{color:var(--success);font-weight:700}.perf-low{color:var(--danger);font-weight:700}.details-button{min-height:22px;padding:1px 7px;font-size:11px}.drill-row>td{padding:0 0 8px!important;text-align:left!important;white-space:normal;background:var(--hk-zebra)}.drill-box{margin:0 6px;padding:8px 10px;background:var(--hk-well);border:1px solid var(--hk-line)}.drill-title{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--hk-ink)}.drill-scroll{max-height:260px;overflow:auto}.drill-table{font-size:11px}.drill-missing{margin:6px 0 0;font-size:11px;color:var(--muted-fg)}.summary-table th[scope=row]{text-align:left;font-weight:600;color:var(--hk-label);background:var(--hk-zebra)}.summary-table td{text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-table td small{display:block;font-weight:400;font-size:10px;color:var(--muted-fg)}.summary-table td.summary-dates{white-space:normal;font-weight:400;font-size:11px;text-align:left}.summary-good{color:var(--success)}.till-breakdown{background:var(--hk-surface);overflow:hidden}.till-caption{margin:0;padding:4px 10px;font-size:11px;font-weight:600;color:var(--hk-label);background:var(--hk-strip);border-bottom:1px solid var(--hk-line-soft)}.till-cells{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.till-cell{display:flex;flex-direction:column;gap:2px;padding:5px 10px;min-width:0;border-right:1px solid var(--hk-line-soft)}.till-cell:last-child{border-right:0}.till-label{font-size:11px;font-weight:600;color:var(--hk-label);white-space:nowrap}.till-value{font-size:15px;font-weight:700;color:var(--hk-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.till-value.is-deficit{color:var(--danger)}.till-value.is-warn{color:var(--warn)}.till-value.is-good{color:var(--success)}.hk-sidebar-brand{border-color:var(--hk-line);box-shadow:none}.hk-sidebar-brand img,.hk-sidebar-mark{border-radius:8px}.hk-desktop :is(button,.primary-button,.icon-button,.column-menu summary){border-radius:var(--radius);border-color:var(--hk-line);box-shadow:0 1px 3px rgb(15 23 42/.06);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.hk-desktop button:hover:not(:disabled){box-shadow:0 3px 9px rgb(15 23 42/.1)}.hk-desktop button:active:not(:disabled){box-shadow:0 1px 2px rgb(15 23 42/.08)}.hk-desktop .primary-button{border-color:transparent}.hk-desktop .link-button{box-shadow:none}.hk-desktop :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.table-search){border-radius:7px;border-color:var(--hk-line);box-shadow:none}.hk-desktop :is(.page-heading,.panel,.directory-panel,.fcc-panel,.fcc-feed,.ops-board,.invoice-doc,.invoice-pay,.billing-card,.till-breakdown,.vendor-card){border-radius:var(--radius-lg);border-color:var(--hk-line-soft);box-shadow:var(--surface-shadow)}.hk-desktop :is(.app-dialog,.fcc .modal-card,.hk-signin-card){border-radius:14px;border:1px solid var(--hk-line);box-shadow:0 18px 60px rgb(15 23 42/.24)}.bus-modal-head,.dialog-heading{border-radius:13px 13px 0 0}.dialog-actions,.vendor-card-actions{border-radius:0 0 12px 12px}.hk-desktop :is(.admin-tabs,.archive-tabs,.mode-switch,.group-switch,.ops-kpis,.ops-feed ol,.inline-notice,.drill-box){border-radius:var(--radius)}.ops-kpis{overflow:hidden}.hk-desktop :is(.mode-pill,.hk-subnav-current){border-radius:7px}.hk-subnav a{border-radius:var(--radius);border-color:var(--hk-line);background:var(--hk-nav);box-shadow:0 2px 5px rgb(15 23 42/.07);transition:background-color .18s ease,box-shadow .18s ease}.hk-subnav a:hover{background:var(--hk-surface);box-shadow:0 4px 10px rgb(15 23 42/.12)}.hk-subnav a[aria-current=page]{border-color:var(--hk-active);box-shadow:0 3px 9px rgb(30 64 118/.2)}.hk-desktop .ops-bus{border-radius:10px;background:var(--hk-surface);border-color:var(--hk-line-soft);box-shadow:0 2px 7px rgb(15 23 42/.06)}.hk-desktop .ops-bus:hover{border-color:var(--hk-brand);box-shadow:0 6px 16px rgb(15 23 42/.12)}.hk-desktop .ops-sheet{border-radius:10px;border-color:var(--hk-line-soft);box-shadow:0 2px 8px rgb(15 23 42/.08);overflow:hidden}.hk-desktop .ops-sheet:hover{box-shadow:0 6px 18px rgb(15 23 42/.13)}.ops-grid{gap:10px}.ops-ring-value{stroke-linecap:round}.hk-desktop :is(.row-action-menu,.column-menu>div){border-radius:10px;border-color:var(--hk-line-soft);box-shadow:0 8px 24px rgb(15 23 42/.16)}@media (prefers-reduced-motion:reduce){.hk-desktop *,.hk-desktop :after,.hk-desktop :before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.hk-sidebar.collapsed{width:60px}.hk-sidebar.collapsed .hk-sidebar-brand{min-height:0;padding:10px 0}.hk-sidebar.collapsed .hk-sidebar-brand img,.hk-sidebar.collapsed .hk-sidebar-mark{width:40px;height:40px}.hk-sidebar.collapsed nav{padding:8px 6px}.hk-sidebar.collapsed .hk-subnav a{min-height:44px;padding:0}.hk-sidebar.collapsed .hk-sidebar-toggle{margin:6px;padding:8px 0}.hk-brand>span,.hk-userbar-btn span,.hk-userbar-user b,.hk-userbar-user small{display:none}.fcc,.page-content{padding:8px}.invoice-layout{grid-template-columns:minmax(0,1fr)}.invoice-pay{position:static;order:-1}}@media (max-width:640px){.closeout-preview,.modal-form{grid-template-columns:1fr}.app-dialog:not(.summary-dialog){width:calc(100% - 16px)}.dialog-actions>button{flex:1 1}.summary-dialog{width:100vw;max-width:100vw}.table-toolbar{margin:0 8px}.table-search{flex:1 1;margin-left:0}.table-search input{width:100%}.column-menu,.page-size{display:none}.table-scroll{overflow:visible;margin:8px 8px 0}.data-table table,.data-table tbody{display:block;background:transparent}.data-table thead{display:none}.data-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:4px;row-gap:4px;align-items:center;margin-bottom:6px;padding:8px 10px;background:var(--hk-surface)!important;border:1px solid var(--hk-line);box-shadow:1px 1px var(--hk-shade)}.data-table.is-selectable tbody tr{grid-template-columns:20px minmax(0,1fr) auto}.data-table tbody tr.is-selected{background:var(--hk-brand-tint)!important}.data-table td{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0!important;border:0!important;text-align:right;overflow-wrap:anywhere;white-space:normal}.data-table.is-selectable td{grid-column:2/-1}.data-table td:before{content:attr(data-label);flex:none;max-width:45%;font-size:11px;font-weight:600;color:var(--hk-label);text-align:left}.data-table td.select-cell{grid-column:1;grid-row:1;width:auto}.data-table td.primary-cell{grid-column:1/2;grid-row:1;justify-content:flex-start;text-align:left;font-weight:700;font-size:13px}.data-table.is-selectable td.primary-cell{grid-column:2/3}.data-table td.actions-cell{grid-column:-2/-1;grid-row:1;width:auto;justify-content:flex-end}.data-table td.actions-cell:before,.data-table td.primary-cell:before,.data-table td.select-cell:before,.data-table td.table-empty:before{content:none}.data-table tr.empty-row{display:block}.data-table td.table-empty{justify-content:center;text-align:center}.bulk-bar{width:100%;order:3}.billing-cards{grid-template-columns:1fr 1fr}.invoice-parties,.vendor-grid{grid-template-columns:1fr}.invoice-parties .is-right{text-align:left}.invoice-doc{padding:12px}.invoice-doc-title{flex-direction:column}.invoice-doc-title,.invoice-due{align-items:flex-start}.invoice-table{table-layout:fixed;font-size:11px}.invoice-table td,.invoice-table th{padding:6px 5px}.invoice-table td{overflow-wrap:anywhere}.invoice-table thead th:last-child{width:34%}.invoice-table .wide-label{display:none}.invoice-table .narrow-label{display:inline}.till-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.till-cell:first-child{grid-column:1/-1}.till-cell{border-bottom:1px solid var(--hk-line-soft)}.report-table td,.report-table th{padding:5px;font-size:11px}.period-dates{width:100%}.period-dates label{flex:1 1}}@media print{@page{margin:14mm}.hk-desktop{background:var(--hk-surface)}.billing-banner,.hk-sidebar,.hk-titlebar,.invoice-back,.invoice-pay{display:none!important}.hk-shell{height:auto;background:var(--hk-surface)}.hk-shell,.hk-workspace{overflow:visible}.page-content.invoice-page{padding:0}.invoice-layout{display:block}.invoice-doc{border:0;box-shadow:none;padding:0}.brand-mark,.invoice-status,.invoice-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.fleet-map-wrap{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden}.fleet-map{height:480px;width:100%;background:var(--muted)}.fleet-map-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--card) 80%,transparent);font-size:13px;color:var(--muted-fg);z-index:2}.fleet-map-overlay.is-error{color:var(--danger)}.fleet-map-legend{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 140px);padding:6px 10px;border-radius:6px;background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--border);font-size:10px;color:var(--muted-fg);z-index:1}.fleet-map-legend span{display:inline-flex;align-items:center;gap:5px}.legend-line{display:inline-block;width:18px;height:3px;border-radius:2px;background:#64748b}.legend-line.live{background:#2563eb;height:4px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0003}.legend-dot.from{background:#16a34a}.legend-dot.to{background:#dc2626}.legend-bus{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--primary)}.legend-bus.stale{background:#94a3b8;opacity:.6}.fleet-map-notes{position:absolute;left:10px;top:10px;max-width:min(360px,calc(100% - 70px));padding:6px 10px;border-radius:6px;background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--border);font-size:11px;z-index:1}.fleet-map-notes p{margin:0}.fleet-map-notes p+p{margin-top:4px}.fleet-popup .maplibregl-popup-content{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;box-shadow:0 6px 20px #0003}.fleet-popup .maplibregl-popup-tip{display:none}.maplibregl-ctrl-attrib{font-size:10px}.bus-marker{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;padding:0;border:0;background:transparent;cursor:pointer;transition:opacity .3s ease,filter .3s ease}.bus-marker:hover{background:transparent;z-index:3}.bus-marker:active:not(:disabled){transform:none}.bus-arrow{width:26px;height:26px;border-radius:50%;background:var(--primary);border:3px solid #fff;box-shadow:0 2px 8px #0005;position:relative;transition:transform .6s ease}.bus-arrow:after{content:"";position:absolute;left:50%;top:-9px;transform:translateX(-50%);border:6px solid transparent;border-bottom:8px solid var(--primary)}.bus-marker .bus-arrow{visibility:visible}.bus-plate{padding:1px 6px;border-radius:4px;background:#000;color:#fff;border:1px solid #fff;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 1px 4px #0004}.bus-marker.is-live .bus-arrow{animation:busPulse 2s infinite}@keyframes busPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 55%,transparent),0 2px 8px #0005}70%{box-shadow:0 0 0 12px transparent,0 2px 8px #0005}to{box-shadow:0 0 0 0 transparent,0 2px 8px #0005}}.bus-marker.is-idle .bus-arrow{background:#64748b}.bus-marker.is-idle .bus-arrow:after{border-bottom-color:#64748b}.bus-marker.is-stale{opacity:.55;filter:grayscale(1)}.bus-marker.is-stale .bus-arrow{animation:none}.bus-marker.is-focused .bus-arrow{outline:3px solid var(--warn);outline-offset:2px}.bus-marker.is-focused{z-index:4}.route-dialog{max-width:760px}.field-full{grid-column:1/-1}.route-picker{display:flex;flex-direction:column;gap:10px}.route-picker-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.place-search{position:relative;display:flex;flex-direction:column;gap:6px}.place-search>label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg)}.place-search.is-active>label{color:var(--primary)}.place-input{position:relative}.place-input input{width:100%;padding-right:34px}.place-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.place-spinner .spinner{margin:0}.place-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:28px;width:28px;padding:0;border:0;background:transparent;font-size:18px;color:var(--muted-fg)}.place-results{position:absolute;top:100%;left:0;right:0;z-index:20;margin:4px 0 0;padding:4px;list-style:none;max-height:260px;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0003}.place-results li{display:flex;flex-direction:column;padding:7px 10px;border-radius:4px;cursor:pointer;font-size:12px}.place-results li[aria-selected=true]{background:var(--accent)}.place-results small{color:var(--muted-fg);font-size:11px}.place-results .place-error{color:var(--danger);cursor:default}.place-coords{color:var(--muted-fg);font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.end-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.end-dot.end-from{background:#16a34a}.end-dot.end-to{background:#dc2626}.route-picker-hint{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--muted-fg)}.route-picker-hint button{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 10px;font-size:11px}.route-picker-hint button[aria-pressed=true]{border-color:var(--primary);background:var(--accent);color:var(--primary)}.route-picker-map{height:280px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--muted);cursor:crosshair}.route-picker-map .maplibregl-canvas{cursor:crosshair}.route-picker-loading{justify-content:center}.route-picker-loading,.route-picker-status{display:flex;align-items:center;font-size:12px;color:var(--muted-fg)}.route-picker-status{margin:0;gap:6px}.route-picker-status.status-ok{color:var(--success);font-weight:700}.route-picker-status.status-down,.route-picker-status.status-error{color:var(--warn)}.route-pin{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 8px #0005;color:#fff;font-weight:800;font-size:12px;cursor:-webkit-grab;cursor:grab}.route-pin-from{background:#16a34a}.route-pin-to{background:#dc2626}.route-pin span{display:inline-block;transform:rotate(45deg)}@media(max-width:600px){.route-picker-fields{grid-template-columns:1fr}.fleet-map{height:380px}.fleet-map-legend{max-width:calc(100% - 20px)}}.fcc .bus-marker,.fcc .bus-marker:hover{background:transparent;border:0;padding:0;min-height:0;border-radius:0;box-shadow:none}.bus-arrow:after{top:-11px;border-color:transparent transparent #fff;border-style:solid;border-width:0 7px 10px;filter:drop-shadow(0 -1px 1px #0006)}.bus-marker.is-idle .bus-arrow:after{border-bottom-color:#fff}.bus-marker{--route-color:#2563eb}.bus-arrow{background:var(--route-color)}.bus-marker.is-idle .bus-arrow{background:color-mix(in srgb,var(--route-color) 45%,#64748b)}.bus-marker.is-live .bus-arrow{animation:busPulseRoute 2s infinite}@keyframes busPulseRoute{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--route-color) 60%,transparent),0 2px 8px #0005}70%{box-shadow:0 0 0 12px transparent,0 2px 8px #0005}to{box-shadow:0 0 0 0 transparent,0 2px 8px #0005}}.bus-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);display:flex;flex-direction:column;gap:3px;min-width:170px;padding:8px 10px;border-radius:6px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-top:3px solid var(--route-color);box-shadow:0 8px 24px #0005;font-size:11px;line-height:1.35;text-align:left;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s}.bus-marker:focus-visible .bus-tip,.bus-marker:hover .bus-tip{opacity:1;visibility:visible;transform:translate(-50%)}.bus-marker:focus-visible,.bus-marker:hover{z-index:5}.tip-head{display:flex;flex-direction:column;gap:1px;padding-bottom:5px;margin-bottom:2px;border-bottom:1px solid var(--border)}.tip-plate{font-weight:800;font-size:12px}.tip-route{font-weight:700;color:var(--route-color)}.tip-row{display:flex;justify-content:space-between;gap:16px}.tip-row>span{color:var(--muted-fg)}.tip-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tip-foot{margin-top:3px;padding-top:5px;border-top:1px solid var(--border);color:var(--muted-fg);font-size:10px}.legend-muted{opacity:.6}.legend-bus.route-coloured{background:conic-gradient(#e11d48 0 33%,#16a34a 0 66%,#2563eb 0)}.checkout-backdrop{--co-bg:#fff;--co-fg:#1a1a1a;--co-muted:#6b6b6b;--co-edge:#8c8c8c;--co-panel:#e7f6e9;--co-card:#fff;--co-pay:#182b1c;--co-green:#3bb54a;position:fixed;inset:0;z-index:200;background:rgb(0 0 0/.55);overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px}:is([data-theme=dark],[data-theme=night]) .checkout-backdrop{--co-bg:hsl(222 47% 11%);--co-fg:#f2f2f2;--co-muted:#a9b1bd;--co-edge:#56606d;--co-panel:#12251a;--co-card:#1b3024;--co-pay:#2ea84a}.checkout{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--co-bg);color:var(--co-fg);border-radius:6px;overflow:hidden;box-shadow:0 20px 60px -20px rgb(0 0 0/.5);font-size:16px}.checkout h2{font-size:20px;font-weight:700;margin:34px 0 22px;letter-spacing:-.01em}.checkout-main{padding:28px 48px 40px}.checkout-top{display:flex;justify-content:space-between;align-items:center;min-height:40px}.checkout-back{border:0;background:none;padding:4px;min-height:0;font-size:26px;color:var(--co-fg)}.checkout-signout{font-size:13px;font-weight:600;color:var(--co-muted)}.checkout-lead{margin:8px 0 -10px;color:var(--co-muted);font-size:14px}.checkout-methods{display:flex;gap:48px;align-items:center}.checkout-radio{display:inline-flex;align-items:center;gap:16px;font-size:17px}.checkout-radio input{width:24px;height:24px;min-height:0;margin:0;padding:0;accent-color:var(--co-fg)}.mpesa-mark{display:inline-flex;align-items:center;font-size:28px;font-weight:800;letter-spacing:.02em;color:var(--co-green);line-height:1}.mpesa-mark svg{margin:0 1px}.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px 56px;gap:22px 56px;margin-top:4px}.checkout-grid .span-2{grid-column:1/-1}.checkout-grid input{height:60px;padding:0 20px;font-size:16px;border:2px solid var(--co-edge);border-radius:6px;background:var(--co-bg);color:var(--co-fg)}.checkout-grid input[readonly]{color:var(--co-muted)}.checkout-grid input::placeholder{color:var(--co-muted)}.checkout-grid input:focus{outline:none;border-color:var(--co-green)}.checkout-methods+.checkout-grid{margin-top:26px}.checkout-note{margin:34px 0 0;padding-left:22px;font-size:18px;font-weight:700;line-height:1.4}.checkout-manual{margin-top:30px;padding-top:20px;border-top:1px dashed var(--co-edge)}.checkout-manual p{margin:0 0 12px;font-size:13px;color:var(--co-muted)}.checkout-secondary{height:60px;border:2px solid var(--co-edge);border-radius:6px;background:var(--co-bg);color:var(--co-fg);font-size:15px;font-weight:700}.checkout-summary{background:var(--co-panel);padding:40px 48px 44px;box-shadow:inset 1px 0 0 rgb(0 0 0/.06)}.checkout-summary h2:first-child{margin-top:40px}.checkout-item{display:grid;grid-template-columns:104px minmax(0,1fr) auto;grid-gap:20px;gap:20px;align-items:center;background:var(--co-card);border-radius:6px;padding:36px 28px;box-shadow:0 2px 6px rgb(0 0 0/.18)}.checkout-item-img{width:104px;height:120px;border-radius:10px;background:#fff;border:1px solid rgb(0 0 0/.08);display:flex;align-items:center;justify-content:center;padding:10px;color:var(--co-pay);font-size:48px}.checkout-item-img img{width:100%;height:100%;object-fit:contain}.checkout-item-body strong{font-size:19px}.checkout-item-body small{display:block;color:var(--co-muted);font-size:12.5px;margin-top:6px}.checkout-qty{display:flex;align-items:center;gap:18px;margin-top:16px}.checkout-qty button{border:0;background:none;min-height:0;padding:2px;font-size:24px;color:var(--co-fg)}.checkout-qty span{font-size:26px;min-width:32px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.checkout-item-price{font-size:20px;white-space:nowrap}.checkout-totals{margin:0 0 30px;display:grid;grid-gap:18px;gap:18px}.checkout-totals>div{display:grid;grid-template-columns:1fr 1fr;font-size:19px}.checkout-totals dd,.checkout-totals dt{margin:0}.checkout-pay,.checkout-totals .is-total{font-weight:700}.checkout-pay{width:100%;height:62px;border:2px solid rgb(0 0 0/.45);border-radius:6px;background:var(--co-pay);color:#fff;font-size:20px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.checkout-pay:hover:not(:disabled){filter:brightness(1.15);background:var(--co-pay)}.checkout-waiting{display:flex;align-items:center;justify-content:center;gap:10px;height:62px;border-radius:6px;background:var(--co-card);font-weight:700}.checkout-done{text-align:center}.checkout-done>i{font-size:44px;color:var(--co-green)}.checkout-done p{margin:6px 0 18px}.checkout-error{color:var(--danger);font-size:14px;margin:-12px 0 14px}.checkout-hint{margin:12px 0 0;font-size:12.5px;color:var(--co-muted);text-align:center}@media (max-width:900px){.checkout{grid-template-columns:1fr}.checkout-main,.checkout-summary{padding:24px 20px 28px}.checkout-grid{grid-template-columns:1fr;gap:14px}.checkout-item{grid-template-columns:72px minmax(0,1fr);padding:20px}.checkout-item-img{width:72px;height:84px;font-size:34px}.checkout-item-price{grid-column:1/-1;justify-self:end}.checkout-totals>div{font-size:16px}.checkout-note{font-size:15px}}.vendor-status.is-unpaid{background:#b7791f}.checkout-hint.is-simulated{margin-top:14px;padding:10px 12px;border:1px dashed #b7791f;background:#fdf6e8;color:#5c4000;text-align:left}.sort-mark{margin-left:2px}:is([data-theme=dark],[data-theme=night]) :is(.billing-badge,.invoice-status,.vendor-status,.role-badge,.fcc-live,.ops-bus-text em){color:var(--hk-label);background:var(--hk-well);border-color:var(--hk-line)}:is([data-theme=dark],[data-theme=night]) :is(.billing-badge.is-ok,.invoice-status.is-ok,.vendor-status,.fcc-live,.ops-bus-text em.is-good){color:var(--success);background:color-mix(in srgb,var(--success) 16%,var(--hk-surface));border-color:color-mix(in srgb,var(--success) 40%,var(--hk-surface))}:is([data-theme=dark],[data-theme=night]) :is(.billing-badge.is-warn,.vendor-status.is-unpaid,.ops-bus-text em.is-warn){color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,var(--hk-surface));border-color:color-mix(in srgb,var(--warn) 40%,var(--hk-surface))}:is([data-theme=dark],[data-theme=night]) :is(.billing-badge.is-bad,.invoice-status.is-bad,.vendor-status.is-overdue){color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--hk-surface));border-color:color-mix(in srgb,var(--danger) 40%,var(--hk-surface))}:is([data-theme=dark],[data-theme=night]) .inline-notice{color:var(--hk-text);background:var(--hk-brand-tint);border-color:var(--hk-line)}:is([data-theme=dark],[data-theme=night]) :is(.data-stale,.billing-banner,.checkout-hint.is-simulated){color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--hk-surface));border-color:color-mix(in srgb,var(--warn) 40%,var(--hk-surface))}:is([data-theme=dark],[data-theme=night]) input::placeholder{color:var(--muted-fg)}:is([data-theme=dark],[data-theme=night]) .status-toggle .switch{background:var(--hk-track);border-color:var(--hk-line);box-shadow:none}:is([data-theme=dark],[data-theme=night]) .status-toggle .switch:after{background:var(--hk-ink);border-color:var(--hk-line)}:is([data-theme=dark],[data-theme=night]) .status-toggle .switch:checked{background:var(--hk-brand)}.hk-desktop :is(.route-row,.table-scroll,.ops-feed ol,.bulk-bar,.invoice-back,.data-stale,.one-time-secret,.vendor-logo,.logo-preview,.password-field button,.row-action-trigger,.pagination-buttons button,.hk-sidebar-toggle){border-radius:var(--radius)}.hk-desktop :is(.fcc .mini-card,.ops-sheet,.hk-signin-card){border-radius:10px}.hk-desktop .fcc .bar-shell{border-radius:6px}.hk-desktop :is(.plate-badge,.fcc .plate-button,.billing-badge,.invoice-status,.vendor-status,.role-badge,.count-badge,.tab-count,.fcc-live,.ops-bus-text em,.hk-userbar-btn){border-radius:5px}.hk-desktop .table-scroll{border:1px solid var(--hk-line);overflow:auto}.hk-desktop .table-scroll>table{border-style:hidden}.hk-desktop .ops-sheet table{border-radius:6px;overflow:hidden}.hk-desktop .app-dialog{overflow:auto}@media (max-width:640px){.hk-desktop .data-table tbody tr{border-radius:10px}.hk-desktop .table-scroll{border:0}}.hk-sidebar-scrim{display:none}@media (max-width:767px){.hk-sidebar{position:relative;z-index:60}.hk-sidebar:not(.collapsed){width:232px;margin-right:-172px;box-shadow:8px 0 28px rgb(0 0 0/.28)}.hk-sidebar-scrim{display:block;position:fixed;inset:0;z-index:55;min-height:0;padding:0;border:0;border-radius:0!important;background:rgb(0 0 0/.35);box-shadow:none}.hk-sidebar-scrim:active:not(:disabled),.hk-sidebar-scrim:hover{background:rgb(0 0 0/.35);border:0;box-shadow:none}}.hk-signin{position:relative}.hk-signin-theme{position:absolute;top:14px;right:14px}.hk-theme-btn{min-height:30px;padding:4px 10px;font-size:12px}:is([data-theme=dark],[data-theme=night]) .hk-signin{background:var(--hk-desk)}:is([data-theme=dark],[data-theme=night]) .hk-signin-card{background:var(--hk-panel);border-color:var(--hk-line);box-shadow:0 18px 60px rgb(0 0 0/.45)}.settings-tabs{margin:0}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.settings-layout.has-form{grid-template-columns:minmax(0,1fr) minmax(320px,460px)}.settings-list{padding:0 0 12px;min-width:0}.settings-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px;padding:10px 0 8px;border-bottom:1px solid var(--hk-line)}.settings-list-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;color:var(--hk-ink)}.settings-list-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 12px}.settings-list-tools .table-search{flex:1 1;margin-left:0;min-width:180px}.settings-list-tools .table-search input{width:100%}.settings-list .empty-state{margin:0 12px}.settings-items{list-style:none;margin:0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.hk-desktop .settings-item{width:100%;min-height:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;text-align:left;white-space:normal;font-weight:400;color:var(--hk-text);background:var(--hk-well);border:1px solid var(--hk-line-soft);border-radius:8px;box-shadow:none}.hk-desktop .settings-item:hover{background:var(--hk-surface);border-color:var(--hk-line);box-shadow:none}.hk-desktop .settings-item[aria-current=true]{background:var(--hk-surface);border-color:var(--hk-line);box-shadow:inset 3px 0 var(--hk-brand)}.settings-item strong{font-size:13px;font-weight:700;color:var(--hk-ink)}.settings-meta{font-size:11px;color:var(--muted-fg)}.settings-form{position:-webkit-sticky;position:sticky;top:10px;min-width:0;overflow:hidden;background:var(--hk-panel);border:1px solid var(--hk-line);border-radius:var(--radius-lg);box-shadow:var(--surface-shadow)}.settings-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 9px 14px;color:#fff;background:linear-gradient(90deg,var(--hk-brand-dark),var(--hk-brand))}.settings-form-head h2{margin:0;font-size:14px;font-weight:700;color:#fff}.settings-form-head .icon-button{width:26px;height:24px;min-height:24px;font-size:14px}.settings-form-body{display:flex;flex-direction:column;gap:12px;padding:12px}.settings-fieldset{margin:0;padding:10px 12px 12px;min-width:0;display:flex;flex-direction:column;gap:10px;background:var(--hk-well);border:1px solid var(--hk-line);border-radius:var(--radius)}.settings-fieldset legend{float:left;width:100%;padding:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hk-label)}.settings-fieldset legend+*{clear:both}.settings-fieldset .field input,.settings-fieldset .field select{width:100%}.settings-fieldset:disabled{opacity:.75}.req{color:var(--danger)}.settings-extra,.settings-form-actions{display:flex;flex-wrap:wrap;gap:6px}.settings-form-actions{align-items:center;padding:10px 12px;background:var(--hk-face);border-top:1px solid var(--hk-line)}.settings-actions-gap{flex:1 1}@media (max-width:900px){.settings-layout.has-form{grid-template-columns:minmax(0,1fr)}.settings-layout.has-form .settings-list{display:none}.settings-form{position:static}}.summary-dialog{width:480px}.summary-dialog .dialog-heading h2{font-size:13px}.summary-body{gap:10px;padding:12px;font:12px/1.4 Segoe UI,Roboto,Helvetica Neue,Arial,Liberation Sans,sans-serif}.summary-controls{display:flex;flex-direction:column;gap:8px}.summary-body .period-dates{width:100%;gap:8px}.summary-body .period-dates label{flex:1 1;display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:600;color:var(--hk-label)}.summary-body .period-dates input{width:100%;height:28px;min-height:28px;padding:2px 8px;font-size:12px}.summary-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.summary-body .group-switch{padding:2px;gap:2px}.summary-body .group-switch button{min-height:0;padding:3px 10px;font-size:11.5px}.summary-body .summary-live{display:inline-flex;align-items:center;gap:4px;font-size:11px}.summary-body .summary-live .spinner{margin-left:4px}.summary-report{font-size:11.5px}.summary-report td,.summary-report th{padding:5px 8px!important}.summary-report thead th{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--hk-label)}.summary-report td.report-name{font-weight:600}.summary-report .report-name small{font-size:10px;font-weight:400}.summary-report .report-open{width:26px;text-align:center!important;color:var(--muted-fg)}.summary-body .drill-box{padding:8px}.summary-body .drill-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--hk-label)}.summary-body .drill-table{font-size:11px}.summary-body .drill-table td,.summary-body .drill-table th{padding:4px 6px!important}:root,:root[data-theme=light]{--hk-desk:#fff;--hk-side:#fff;--hk-panel:#fff;--hk-surface:#fff;--hk-well:#f7f7f9;--hk-well2:#fafafa;--hk-raised:#fff;--hk-raised-hover:#f5f5f8;--hk-nav:#fff;--hk-face:#fafafa;--hk-line:#dcdce2;--hk-line-soft:#e9e9ee;--hk-ink:#303440;--hk-text:#353943;--hk-label:#69707d;--hk-thead:#f8f8fa;--hk-zebra:#fff;--surface-shadow:0 2px 8px rgb(25 25 40/.035);--portal-selected:#f8eafa;--portal-accent:#b834c5;--portal-action:#141217}:root[data-theme=dark],:root[data-theme=night]{--portal-selected:#34243e;--portal-accent:#ef9bf4;--portal-action:#e9e5ef}.hk-desktop{font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.6}.hk-titlebar{min-height:82px;padding:16px 28px;background:var(--hk-surface);border:0;border-bottom:1px solid var(--hk-line);gap:24px}.hk-brand,.hk-brand:hover,.hk-titlebar{color:var(--hk-ink)}.hk-brand strong{font-size:23px;letter-spacing:-.7px}.hk-brand i{color:var(--portal-accent);font-size:28px}.hk-brand>span{display:none}.portal-topnav{display:flex;gap:28px;margin:0 auto}.portal-topnav a{color:var(--hk-text);font-size:14px}.portal-topnav a:hover{color:var(--portal-accent);text-decoration:none}.hk-userbar{gap:12px;font-size:13px}.hk-userbar-user{gap:10px}.hk-userbar-user b{font-weight:500}.hk-userbar-user small{display:none}.portal-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#6264bc;color:#fff;font-size:18px;flex:none}.hk-desktop .hk-userbar-btn{height:36px;padding:0 10px;color:var(--hk-text);border-color:var(--hk-line);background:transparent;box-shadow:none;font-size:12px}.hk-sidebar{width:280px;background:var(--hk-side);border-color:var(--hk-line)}.hk-sidebar.collapsed{width:68px}.hk-sidebar-brand{min-height:90px;padding:20px;border:0}.hk-sidebar-brand img{border:0;background:transparent;padding:0;width:38px;height:38px}.hk-sidebar-mark{border:0;background:var(--portal-selected);color:var(--portal-accent)}.hk-sidebar-name b{font-size:14px;font-weight:600}.hk-sidebar-name small{font-size:10px;margin-top:2px;letter-spacing:.08em}.hk-sidebar nav{padding:0 16px 20px}.portal-menu-search{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:0 12px;height:44px;border:1px solid var(--hk-line);border-radius:8px;box-shadow:0 2px 4px rgb(0 0 0/.035)}.portal-menu-search i{font-size:18px;color:var(--hk-label)}.hk-desktop .portal-menu-search input{width:100%;min-width:0;height:40px;padding:0;background:transparent;border:0;box-shadow:none;outline:none;font-size:13px}.portal-menu-search:focus-within{outline:2px solid var(--portal-accent);outline-offset:2px}.portal-menu-search kbd{flex:none;padding:0 4px;border:1px solid var(--hk-line);border-radius:3px;color:var(--hk-label);font:10px inherit}.hk-subnav,.hk-subnav>div{gap:5px}.hk-subnav .portal-nav-caption{margin:16px 10px 7px;padding:0;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:none;color:var(--hk-label)}.hk-subnav a{min-height:46px;padding:10px 13px;gap:17px;font-size:14px;font-weight:400;color:var(--hk-text);border:0;border-radius:6px;background:transparent;box-shadow:none}.hk-subnav a>i{color:var(--hk-label);font-size:21px}.hk-subnav a:hover{background:var(--hk-well);box-shadow:none}.hk-subnav a[aria-current=page]{color:var(--hk-ink);background:var(--portal-selected);box-shadow:none}.hk-subnav a[aria-current=page]>i{color:var(--portal-accent)}.hk-subnav-current{background:var(--portal-selected);border:0;border-radius:6px;box-shadow:none}.hk-desktop .hk-sidebar-toggle{margin:12px 16px;padding:10px;border:0;box-shadow:none;background:var(--hk-well);color:var(--hk-label)}.hk-sidebar.collapsed .portal-menu-search{display:none}.hk-sidebar.collapsed nav{padding:0 9px}.hk-sidebar.collapsed .portal-nav-caption{display:none}.hk-sidebar.collapsed .hk-subnav>div+div{margin-top:16px}.hk-workspace{background:var(--hk-desk)}.fcc,.page-content{padding:32px 36px;gap:24px}.portal-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:34px 36px 0}.portal-eyebrow{color:var(--hk-label);font-size:12px}.portal-welcome h1{margin:4px 0 6px;font-size:28px;font-weight:600;letter-spacing:-.7px}.portal-welcome p{margin:0;color:var(--hk-label)}.hk-desktop .page-heading{padding:0;background:transparent;border:0;box-shadow:none}.page-heading h1,.page-title h1{font-size:27px;font-weight:600;letter-spacing:-.6px}.page-subtitle{font-size:14px;margin-top:6px}.hk-desktop :is(.panel,.directory-panel,.fcc-panel,.ops-board,.invoice-doc,.invoice-pay,.billing-card,.vendor-card,.till-breakdown){border:1px solid var(--hk-line);box-shadow:none;border-radius:10px;background:var(--hk-panel)}.hk-desktop :is(button,.primary-button,.column-menu summary){min-height:36px;padding:7px 14px;border:1px solid var(--hk-line);background:var(--hk-surface);color:var(--hk-text);border-radius:8px;box-shadow:none;font-size:13px;font-weight:500}.hk-desktop button:hover:not(:disabled){background:var(--hk-well);box-shadow:0 2px 6px rgb(0 0 0/.04)}.hk-desktop .primary-button{background:var(--portal-action);color:var(--hk-surface);border-color:var(--portal-action)}.hk-desktop .primary-button:hover{opacity:.88}.hk-desktop .icon-button{width:36px;height:36px;padding:0}.hk-desktop :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){height:40px;padding:8px 12px;font-size:14px;border:1px solid var(--hk-line);border-radius:8px;background:var(--hk-surface);color:var(--hk-text);box-shadow:0 1px 2px rgb(0 0 0/.035)}.hk-desktop textarea{height:auto}.field label,.form-label{font-size:13px;font-weight:500}.hk-desktop .table-search{min-height:40px;background:var(--hk-surface);border:1px solid var(--hk-line);box-shadow:none}.hk-desktop .table-search input{box-shadow:none}.table-toolbar{margin:0 20px;padding:18px 0;border:0;gap:12px}.table-title{font-size:16px;font-weight:600}.hk-desktop .table-scroll{margin:0 20px;border:0;border-radius:0}.hk-desktop :is(.data-table table,.fleet-table table,.fleet-grid){border-collapse:separate;border-spacing:0 9px;font-size:13px}.hk-desktop :is(.data-table th,.fleet-table th,.fleet-grid th){padding:15px 16px;background:var(--hk-well);color:var(--hk-label);border:0;font-weight:500}.hk-desktop :is(.data-table td,.fleet-table td,.fleet-grid td){padding:16px;border:0;border-top:1px solid var(--hk-line);border-bottom:1px solid var(--hk-line);background:var(--hk-surface)}.hk-desktop :is(.data-table td,.fleet-table td,.fleet-grid td):first-child{border-left:1px solid var(--hk-line);border-radius:8px 0 0 8px}.hk-desktop :is(.data-table td,.fleet-table td,.fleet-grid td):last-child{border-right:1px solid var(--hk-line);border-radius:0 8px 8px 0}.hk-desktop :is(.data-table th,.fleet-grid th):first-child{border-radius:8px 0 0 8px}.hk-desktop :is(.data-table th,.fleet-grid th):last-child{border-radius:0 8px 8px 0}.table-pagination{padding:18px 20px;font-size:12px}.hk-desktop :is(.billing-badge,.invoice-status,.vendor-status,.role-badge){border:0;border-radius:20px;padding:3px 10px;font-size:11px;text-transform:none;font-weight:500}.hk-desktop .invoice-status.is-ok{background:#07965c;color:#fff}.hk-desktop :is(.app-dialog,.fcc .modal-card){border:1px solid var(--hk-line);border-radius:12px;box-shadow:0 24px 80px rgb(0 0 0/.2)}.app-dialog::-webkit-backdrop{background:rgb(24 24 30/.32);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-dialog::backdrop{background:rgb(24 24 30/.32);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading,.fcc .bus-modal-head{padding:18px 24px;background:var(--hk-well2);color:var(--hk-ink);border-bottom:1px solid var(--hk-line)}.dialog-heading h2,.fcc .bus-modal-head h3{color:var(--hk-ink);font-size:18px;font-weight:500}.hk-desktop .dialog-heading button{width:30px;height:30px;min-height:30px;padding:0;background:transparent;border:0;color:var(--hk-label)}.modal-form{gap:20px 16px;padding:24px}.dialog-actions{margin:4px -24px -24px;padding:18px 24px;border-top:1px solid var(--hk-line);background:var(--hk-surface);box-shadow:none;gap:12px}.confirm-body{padding:24px}.confirm-body .dialog-actions{margin:20px -24px -24px}.hk-desktop .fcc-toolbar{padding:16px 0;margin:0 20px;gap:14px}.hk-desktop .mode-pill{background:var(--portal-action);border:0;box-shadow:none}.hk-desktop .mode-btn.active{color:var(--hk-surface)}.hk-desktop :is(.mode-switch,.admin-tabs,.archive-tabs,.group-switch){padding:4px;border:1px solid var(--hk-line);background:var(--hk-surface)}.hk-desktop :is(.admin-tabs a[aria-current],.archive-tabs button[aria-selected=true],.group-switch button[aria-pressed=true]){background:var(--portal-action);color:var(--hk-surface);border:0;box-shadow:none;border-radius:7px}.hk-desktop .route-title{padding:16px 20px;font-size:16px;font-weight:500;background:var(--hk-well2)}.hk-desktop .route-row{border-color:var(--hk-line);box-shadow:none;margin-bottom:20px}.hk-desktop .ops-feed{margin:20px}.hk-desktop .ops-feed h3{font-size:15px;padding-bottom:12px}.hk-desktop .ops-feed ol{padding:14px;border:1px solid var(--hk-line);box-shadow:none;background:var(--hk-well2)}.hk-desktop .billing-card{padding:20px}.hk-desktop .vendor-card:hover{border-color:var(--portal-accent);box-shadow:0 4px 18px rgb(0 0 0/.05)}.hk-desktop .settings-desk{border-color:var(--hk-line);box-shadow:none}@media (max-width:1200px){.portal-topnav{display:none}.hk-userbar{margin-left:auto}.fcc,.page-content{padding:26px}}@media (max-width:900px){.hk-titlebar{min-height:68px;padding:12px 16px;gap:12px}.hk-sidebar{width:250px}.hk-sidebar.collapsed{width:60px}.hk-userbar{gap:8px}.hk-brand strong{font-size:19px}.portal-welcome{padding:24px 20px 0}.portal-welcome h1{font-size:24px}.portal-welcome p{font-size:13px}.fcc,.page-content{padding:20px}}@media (max-width:767px){.hk-sidebar:not(.collapsed){width:260px;margin-right:-200px}.hk-sidebar:not(.collapsed) .hk-sidebar-brand{padding:16px}.hk-sidebar:not(.collapsed) nav{padding:0 12px 16px}.hk-titlebar{position:relative;z-index:61}.portal-avatar{width:28px;height:28px;font-size:14px}.hk-userbar-user{display:none}.hk-desktop .hk-userbar-btn{width:32px;padding:0}.hk-brand{gap:6px}.hk-brand strong{font-size:16px}.hk-brand i{font-size:22px}.hk-sidebar.collapsed .hk-sidebar-toggle{padding:8px 0;margin:6px}.portal-welcome{padding:22px 14px 0;flex-wrap:wrap}.portal-welcome h1{font-size:22px}.fcc,.page-content{padding:18px 12px;gap:18px}.page-heading h1,.page-title h1{font-size:23px}.hk-desktop .table-scroll{margin:0 12px}.hk-desktop .data-table td{border:0;padding:0;background:transparent;border-radius:0}.hk-desktop .data-table tbody tr{padding:14px;margin-bottom:10px;border:1px solid var(--hk-line);border-radius:8px}.modal-form{padding:20px;gap:16px}.dialog-actions{margin:4px -20px -20px;padding:16px 20px}}@media print{.portal-welcome{display:none}}.hk-desktop input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]){height:40px;min-height:40px;padding:8px 12px;font-size:14px;border:1px solid var(--hk-line);border-radius:8px;background:var(--hk-surface);box-shadow:0 1px 2px rgb(0 0 0/.035)}.hk-desktop .portal-menu-search input[type=search]{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.hk-desktop .primary-button.primary-button{background:var(--portal-action);color:var(--hk-surface);border-color:var(--portal-action)}.hk-desktop .billing-badge.billing-badge,.hk-desktop .invoice-status.invoice-status,.hk-desktop .vendor-status.vendor-status{border-radius:20px}.hk-desktop .settings-modal{max-width:620px}.settings-modal .settings-form-body{padding:28px 32px;gap:22px}.settings-modal .settings-fieldset{padding:0;border:0;background:transparent;gap:22px}.settings-modal .settings-fieldset legend.sr-only{width:1px}.settings-modal .field{gap:8px}.settings-modal .field label{color:var(--hk-text);font-size:14px}.hk-desktop .settings-modal :is(input:not([type=checkbox]):not([type=radio]),select){height:48px;min-height:48px;font-size:15px}.settings-modal .settings-form-actions{position:-webkit-sticky;position:sticky;bottom:0;padding:20px 32px;gap:12px;background:var(--hk-surface);border-top:1px solid var(--hk-line)}.settings-modal .settings-save{order:-2}.settings-modal .settings-actions-gap{order:1}.settings-modal .settings-cancel{order:2}.settings-modal .settings-form-actions button{min-height:42px}.settings-list-head{margin:0 20px;padding:18px 0;border:0}.settings-list-head h2{font-size:17px;font-weight:500}.settings-list-tools{margin:0 20px 18px}.settings-items{margin:0 20px;gap:8px}.hk-desktop .settings-item{padding:15px 16px;background:var(--hk-surface);border-color:var(--hk-line);gap:4px}.settings-item strong{font-size:14px;font-weight:500}.settings-meta{font-size:12px}@media (max-width:640px){.settings-modal .settings-form-body{padding:22px 20px;gap:18px}.settings-modal .settings-fieldset{gap:18px}.settings-modal .settings-form-actions{padding:16px 20px}.settings-list-head{margin:0 14px}.settings-items,.settings-list-tools{margin-left:14px;margin-right:14px}}