:root{--bg: #fafaf9;--surface: #ffffff;--surface-2: #f5f5f4;--border: #e7e5e1;--border-2: #ededea;--ink: #0c0a09;--ink-2: #1c1917;--text: #292524;--muted: #78716c;--muted-2: #a8a29e;--accent: #0c0a09;--taxi: #f5c400;--taxi-deep: #e0b300;--taxi-soft: #fff7d6;--taxi-ink: #2a2200;--good: #15803d;--good-bg: #f0fdf4;--warn: #b45309;--warn-bg: #fffbeb;--bad: #b91c1c;--bad-bg: #fef2f2;--info: #1d4ed8;--info-bg: #eff6ff;--shadow: 0 1px 0 rgba(12, 10, 9, .02), 0 1px 2px rgba(12, 10, 9, .04);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Geist,Söhne,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.hidden{display:none!important}.muted{color:var(--muted)}.error{color:var(--bad);font-size:.9rem}.topbar{position:sticky;top:0;z-index:20;background:#fafaf9d9;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.topbar .inner{max-width:1480px;margin:0 auto;padding:0 28px;height:56px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.brand .mark{width:36px;height:24px;display:grid;place-items:center;color:var(--ink)}.brand .mark svg{display:block;width:36px;height:auto}.brand .medallion{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--muted);letter-spacing:.04em;background:var(--surface-2);border:1px solid var(--border-2);border-radius:4px;padding:2px 6px;margin-left:2px;font-weight:500}nav.primary{display:flex;align-items:center;gap:2px;margin-left:18px}nav.primary .nav-link{font-size:13.5px;color:var(--muted);padding:6px 12px;border-radius:6px;font-weight:500}nav.primary .nav-link:hover{color:var(--ink);background:var(--surface-2)}nav.primary .nav-link.active{color:var(--ink);background:var(--surface-2)}nav.primary .nav-dropdown{position:relative}nav.primary .nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;cursor:pointer;font-family:inherit;box-shadow:none;padding:6px 12px}nav.primary .nav-dropdown-caret{font-size:.65rem;line-height:1;opacity:.7}nav.primary .nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1100;min-width:190px;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 30px #0c0a0929;display:flex;flex-direction:column;gap:.15rem}nav.primary .nav-dropdown-item{display:block;padding:.55rem .65rem;border-radius:6px;color:var(--text);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}nav.primary .nav-dropdown-item:hover{background:var(--surface-2);color:var(--ink)}nav.primary .nav-dropdown-item.active{background:var(--taxi-soft);color:var(--ink);font-weight:600}.topbar .spacer{flex:1}.subnav{background:var(--surface);border-bottom:1px solid var(--border)}.subnav-inner{max-width:1480px;margin:0 auto;padding:0 28px;display:flex;gap:4px}.subnav-link{padding:.65rem 1rem;color:var(--muted);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.subnav-link:hover{color:var(--ink)}.subnav-link.active{color:var(--ink);font-weight:600;border-bottom-color:var(--taxi)}.violation-sms-activity-table td:nth-child(4){max-width:420px;word-break:break-word}.page{max-width:1480px;margin:0 auto;padding:32px 28px 80px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.page-head h1{margin:0 0 4px;font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.page-head .sub{font-size:14px;color:var(--muted)}.page-head .crumbs{font-size:12px;color:var(--muted-2);margin-bottom:8px;display:flex;align-items:center;gap:6px}.page-head .crumbs .sep{opacity:.6}.page-head .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.end{height:24px}.btn{height:34px;padding:0 14px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 1px 2px #0c0a092e}.btn.primary:hover{background:#000}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:var(--shadow)}.btn.ghost:hover{background:var(--surface-2)}.btn.secondary{background:var(--surface)}.btn.verification{background:#0d9488;color:#fff;border-color:#0f766e;box-shadow:0 1px 2px #0d948847}.btn.verification:hover{background:#0f766e;border-color:#115e59}.iconbtn{width:32px;height:32px;border-radius:6px;border:1px solid transparent;display:grid;place-items:center;color:var(--muted);background:transparent;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;box-shadow:none}.iconbtn:hover{background:var(--surface-2);color:var(--ink)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button.is-loading{opacity:.75;pointer-events:none}.seg{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:8px}.seg button{border:none;background:transparent;padding:5px 11px;font-size:12.5px;color:var(--muted);border-radius:5px;cursor:pointer;font-weight:500;box-shadow:none}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.card-head .title-row{display:flex;align-items:center;gap:.45rem}.card-head .title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.queue-audience{display:inline-flex;align-items:center;height:20px;padding:0 .45rem;border-radius:999px;font-size:11px;font-weight:600;line-height:1;letter-spacing:.01em}.queue-audience-human{background:var(--warn-bg);color:var(--warn)}.queue-audience-ai{background:var(--info-bg);color:var(--info)}.card-head .meta{font-size:12.5px;color:var(--muted);margin-top:2px}.card-head .right{display:flex;align-items:center;gap:8px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpis{grid-template-columns:1fr}}.kpi{padding:18px 18px 16px;position:relative;overflow:hidden}.kpi .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.kpi .head .name{font-size:13px;color:var(--muted);font-weight:500}.kpi .head .badge{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border-2);font-weight:500}.kpi .head .badge.good{background:var(--good-bg);color:var(--good);border-color:#bbf7d0}.kpi .head .badge.taxi{background:var(--taxi-soft);color:var(--taxi-ink);border-color:#fde68a}.kpi .value{display:flex;align-items:baseline;gap:10px}.kpi .value .num{font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi .value .unit{font-size:13px;color:var(--muted)}.kpi .footline{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:12.5px;color:var(--muted)}.kpi .footline .dot{width:6px;height:6px;border-radius:50%;background:var(--muted-2);display:inline-block;margin-right:4px}.kpi .footline .dot.g{background:#22c55e}.kpi .footline strong{color:var(--ink);font-weight:600}.kpi .spark{position:absolute;right:14px;bottom:14px;width:96px;height:34px;min-width:96px;min-height:34px;display:block;opacity:.9;pointer-events:none;z-index:1}.kpi.muted .value .num{color:var(--muted-2);font-weight:500}.kpi.muted .stub{margin-top:6px;font-size:13px;color:var(--muted)}a.kpi.kpi-link{color:inherit;text-decoration:none;display:block;transition:box-shadow .15s ease,border-color .15s ease}a.kpi.kpi-link:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.vkpi{display:flex;flex-direction:column;padding:16px 18px;min-height:128px}.vkpi-link{transition:box-shadow .15s ease,border-color .15s ease}.vkpi-link:hover{border-color:var(--muted-2);box-shadow:0 2px 10px #0c0a090f}.vkpi-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.vkpi-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.vkpi-badge{flex:none;font-size:11px;font-weight:600;line-height:1;padding:4px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border-2);white-space:nowrap}.vkpi-badge.accent{background:var(--taxi-soft);color:var(--taxi-ink);border-color:#fde68a}.vkpi-badge.bad{background:var(--bad-bg);color:var(--bad);border-color:#fecaca}.vkpi-stats{margin:0;display:flex;flex-direction:column}.vkpi-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border-2)}.vkpi-stat:first-child{border-top:0}.vkpi-stat dt{margin:0;font-size:12.5px;color:var(--muted)}.vkpi-stat dd{margin:0;font-size:13.5px;font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.vkpi-coverage{display:flex;flex-direction:column;gap:10px;margin-top:auto}.vkpi-count{display:flex;align-items:baseline;gap:7px}.vkpi-count-num{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.vkpi-count-of{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.vkpi-bar{position:relative;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.vkpi-bar-fill{position:absolute;inset:0 auto 0 0;height:100%;min-width:6px;border-radius:999px;background:var(--taxi)}.vkpi-coverage-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.vkpi-coverage-foot strong{color:var(--ink);font-weight:600}.vkpi-muted .vkpi-title{color:var(--muted)}.vkpi-stub{font-size:13px;color:var(--muted)}.detail-subtitle-medallion{font-size:12px;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--surface-2)}.sync-expand-btn{width:34px;height:34px;min-width:34px;padding:0;font-size:1.15rem;font-weight:700;line-height:1;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;box-shadow:none;justify-content:center;flex-shrink:0}.sync-expand-btn:hover,.sync-expand-btn[aria-expanded=true]{background:var(--taxi-soft);border-color:var(--taxi-deep);color:var(--taxi-ink)}.sync-history-details td{background:var(--surface-2);padding:12px 16px}.sync-stats-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}.sync-stat-row{display:flex;flex-direction:column;gap:2px;font-size:12px}.sync-stat-row .k{color:var(--muted);font-family:var(--font-mono)}.sync-stat-row .v{color:var(--ink);word-break:break-word}.sync-run-error{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid #fecaca;background:var(--bad-bg);color:var(--bad);font-size:.9rem;line-height:1.45}.sync-details-heading{margin:18px 0 8px;font-size:.85rem;font-weight:600;color:var(--ink)}.bekman-results-table{margin-top:8px}.bekman-results-table .error-cell{max-width:28rem;white-space:normal}.dashboard-grid,.grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.dashboard-main{display:flex;flex-direction:column;gap:14px;min-width:0}.dashboard-slot .value .spinner,.file-review-queue-item .value .spinner,.processing-queue-summary .value .spinner{align-self:center}.dashboard-loading-cell{display:flex;justify-content:center;padding:1.5rem 1rem}.file-review-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.file-review-queue-item{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;color:inherit;text-decoration:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;transition:background .12s ease}.file-review-queue-item:nth-child(2n){border-right:none}.file-review-queue-item:nth-last-child(-n+2){border-bottom:none}.file-review-queue-item:hover{background:color-mix(in srgb,var(--surface) 88%,var(--taxi-soft))}.file-review-queue-item:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.file-review-queue-item .name{font-size:13px;color:var(--muted);font-weight:500}.file-review-queue-item .value{display:flex;align-items:baseline;gap:8px}.file-review-queue-item .num{font-size:28px;font-weight:650;letter-spacing:-.03em;line-height:1}.file-review-queue-item .num.money{font-size:22px;letter-spacing:-.02em}.file-review-queue-item .unit{font-size:13px;color:var(--muted)}.file-review-queue-item .foot{font-size:12px;color:var(--muted)}.file-review-queue-item .foot .arrow{color:var(--muted-2)}.processing-queue-summary{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;color:inherit;text-decoration:none}.processing-queue-summary:hover{background:color-mix(in srgb,var(--surface) 88%,var(--taxi-soft))}.processing-queue-summary .value{display:flex;align-items:baseline;gap:8px}.processing-queue-summary .num{font-size:28px;font-weight:650;letter-spacing:-.03em;line-height:1}.processing-queue-summary .unit,.processing-queue-summary .foot{font-size:13px;color:var(--muted)}.processing-queue-summary .foot .arrow{color:var(--muted-2)}@media(max-width:900px){.file-review-queue{grid-template-columns:1fr}.file-review-queue-item,.file-review-queue-item:nth-child(2n),.file-review-queue-item:nth-last-child(-n+2){border-right:none;border-bottom:1px solid var(--border)}.file-review-queue-item:last-child{border-bottom:none}}@media(max-width:1180px){.dashboard-grid,.grid{grid-template-columns:1fr}}.rail{display:flex;flex-direction:column;gap:14px}.rail .card{padding:0}.file-completion-parent td{border-bottom-color:transparent}.file-completion-subrow td{background:color-mix(in srgb,var(--surface) 92%,var(--taxi-soft));border-top-color:transparent}.file-completion-subrow+.file-completion-subrow td{border-top-color:transparent}.file-completion-parent+.file-completion-subrow td,.file-completion-subrow+tr:not(.file-completion-subrow) td{border-top-color:var(--line)}.file-completion-subrow .doc-sub{color:var(--muted);font-size:12.5px;padding-left:18px}.doc-sub-prefix{color:var(--muted-2);font-family:var(--font-mono)}tr.file-completion-category-link{cursor:pointer}tr.file-completion-category-link .doc:after{content:" →";color:var(--muted-2);font-size:12px}.unclassified-table .classify-reason{max-width:18rem;white-space:normal;line-height:1.35}.file-review-heading{min-width:0;flex:1}.file-review-reason{margin:.2rem 0 0;font-size:13px}.unclassified-table .path-cell{font-family:var(--font-mono);font-size:12px;max-width:280px;word-break:break-all;color:var(--muted)}.unclassified-table .path-cell.missing{color:var(--muted-2)}.unclassified-table td.actions{white-space:nowrap;text-align:right}.unclassified-table td.actions .btn+.btn{margin-left:.4rem}.violation-scans-table .violation-scan-extracted{max-width:220px;font-size:12px;color:var(--muted)}.violation-sms-message-preview{max-width:360px;font-size:12px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.violation-sms-error-cell{max-width:280px;font-size:12px;line-height:1.4}.violation-sms-error{color:var(--danger, #b42318);white-space:pre-wrap;word-break:break-word}tr.violation-sms-row-failed{background:color-mix(in srgb,var(--danger, #b42318) 6%,transparent)}.violation-sms-row-actions{display:inline-flex;flex-wrap:nowrap;gap:6px;align-items:center}.violation-sms-queue-table th:last-child,.violation-sms-queue-table td:last-child{white-space:nowrap;width:1%}.violation-sms-row-actions .btn{flex:0 0 auto}.violation-sms-tbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto}.sms-queue-card .fc-tbar{align-items:flex-start}.sms-queue-card .fc-count{min-width:0;flex:1 1 16rem;white-space:normal;line-height:1.45}.app-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,12px);z-index:1200;max-width:min(92vw,480px);background:var(--ink);color:#fff;border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.4;box-shadow:0 8px 24px #0c0a092e;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.app-toast.show{opacity:1;transform:translate(-50%)}.unclassified-table .unclassified-id-hint{margin-top:4px;font-family:var(--font-mono);font-size:11px;color:var(--muted-2);word-break:break-all}.row-superseded td{opacity:.72}.invoice-reading-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 16px;margin:0 0 12px}.invoice-reading-facts div{min-width:0}.invoice-reading-facts dt{margin:0;font-size:11px;color:var(--muted-2)}.invoice-reading-facts dd{margin:2px 0 0;font-size:13px;color:var(--ink)}.invoice-reading{margin:0 0 12px;padding-top:8px;border-top:1px solid var(--line)}.invoice-reading h4,.invoice-other-files{margin:0 0 8px}.invoice-other-files{display:flex;flex-wrap:wrap;gap:8px}.file-preview-text-section{border-top:1px solid var(--line);padding:16px 18px 20px;background:var(--surface-2)}.file-preview-text-heading{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink)}.file-preview-text-meta{margin:0 0 10px;font-size:12px}.file-preview-text{margin:0;max-height:280px;overflow:auto;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.tbl-wrap{overflow:auto}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}table.tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;white-space:nowrap}table.tbl td{padding:13px 16px;border-bottom:1px solid var(--border-2);color:var(--text);vertical-align:middle}table.tbl tbody tr:hover{background:#fbfaf8}table.tbl tbody tr:last-child td{border-bottom:none}td.doc{font-weight:500;color:var(--ink)}td.doc .sub{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:1px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:Geist Mono,monospace;font-size:13px}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;background:var(--surface-2);color:var(--text);border:1px solid var(--border-2);white-space:nowrap}.chip .d{width:5px;height:5px;border-radius:50%;background:var(--muted)}.chip.driver .d{background:#1d4ed8}.chip.tlc .d{background:#7c3aed}.chip.dmv .d{background:#0891b2}.chip.fleet .d,.chip.compliance .d,.chip.service .d{background:#15803d}.pct{font-weight:500}.pct.zero,.pct.none{color:var(--muted-2)}.pct.high{color:var(--good)}.pct.mid{color:var(--warn)}.pct.low{color:var(--bad)}.bar{position:relative;height:6px;width:160px;max-width:100%;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--ink);border-radius:999px}.bar .fill.good{background:#22c55e}.bar .fill.warn{background:#f59e0b}.bar .fill.bad{background:#ef4444}.bar.empty{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--border-2) 6px 7px)}.sync .row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding:11px 16px;border-bottom:1px solid var(--border-2);align-items:center}.sync a.row{color:inherit;text-decoration:none}.sync .label{font-size:13px;font-weight:500;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync .row:last-child{border-bottom:none}.sync .row:hover{background:#fbfaf8}.sync .dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e1f}.sync .dot.err{background:#ef4444;box-shadow:0 0 0 2px #ef44441f}.sync .dot.running{background:var(--info);box-shadow:0 0 0 2px #1d4ed81f}.sync .meta{display:flex;align-items:center;gap:8px;min-width:0}.sync .src{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border-2);border-radius:4px;padding:1px 6px;letter-spacing:.04em;text-transform:uppercase;font-weight:500}.sync .when{font-family:Geist Mono,monospace;font-size:12px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync .stats{font-family:Geist Mono,monospace;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:10px;white-space:nowrap}.sync .stats .up{color:var(--ink);font-weight:600}.sync .stats .skip{color:var(--muted-2)}.sync .stats .sep{color:var(--border)}.sync .stats .arrow{color:var(--muted-2);margin-right:1px}.sync-foot{padding:10px 16px;border-top:1px solid var(--border-2);font-family:Geist Mono,monospace;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.sync-foot a{color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:1px}.sync-foot a:hover{border-color:var(--ink)}.sync-empty{padding:16px;font-size:13px;color:var(--muted)}.kv .row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-2);font-size:13px}.kv .row:last-child{border-bottom:none}.kv .k{color:var(--muted)}.kv .v{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Geist Mono,monospace;font-size:12.5px;font-weight:500}.kv .v.accent{color:var(--good)}.live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);font-weight:500}.live .pulse{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 #22c55e80;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:lowercase}.status-badge.status-success{background:var(--good-bg);color:var(--good)}.status-badge.status-error{background:var(--bad-bg);color:var(--bad)}.status-badge.status-running{background:var(--info-bg);color:var(--info)}.status-badge.status-unknown{background:var(--surface-2);color:var(--muted)}.inspection-ref-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.25rem 0}.source-tag{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:10.5px;font-weight:500;font-family:Geist Mono,monospace;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--muted);border:1px solid var(--border-2)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--good-bg);color:var(--good);font-size:.78rem;font-weight:600}.badge.empty{background:var(--surface-2);color:var(--muted)}.badge.status-active{background:var(--good-bg);color:var(--good)}.badge.status-inactive{background:var(--bad-bg);color:var(--bad)}label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.35rem}input[type=search],input[type=password],input[type=date],select{padding:.55rem .75rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;box-shadow:var(--shadow)}input[type=search]:focus,input[type=password]:focus,input[type=date]:focus,select:focus{outline:2px solid var(--taxi);outline-offset:-1px;border-color:var(--taxi)}input:disabled,select:disabled{opacity:.5}.login-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-panel{width:100%;max-width:380px;padding:1.75rem}.login-brand{margin-bottom:1.25rem}.login-panel h1{margin:0 0 .35rem;font-size:1.35rem;font-weight:600;color:var(--ink)}.login-panel form,.login-actions{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.login-actions .btn{width:100%;text-align:center;text-decoration:none}.session-user{font-size:.875rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-panel input[type=password]{width:100%}.page-browse{display:flex;flex-direction:column;gap:14px}.browse-table-wrap{padding:0;overflow:auto;max-height:calc(100vh - 14rem)}#page-garage-invoices>.garage-review{margin-bottom:14px}.garage-tabs{display:flex;gap:.25rem;margin:0 0 .75rem;border-bottom:1px solid var(--border)}.garage-tabs button{appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;margin:0 0 -1px;padding:.55rem .85rem;border-radius:0;box-shadow:none;height:auto;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer}.garage-tabs button[aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.garage-kpis{margin-top:.25rem}.garage-summary-loading{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;min-height:4.5rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:.9rem;font-weight:500}#garage-table-wrap.is-loading,#garage-accounting-table-wrap.is-loading{min-height:8rem}.garage-invoice-table th,.garage-invoice-table td{white-space:nowrap;word-break:normal;overflow-wrap:normal}.garage-invoice-table th.garage-why,.garage-invoice-table td.garage-why{white-space:normal}.garage-invoice-table td.garage-why{vertical-align:top}.garage-why-lines{display:flex;flex-direction:column;gap:.15rem;width:13.5rem;line-height:1.35;white-space:normal}.garage-status{display:inline-block;font-size:13.5px;font-weight:600;line-height:1.2;white-space:nowrap;padding:.15rem .45rem;border-radius:999px}.garage-status.is-unread{background:var(--warn-bg);color:var(--warn)}.garage-status.is-review,.garage-status.is-failed,.garage-status.is-missing{background:var(--bad-bg);color:var(--bad)}.garage-status.is-matched{background:var(--good-bg);color:var(--good)}.garage-status.is-muted{background:var(--surface-2);color:var(--text)}.garage-sent-note{margin-top:.2rem;max-width:16rem;font-size:12px;font-weight:500;line-height:1.35;white-space:normal;color:var(--muted)}#garage-accounting{display:flex;flex-direction:column;gap:14px}#garage-accounting-banners{display:flex;flex-direction:column;gap:12px}#garage-accounting-banners:empty{display:none}.garage-accounting-banner{margin:0;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:6px;background:var(--warn-bg);color:var(--ink)}.garage-accounting-preview{width:min(640px,100%)}.garage-accounting-preview-body{margin:.75rem 0;white-space:pre-wrap;font:inherit;font-size:.875rem;line-height:1.45}.garage-invoice-table .pin-left,.garage-invoice-table .pin-right{position:sticky;background:var(--surface)}.garage-invoice-table .pin-left{left:0;z-index:2;box-shadow:6px 0 8px -6px #0c0a091f}.garage-invoice-table .pin-right{right:0;z-index:2;box-shadow:-6px 0 8px -6px #0c0a091f}.garage-invoice-table thead .pin-left,.garage-invoice-table thead .pin-right{z-index:4}.garage-invoice-table tbody tr:hover .pin-left,.garage-invoice-table tbody tr:hover .pin-right{background:#fbfaf8}.garage-invoice-table .row-actions{display:flex;gap:.35rem;justify-content:flex-end}.garage-invoice-table td.actions{white-space:nowrap}.garage-review h2{margin:0 0 .25rem;font-size:16px}.garage-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.15rem 0}.garage-review-head p{margin:0;color:var(--muted);font-size:13.5px}.garage-review-body{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:1.25rem;padding:.85rem 1.15rem 1.1rem}.garage-review-po{margin:0;font-size:13.5px}.garage-review-po div{display:flex;justify-content:space-between;gap:1rem;padding:.28rem 0;border-bottom:1px solid var(--border)}.garage-review-po dt{color:var(--muted)}.garage-review-po dd{margin:0;text-align:right}.garage-review-form{display:flex;flex-direction:column;gap:.85rem}.garage-review-invoice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.garage-review-form label,.garage-review-invoice label{display:flex;flex-direction:column;gap:.25rem;margin:0;font-size:12px;font-weight:500;color:var(--muted)}.garage-review-form input{height:34px;padding:0 .75rem;font-size:13.5px}.garage-review-actions{display:flex;flex-direction:column;gap:.85rem}.garage-review-heading{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.garage-review-choice{display:flex;flex-direction:column;gap:.3rem}.garage-review-choice .btn,.garage-vendor-missing .btn,#garage-vendor-create{width:100%;height:auto;min-height:34px;padding:.45rem .75rem;white-space:normal;text-align:left;line-height:1.35;justify-content:flex-start}.garage-review-choice .garage-review-note,.garage-vendor-missing .garage-review-note{margin:0}.garage-review-note{margin:0 0 .75rem;font-size:13.5px;color:var(--text)}.garage-compare{position:fixed;inset:0;z-index:1200;display:flex;padding:.75rem;background:#0c0a0973}.garage-compare-box{display:flex;flex-direction:column;width:100%;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.garage-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.garage-compare-head h3{margin:0;font-size:16px}.garage-compare-tools{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}#garage-compare-repairs:empty{display:none}.garage-compare-note{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:52rem;margin:.45rem 0 0;color:var(--muted);font-size:13.5px}.garage-problem-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--bad-bg);color:var(--bad);font-size:12.5px;font-weight:600;line-height:1.3}.garage-compare-comment{flex-basis:100%;line-height:1.35}.garage-compare [hidden]{display:none!important}.garage-compare-panels{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0}.garage-compare.is-review .garage-compare-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,360px)}.garage-compare-file,.garage-compare-edit{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--border)}.garage-compare-edit{border-right:none;gap:.85rem;padding:1rem;overflow:auto}.garage-compare-file-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-bottom:1px solid var(--border)}.garage-compare-file-head h4{margin:0;font-size:13.5px}.garage-compare-file-tools{display:flex;align-items:center;gap:.35rem;margin-left:auto}.garage-zoom,.preview-zoom{display:inline-flex;align-items:center}.garage-zoom-btn,.preview-zoom-btn{width:28px;height:28px;font-size:18px}.garage-zoom-level,.preview-zoom-level{min-width:2.75rem;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.garage-compare-viewport{flex:1;min-height:0;overflow:auto;padding:.75rem;background:var(--surface-2)}.preview-zoom-viewport.is-pannable{cursor:grab;touch-action:none}.preview-zoom-viewport.is-pannable img,.preview-zoom-viewport.is-pannable canvas{cursor:grab}.preview-zoom-viewport.is-panning,.preview-zoom-viewport.is-panning img,.preview-zoom-viewport.is-panning canvas{cursor:grabbing;user-select:none}.garage-compare-stage,.preview-zoom-stage{width:100%}.garage-compare-viewport img,.garage-compare-page{display:block;width:100%;height:auto;margin:0 auto .75rem;background:var(--surface);-webkit-user-drag:none;user-select:none}.garage-external-icon{width:14px;height:14px;flex:0 0 auto}.garage-repairs-link{text-decoration:none}.garage-compare-edit .garage-review-invoice{grid-template-columns:1fr}.garage-review-fold{border:1px solid var(--border);border-radius:10px;background:var(--surface)}.garage-review-fold>summary{display:flex;align-items:center;gap:.45rem;padding:.7rem .8rem;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);list-style:none}.garage-review-fold>summary::-webkit-details-marker{display:none}.garage-review-fold>summary:before{content:"";width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);flex:0 0 auto}.garage-review-fold[open]>summary:before{transform:rotate(45deg)}.garage-review-fold-body{display:flex;flex-direction:column;gap:.75rem;padding:0 .8rem .85rem}.garage-review-invoice-title{margin:0 0 .35rem;font-size:12px;font-weight:600;color:var(--ink)}#garage-review-reading[hidden]{display:none}.garage-vendor-missing{display:flex;flex-direction:column;gap:.45rem}#garage-vendor-create{text-decoration:none}.garage-review-save-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#garage-review-repairs{margin-right:auto}#garage-review-repairs:empty{display:none}#garage-review-save,.garage-vendor-add,.garage-vendor-reload{width:100%}.garage-vendor-field{display:flex;flex-direction:column;gap:.45rem}.garage-review-field{display:flex;flex-direction:column;gap:.25rem;font-size:12px;font-weight:500;color:var(--muted)}.garage-review-field select,.garage-review-field textarea,.garage-review-invoice input,.garage-review-invoice select{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem .65rem}.garage-review-field textarea{min-height:4.5rem;resize:vertical}@media(max-width:960px){.garage-compare{padding:0}.garage-compare-box{border-radius:0}.garage-compare-panels,.garage-compare.is-review .garage-compare-panels{grid-template-columns:1fr;overflow:auto}.garage-compare-file{min-height:70vh;border-right:none;border-bottom:1px solid var(--border)}}@media(max-width:800px){.garage-review-body,.garage-review-invoice{grid-template-columns:1fr}}.browse-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--line);background:var(--surface)}.browse-page-label{margin:0;font-size:.85rem;text-align:center;flex:1}:root{--browse-flyout-width: clamp(300px, 40vw, 640px)}body.browse-flyouts-open{overflow:hidden}.browse-flyout-scrim{position:fixed;inset:0;background:#0c0a0947;z-index:1000}.browse-flyout{position:fixed;top:0;bottom:0;right:0;width:var(--browse-flyout-width);margin:0;padding:0;border-radius:0;border:none;box-shadow:-10px 0 40px #0c0a0924;z-index:1010;display:flex;flex-direction:column;overflow:hidden}.browse-flyout:not(.hidden){display:flex!important}.browse-flyout.loading-region{position:fixed}.browse-flyout-driver,.browse-flyout-fleet{transition:right .2s ease}body.browse-file-open .browse-flyout-driver,body.browse-file-open .browse-flyout-fleet{right:var(--browse-flyout-width)}.browse-flyout-file{z-index:1020}.browse-flyout-file .browse-flyout-header{flex-wrap:wrap}.browse-flyout-file .browse-flyout-title{flex:1 1 8rem}.browse-flyout-file .browse-flyout-actions{flex-wrap:wrap;justify-content:flex-end}.browse-flyout-review{z-index:1015;width:min(420px,36vw)}body.browse-review-open .browse-flyout-review{right:var(--browse-flyout-width)}body.browse-review-open.browse-file-open .browse-flyout-driver,body.browse-review-open.browse-file-open .browse-flyout-fleet{right:calc(var(--browse-flyout-width) + min(420px,36vw))}.file-review-form{padding-bottom:1.5rem}.file-review-pages{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.25rem}.file-review-mode{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.file-review-mode label{display:inline-flex;align-items:center;gap:.4rem;font-size:.92rem}.file-review-page-list{display:flex;flex-direction:column;gap:.45rem}.file-review-page{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;align-items:center;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.file-review-page.is-filed{background:var(--surface-2)}.file-review-page-label{grid-column:1;grid-row:1 / span 2;background:transparent;border:none;box-shadow:none;color:var(--ink);font-weight:600;padding:0;height:auto;cursor:pointer;text-align:left}.file-review-page-label:hover{color:var(--accent, #1d4ed8)}.file-review-page-continue{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted, #5c6570)}.file-review-page-type,.file-review-page-subtype{width:100%}.file-review-page-filed{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;font-size:.88rem;font-weight:600}.file-review-page-edit{width:28px;height:28px;flex:0 0 auto}.file-review-page-edit svg{display:block}.file-review-page-filed [data-filed-summary],.file-review-page-filed [data-type-wrap]{flex:1;min-width:0}.modal-form textarea.form-control{height:auto;min-height:5.5rem;padding:.65rem .85rem;resize:vertical}.entity-picker{position:relative}.entity-picker-results{position:absolute;z-index:5;left:0;right:0;top:calc(100% - .15rem);max-height:220px;overflow:auto;margin:0;padding:.25rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.entity-picker-results button{display:block;width:100%;text-align:left;background:transparent;border:none;box-shadow:none;height:auto;padding:.45rem .55rem;cursor:pointer;color:var(--ink)}.entity-picker-results button:hover{background:var(--surface-2)}.entity-picker-empty{padding:.45rem .55rem}.entity-picker-selected{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.4rem 0 0}.type-select-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;height:42px;padding:0 .85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:.9375rem;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.type-select-btn:focus{outline:none;border-color:var(--taxi);box-shadow:0 0 0 3px #eab30838}.type-select-btn.is-placeholder .type-select-value{color:var(--muted)}.type-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.type-select-caret{width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex-shrink:0;opacity:.65}.type-select-panel{position:fixed;z-index:20;display:flex;flex-direction:column;gap:.4rem;padding:.45rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.type-select-panel .type-select-q{height:36px;flex:none}.type-select-list{overflow:auto;min-height:0}.type-select-new{flex:none;margin:0;padding:.45rem .55rem;border:0;border-top:1px solid var(--border);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.type-select-new:hover{background:var(--surface-2, rgba(0, 0, 0, .04))}.settings-approver-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.settings-approver-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.settings-approver-add{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;margin-bottom:.75rem}.settings-approver-add .inp{min-width:16rem}.file-type-requests{display:flex;flex-direction:column;gap:.75rem}.file-type-request{display:flex;flex-direction:column;gap:.65rem}.file-type-request-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.file-type-request textarea,.file-type-example{min-height:7rem;font:inherit;white-space:pre-wrap}.file-review-page-new{margin-top:.35rem}.type-select-group{margin:.45rem 0 .1rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.type-select-list button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:6px;padding:.4rem .5rem;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer;box-shadow:none;height:auto}.type-select-list button.is-current{font-weight:600}.type-select-list button.is-active,.type-select-list button:hover{background:var(--surface-2)}.type-select-list mark{background:color-mix(in srgb,var(--taxi) 40%,transparent);color:inherit;border-radius:2px;padding:0 1px}.type-select-empty{padding:.45rem .5rem;color:var(--muted);font-size:.85rem}.browse-flyout-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border);background:var(--surface)}.browse-flyout-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink);line-height:1.3;min-width:0;flex:1}.browse-flyout-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.browse-flyout-header-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;width:100%}.browse-flyout-header-driver .browse-flyout-actions .iconbtn{width:34px;height:34px}.browse-flyout-header-driver .browse-flyout-title{overflow-wrap:anywhere}.dropdown{position:relative}.dropdown-toggle{gap:.4rem}.dropdown-caret{font-size:.7rem;line-height:1}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1100;min-width:220px;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 30px #0c0a0929;display:flex;flex-direction:column;gap:.15rem}.dropdown-item{display:block;width:100%;text-align:left;padding:.55rem .65rem;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;box-shadow:none;text-decoration:none;height:auto}.dropdown-item:hover{background:var(--surface-2)}.modal-overlay{position:fixed;inset:0;z-index:1200;background:#0c0a0973;display:flex;align-items:center;justify-content:center;padding:24px}.modal-overlay.hidden{display:none}.modal-box{width:min(540px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #0c0a0947;padding:1.25rem}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.modal-head h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink)}.modal-note{margin:0 0 1rem;font-size:.875rem;color:var(--muted);line-height:1.5}.bank-edit-modal-box{width:min(480px,100%)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-field{display:flex;flex-direction:column;gap:.35rem}.modal-form .form-field label{margin:0;font-size:.8125rem;font-weight:600;color:var(--ink)}.modal-form .form-control{width:100%;height:42px;padding:0 .85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:.9375rem;box-shadow:var(--shadow);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.modal-form .form-control-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.02em}.modal-form .form-control::placeholder{color:var(--muted-2, var(--muted));font-family:inherit;letter-spacing:normal}.modal-form .form-control:focus{outline:none;border-color:var(--taxi);box-shadow:0 0 0 3px #eab30838}.modal-form .form-hint{font-size:.75rem;color:var(--muted);line-height:1.4}.modal-form .form-status{margin:0;font-size:.8125rem;line-height:1.45}.modal-form .form-status.error{color:var(--bad)}.modal-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem;padding-top:.25rem}.modal-copied-badge{display:inline-block;margin-right:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--good-bg);color:var(--good);font-size:.75rem;font-weight:600}.link-row{display:flex;gap:.5rem}.link-row input{flex:1;min-width:0;height:36px;padding:0 .7rem;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.link-row .btn{flex-shrink:0}.link-modal-box{width:min(620px,100%)}.link-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;padding:1.5rem 1rem;text-align:center}.link-modal-loading.hidden,.link-modal-ready.hidden{display:none}.link-modal-loading-spinner{width:2rem;height:2rem;border-width:3px}.link-modal-loading-title{margin:0;font-size:1rem;font-weight:600;color:var(--ink)}.link-modal-loading-note{margin:0;max-width:22rem;font-size:.875rem;color:var(--muted);line-height:1.5}.modal-overlay.link-modal-is-generating{cursor:wait}.link-modal-sms-section{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.link-modal-sms-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600;color:var(--ink)}.link-modal-phone-table-wrap{overflow-x:auto;margin-bottom:.85rem}.link-modal-phone-table{width:100%;border-collapse:collapse;font-size:.85rem}.link-modal-phone-table th,.link-modal-phone-table td{padding:.45rem .55rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.link-modal-phone-table th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.link-modal-phone-table td:first-child,.link-modal-phone-table th:first-child{width:3rem;text-align:center}.link-modal-phone-table td code,.link-modal-custom-phone-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.link-modal-custom-phone-input{width:100%;min-width:10rem;height:32px;padding:0 .55rem;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text)}.link-modal-sms-status{margin:0 0 .75rem;font-size:.85rem;line-height:1.45}.link-modal-sms-status.hidden{display:none}.link-modal-sms-status.is-error{color:var(--bad)}.link-modal-sms-status.is-success{color:var(--good)}.link-modal-sms-sent{padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--good) 35%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--good) 8%,var(--surface-2))}.link-modal-sms-sent-message{margin:0;font-size:.92rem;line-height:1.5;color:var(--good);font-weight:500}.link-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.link-modal-done-actions{margin-top:.75rem}#link-choice-modal{z-index:1300}.link-choice-modal-box{width:min(520px,100%)}.link-choice-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}.browse-flyout-body{flex:1;min-height:0;overflow:auto;padding:1rem}.browse-flyout .loading-overlay{border-radius:0}.tbl th[data-sort]{padding:0}.tbl .th-sort-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:10px 16px;margin:0;border:none;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:500;font-size:12px;text-align:left;cursor:pointer;box-shadow:none;height:auto}.tbl .th-sort-btn:hover{background:#fbfaf8;color:var(--ink)}.tbl th[aria-sort=ascending] .th-sort-btn,.tbl th[aria-sort=descending] .th-sort-btn{color:var(--ink)}.tbl .sort-indicator{font-size:.65rem;line-height:1;opacity:.7;min-width:.75rem}.drivers-table tbody tr{cursor:pointer}.drivers-table tbody tr.selected{background:var(--taxi-soft)}#medallions-table tbody tr.fleet-row,#vehicles-table tbody tr.fleet-row{cursor:pointer}#medallions-table tbody tr.fleet-row.selected,#vehicles-table tbody tr.fleet-row.selected{background:var(--taxi-soft)}.drivers-table tr.driver-inactive td:first-child{color:var(--muted)}.drivers-table .empty-cell{text-align:center;padding:2rem;color:var(--muted)}.drivers-table .mono{font-family:Geist Mono,monospace;font-size:12px;color:var(--muted)}.detail-section-title{margin:1rem 0 .5rem;font-size:.9rem;font-weight:600;color:var(--ink)}.detail-files-container{margin-top:.75rem}.detail-file-group{margin-bottom:1.1rem}.detail-file-group-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.detail-file-group-head h4{margin:0;font-size:.85rem;font-weight:600;color:var(--ink)}.detail-file-group-count{font-size:.75rem;color:var(--muted)}.detail-meta p{margin:.25rem 0;font-size:.9rem}.detail-headline{min-width:0;flex:1}.detail-subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem}.detail-subtitle:empty{display:none}.detail-subtitle-tlc{font-size:.8rem;color:var(--muted);font-weight:500}.detail-section{margin-bottom:1.25rem}.detail-section+.detail-section{padding-top:1.1rem;border-top:1px solid var(--border)}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.detail-section-title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.detail-section-count{font-size:.75rem;color:var(--muted)}.detail-documents{margin-bottom:0}.link-modal-expiry{margin:0 0 16px;font-size:.875rem;color:var(--muted)}.link-modal-expiry.hidden{display:none}.bank-form-link-status{margin:0 0 12px}.bank-form-link-status.hidden{display:none}.bank-form-link-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.bank-form-link-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.bank-form-link-badge.is-active{color:#166534;background:#dcfce7}.bank-form-link-badge.is-expired{color:#991b1b;background:#fee2e2}.bank-form-link-status-meta{font-size:.8125rem;color:var(--muted)}.bank-form-activity-container{margin-top:.15rem}.bank-form-activity-list{list-style:none;margin:0;padding:0}.bank-form-activity-item{padding:.65rem 0;border-bottom:1px solid var(--border)}.bank-form-activity-item:last-child{border-bottom:none}.bank-form-activity-main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.bank-form-activity-summary{font-size:.88rem;color:var(--text)}.bank-form-activity-time{flex-shrink:0;font-size:.78rem;color:var(--muted);white-space:nowrap}.bank-form-activity-value{margin-top:.35rem}.bank-form-activity-value code{font-size:.84rem;word-break:break-all}.driver-violations-container{margin-top:.15rem}.driver-violation-list{list-style:none;margin:0;padding:0}.driver-violation-item{padding:.65rem 0;border-bottom:1px solid var(--border)}.driver-violation-item:last-child{border-bottom:none}.driver-violation-main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.driver-violation-title{font-weight:500;min-width:0}.driver-violation-fine{font-variant-numeric:tabular-nums;white-space:nowrap}.driver-violation-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.driver-violation-sub{font-size:.85rem}.info-grid{display:flex;flex-direction:column;gap:.1rem}.info-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.45rem 0;font-size:.9rem;border-bottom:1px solid var(--border-2)}.info-row:last-child{border-bottom:none}.sf-comment-preview{display:block;font-size:.8125rem;line-height:1.5;color:var(--muted);max-width:36rem}.bank-edit-history{margin:0;padding-left:1.1rem;font-size:.8125rem;line-height:1.55;color:var(--text)}.bank-edit-history li+li{margin-top:.35rem}.bank-edit-history time{color:var(--muted);font-size:.75rem}.info-label{color:var(--muted);flex-shrink:0}.info-value{color:var(--ink);text-align:right;font-weight:500;overflow-wrap:anywhere}.info-value code{font-size:.85em}.fleet-meta-link{appearance:none;border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;text-align:right;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.fleet-meta-link:hover{color:var(--ink)}.browse-flyout-actions .btn{white-space:nowrap}.detail-empty{margin:0;font-size:.875rem;color:var(--muted);line-height:1.5}.badge.status-pending{color:var(--warn);background:var(--warn-bg)}.badge.status-sending{color:var(--info);background:var(--info-bg)}tr.violation-sms-row-sending{background:color-mix(in srgb,var(--info-bg) 55%,transparent)}.badge.status-error{color:#b91c1c;background:#fef2f2}.detail-file-list,.detail-contract-list{list-style:none;margin:0;padding:0}.detail-file-list li button,.detail-contract-list li button{width:100%;text-align:left;background:transparent;color:var(--text);font-weight:500;border:1px solid transparent;border-radius:8px;padding:.65rem .75rem;margin-bottom:.35rem;box-shadow:none;height:auto}.detail-file-list li button:hover,.detail-contract-list li button:hover{border-color:var(--border);background:var(--surface-2)}.detail-file-list li button.active,.detail-contract-list li button.active{border-color:var(--taxi);background:var(--taxi-soft)}.contract-meta,.file-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem}.detail-file-title-row{display:flex;align-items:center;gap:.4rem;min-width:0}.detail-file-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.split-packet-mark{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--muted)}.split-packet-mark .split-packet-icon{display:block}.browse-flyout-actions #preview-original-packet-btn{font-size:.8rem;padding:.3rem .55rem;height:auto;white-space:nowrap}#file-preview-panel{display:flex;flex-direction:column;overflow:hidden}#file-preview-panel>.file-preview-text-section{flex:0 1 auto;max-height:40%;overflow:auto}.pdf-viewport img.file-preview-image{display:block;width:100%;max-width:none;height:auto;margin:0 auto .75rem;border-radius:6px;border:1px solid var(--border);-webkit-user-drag:none;user-select:none}.pdf-viewport{flex:1 1 auto;width:100%;min-height:0;max-height:none;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff;padding:.5rem}.pdf-page{position:relative;width:100%;margin:0 auto .75rem}.pdf-page-badge{position:absolute;top:8px;left:8px;z-index:1;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 16px)}.pdf-page-num,.pdf-page-matched,.pdf-page-type{background:#fff;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.4;color:var(--ink)}.pdf-page-matched{background:var(--good-bg);color:var(--good);border-color:transparent}.pdf-page-canvas{display:block;width:100%;height:auto;margin:0;box-shadow:0 1px 4px #0000001a}.pdf-page-canvas:last-child{margin-bottom:0}.pdf-toolbar{display:none}.pdf-toolbar h3{margin:0;font-size:1rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-sync,.page-integrations,.page-settings{display:flex;flex-direction:column;gap:14px}.sync-history-wrap,.integrations-wrap,.settings-documents-wrap{padding:0;overflow:auto;max-height:calc(100vh - 14rem)}.sync-panel-head{padding:1rem 1.25rem .85rem;border-bottom:1px solid var(--border)}.sync-panel-head h2{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--ink)}.sync-panel-head p{margin:0;font-size:.875rem;line-height:1.4}.sync-panel-head-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.doc-queue-intro{padding:1rem 1.25rem 1.1rem}.doc-queue-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem 1.25rem;margin-bottom:.85rem}.doc-queue-step{display:flex;gap:.75rem;align-items:flex-start}.doc-queue-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;background:var(--taxi-soft);color:var(--taxi-ink);font-size:.85rem;font-weight:700;flex-shrink:0}.doc-queue-step strong{display:block;margin-bottom:.2rem;font-size:.92rem}.doc-queue-step p{margin:0;font-size:.875rem;line-height:1.45;color:var(--muted)}.doc-queue-timing{margin:0;font-size:.875rem;line-height:1.45}.doc-queue-upload-card{padding:0;overflow:hidden}.doc-queue-upload-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.doc-queue-note-label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--ink)}.doc-queue-note-label textarea{width:100%;min-height:4.25rem;resize:vertical;margin:0;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font:inherit;font-weight:400;line-height:1.45;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.doc-queue-note-label textarea::placeholder{color:var(--muted)}.doc-queue-note-label textarea:hover{background:#fff}.doc-queue-note-label textarea:focus{outline:none;border-color:var(--taxi-deep);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--taxi-deep) 18%,transparent)}.doc-queue-pick-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.doc-queue-selection{margin:0;font-size:.875rem;line-height:1.45;padding:.55rem .7rem;border-radius:8px;background:var(--surface-2);border:1px dashed var(--border)}.doc-queue-selection:not(.has-files){color:var(--muted)}.doc-queue-selection.has-files{color:var(--ink);border-style:solid;background:#fff}.doc-queue-upload-status{margin:0;font-size:.875rem}.doc-queue-upload-status:empty{display:none}.doc-queue-upload-status.is-success{color:var(--good)}.doc-queue-upload-status.is-error{color:var(--bad)}.doc-queue-batch-id{font-size:.8rem;word-break:break-all}.doc-queue-batch-meta{margin-top:.25rem;font-size:.75rem;line-height:1.35}.api-key-status,.integrations-status,.integrations-reconnect-banner,.settings-status{margin:0;font-size:.875rem;line-height:1.35}.page-integrations .integrations-wrap{max-height:none}.integrations-wrap>.integrations-reconnect-banner{margin:.75rem 1.25rem}.integration-last-error{margin-top:.25rem;max-width:18rem;font-size:.8rem;line-height:1.35;color:var(--bad);word-break:break-word}.integrations-reconnect-banner{margin-bottom:.75rem;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--bad) 35%,transparent);border-radius:6px;background:color-mix(in srgb,var(--bad) 10%,transparent);color:var(--bad)}.integrations-status.error,.settings-status.error{color:var(--bad)}.settings-documents-wrap{padding:1rem 1.25rem 1.25rem}.settings-section-head{margin-bottom:1rem}.settings-section-title{margin:0 0 .35rem;font-size:1.05rem}.settings-section-sub{margin:0;font-size:.875rem}.settings-documents-groups{display:flex;flex-direction:column;gap:1.25rem}.settings-invoice-review-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem}.settings-invoice-review-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600}.settings-invoice-review-form input[type=date]{font-weight:400;min-width:11rem}.garage-cutoff-note{margin:0 0 14px;padding:.7rem .9rem;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:8px;background:var(--warn-bg);color:var(--ink);font-size:.875rem;line-height:1.45}.settings-workflow-group{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;background:#fff}.settings-workflow-title{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.settings-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.45rem 1rem}.settings-checkbox-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;line-height:1.35}.settings-checkbox-item input{margin-top:.15rem;flex-shrink:0}.settings-out-of-scope{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.settings-out-of-scope-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.settings-out-of-scope-sub{margin:0 0 .75rem;font-size:.875rem;line-height:1.45}.settings-out-of-scope-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.5;color:var(--muted)}.settings-out-of-scope-list li{margin-bottom:.25rem}.settings-locations-wrap{padding:1rem 1.25rem 1.25rem}.settings-locations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-locations-filters{display:flex;gap:.5rem;margin-bottom:.75rem}.settings-location-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.settings-location-main{display:flex;flex-direction:column;gap:.75rem;min-width:0}.settings-location-fields{display:flex;flex-direction:column;gap:.75rem}.settings-location-coords{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:end}.settings-location-coords .btn{grid-column:1 / -1;justify-self:start}.settings-location-form label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:0;font-size:.8rem;font-weight:600;color:var(--ink)}.settings-location-form input{width:100%;padding:.55rem .75rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:400;box-shadow:var(--shadow)}.settings-location-form input:focus{outline:2px solid var(--taxi);outline-offset:-1px;border-color:var(--taxi)}.settings-location-lookup-row,.settings-location-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.settings-location-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.settings-location-results button{width:100%;text-align:left}.settings-location-map{width:100%;aspect-ratio:1;height:auto;border-radius:8px;border:1px solid var(--border);overflow:hidden}.settings-location-map.is-missing{aspect-ratio:auto;height:auto;padding:.75rem;color:var(--muted);font-size:13px}@media(max-width:800px){.settings-location-form{grid-template-columns:1fr}}.settings-locations-table td{vertical-align:top}.settings-location-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.integration-account-cell{display:inline-flex;align-items:center;gap:.6rem}.integration-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.integration-avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--border);color:var(--muted);font-size:.75rem;font-weight:600}.integration-actions{text-align:right;white-space:nowrap}table.tbl .error-cell{max-width:14rem;font-size:.8rem;color:var(--bad);word-break:break-word}table.tbl .empty-cell{text-align:center;padding:2.5rem 1rem;color:var(--muted)}.loading-region{position:relative}.loading-region.is-loading>:not(.loading-overlay):not(.loading-skip){opacity:.45;pointer-events:none}.loading-region.is-loading>.loading-skip{opacity:1;pointer-events:auto}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fafaf9d1;z-index:10;border-radius:inherit;min-height:4rem}.loading-state{display:inline-flex;align-items:center;gap:.65rem;color:var(--text);font-size:.9rem;font-weight:500}.spinner{width:1.25rem;height:1.25rem;border:2px solid var(--border);border-top-color:var(--taxi);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-cell{text-align:center;padding:2.5rem 1rem!important}@media(max-width:900px){.page-head .actions{width:100%}.page-head .actions .btn{flex:1;justify-content:center}.browse-flyout{width:100vw;max-width:none;min-width:0}body.browse-file-open .browse-flyout-driver,body.browse-file-open .browse-flyout-fleet{right:100vw;visibility:hidden}.browse-flyout-file{z-index:1020}.browse-flyout-review,body.browse-review-open .browse-flyout-review{right:0;width:100vw;z-index:1030}.topbar .inner{flex-wrap:wrap;height:auto;padding:.6rem 20px;gap:12px}nav.primary{order:3;width:100%;margin-left:0;padding-bottom:.35rem}.page{padding:24px 20px 60px}}.violations-table-wrap{overflow-x:auto}.violations-table{min-width:1400px}.violation-reason-cell{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.violations-sync-since-label{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted, #6b6b6b)}.violations-sync-since-label input{font:inherit}.violation-pay-section{margin-top:32px}.violation-pay-sechead{display:flex;align-items:center;gap:12px;margin:0 0 8px;flex-wrap:wrap}.violation-pay-sechead-title{font-size:1rem;font-weight:600;color:var(--ink, #111);margin:0;letter-spacing:-.01em}.violation-pay-meta{font-size:.8125rem;color:var(--muted, #6b6b6b)}.violation-pay-meta b{color:var(--ink, #111);font-weight:600;font-family:var(--font-mono, ui-monospace, monospace)}.violation-pay-notsynced{font-size:.72rem;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:3px 10px}.violation-pay-disclose{margin-left:auto;height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--border, #e7e5e1);background:var(--surface, #fff);box-shadow:var(--shadow, 0 1px 0 rgba(12, 10, 9, .02), 0 1px 2px rgba(12, 10, 9, .04));font:inherit;font-size:.84rem;font-weight:500;color:var(--ink, #111);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.violation-pay-disclose:hover{background:var(--surface-2, #f5f5f4)}.violation-pay-disclose svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.violation-pay-disclose.open svg{transform:rotate(180deg)}.violation-pay-cards4,.violation-pay-morecards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.violation-pay-morecards{margin-top:20px}@media(max-width:1100px){.violation-pay-cards4,.violation-pay-morecards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.violation-pay-cards4,.violation-pay-morecards{grid-template-columns:1fr}}.violation-mcard{background:var(--surface, #fff);border:1px solid var(--border, #e7e5e1);border-radius:13px;box-shadow:var(--shadow, 0 1px 0 rgba(12, 10, 9, .02), 0 1px 2px rgba(12, 10, 9, .04));padding:18px 20px;text-align:left;cursor:pointer;display:block;width:100%;transition:border-color .12s,box-shadow .12s;font:inherit;color:inherit}.violation-mcard:hover{border-color:var(--muted-2, #a8a29e)}.violation-mcard.on{border-color:#ccd4e8;box-shadow:0 0 0 3px #ccd4e880}.violation-mcard-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.violation-mcard-label{font-size:14px;font-weight:500;color:var(--text, #292524);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.violation-mcard-value{display:block;font-size:34px;font-weight:600;color:var(--ink, #111);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.violation-mcard-amount{display:block;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--muted, #78716c)}.filter-card{background:var(--surface, #fff);border:1px solid var(--line, #e5e5e5);border-radius:13px;box-shadow:0 1px #0c0a0905,0 1px 2px #0c0a090a}.violation-pay-section+.filter-card{margin-top:32px;margin-bottom:60px}.fc-tier{padding:14px 20px;border-bottom:1px solid var(--border-2, #ededea)}.fc-tier:first-child{border-radius:12px 12px 0 0}.fc-tier-quiet{background:#fcfcfb}.fc-title{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2, #a8a29e);font-weight:600;margin-bottom:10px;display:block}.fc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:11px;align-items:end}.fc-span2{grid-column:span 2}@media(max-width:720px){.fc-span2{grid-column:span 1}}.fc-fld.is-hidden{display:none}.fc-fld label{display:block;font-size:.75rem;color:var(--muted, #6b6b6b);font-weight:500;margin-bottom:5px}.fc-fld .check{height:40px;display:flex;align-items:center;gap:8px;margin:0;font-size:.875rem}.fc-sel.category-files-why{max-width:none}.fc-in,.fc-sel{height:40px;border-radius:9px;border:1px solid var(--line, #e5e5e5);background:var(--surface, #fff);padding:0 12px;font:inherit;font-size:.875rem;color:var(--ink, #111);outline:none;width:100%;min-width:0}.fc-in::placeholder{color:var(--muted-2, #a8a29e)}.fc-in:focus,.fc-sel:focus{border-color:var(--ink, #111);box-shadow:0 0 0 3px #0c0a090f}.fc-sel{cursor:pointer;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:15px}.fc-sel.set,.fc-in.set{border-color:#ccd4e8;background-color:#eef1f9;color:#1c2b4a;font-weight:500}.fc-search{position:relative;min-width:0}.fc-search svg{position:absolute;left:12px;top:12px;width:16px;height:16px;stroke:var(--muted-2, #a8a29e);fill:none;stroke-width:1.9}.fc-search .fc-in{padding-left:37px}.fc-viewrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fc-sp{flex:1}.fc-more{padding-top:14px}.fc-more-badge{font-family:var(--font-mono, ui-monospace, monospace);font-size:11.5px;font-weight:700;background:#1c2b4a;color:#fff;border-radius:999px;padding:1px 7px;flex-shrink:0}.fc-more-btn{height:40px;padding:0 16px;border-radius:9px;white-space:nowrap;flex-shrink:0}.fc-more-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.fc-caret{transition:transform .18s;flex-shrink:0}.fc-more-btn.open .fc-caret{transform:rotate(180deg)}.fc-applied{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.fc-applied.is-empty{display:none}.fc-applied-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2, #a8a29e);font-weight:600}.fc-chip{height:30px;padding:0 5px 0 11px;border-radius:8px;background:#eef1f9;border:1px solid #ccd4e8;display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:#1c2b4a;white-space:nowrap}.fc-chip-k{opacity:.7}.fc-chip-v{font-weight:600}.fc-chip-x{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;color:#1c2b4a;opacity:.6;background:transparent;border:none;cursor:pointer;padding:0}.fc-chip-x:hover{opacity:1;background:#1c2b4a1a}.fc-chip-x svg{width:11px;height:11px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round}.fc-clearall{height:30px;padding:0 11px;border-radius:8px;border:1px solid var(--line, #e5e5e5);background:var(--surface, #fff);font:inherit;font-size:.78rem;font-weight:500;color:#b91c1c;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.fc-clearall:hover{background:#fef2f2;border-color:#fecaca}.fc-clearall svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}.fc-applied-none{font-size:.8125rem;color:var(--muted-2, #a8a29e)}.fc-tbar{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line, #e5e5e5);border-bottom:1px solid var(--line, #e5e5e5);background:var(--surface, #fff);flex-wrap:wrap}.fc-count{font-size:.8125rem;color:var(--muted, #6b6b6b);white-space:nowrap}.fc-count b{color:var(--ink, #111);font-weight:600}.fc-seg{display:inline-flex;padding:3px;background:var(--surface-2, #f5f5f4);border:1px solid var(--line, #e5e5e5);border-radius:9px}.fc-seg button{border:none;background:transparent;padding:6px 13px;font:inherit;font-size:.8125rem;color:var(--muted, #6b6b6b);border-radius:6px;cursor:pointer;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.fc-seg button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.fc-seg button.on{background:var(--surface, #fff);color:#1c2b4a;box-shadow:0 1px #0c0a0905,0 1px 2px #0c0a090a;font-weight:600}.fc-table{overflow-x:auto;border-radius:0 0 12px 12px}.fc-table .browse-pagination{padding:12px 20px;border-top:1px solid var(--border-2, #ededea)}.open-data-status-outstanding{color:#dc2626}.open-data-status-paid{color:#16a34a}.open-data-status-dismissed{color:#64748b}.open-data-status-not_found{color:#ea580c}.violation-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}@media(max-width:1100px){.violation-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.violation-breakdown-grid{grid-template-columns:1fr}}.plate-group-row td{background:#2563eb0a;font-weight:600}.plate-group-row .plate-subtotal{color:#dc2626}.violations-table{min-width:1800px}.uptime-badge{position:relative;flex:none}.uptime-badge:after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}.uptime-badge-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #bbf7d0;background:var(--good-bg);color:var(--good);border-radius:999px;padding:4px 10px 4px 8px;font-family:inherit;font-size:12.5px;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:none}.uptime-badge-btn:hover,.uptime-badge-btn:focus-visible{filter:brightness(.97)}.uptime-badge-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.uptime-badge[data-level=warn] .uptime-badge-btn{background:var(--warn-bg);color:var(--warn);border-color:#fcd34d}.uptime-badge[data-level=down] .uptime-badge-btn{background:var(--bad);color:#fff;border-color:var(--bad)}.uptime-badge[data-level=unknown] .uptime-badge-btn{background:var(--warn-bg);color:var(--warn);border-color:#fcd34d}.uptime-popover{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(360px,calc(100vw - 24px));max-height:min(70vh,520px);overflow:auto;padding:12px 12px 10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #0c0a0929}.uptime-badge:hover .uptime-popover,.uptime-badge:focus-within .uptime-popover,.uptime-badge.is-open .uptime-popover{display:block}.uptime-group+.uptime-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.uptime-group h2{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.uptime-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.uptime-check{display:flex;gap:8px;align-items:flex-start}.uptime-check-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--good);flex:none}.uptime-check[data-status=down] .uptime-check-dot{background:var(--bad)}.uptime-check[data-status=validating] .uptime-check-dot,.uptime-check[data-status=pending] .uptime-check-dot,.uptime-check[data-status=maintenance] .uptime-check-dot{background:var(--warn)}.uptime-check[data-status=paused] .uptime-check-dot{background:var(--muted-2)}.uptime-check-name{font-size:13px;font-weight:600;color:var(--ink)}.uptime-check-status{font-size:12px;font-weight:600;color:var(--good)}.uptime-check[data-status=down] .uptime-check-status{color:var(--bad)}.uptime-check[data-status=validating] .uptime-check-status,.uptime-check[data-status=pending] .uptime-check-status,.uptime-check[data-status=maintenance] .uptime-check-status{color:var(--warn)}.uptime-check[data-status=paused] .uptime-check-status{color:var(--muted)}.uptime-check-detail,.uptime-check-note,.uptime-updated,.uptime-empty{font-size:12px;color:var(--muted);line-height:1.35}.uptime-check-note{color:var(--text);margin-top:2px}.uptime-updated{margin:10px 0 0}.uptime-empty{margin:0}#page-mcp .page-head,#page-mcp .kpis{margin-bottom:0}#page-mcp .btn svg,#page-mcp .iconbtn svg,#page-mcp .mcp-empty svg,#page-mcp .mcp-fchip svg,#page-mcp .mcp-search svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#page-mcp .iconbtn svg{width:15px;height:15px;stroke-width:1.8}#page-mcp .seg button{display:inline-flex;align-items:center;gap:7px}#page-mcp .seg button .n{font-family:Geist Mono,ui-monospace,Menlo,monospace;font-size:11px;color:var(--muted-2)}#page-mcp .mcp-head-meta{font-size:12.5px;color:var(--muted)}#page-mcp .mcp-setup{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;flex-wrap:wrap}#page-mcp .mcp-setup h2{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ink)}#page-mcp .mcp-setup p{margin:0;max-width:640px;font-size:13.5px;line-height:1.45;color:var(--muted)}#page-mcp .mcp-setup b{color:var(--ink);font-weight:600}#page-mcp .mcp-url-row{display:flex;align-items:center;gap:8px;min-width:0}#page-mcp .mcp-url-row code{font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:8px 10px;color:var(--ink);overflow:hidden;text-overflow:ellipsis}#page-mcp .mcp-kfoot{margin-top:8px;font-size:12.5px;color:var(--muted)}#page-mcp .mcp-review{border:1px solid #fecaca;background:var(--bad-bg);color:var(--bad);border-radius:999px;font:inherit;font-size:11px;font-weight:600;padding:2px 8px;cursor:pointer}#page-mcp .mcp-fbar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:#fcfcfb;flex-wrap:wrap}#page-mcp .mcp-fbar-sp{flex:1}#page-mcp .mcp-search{position:relative}#page-mcp .mcp-search svg{position:absolute;left:10px;top:10px;stroke:var(--muted-2)}#page-mcp .mcp-search .mcp-inp{padding-left:31px;width:240px}#page-mcp .mcp-inp,#page-mcp .mcp-sel{height:34px;border-radius:7px;border:1px solid var(--border);background:var(--surface);padding:0 11px;font:inherit;font-size:13px;color:var(--ink);outline:none}#page-mcp .mcp-inp:focus,#page-mcp .mcp-sel:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0c0a090f}#page-mcp .mcp-inp.set,#page-mcp .mcp-sel.set{border-color:#bfdbfe;background:var(--info-bg)}#page-mcp .mcp-inp[readonly]{background:var(--surface-2);color:var(--muted)}#page-mcp .mcp-sel{cursor:pointer;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 9px center;background-size:14px}#page-mcp .mcp-dates{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}#page-mcp .mcp-dates .mcp-inp{width:140px}#page-mcp .mcp-person{display:flex;align-items:center;gap:10px;min-width:0}#page-mcp .mcp-person b{display:block;font-weight:500;color:var(--ink);white-space:nowrap}#page-mcp .mcp-person small{display:block;font-size:12px;color:var(--muted)}#page-mcp .mcp-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#44403c,#1c1917);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;flex:none}#page-mcp .mcp-av.off{background:var(--surface-3, #efedeb);color:var(--muted-2)}#page-mcp .mcp-av.sm{width:24px;height:24px;font-size:9.5px}#page-mcp .chips{display:flex;flex-wrap:wrap;gap:5px}#page-mcp .chip.all{background:var(--taxi-soft);border-color:#fde68a;color:var(--taxi-ink)}#page-mcp .chip.good{background:var(--good-bg);border-color:#bbf7d0;color:var(--good)}#page-mcp .chip.bad{background:var(--bad-bg);border-color:#fecaca;color:var(--bad)}#page-mcp .chip.good .d{background:var(--good)}#page-mcp .chip.bad .d{background:var(--bad)}#page-mcp .mcp-toggle{position:relative;width:34px;height:20px;border-radius:999px;background:var(--surface-3, #efedeb);border:1px solid var(--border);cursor:pointer;flex:none;padding:0;box-shadow:none}#page-mcp .mcp-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0c0a0933}#page-mcp .mcp-toggle.on{background:#16a34a;border-color:#16a34a}#page-mcp .mcp-toggle.on:after{left:16px}#page-mcp .mcp-tgl{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--text)}#page-mcp .mcp-tgl.off{color:var(--muted)}#page-mcp td.r,#page-mcp th.r{text-align:right}#page-mcp .mcp-rowact{display:inline-flex;gap:2px;justify-content:flex-end}#page-mcp .iconbtn.danger:hover{background:var(--bad-bg);color:var(--bad)}#page-mcp .mcp-when{color:var(--muted);white-space:nowrap}#page-mcp .mcp-stamp b{display:block;font-weight:500;color:var(--ink);white-space:nowrap}#page-mcp .mcp-stamp small{display:block;font-size:12px;color:var(--muted);font-family:Geist Mono,ui-monospace,Menlo,monospace}#page-mcp .mcp-files{display:block;max-width:280px;font-size:12.5px}#page-mcp .mcp-files .f{display:block;font-family:Geist Mono,ui-monospace,Menlo,monospace;font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#page-mcp .mcp-files .more,#page-mcp .mcp-dash{color:var(--muted-2);font-size:12px}#page-mcp .mcp-tool{font-family:Geist Mono,ui-monospace,Menlo,monospace;font-size:12px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border-2);border-radius:5px;padding:2px 6px;white-space:nowrap}#page-mcp .mcp-foot{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}#page-mcp .mcp-foot b{color:var(--ink);font-weight:600}#page-mcp .mcp-none{text-align:center;color:var(--muted);padding:28px}#page-mcp .mcp-link{background:none;border:none;box-shadow:none;font:inherit;font-size:12px;color:var(--bad);cursor:pointer;padding:0 4px}#page-mcp .mcp-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px 60px;gap:6px}#page-mcp .mcp-empty .ill{width:56px;height:56px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--muted-2);margin-bottom:10px}#page-mcp .mcp-empty .ill svg{width:26px;height:26px;stroke-width:1.6}#page-mcp .mcp-empty h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}#page-mcp .mcp-empty p{margin:0 0 12px;font-size:13.5px;color:var(--muted);max-width:380px;line-height:1.5}#page-mcp .mcp-applied{display:none;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 16px;border-bottom:1px solid var(--border-2);font-size:12px;color:var(--muted)}#page-mcp .mcp-applied.on{display:flex}#page-mcp .mcp-fchip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 4px 0 9px;border-radius:6px;background:var(--info-bg);border:1px solid #bfdbfe;color:var(--ink-2)}#page-mcp .mcp-fchip .k{color:var(--muted)}#page-mcp .mcp-fchip button{width:17px;height:17px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:none}#page-mcp .mcp-fchip svg{width:10px;height:10px;stroke-width:2.6}#page-mcp .mcp-scrim{position:fixed;inset:0;background:#0c0a095c;z-index:1400;opacity:0;pointer-events:none;transition:opacity .18s}#page-mcp .mcp-scrim.on{opacity:1;pointer-events:auto}#page-mcp .mcp-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:94vw;background:var(--bg);z-index:1410;box-shadow:0 18px 46px #0c0a0929,0 3px 12px #0c0a0912;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s cubic-bezier(.4,0,.2,1)}#page-mcp .mcp-drawer.on{transform:none}#page-mcp .mcp-drawer-head,#page-mcp .mcp-drawer-foot{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--surface);border-bottom:1px solid var(--border)}#page-mcp .mcp-drawer-foot{border-bottom:none;border-top:1px solid var(--border);justify-content:flex-end}#page-mcp .mcp-drawer-head h2{flex:1;margin:0;font-size:16px;font-weight:600;color:var(--ink)}#page-mcp .mcp-drawer-body{flex:1;overflow-y:auto;padding:20px}#page-mcp .mcp-fld{margin-bottom:16px}#page-mcp .mcp-fld>label,#page-mcp .mcp-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}#page-mcp .mcp-fld .mcp-inp{width:100%;height:38px;font-size:13.5px}#page-mcp .mcp-hint,#page-mcp .mcp-err{font-size:12px;margin:6px 0 0;line-height:1.45}#page-mcp .mcp-hint{color:var(--muted)}#page-mcp .mcp-err{color:var(--bad)}#page-mcp .mcp-radio{display:grid;gap:8px}#page-mcp .mcp-radio label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);cursor:pointer}#page-mcp .mcp-radio label.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}#page-mcp .mcp-radio input{margin:2px 0 0;accent-color:var(--ink)}#page-mcp .mcp-radio b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}#page-mcp .mcp-radio small{display:block;font-size:12px;color:var(--muted);margin-top:1px}#page-mcp .mcp-type-group{margin-top:14px}#page-mcp .mcp-type-group-name{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:7px}#page-mcp .mcp-types{display:grid;gap:7px}#page-mcp .mcp-types label{display:flex;align-items:flex-start;gap:8px;font-size:13px;padding:8px 10px;border:1px solid var(--border-2);border-radius:8px;background:var(--surface);cursor:pointer}#page-mcp .mcp-types input{accent-color:var(--ink);margin-top:2px}#page-mcp #mcp-type-picker{margin-top:10px}#page-mcp .mcp-enable{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}#page-mcp .mcp-enable b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}#page-mcp .mcp-enable small{display:block;font-size:12px;color:var(--muted);margin-top:1px}#page-mcp .mcp-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:24px;background:#0c0a097a}#page-mcp .mcp-modal-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 18px 46px #0c0a0929,0 3px 12px #0c0a0912}#page-mcp .mcp-modal-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--ink);line-height:1.35}#page-mcp .mcp-modal-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}#page-mcp .mcp-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:720px){#page-mcp .mcp-search .mcp-inp,#page-mcp .mcp-dates .mcp-inp{width:100%}}
