:root{--bg: #ffffff;--surface: #f2f4f7;--text: #0b0b0b;--muted: #3a3f47;--border: #20242a;--border-light: #9aa3ae;--primary: #1b2370;--primary-pressed: #10164a;--crimson: #c8102e;--saffron: #f7a600;--on-primary: #ffffff;--danger: #a50e0e;--danger-bg: #fdecec;--sos: #c40000;--sos-pressed: #8f0000;--warn: #7a4100;--warn-bg: #fff3d6;--ok: #0a6b2b;--ok-bg: #e3f5e8;--info-bg: #e6eefb;--focus: #f2a900;--tap: 56px;--radius: 10px;--nav-h: 68px;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:18px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Noto Sans Devanagari,Nirmala UI,Mangal,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:var(--bg);border-bottom:2px solid var(--border)}.topbar h1{font-size:20px;margin:0;font-weight:900;color:var(--primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .sub{display:block;font-size:14px;font-weight:700;color:var(--text)}.hbtn{min-height:44px;min-width:44px;padding:0 10px;border:2px solid var(--primary);border-radius:8px;background:var(--bg);color:var(--primary);font-weight:800;font-size:16px;cursor:pointer}.hbtn.sync-pending{border-color:#0b57d0;background:var(--info-bg);color:#0b57d0}.hbtn.sync-bad{border-color:var(--danger);background:var(--danger);color:#fff}.offline-bar{background:var(--warn-bg);color:var(--warn);border-bottom:2px solid var(--warn);padding:6px 12px;font-weight:800;font-size:15px}main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:16px 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg);border-top:2px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tab{min-height:var(--nav-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text);font-weight:800;font-size:15px;border-top:5px solid transparent}.tab .ico{font-size:22px;line-height:1}.tab[aria-current=page]{color:var(--primary);border-top-color:var(--primary);background:var(--info-bg)}.tab.tab-sos .ico{color:var(--sos)}.tab .badge{display:inline-block;min-width:22px;padding:0 6px;border-radius:11px;background:#0b57d0;color:#fff;font-size:13px}.tab .badge.bad{background:var(--danger)}h2{font-size:24px;margin:4px 0 12px;font-weight:900}h3{font-size:20px;margin:20px 0 10px;font-weight:900}.muted{color:var(--muted);font-size:15px}.big-title{font-size:34px;font-weight:900;color:var(--primary);margin:16px 0 4px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:var(--tap);padding:8px 16px;border:2px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:var(--on-primary);font-weight:800;font-size:18px;text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){background:var(--primary-pressed)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-big{min-height:76px;font-size:22px}.btn-text{display:flex;flex-direction:column;align-items:center}.btn-sub{font-size:15px;font-weight:600;margin-top:2px}.btn-secondary{background:var(--bg);color:var(--primary)}.btn-secondary:active:not(:disabled){background:var(--info-bg)}.btn-danger{background:var(--bg);color:var(--danger);border-color:var(--danger)}.btn-danger:active:not(:disabled){background:var(--danger-bg)}.btn-ghost{background:transparent;color:var(--primary);border-color:transparent;width:auto}.btn-sos{background:var(--sos);border-color:var(--sos);color:#fff;min-height:96px;font-size:28px;letter-spacing:.5px;box-shadow:0 4px 0 var(--sos-pressed)}.btn-sos:active:not(:disabled){background:var(--sos-pressed);transform:translateY(2px);box-shadow:0 2px 0 var(--sos-pressed)}.row{display:flex;gap:8px}.row>*{flex:1}.stack>*+*{margin-top:12px}.spinner{width:20px;height:20px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.field{margin-bottom:16px;min-width:0}.label{display:block;font-weight:800;font-size:17px;margin-bottom:4px}.input{display:block;width:100%;min-height:var(--tap);padding:8px 12px;border:2px solid var(--border);border-radius:var(--radius);background:#fff;font-size:20px}textarea.input{min-height:84px;resize:vertical}.input[readonly]{background:var(--surface)}.input-error{border:3px solid var(--danger)}.hint{font-size:15px;color:var(--muted);margin-top:4px}.error{font-size:15px;color:var(--danger);font-weight:800;margin-top:4px}.code-input{font-size:30px;font-weight:900;border:3px solid var(--primary);min-height:68px;letter-spacing:1px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--tap);font-weight:700;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-ui{flex:none;width:58px;height:34px;border-radius:17px;background:var(--border-light);position:relative;border:2px solid var(--border)}.toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--border);transition:left .15s}.toggle input:checked+.toggle-ui{background:var(--primary)}.toggle input:checked+.toggle-ui:after{left:27px}.toggle input:focus-visible+.toggle-ui{outline:3px solid var(--focus)}.toggle.disabled{opacity:.5}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:48px;min-width:84px;padding:0 14px;border-radius:24px;border:2px solid var(--border);background:#fff;font-weight:700;cursor:pointer}.chip-on{background:var(--primary);border-color:var(--primary);color:#fff}.st-complete{--c: #0a6b2b;--cb: #e3f5e8}.st-partial{--c: #9a5200;--cb: #fff1dc}.st-mismatch{--c: #b3261e;--cb: #fdecec}.st-not_started{--c: #5b6470;--cb: #eef0f3}.st-waiting{--c: #0b57d0;--cb: #e6eefb}.st-conflict{--c: #6a1b9a;--cb: #f3e5f5}.st-failed{--c: #b3261e;--cb: #fdecec}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:16px;border:2px solid var(--c);background:var(--cb);color:var(--c);font-weight:900;font-size:15px}.pill .dot{width:10px;height:10px;border-radius:50%;background:var(--c)}.sdot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--c);border:2px solid var(--c)}.sdot.st-not_started{background:transparent}.banner{border:2px solid;border-radius:var(--radius);padding:12px;margin-bottom:16px;font-weight:700}.banner-info{background:var(--info-bg);border-color:var(--primary);color:var(--primary)}.banner-warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.banner-error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.banner-ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.banner-action{margin-top:10px}.card{border:2px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px;background:#fff}.card-link{display:block;text-decoration:none;color:inherit;border-left-width:10px;border-left-color:var(--c, var(--border))}.card-link:active{background:var(--surface)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.card-head h3{margin:0;font-size:20px}.chev{font-size:32px;line-height:1;font-weight:300}.match{border:3px solid var(--ok);background:var(--ok-bg);border-radius:var(--radius);padding:14px;margin-top:12px}.match.match-view{border-color:var(--warn);background:var(--warn-bg)}.match-name{font-size:24px;font-weight:900;margin:2px 0;overflow-wrap:anywhere}.blist{list-style:none;margin:0;padding:0}.blist a{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 4px;border-bottom:1px solid var(--border-light);text-decoration:none;color:inherit}.blist a:active{background:var(--surface)}.bcode{flex:none;width:64px;text-align:center;font-size:28px;font-weight:900;color:var(--primary)}.bname{font-weight:800;overflow-wrap:anywhere}.bmeta{font-size:15px;color:var(--muted)}.dots{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.view-only{color:var(--warn);font-weight:800;font-size:15px}.totals{border:3px solid var(--primary);background:var(--info-bg);border-radius:var(--radius);padding:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:6px;text-align:center}.stat b{display:block;font-size:26px}.stat span{font-size:14px}.total-line{border:2px solid var(--border-light);border-radius:var(--radius);padding:10px 12px;margin:12px 0;font-weight:900;background:#fff}.total-line.ok{border-color:var(--ok);background:var(--ok-bg)}.total-line.bad{border:3px solid var(--danger);background:var(--danger-bg);color:var(--danger)}.total-line .warn-text{font-weight:700;margin-top:4px}.gauge{border:3px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;margin-bottom:16px}.gauge.good{border-color:var(--ok);background:var(--ok-bg)}.gauge.weak{border-color:var(--warn);background:var(--warn-bg)}.gauge .value{font-size:56px;font-weight:900;line-height:1.1;margin:6px 0}.gauge .coords{font-size:15px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.sos-card{border:3px solid var(--sos)}.sos-card h2{color:var(--sos)}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cat{min-height:84px;border:3px solid var(--border);border-radius:var(--radius);background:#fff;font-weight:900;font-size:19px;cursor:pointer;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cat .ico{font-size:26px}.cat[aria-checked=true]{background:var(--sos);border-color:var(--sos);color:#fff}.slot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.slot{min-height:64px;border:2px solid var(--border);border-radius:var(--radius);background:#fff;font-weight:900;font-size:17px;cursor:pointer;padding:2px}.slot[aria-checked=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.slot .done{display:block;font-size:13px;font-weight:700}.status-box{border:3px solid;border-radius:var(--radius);padding:14px;margin:12px 0;font-weight:800}.status-box.pending{border-color:#0b57d0;background:var(--info-bg);color:#0b57d0}.status-box.sent{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.status-box.failed{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.sms-note{font-size:15px;font-weight:700;color:var(--text);margin-top:8px}pre.copy{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--surface);padding:8px;border-radius:8px;margin:4px 0 0}.overlay{position:fixed;inset:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:12px}.sheet{width:100%;max-width:560px;background:#fff;border-radius:16px;border:3px solid var(--border);padding:18px;max-height:90dvh;overflow:auto}.sheet ol{padding-left:22px;margin:8px 0 16px}.sheet li{margin-bottom:8px;font-weight:700}.center{min-height:70dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.w-auto{width:auto;flex:none}.sos-list{list-style:none;margin:0;padding:0}.sos-row{border-top:1px solid var(--border-light);padding:10px 0}.sos-row:first-child{border-top:0}.sos-progress{margin-top:8px;padding:8px 10px;border-radius:8px;border:2px solid;font-size:16px;color:var(--text);background:#fff}.sos-progress b{display:block;margin-bottom:2px}.sos-open .sos-progress,.sos-progress.sos-open{border-color:var(--sos)}.sos-open .sos-progress b,.sos-progress.sos-open b{color:var(--sos)}.sos-progress.sos-acknowledged{border-color:var(--warn)}.sos-progress.sos-acknowledged b{color:var(--warn)}.sos-progress.sos-resolved{border-color:var(--ok)}.sos-progress.sos-resolved b{color:var(--ok)}.sos-steps{letter-spacing:6px;font-size:14px;color:var(--border-light)}.sos-steps .on{color:currentColor}.sos-progress.sos-open .sos-steps{color:var(--border-light)}.sos-progress.sos-open .sos-steps .on{color:var(--sos)}.sos-progress.sos-acknowledged .sos-steps .on{color:var(--warn)}.sos-progress.sos-resolved .sos-steps .on{color:var(--ok)}.sos-st{font-weight:800;color:#0b57d0;margin-top:4px}.login-mode{margin-bottom:4px}.login-mode .chip{flex:1 1 auto}.photo-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 12px}.photo-thumb{width:72px;height:72px;object-fit:cover;border-radius:10px;border:2px solid var(--border)}.topbar{background:var(--primary);border-bottom:0;box-shadow:0 3px 0 var(--saffron),0 6px 0 var(--crimson);margin-bottom:6px}.topbar h1{color:#fff}.topbar .sub{color:#dfe3ff}.topbar .hbtn{background:transparent;border-color:#ffffffb3;color:#fff}.brand-mark{flex:none;width:34px;height:34px;border-radius:50%;background:#fff;padding:2px;object-fit:contain}.big-title{color:var(--primary)}.pick-list{display:grid;gap:8px;max-height:52vh;overflow-y:auto;padding:2px}.pick-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;min-height:var(--tap);padding:8px 12px;border:2px solid var(--border);border-radius:var(--radius);background:#fff;text-align:left;cursor:pointer}.pick-row b{font-size:24px;font-weight:900;color:var(--primary)}.pick-row small{color:var(--muted)}.pick-row:active{background:var(--info-bg)}.picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:3px solid var(--primary);border-radius:var(--radius);background:var(--info-bg)}.picked .btn{width:auto}.picked-no{font-size:26px;font-weight:900;color:var(--primary)}.picked-name{font-weight:700}.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:start}.row2>.btn{margin-top:0}@media (max-width: 360px){.row2{grid-template-columns:1fr}}.pform{border:3px solid var(--primary)}.ok-text{color:var(--ok);font-weight:800}.people-head{display:grid;gap:6px}.people-head>b{font-size:18px}.people-search{margin-bottom:0}.people{list-style:none;margin:0;padding:0;display:grid;gap:8px}.person{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:10px 12px;border:2px solid var(--border-light);border-radius:var(--radius);background:#fff}.pn{font-weight:900;color:var(--muted);font-size:15px;padding-top:2px}.pbody{min-width:0;display:grid;gap:2px}.pbody b{font-size:18px}.pmeta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:15px;color:var(--muted)}.pphone{font-weight:800;font-size:16px;text-decoration:none}.pacts{display:grid;gap:6px}.mini{min-height:40px;padding:0 12px;border:2px solid var(--primary);border-radius:8px;background:#fff;color:var(--primary);font-weight:800;font-size:15px;cursor:pointer}.mini.danger{border-color:var(--danger);color:var(--danger)}.tag{display:inline-block;padding:1px 9px;border-radius:12px;background:var(--surface);border:1px solid var(--border-light);color:var(--text);font-size:14px;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:6px}.lean-supporter{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.lean-inclined{background:#e8f3ff;border-color:#2d6cb0;color:#1d4f88}.lean-opponent{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.sv-grid{display:grid;gap:0}.sv-strong .label{color:var(--ok)}.sv-weak .label{color:var(--danger)}.sv-bar{display:flex;height:18px;border-radius:9px;overflow:hidden;background:var(--surface);border:2px solid var(--border)}.sv-bar.bad{border-color:var(--danger)}.sv-bar i{display:block;height:100%}.camp-tile{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px}.camp-tile b{display:block;font-size:20px}.camp-tile small{display:block;color:var(--muted);font-size:15px}.camp-ic{font-size:30px;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--info-bg)}.camp-rallies .camp-ic{background:#fff1db}.camp-tour .camp-ic{background:#ffe6ee}.camp-vehicles .camp-ic{background:#dff7fb}.camp-card{display:grid;gap:6px}.camp-card h3{margin:0}.camp-when{font-weight:900;color:var(--crimson)}.meter{height:8px;border-radius:4px;background:var(--surface);overflow:hidden;border:1px solid var(--border-light)}.meter i{display:block;height:100%;background:var(--ok)}.tag.st-done,.tag.ts-done,.tag.tr-done{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.tag.st-permission_ok,.tag.tr-running{background:var(--info-bg);border-color:var(--primary);color:var(--primary)}.tag.st-cancelled,.tag.ts-skipped,.tag.tr-cancelled{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.tag.ts-delayed,.tag.st-permission_applied{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.checklist{border:2px solid var(--border-light);border-radius:var(--radius);padding:4px 12px 8px;margin:0}.checklist legend{font-weight:800;padding:0 6px}.checklist .toggle{min-height:48px;border-bottom:1px solid var(--surface)}.day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px}.day{flex:none;display:grid;justify-items:center;gap:2px;min-width:76px;min-height:60px;padding:6px 8px;border:2px solid var(--border-light);border-radius:12px;background:#fff;font-weight:800;font-size:14px;cursor:pointer}.day small{font-size:13px;color:var(--muted)}.day.today{border-color:var(--crimson);color:var(--crimson)}.day.on{background:var(--primary);border-color:var(--primary);color:#fff}.day.on small{color:#dfe3ff}.stops-m{list-style:none;margin:0;padding:0;display:grid;gap:10px}.stop-m{display:grid;gap:6px}.stop-m h3{margin:0}.stop-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.seq{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:3px solid var(--primary);color:var(--primary);font-weight:900}.stop-m.ts-done .seq{background:var(--ok);border-color:var(--ok);color:#fff}.stop-m.ts-skipped{opacity:.7}.mark3{display:grid;grid-template-columns:1fr 1fr 1fr 52px;gap:6px}.mark{min-height:48px;border:2px solid var(--border);border-radius:10px;background:#fff;font-weight:800;font-size:16px;cursor:pointer}.mark.m-done.on{background:var(--ok);border-color:var(--ok);color:#fff}.mark.m-delayed.on{background:#c98a00;border-color:#c98a00;color:#fff}.mark.m-skipped.on{background:var(--danger);border-color:var(--danger);color:#fff}.veh-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.plate-m{display:inline-flex;align-items:stretch;border:3px solid #111;border-radius:6px;background:#fff;color:#111;font-weight:900;font-size:22px;letter-spacing:1px;overflow:hidden}.plate-m i{font-style:normal;background:#1d3fae;color:#fff;font-size:10px;display:grid;place-items:center;padding:0 5px;margin-right:8px}.plate-m{padding-right:10px}.veh-today{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface);border-left:5px solid var(--border-light)}.veh-today small{font-weight:800;color:var(--muted)}.veh-today.tr-running{border-left-color:var(--primary);background:var(--info-bg)}.veh-today.tr-done{border-left-color:var(--ok);background:var(--ok-bg)}.login-logo{display:block;width:100%;max-width:520px;height:auto;margin:4px auto 6px}.opening{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;color:var(--primary);padding:18px 4px}.ao-count{display:flex;align-items:baseline;gap:10px;padding:14px 16px;border-radius:var(--radius);background:var(--primary);color:var(--on-primary);margin-bottom:12px}.ao-count b{font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.ao-count span{font-size:16px;font-weight:600;opacity:.92}.ao-note{font-size:14px;margin:0 0 12px;padding-left:10px;border-left:3px solid var(--saffron)}.ao-filled{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px;border:2px solid var(--ok);border-radius:var(--radius);background:var(--ok-bg)}.ao-filled span{font-weight:700}.ao-filled b{color:var(--ok);white-space:nowrap;font-size:15px}.ao-line{font-weight:700;color:var(--primary);margin:4px 0 8px}.ao-sum{margin-top:6px;font-size:15px;font-weight:600;color:var(--muted)}.drv-head{display:flex;align-items:center;gap:10px}.drv-plate{font-weight:800;font-size:22px;letter-spacing:.06em;padding:4px 12px;border:3px solid var(--text);border-radius:8px;background:#fff}.drv-status{border-radius:14px;padding:16px;border:2px solid var(--border-light);background:var(--surface)}.drv-status.on{border-color:var(--ok);background:var(--ok-bg)}.drv-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.drv-state i{width:14px;height:14px;border-radius:50%;background:var(--muted)}.drv-status.on .drv-state i{background:var(--ok);animation:drv-ping 1.8s ease-out infinite}@keyframes drv-ping{0%{box-shadow:0 0 #0a6b2b80}to{box-shadow:0 0 0 12px #0a6b2b00}}@media (prefers-reduced-motion: reduce){.drv-status.on .drv-state i{animation:none}}.drv-state b{font-size:22px}.drv-state span{color:var(--muted);font-weight:600}.drv-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.drv-stats div{background:#fff;border-radius:10px;padding:10px 12px;display:grid}.drv-stats b{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.drv-stats span{font-size:14px;color:var(--muted);font-weight:600}.drv-gps,.drv-today{margin:10px 0 0;font-weight:600}.drv-note{font-size:14px;margin:0}.drv-plan{list-style:none;margin:0;padding:0;display:grid;gap:8px}.drv-plan li{display:grid;grid-template-columns:26px 1fr;column-gap:6px;align-items:baseline;padding:8px 10px;border-radius:10px;border:2px solid var(--border-light)}.drv-plan li small{grid-column:2;color:var(--muted)}.drv-plan li.done{border-color:var(--ok);background:var(--ok-bg)}.drv-plan li.done span{color:var(--ok);font-weight:800}.bs-kinds{display:flex;flex-wrap:wrap;gap:8px}.bs-kind{font:inherit;font-size:15px;padding:8px 12px;border-radius:99px;border:2px solid var(--line, #d0d4e4);background:#fff;color:inherit;min-height:44px}.bs-kind.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,#fff);font-weight:700}.bs-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bs-gps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px}.bs-item.top{border:2px solid #ffb300;background:#fff8e1}.bs-chip{font-size:13px;font-weight:700;padding:2px 10px;border-radius:99px;background:#eef0f8}.bs-chip.k-slum{background:#fbe3d4;color:#8a3b0f}.bs-chip.k-dalit{background:#dde4fb;color:#22378f}.bs-chip.k-tribal{background:#d6f0e6;color:#0b5a42}.bs-chip.k-dense{background:#fadbe7;color:#8e1043}.bs-chip.k-ground{background:#e3f1d2;color:#2f5a0a}.bs-chip.k-auditorium{background:#e8e0fb;color:#41238f}.bs-chip.k-hall{background:#d8eef3;color:#0d4f5e}.bs-top{font-size:13px;font-weight:800;padding:2px 10px;border-radius:99px;background:#ffb300;color:#3d2a00}.bs-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.ep-count{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:600;background:#eef0f8;border-radius:10px;padding:8px 12px}.ep-count .warn{color:#a05a00}.ep-count .ok{color:#1e7a45}.ep-btns{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.ep-btns.big{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ep-btns button{font:inherit;font-size:16px;font-weight:600;min-height:52px;border-radius:12px;border:2px solid var(--line, #d0d4e4);background:#fff;color:inherit;padding:6px 8px}.ep-btns.big button{min-height:64px;font-size:18px}.ep-btns button.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,#fff)}.linklike{background:none;border:0;color:var(--primary);font:inherit;font-weight:600;padding:4px 0;text-align:left}.tabbar-many{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabbar-many::-webkit-scrollbar{display:none}.tabbar-many .tab{flex:1 0 auto;min-width:78px;padding:0 8px;font-size:13.5px;white-space:nowrap}.tabbar-many .tab .ico{font-size:21px}.ap-sum{font-weight:800;font-size:16px}.ap-nogps-toggle{display:flex;gap:8px;align-items:flex-start;margin-top:8px;font-weight:500;font-size:14px;color:#8a3b0f}.ap-nogps-toggle input{width:20px;height:20px;flex:none;margin-top:1px}.ap-add{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.ap-add .btn,.ap-add button{min-height:52px}.ap-booth{position:relative;padding-right:40px}.ap-booth .chev{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.ap-bh{display:block;font-size:17px}.ap-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:15.5px}.ap-densest{font-weight:800}.ap-nogps{color:var(--warn);font-weight:700}.ap-gps{color:var(--ok, #1e7a3c)}.ap-empty-h{all:unset;cursor:pointer;font-weight:800;font-size:16px;display:block;width:100%}.ap-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ap-chips .chip{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:42px;text-decoration:none;color:inherit}.tabbar-many:after{content:"";position:sticky;right:0;flex:0 0 22px;margin-left:-22px;background:linear-gradient(to right,transparent,rgba(0,0,0,.14));pointer-events:none}.my-points{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;border:2px solid #e8b400;border-radius:14px;background:#fff8dd}.my-points .mp-ic{font-size:26px}.my-points b{display:block;font-size:17px}.my-points small{display:block;color:var(--muted);font-size:14px}.oath{padding-left:22px;margin:8px 0 16px;display:grid;gap:8px;font-size:16px;line-height:1.45}.vt-totals .stat b{font-size:24px;white-space:nowrap}.vt-totals .stat b small{font-size:15px;font-weight:700;color:var(--muted)}.stat.stat-warn{border-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.vt-serial .input{font-size:34px;font-weight:900;min-height:70px;letter-spacing:.06em;text-align:center;border:3px solid var(--primary)}.vt-msg{margin-top:12px;padding:12px 14px;border-radius:var(--radius);border:3px solid;font-weight:800;font-size:18px;overflow-wrap:anywhere}.vt-msg.vt-ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.vt-msg.vt-warn{border-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.vt-msg.vt-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.vt-msg.vt-info{border-color:#0b57d0;background:var(--info-bg);color:#0b57d0}.vt-privacy{font-size:14.5px;font-weight:700;color:var(--warn);background:var(--warn-bg);border-radius:var(--radius);padding:10px 12px;margin:0 0 12px}.vt-n{display:inline-block;min-width:28px;padding:0 8px;border-radius:14px;background:var(--primary);color:#fff;font-size:15px;text-align:center;vertical-align:2px}.vt-list{list-style:none;margin:0;padding:0}.vt-list li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light)}.vt-list li:last-child{border-bottom:0}.vt-house{text-align:center;font-weight:900;font-size:18px;line-height:1.1;overflow-wrap:anywhere}.vt-house small{display:block;font-size:11.5px;font-weight:700;color:var(--muted)}.vt-who{min-width:0;display:grid}.vt-who b{font-size:17px;overflow-wrap:anywhere}.vt-who small{font-size:14px;color:var(--muted)}.vt-came{min-height:48px;padding:0 14px;border-radius:var(--radius);border:2px solid var(--ok);background:var(--ok-bg);color:var(--ok);font:inherit;font-weight:900;font-size:16px;white-space:nowrap}.vt-came:active{background:var(--ok);color:#fff}.vt-recent{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15.5px}.vt-recent .num{font-weight:900;color:var(--primary)}.scanner-view{position:relative;width:100%;aspect-ratio:1;max-height:60vh;background:#000;border-radius:var(--radius);overflow:hidden}.scanner-view video{width:100%;height:100%;object-fit:cover;display:block}.scanner-frame{position:absolute;inset:18%;border:4px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 999px #00000047}.ct-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin:0 0 12px;padding:10px 12px;border-radius:var(--radius);background:var(--info-bg);color:var(--primary);font-weight:700}.ct-booths .chip{min-width:72px}.ct-booths .chip small{font-weight:700;font-size:13px}.chip.ct-done:not(.chip-on){border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.vt-actions{display:grid;gap:6px;margin-top:10px}.vt-actions .btn-ghost{width:100%}.ct-votes-h{font-weight:900;font-size:18px;color:var(--primary);margin:6px 0 10px;padding-top:10px;border-top:2px solid var(--border-light)}.sv-method .chip{flex:1 1 auto}.sv-prob{display:flex;gap:8px;align-items:center}.sv-prob .input{flex:1;min-width:0}.sv-prob .chip{min-width:48px;padding:0;flex:none}.sv-recent{list-style:none;margin:0;padding:0}.sv-recent li{padding:8px 0;border-top:1px solid var(--border-light)}.sv-recent li:first-child{border-top:0}.sv-recent-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;font-size:14px}.bs-chip.sv-strong{background:#d6f0e6;color:#0b5a42}.bs-chip.sv-neutral{background:#fbe3d4;color:#8a3b0f}.bs-chip.sv-weak{background:#fadbe7;color:#8e1043}.bs-chip.sv-flag{background:#fff3c4;color:#7a5200}.sv-gps{display:flex;gap:10px;align-items:center;justify-content:space-between}.sv-gps>span{flex:1 1 auto;min-width:0;font-size:15px}.sv-gps>button{flex:0 0 auto;width:auto;min-width:110px}.at-total{margin:10px 0 0;font-size:15px}.at-total b{font-size:24px;margin-right:6px}.at-person b{display:block;font-size:18px}.at-person small{color:var(--muted)}.at-entries{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}.at-entries li{display:flex;justify-content:space-between;gap:8px;font-size:14.5px}.review{display:flex;flex-direction:column;height:calc(100dvh - 118px);margin:-12px -12px 0}.review-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:14px;background:var(--sunk, #f2f3f8);border-bottom:1px solid var(--line, #dfe2ea)}.review-open{font-weight:600}.review-frame{flex:1;width:100%;border:0;background:#fff}.home-hello{margin:0 0 12px;font-weight:800;font-size:17px}.home-hello .muted{font-weight:600}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-tile{position:relative;display:flex;flex-direction:column;gap:6px;min-height:132px;padding:14px 12px 12px;border:2px solid var(--border);border-radius:18px;background:var(--bg);text-decoration:none;color:var(--text);-webkit-tap-highlight-color:transparent}.home-tile:active{background:var(--surface)}.home-tile b{font-size:18px;line-height:1.2}.home-tile small{color:var(--muted);font-size:13px;line-height:1.3}.home-ic{position:relative;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--tone, var(--info-bg));font-size:30px;line-height:1}.home-ic .badge{position:absolute;top:-8px;right:-10px;min-width:22px;padding:0 6px;border-radius:11px;background:#0b57d0;color:#fff;font-size:13px;font-weight:800;text-align:center}.home-ic .badge.bad{background:var(--danger)}.home-no{position:absolute;top:10px;right:12px;font-size:13px;font-weight:800;color:var(--muted)}.home-sos{border-color:var(--sos)}.home-sos .home-ic{background:var(--sos);color:#fff}.home-note{margin:16px 0 0;font-size:14px}.home-locked{opacity:.62;filter:grayscale(.6);font:inherit;text-align:left;cursor:pointer}.home-locked b:after{content:" 🔒"}.home-lock-note{margin-top:14px;font-weight:600}.home-lock-note .btn-link{display:block;margin-top:6px;background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:800;text-decoration:underline}
