@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-ext-wght-normal-BnWI7fIG.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-wght-normal-bgdX5wL6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-greek-wght-normal-M9Lxztrh.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-vietnamese-wght-normal-DEkWUU3X.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-ext-wght-normal-rva7dkhN.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-wght-normal-BAwLJtOy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#eef0ec;--surface:#fff;--surface-2:#f6f7f4;--line:#d9ddd5;--line-soft:#e7eae3;--ink:#18222c;--ink-2:#4a5560;--ink-3:#7a848c;--accent:#1d5c78;--accent-soft:#e1edf2;--accent-ink:#fff;--ochre:#b9832a;--ochre-soft:#f6ecd9;--good:#2b7a4b;--good-soft:#e2f1e7;--warn:#a8690f;--warn-soft:#fbebd0;--bad:#a93a2c;--bad-soft:#f7e1dd;--guide:#6a4c93;--guide-soft:#ece5f5;--shadow:0 1px 2px #18222c0f, 0 8px 24px #18222c14;--sans:"Commissioner Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--radius-sm:6px;--radius:8px;--radius-lg:10px;--font-size:15px}:root[data-font-size=large]{--font-size:17px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#12181d;--surface:#1a2229;--surface-2:#1f2830;--line:#2e3a44;--line-soft:#27323b;--ink:#e6ecef;--ink-2:#aeb8bf;--ink-3:#7e8a93;--accent:#6fb3d2;--accent-soft:#1c3441;--accent-ink:#0e1a20;--ochre:#d9a650;--ochre-soft:#3a2f1c;--good:#6cc08e;--good-soft:#1b3526;--warn:#e0a64a;--warn-soft:#3a2d16;--bad:#e48273;--bad-soft:#3e211d;--guide:#b79be0;--guide-soft:#2e2540;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#12181d;--surface:#1a2229;--surface-2:#1f2830;--line:#2e3a44;--line-soft:#27323b;--ink:#e6ecef;--ink-2:#aeb8bf;--ink-3:#7e8a93;--accent:#6fb3d2;--accent-soft:#1c3441;--accent-ink:#0e1a20;--ochre:#d9a650;--ochre-soft:#3a2f1c;--good:#6cc08e;--good-soft:#1b3526;--warn:#e0a64a;--warn-soft:#3a2d16;--bad:#e48273;--bad-soft:#3e211d;--guide:#b79be0;--guide-soft:#2e2540;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:var(--font-size);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);line-height:1.5}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance;margin:0}p{margin:0}.app{grid-template-columns:216px minmax(0,1fr);min-height:100dvh;display:grid}.side{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:4px;height:100dvh;padding:16px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.org{align-items:center;gap:10px;padding:4px 8px 14px;font-size:14px;font-weight:700;display:flex}.org small{color:var(--ink-3);font-size:11.5px;font-weight:500;display:block}.org-select{font:inherit;color:var(--ink);background:0 0;border:0;max-width:150px;padding:0;font-weight:700}.side-nav{flex:1;align-content:start;gap:2px;display:grid}.side-group{gap:2px;display:grid}.side-nav a,.side-nav .soon{color:var(--ink-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:7px 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.side-nav a:hover{background:var(--surface)}.side-nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.side-nav .soon{color:var(--ink-3);opacity:.7}.side-nav .soon small{font-size:10.5px}.grp{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:14px 10px 4px;font-size:11px}.side-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 6px 0;display:flex}.main{align-content:start;gap:16px;min-width:0;padding:20px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.page-head h1{font-size:21px}@media (width<=900px){.app{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.side-nav{flex-wrap:wrap;gap:4px;display:flex}.side-group{display:contents}.grp,.side-nav .soon{display:none}.main{padding:16px}}.home{gap:16px;max-width:1100px;display:grid}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;gap:4px;padding:12px 14px;text-decoration:none;display:grid}a.tile:hover{border-color:var(--accent)}.tile .k{color:var(--ink-3);font-size:12px;font-weight:500}.tile .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.tile .s{color:var(--ink-2);font-size:12px}.tile.alert{border-color:var(--warn);background:var(--warn-soft)}.tile.alert .s{color:var(--warn);font-weight:600}.attention{gap:8px;max-width:none;display:grid}.attention h2{font-size:16px}.attention-day ul{margin:0;padding:0;list-style:none;display:grid}.attention-day li a{border-bottom:1px solid var(--line-soft);color:inherit;border-radius:var(--radius-sm);grid-template-columns:70px 52px minmax(120px,220px) 1fr;align-items:center;gap:10px;padding:8px 6px;font-size:13.5px;text-decoration:none;display:grid}.attention-day li a:hover,.attention-day li a:focus-visible{background:var(--accent-soft);outline:none}.attention-day .r{color:var(--accent);font-weight:600}.attention-day .t{color:var(--ink-3)}.attention-day .c{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attention-day .w{color:var(--warn);font-weight:500}.attention-day li.kind-no_driver .w,.attention-day li.kind-driver_busy .w,.attention-day li.kind-vehicle_busy .w{color:var(--bad)}.all-good{color:var(--good);font-weight:600}@media (width<=640px){.attention-day li a{grid-template-columns:60px 1fr}.attention-day .t{display:none}.attention-day .w{grid-column:1/-1}}.hist-i{border-bottom:1px solid var(--line-soft);grid-template-columns:auto 1fr;gap:10px;padding:10px 0;font-size:13px;display:grid}.hist-i:last-child{border-bottom:0}.av{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.av.sys{background:var(--surface-2);color:var(--ink-3)}.when{color:var(--ink-3);font-size:12px}.old{color:var(--bad);font-family:var(--mono);font-size:12.5px;text-decoration:line-through}.new{color:var(--good);font-family:var(--mono);font-size:12.5px;font-weight:600}.hist-record{margin-bottom:2px;font-size:12.5px;font-weight:600}.hist-record a{color:var(--accent);text-decoration:none}.hist-record a:hover{text-decoration:underline}.list-layout{align-items:start;gap:16px;display:grid}.list-layout.with-panel{grid-template-columns:minmax(0,1fr) minmax(340px,440px)}.list-main{gap:12px;min-width:0;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex:240px;padding:8px 10px;font-size:14px}.check{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.tablebox{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.tablebox table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.tablebox th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 10px;font-size:11.5px;font-weight:600;position:sticky;top:0}.tablebox td{border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:9px 10px}.tablebox tr:last-child td{border-bottom:0}.tablebox tbody tr{cursor:pointer}.tablebox tbody tr:hover td{background:var(--surface-2)}.tablebox tbody tr.sel td{background:var(--accent-soft)}.tablebox tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tablebox tr.gone td{color:var(--ink-3)}.tablebox td.name{align-items:center;gap:8px;font-weight:600;display:flex}.small{font-size:12px}.muted{color:var(--ink-3)}.pad{padding:12px}.pill.small{padding:1px 8px;font-size:11px}.pill.warn{background:var(--warn-soft);color:var(--warn)}.badges{flex-wrap:wrap;gap:4px;display:inline-flex}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.b-drv{background:var(--accent-soft);color:var(--accent)}.b-gd,.b-dg{background:var(--guide-soft);color:var(--guide)}.b-pt{background:var(--ochre-soft);color:var(--ochre)}.b-sl{background:var(--good-soft);color:var(--good)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;max-height:calc(100dvh - 40px);display:flex;position:sticky;top:20px;overflow:hidden}.panel-h{border-bottom:1px solid var(--line);gap:6px;padding:14px 16px;display:grid}.panel-h h2{font-size:18px}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:2px;padding:0 10px;display:flex}.tabs button{font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px;font-size:13px;font-weight:600}.tabs button.on{color:var(--accent);border-color:var(--accent)}.panel-b{gap:14px;padding:16px;display:grid;overflow-y:auto}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);resize:vertical;padding:8px 10px;font-size:14px;font-weight:400}.field input:disabled,.field textarea:disabled{background:var(--surface-2);color:var(--ink-2)}.panel .field input{padding:8px 10px;font-size:14px}.role-toggles{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--line);color:var(--ink-2);background:var(--surface);cursor:pointer;border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600}.chip.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip:disabled{opacity:.5;cursor:default}.section{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-top:4px;font-size:11px;font-weight:600}.switch-row{border-bottom:1px solid var(--line-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.switch-row small{font-size:12px;display:block}.switch-row.locked{cursor:default}.switch-row.locked>span{color:var(--ink-3)}input[role=switch]{appearance:none;background:var(--line);cursor:pointer;border-radius:10px;flex:none;width:34px;height:20px;margin:0;position:relative}input[role=switch]:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}input[role=switch]:checked{background:var(--accent)}input[role=switch]:checked:after{left:16px}input[role=switch]:disabled{opacity:.45;cursor:default}input[role=switch]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.banner{color:var(--ochre);background:var(--ochre-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:12.5px}.banner.bad{color:var(--bad);background:var(--bad-soft)}.btn.small{padding:6px 10px;font-size:12.5px}.btn.danger{color:var(--bad);border-color:var(--bad);background:0 0}.danger-zone{justify-content:flex-end;padding-top:8px;display:flex}@media (width<=1100px){.list-layout.with-panel{grid-template-columns:1fr}.panel{max-height:none;position:static}}@media (width<=520px){.grid2{grid-template-columns:1fr}}.field select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:14px}.field select:disabled{background:var(--surface-2);color:var(--ink-2)}.list-editor{gap:10px;display:grid}.list-editor h2{font-size:16px}.tablebox tbody tr.static{cursor:default}.tablebox tbody tr.static:hover td{background:0 0}.cell-input{font:inherit;color:var(--ink);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;width:100%;padding:4px 6px;font-size:13px}.cell-input:hover{border-color:var(--line)}.cell-input:focus{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}.row-actions{justify-content:flex-end;gap:4px;display:flex}.icon-btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--ink-2);cursor:pointer;font-size:13px}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.danger{color:var(--bad)}.add-row{flex-wrap:wrap;gap:8px;display:flex}.add-row .cell-input{border-color:var(--line);background:var(--surface);flex:140px;width:auto;padding:7px 9px}.chip.small{padding:4px 9px;font-size:11.5px}.audit-page{gap:12px;max-width:1000px;display:grid}.audit-list{gap:8px;max-width:none;display:grid}.grid-wrap{gap:6px;min-width:0;display:grid}.grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);outline:none;min-width:0}.grid:focus-visible{box-shadow:0 0 0 2px var(--accent-soft)}.grid-scroll{height:calc(100dvh - 260px);min-height:320px;position:relative;overflow:auto}.grid-inner{position:relative}.grid-head{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--line);height:34px;display:flex;position:sticky;top:0}.gh{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--line-soft);background:var(--surface-2);flex:none;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:flex;position:relative;overflow:hidden}.gh-label{text-overflow:ellipsis;overflow:hidden}.gh-resize{cursor:col-resize;z-index:5;width:8px;height:100%;position:absolute;top:0;right:-4px}.gh-resize:after{content:"";background:0 0;border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:3px}.gh-resize:hover:after,.gh-resize:focus-visible:after{background:var(--accent)}.gh-resize:focus-visible{outline:none}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.gh.frozen{z-index:4;position:sticky}.gr{border-bottom:1px solid var(--line-soft);height:34px;display:flex;position:absolute;top:0;left:0}.gc{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--line-soft);background:var(--surface);cursor:cell;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:13px;display:flex;position:relative;overflow:hidden}.gc.align-right,.gh.align-right{text-align:right;justify-content:flex-end}.gc.align-center,.gh.align-center{text-align:center;justify-content:center}.gc{font-variant-numeric:tabular-nums}.gc.frozen{z-index:2;font-family:var(--mono);color:var(--accent);cursor:pointer;font-weight:600;position:sticky}.gc.ro{color:var(--ink-2)}.gc.sel{background:var(--accent-soft)}.gc.active{box-shadow:inset 0 0 0 2px var(--accent);z-index:2}.gc.frozen.active{z-index:3}.gr.cancel .gc:not(.frozen){color:var(--ink-3);text-decoration:line-through}.gr.warnrow .gc.frozen{box-shadow:inset 3px 0 var(--warn)}.gc.warn-cell{background:var(--warn-soft)}.gc.warn-cell.sel{background:color-mix(in srgb, var(--warn-soft) 60%, var(--accent-soft))}.gc .muted-cell{color:var(--ink-3)}.cell-editor{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--accent);outline:none;padding:0 6px;font-size:13px;position:absolute;inset:0}.cell-editor.align-right{text-align:right}.cell-editor.align-center{text-align:center}.select-editor{position:absolute;inset:0}.select-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:320px;max-height:260px;box-shadow:var(--shadow);z-index:1000;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.select-list li{border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:6px 8px;overflow:hidden}.select-list li.hi{background:var(--accent-soft)}.select-list li.current{font-weight:600}.select-list li.empty{color:var(--ink-3)}.grid-status{min-height:18px;color:var(--ink-3);font-size:12px}.grid-status.error{color:var(--bad)}.grid-status.ok{color:var(--good)}.grid-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid-toolbar .grid-hint{margin-left:auto}.align-seg{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.align-seg button{width:32px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.align-seg button+button{border-left:1px solid var(--line)}.align-seg button.on{background:var(--accent-soft);color:var(--accent)}.align-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.gh.movable{cursor:grab}.gh.sel{color:var(--accent);background:var(--accent-soft)}body.col-dragging,body.col-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.gh-drop{background:var(--accent);z-index:6;pointer-events:none;width:3px;height:100dvh;margin-left:-1px;position:absolute;top:0}.gh-add{width:36px;color:var(--ink-3);border:0;border-left:1px solid var(--line-soft);cursor:pointer;flex:none;justify-content:center;font-size:16px;font-weight:600}.gh-add:hover,.gh-add:focus-visible{color:var(--accent);outline:none}.grid-popover{z-index:1000;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:190px;max-height:60dvh;box-shadow:var(--shadow);padding:4px;display:grid;position:fixed;overflow-y:auto}.grid-popover.inline{position:absolute;top:calc(100% + 4px);left:0}.grid-popover button{font:inherit;text-align:left;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.grid-popover button:hover,.grid-popover button:focus-visible{background:var(--accent-soft);outline:none}.grid-popover hr{border:0;border-top:1px solid var(--line-soft);margin:4px 0}.grid-popover .pop-empty{color:var(--ink-3);padding:7px 9px;font-size:13px}.view-menu{gap:6px;display:inline-flex;position:relative}.list-layout.with-panel.wide-panel{grid-template-columns:minmax(0,1fr) minmax(380px,560px)}.date-filter{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.date-filter input,.chip-select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 8px;font-size:13px}.chip-select{border-radius:999px}.bookings-table{min-width:1100px}.bookings-table td{vertical-align:middle}.bookings-table td.r{color:var(--accent);font-weight:600}.bookings-table .sub{color:var(--ink-3);font-size:12px;display:block}.bookings-table td.amt,.bookings-table th.amt{text-align:right}.tablebox tbody tr.warnrow td:first-child{box-shadow:inset 3px 0 var(--warn)}.tablebox tbody tr.cancel td{color:var(--ink-3)}.tablebox tbody tr.cancel td.cl{text-decoration:line-through}.src{color:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:11.5px;font-weight:600}.r-big{color:var(--accent);font-size:15px;font-weight:700}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.grid2.tight{gap:8px}.with-button{gap:6px;display:flex}.with-button input{flex:1;min-width:0}.panel .with-button input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:14px}.assign-slot{border-bottom:1px dashed var(--line-soft);gap:6px;padding-bottom:8px;display:grid}.danger-link{color:var(--bad)}.returning{justify-self:start}.warnings{gap:6px;display:grid}.money-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.money-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:2px;padding:10px 12px;display:grid}.money-box .k{color:var(--ink-3);font-size:12px}.money-box .v{font-family:var(--mono);font-size:20px;font-weight:600}.money-box .v.small-v{font-family:var(--sans);font-size:13.5px}.money-box .ok{color:var(--good);font-size:12.5px;font-weight:600}.money-box .due{color:var(--warn)}.money-box .bad,.bad{color:var(--bad)}.money-input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;display:flex}.money-input .currency{color:var(--ink-3);padding-left:10px}.panel .money-input input{text-align:right;background:0 0;border:0;width:100%}.money-input:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.seg{background:var(--surface-2);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.seg button{font:inherit;border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:7px 4px;font-size:13px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.readonly-money .field{opacity:.8}@media (width<=700px){.grid3{grid-template-columns:1fr}}.bookings-page{gap:12px;min-width:0;display:grid}.gr.open .gc{background:color-mix(in srgb, var(--accent-soft) 50%, var(--surface))}.drawer-backdrop{z-index:50;background:#0a0f1440;position:fixed;inset:0}.drawer{z-index:51;width:min(600px,100vw);height:100dvh;padding:12px;transition:transform .18s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer.open{transform:none}.drawer .panel{flex:1;max-height:none;position:static}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}.seg.seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ticket-lines{min-width:0}.ticket-lines td{padding:4px 6px}.ticket-lines .amt,.ticket-lines th.amt,.cell-input.right{text-align:right}.tickets-total{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;display:flex}.tickets-total .big{font-size:18px;font-weight:600}.collect-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:12px 14px;display:grid}.collect-head{justify-content:space-between;align-items:baseline;gap:10px;font-weight:600;display:flex}.collect-head .v{font-size:22px}.collect-head .v.due{color:var(--warn)}.collect-lines{gap:4px;margin:0;padding:0;list-style:none;display:grid}.collect-lines li{border-top:1px dashed var(--line-soft);justify-content:space-between;gap:10px;padding:4px 0;font-size:13.5px;display:flex}.collect-lines .ok{color:var(--good);font-weight:600}.partner-line{color:var(--ochre);background:var(--ochre-soft);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}.f-app{background:var(--ground);flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.f-bar{justify-content:space-between;align-items:center;padding:10px 16px 0;display:flex}.f-org{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.f-org .cube{width:16px;height:16px}.f-menu-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;margin-right:-8px;padding:8px}.f-menu{z-index:20;background:#00000040;position:fixed;inset:0}.f-menu-panel{top:calc(env(safe-area-inset-top,0px) + 48px);background:var(--surface);border:1px solid var(--line);width:min(280px,100vw - 24px);box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:14px;display:grid;position:absolute;right:max(12px,50vw - 268px)}.f-menu-panel a,.f-menu-panel .link{color:var(--accent);text-align:left;padding:4px 0;font-weight:600;text-decoration:none}.f-menu-who{border-bottom:1px solid var(--line-soft);gap:2px;padding-bottom:10px;display:grid}.f-main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));flex:1}.f-head{justify-items:start;gap:4px;padding:12px 16px 8px;display:grid}.f-head h1{font-size:22px;line-height:1.25}.f-num{font-variant-numeric:tabular-nums}.f-hi{color:var(--ink-2);font-size:13px}.f-back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin-left:-4px;padding:4px 0;font-weight:600;display:inline-flex}.f-body{gap:10px;padding:4px 16px 16px;display:grid}.f-empty{text-align:center;color:var(--ink-2);padding:32px 8px}.f-day{gap:10px;display:grid}.f-day+.f-day{margin-top:8px}.f-day-title{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.f-more{justify-self:center;margin-top:4px}.f-body .muted,.f-app .muted{color:var(--ink-3)}.f-app .small{font-size:13px}.f-card{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:14px;gap:8px;padding:14px;text-decoration:none;display:grid}a.f-card:active{background:var(--surface-2)}.f-card.cancelled{opacity:.6}.f-card.cancelled .f-act{text-decoration:line-through}.f-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.f-time{font-size:20px;font-weight:600}.f-act{font-size:16px;font-weight:700}.f-route{color:var(--ink-2);gap:2px;font-size:14px;display:grid}.f-route b,.f-kv b{color:var(--ink);font-weight:600}.f-meta{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.f-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.f-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.f-badge.guide,.f-badge.driverGuide{background:var(--guide-soft);color:var(--guide)}.f-badge.partner{background:var(--ochre-soft);color:var(--ochre)}.f-badge.cancel{background:var(--bad-soft);color:var(--bad)}.f-kv{gap:1px;font-size:15px;display:grid}.f-kv b{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-size:12px}.f-place{color:inherit;border-top:1px solid var(--line-soft);grid-template-columns:1fr auto;padding-top:8px;text-decoration:none}.f-place b{grid-column:1/-1}.f-place .f-icon{color:var(--accent);align-self:center}.f-note{white-space:pre-wrap}.f-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-size:12px;font-weight:700}.f-passengers,.f-steps{gap:4px;margin:0;padding-left:22px;display:grid}.f-member{border-top:1px solid var(--line-soft);gap:8px;padding-top:8px;display:grid}.f-section-title+.f-member{border-top:0;padding-top:0}.f-tickets{font-weight:600}.f-tickets.needed{color:var(--warn)}.f-tickets.bought{color:var(--good)}.f-contact{gap:6px;display:flex}.f-contact a{background:var(--accent-soft);min-height:42px;color:var(--accent);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.f-contact a:active{filter:brightness(.95)}.f-collect{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;padding:12px 14px;display:grid}.f-collect-title{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-size:12px;font-weight:700}.f-collect-total{padding-bottom:6px;font-size:18px;font-weight:700}.f-collect.partner .f-collect-total{border-top:1px solid var(--line-soft);margin-top:2px;padding:6px 0 0;font-size:16px}.f-collect-total.due,.f-collect-chip.due{color:var(--warn)}.f-collect-total.ok,.f-collect-chip.ok,.f-collect .ok{color:var(--good)}.f-line{justify-content:space-between;gap:12px;font-size:14px;display:flex}.f-line .f-val,.f-line .mono{text-align:right;font-variant-numeric:tabular-nums}.f-collect-total,.f-collect-chip{font-variant-numeric:tabular-nums}.f-line.sub{color:var(--ink-2);padding-left:12px;font-size:13px}.f-collect-chip{background:var(--surface-2);border-radius:10px;padding:7px 10px;font-size:14px;font-weight:600}.f-install{background:var(--accent-soft);color:var(--ink);border-radius:14px;gap:8px;padding:12px 14px;font-weight:600;display:grid}.f-install div{align-items:center;gap:14px;display:flex}.f-install .btn{text-decoration:none}.f-tabs{background:var(--surface);border-top:1px solid var(--line);width:min(560px,100%);padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px));z-index:10;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.f-tabs a{color:var(--ink-3);justify-items:center;gap:2px;padding:4px 0;font-size:11.5px;font-weight:600;text-decoration:none;display:grid}.f-tabs a.on{color:var(--accent)}.f-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.f-contact .f-icon{width:17px;height:17px}.f-range{gap:8px;display:grid}.f-chips{flex-wrap:wrap;gap:6px;display:flex}.f-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.f-chip.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.f-dates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.f-dates label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);gap:2px;font-size:12px;font-weight:700;display:grid}.f-dates input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;padding:8px 10px;font-size:15px}.f-totals{grid-template-columns:1fr 1fr;gap:8px;display:grid}.f-total{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:2px;padding:12px 14px;display:grid}.f-total span{color:var(--ink-2);font-size:13px}.f-total b{color:var(--good);font-size:20px}.f-total.soft b{color:var(--ink-2)}.f-sales{gap:0;padding-top:4px;padding-bottom:4px}.f-sale{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.f-sale+.f-sale{border-top:1px solid var(--line-soft)}.f-sale.cancelled b{color:var(--ink-3);text-decoration:line-through}.f-sale-top{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.f-sale-amount{white-space:nowrap;font-weight:600}.shell{place-content:center;gap:20px;min-height:100dvh;padding:24px 16px;display:grid}.brand{letter-spacing:.14em;color:var(--ink-2);justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.cube{background:var(--accent);border-radius:4px;width:22px;height:22px;position:relative;transform:rotate(45deg)scale(.82)}.cube:after{content:"";border:2px solid var(--surface);border-radius:2px;position:absolute;inset:5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(420px,100vw - 32px);box-shadow:var(--shadow);gap:12px;padding:20px;display:grid}.card h1{font-size:19px}.row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:14px;display:flex}.label{color:var(--ink-3)}.pill{text-align:right;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.pending{background:var(--surface-2);color:var(--ink-3)}.foot{text-align:center;color:var(--ink-3);font-size:12px}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.lang-switch{border:1px solid var(--line);border-radius:999px;padding:2px;display:inline-flex}.lang-switch button{font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.lang-switch button.on{background:var(--accent-soft);color:var(--accent)}.form{gap:12px;display:grid}.field{color:var(--ink-2);gap:6px;font-size:13px;font-weight:600;display:grid}.field input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:16px;font-weight:400}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.code-input{letter-spacing:.35em;text-align:center;font-size:26px!important}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.55;cursor:default}.hint{color:var(--ink-2);font-size:13.5px}.error{color:var(--bad);background:var(--bad-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px}.row-links{justify-content:space-between;gap:12px;display:flex}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.link:disabled{color:var(--ink-3);cursor:default}.membership{gap:10px;display:grid}.chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.card.wide{width:auto;max-width:720px}.card>.row:first-child{border-top:0;padding-top:0}
