@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.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}:root{--bg:#14161a;--bg-raise:#191c20;--surface:#1d2025;--surface-2:#292d33;--line:#2c3036;--line-strong:#41464e;--text:#f2f3f5;--text-2:#b7bcc4;--muted:#8b919b;--accent:#f2f3f5;--accent-press:#d5d8dc;--on-accent:#14161a;--accent-text:#f2f3f5;--accent-soft:#f2f3f51a;--st-requested:#e9a83e;--st-acknowledged:#6ba6f2;--st-picked:#46bd8a;--st-done:#8b919b;--st-stop:#ee6f64;--danger:#ee6f64;--ok:#46bd8a;--warn:#e9a83e;--focus:#8ab4f8;--radius-s:8px;--radius-m:10px;--radius-l:12px;--shadow-pop:0 12px 32px -8px #00000080;--font:"Hanken Grotesk Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:.8125rem;--fs-s:.9375rem;--fs-m:1rem;--fs-l:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--tap:48px;--gutter:20px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f5f6;--bg-raise:#fbfbfc;--surface:#fff;--surface-2:#ebedef;--line:#e0e2e5;--line-strong:#c3c7cc;--text:#15171a;--text-2:#454a52;--muted:#656b74;--accent:#15171a;--accent-press:#33373d;--on-accent:#fff;--accent-text:#15171a;--accent-soft:#15171a14;--st-requested:#a4630a;--st-acknowledged:#1f62cc;--st-picked:#0f7a4c;--st-done:#656b74;--st-stop:#c23a2e;--danger:#c23a2e;--ok:#0f7a4c;--warn:#a4630a;--focus:#1f62cc;--shadow-pop:0 12px 32px -8px #15171a38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);font-size:var(--fs-m);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;line-height:1.5}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.2}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-l)}h3{font-size:var(--fs-m)}p{margin:0}a{color:var(--accent-text);text-underline-offset:3px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100dvh;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + var(--gutter)) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + var(--gutter));flex-direction:column;max-width:640px;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:56px;margin-bottom:12px;display:flex}.wordmark{font-weight:650;font-size:var(--fs-m);letter-spacing:-.01em;align-items:center;gap:10px;display:flex}.wordmark svg{color:var(--text)}.wordmark small{border-left:1px solid var(--line-strong);font-weight:500;font-size:var(--fs-s);color:var(--muted);padding-left:10px}.topbar-actions{gap:4px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.stack-l{flex-direction:column;gap:28px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-wrap{flex-wrap:wrap;gap:12px;display:flex}.grow{flex:1}.muted{color:var(--muted)}.small{font-size:var(--fs-s)}.xsmall{font-size:var(--fs-xs)}.section{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding-top:20px;display:flex}.section:first-child{border-top:0;padding-top:0}.section>header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-lede{color:var(--text-2);font-size:var(--fs-s);max-width:60ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.btn{appearance:none;min-height:var(--tap);border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-family:var(--font);font-size:var(--fs-s);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.btn:active{background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn-primary:active{background:var(--accent-press)}.btn-primary:disabled{opacity:1;background:var(--surface-2);color:var(--muted)}.btn-quiet,.duty .btn{white-space:nowrap}.btn-quiet{color:var(--text-2);background:0 0;border-color:#0000}.btn-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger);background:0 0}.btn-block{width:100%}.btn-icon{min-width:var(--tap);color:var(--text-2);background:0 0;border-color:#0000;padding:0}.btn-xl{min-height:64px;font-size:var(--fs-l);border-radius:var(--radius-m)}@media (hover:hover){.btn:hover:not(:disabled){background:var(--surface-2)}.btn-primary:hover:not(:disabled){background:var(--accent-press)}.btn-icon:hover:not(:disabled){color:var(--text)}}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:500;font-size:var(--fs-s);color:var(--text-2)}.input{min-height:var(--tap);border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--bg-raise);width:100%;color:var(--text);font:inherit;padding:0 14px;font-size:16px;transition:border-color .12s}.input:focus-visible{outline:2px solid var(--focus);outline-offset:-1px;border-radius:var(--radius-s);border-color:#0000}.pw-field{position:relative}.pw-field .input{padding-right:var(--tap)}.pw-field .input::-ms-reveal{display:none}.pw-toggle{width:var(--tap);border-radius:var(--radius-s);color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;bottom:0;right:0}.pw-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.switch{appearance:none;min-width:44px;color:var(--muted);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:6px 0;font-size:.75rem;font-weight:500;line-height:1;display:flex}.switch[aria-checked=true]{color:var(--text)}.switch:disabled{opacity:.5;cursor:progress}.switch-track{background:var(--line-strong);border-radius:11px;width:38px;height:22px;transition:background-color .12s;position:relative}.switch[aria-checked=true] .switch-track{background:var(--accent)}.switch-thumb{background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .12s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-thumb{transform:translate(16px)}.form-error{color:var(--danger);font-weight:500;font-size:var(--fs-s);align-items:flex-start;gap:8px;display:flex}.check-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-item{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:start;gap:12px;padding:14px 0;display:grid}.check-item:last-child{border-bottom:0}.check-mark{border-radius:6px;place-items:center;width:24px;height:24px;margin-top:1px;display:grid}.check-mark[data-state=ok]{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.check-mark[data-state=bad]{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.check-mark[data-state=unknown]{background:var(--surface-2);color:var(--muted)}.check-title{font-weight:600}.check-detail{color:var(--muted);font-size:var(--fs-s)}.check-state{font-size:var(--fs-xs);color:var(--muted);padding-top:3px;font-weight:500}.notice{border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:var(--fs-s);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notice svg{color:var(--text-2);flex:none;margin-top:1px}.notice[data-tone=danger]{background:color-mix(in srgb, var(--danger) 9%, var(--surface));border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.notice[data-tone=danger] svg{color:var(--danger)}.notice[data-tone=ok]{background:color-mix(in srgb, var(--ok) 8%, var(--surface));border-color:color-mix(in srgb, var(--ok) 32%, var(--line))}.notice[data-tone=ok] svg{color:var(--ok)}.steps{counter-reset:step;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;grid-template-columns:28px 1fr;align-items:start;gap:12px;display:grid}.steps li:before{content:counter(step);background:var(--surface-2);width:26px;height:26px;color:var(--text);font-size:var(--fs-xs);border-radius:6px;place-items:center;font-weight:600;display:grid}.inline-icon{vertical-align:-4px;color:var(--text);display:inline-block}.toast{left:50%;bottom:calc(var(--safe-bottom) + 20px);border-radius:var(--radius-s);background:var(--text);max-width:min(520px,100vw - 32px);color:var(--bg);font-weight:500;font-size:var(--fs-s);box-shadow:var(--shadow-pop);z-index:50;padding:12px 16px;animation:.16s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.alarm-btn[aria-pressed=true]{background:var(--danger);color:#fff;animation:.7s ease-in-out infinite alternate alarm-pulse}@keyframes alarm-pulse{to{box-shadow:0 0 0 10px color-mix(in srgb, var(--danger) 25%, transparent)}}.device-list{margin:0;padding:0;list-style:none}.device-list li{border-bottom:1px solid var(--line);font-size:var(--fs-s);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.login{flex-direction:column;flex:1;justify-content:center;gap:28px;width:100%;max-width:400px;margin:0 auto;padding-bottom:10vh;display:flex}.login-mark{width:36px;height:36px;color:var(--text)}.quiet-screen{flex-direction:column;flex:1;justify-content:center;gap:14px;display:flex}.quiet-screen .beacon{width:36px;height:36px;color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.text-strong{color:var(--text)}.whoami{flex-wrap:wrap;align-items:center;gap:4px;margin:-4px 0 8px;display:flex}.link-btn{appearance:none;color:var(--text);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:-10px 0;padding:10px 6px;font-weight:500}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238b919b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:calc(100% - 14px);background-repeat:no-repeat;padding-right:40px}.label{font-weight:500;font-size:var(--fs-s);color:var(--text-2)}.req{color:var(--muted);font-weight:500;font-size:var(--fs-xs)}.input-attention{border-color:var(--st-requested);box-shadow:0 0 0 3px color-mix(in srgb, var(--st-requested) 18%, transparent)}.home{flex-direction:column;flex:1;gap:20px;display:flex}.duty-pill{font-size:var(--fs-s);color:var(--text-2);align-self:flex-start;align-items:center;gap:8px;font-weight:500;display:inline-flex}.duty-pill .dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.hero{flex-direction:column;flex:1;gap:14px;padding-bottom:4px;display:flex}.hero-btn{border-radius:var(--radius-m);background:var(--accent);width:100%;min-height:72px;color:var(--on-accent);font-family:var(--font);cursor:pointer;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:10px;padding:0 20px;transition:background-color .12s,opacity .12s;display:flex}.hero-btn:active{background:var(--accent-press)}.hero-btn:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.hero-btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-m)}.hero-label{font-weight:600;font-size:var(--fs-l);line-height:1.2}.hero-count{flex-direction:column;flex:1;justify-content:center;gap:6px;padding:16px 0;display:flex}.hero-num{letter-spacing:-.045em;font-size:clamp(6rem,34vw,9rem);font-weight:500;line-height:.95}.hero-count-label{color:var(--text-2);font-size:var(--fs-l)}.hero-btn[aria-busy=true]{opacity:.7}.hero-sub{color:var(--muted);font-size:var(--fs-s)}.rules{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.rules summary{cursor:pointer;align-items:center;gap:10px;min-height:52px;padding:0 16px;font-weight:500;list-style:none;display:flex}.rules summary::-webkit-details-marker{display:none}.rules summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;margin-left:auto;transition:transform .16s;transform:rotate(45deg)translateY(-3px)}.rules[open] summary:after{transform:rotate(-135deg)translateY(-3px)}.rules summary svg{color:var(--text-2)}.rules ul{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding:0 16px 16px 42px;display:flex}.status-banner{--tone:var(--st-requested);border-radius:var(--radius-m);border:1px solid color-mix(in srgb, var(--tone) 35%, var(--line));background:color-mix(in srgb, var(--tone) 7%, var(--surface));grid-template-columns:40px 1fr;align-items:center;gap:14px;padding:16px;transition:background-color .3s,border-color .3s;animation:.24s ease-out banner-in;display:grid}@keyframes banner-in{0%{opacity:.6}}.status-banner.tone-acknowledged{--tone:var(--st-acknowledged)}.status-banner.tone-picked{--tone:var(--st-picked)}.status-icon{border-radius:var(--radius-s);background:var(--tone);width:40px;height:40px;color:var(--on-st);place-items:center;display:grid}.tone-requested .status-icon{animation:1.6s ease-in-out infinite wait-pulse}@keyframes wait-pulse{50%{opacity:.65}}.status-title{font-weight:600;font-size:var(--fs-l);letter-spacing:-.01em;line-height:1.25}.status-sub{color:var(--text-2);font-size:var(--fs-s);margin-top:2px}.position{font-weight:500;font-size:var(--fs-xl);letter-spacing:-.015em;line-height:1.15}.position-num{letter-spacing:-.04em;color:var(--text);vertical-align:-.08em;font-size:3em;font-weight:500;line-height:1}.stepper{grid-template-columns:var(--tap) 1fr var(--tap);align-items:center;gap:8px;max-width:260px;display:grid}.stepper .btn{padding:0}.stepper output{text-align:center;font-weight:600;font-size:var(--fs-xl)}.line{margin:0;padding:0;list-style:none}.line li{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;min-height:48px;display:grid}.line li:last-child{border-bottom:0}.line-pos{background:var(--surface-2);width:26px;height:26px;font-size:var(--fs-xs);color:var(--text-2);border-radius:6px;place-items:center;font-weight:600;display:grid}.line li.is-me .line-pos{background:var(--accent);color:var(--on-accent)}.line li.is-me .line-name{font-weight:600}.line .you{color:var(--muted);font-weight:500}.line-state{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.btn.armed{background:var(--danger);border-color:var(--danger);color:var(--on-st)}.finish-mark{border-radius:var(--radius-m);background:var(--surface-2);width:48px;height:48px;color:var(--text-2);place-items:center;display:grid}.finish-dropped_off{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.app:has(.tabbar){padding-bottom:calc(var(--safe-bottom) + 88px)}.tabbar{z-index:20;padding:4px max(var(--safe-left), 8px) calc(var(--safe-bottom) + 4px) max(var(--safe-right), 8px);background:var(--bg-raise);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,150px));justify-content:center;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{appearance:none;min-height:52px;color:var(--muted);font:inherit;cursor:pointer;border-radius:var(--radius-s);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.75rem;font-weight:500;display:flex}.tab[aria-current=page]{color:var(--text)}.tab-icon{display:grid;position:relative}.badge{background:var(--st-requested);min-width:18px;height:18px;color:var(--on-st);border-radius:5px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-5px;right:-11px}.toast{bottom:calc(var(--safe-bottom) + 80px)}.duty{border-radius:var(--radius-m);border:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.duty h1{font-size:var(--fs-l)}.duty.is-on{border-color:color-mix(in srgb, var(--ok) 35%, var(--line));background:color-mix(in srgb, var(--ok) 6%, var(--surface))}.duty.is-on h1:before{content:"";background:var(--ok);vertical-align:2px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.live-line{color:var(--muted);align-items:center;gap:8px;margin-top:-18px;display:flex}.live-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.live-dot.on{background:var(--ok)}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 12px;display:flex}.empty h2{color:var(--text)}.cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.card{--tone:var(--st-requested);border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;padding:16px;display:flex}.card.st-acknowledged{--tone:var(--st-acknowledged)}.card.st-picked_up{--tone:var(--st-picked)}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h3{font-size:var(--fs-l);font-weight:600}.chip{--tone:var(--st-requested);font-size:var(--fs-xs);color:var(--text);background:var(--surface-2);border-radius:6px;flex:none;align-items:center;gap:6px;padding:3px 8px;font-weight:500;display:inline-flex}.chip:before{content:"";background:var(--tone);border-radius:50%;width:6px;height:6px}.chip.st-acknowledged{--tone:var(--st-acknowledged)}.chip.st-picked_up{--tone:var(--st-picked)}.chip.st-dropped_off{--tone:var(--st-done)}.chip.st-cancelled,.chip.st-no_show{--tone:var(--st-stop)}.facts{flex-direction:column;gap:8px;margin:0;display:flex}.facts div{grid-template-columns:22px 1fr;gap:8px;display:grid}.facts dt{color:var(--muted);padding-top:2px}.facts dd{margin:0}.btn-icon-bordered{min-width:var(--tap);padding:0}.card-secondary{border-top:1px solid var(--line);justify-content:flex-end;gap:4px;padding-top:8px;display:flex}.card-secondary .btn{min-height:44px;font-size:var(--fs-s);padding:0 12px}.danger-text{color:var(--danger)}.recent{border-top:1px solid var(--line);padding-top:8px}.recent summary{min-height:var(--tap);color:var(--text-2);cursor:pointer;align-items:center;font-weight:500;display:flex}.recent ul{margin:0;padding:0;list-style:none}.recent li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:48px;display:grid}.roster-list{margin:0;padding:0;list-style:none}.roster-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.nav-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.nav-row:empty,.row-wrap:empty{display:none}.nav-row .btn{padding:0 12px}:root{--on-st:#14161a}:root[data-theme=light]{--on-st:#fff}.mode-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-line,.held-by{color:var(--text-2);align-items:center;gap:8px;display:flex}.team-line{margin-top:-16px}.team-line svg,.held-by svg{color:var(--muted);flex:none}.mode-bar .live-line{margin:0}.segmented{border-radius:var(--radius-s);background:var(--bg-raise);border:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.seg{appearance:none;min-height:40px;color:var(--text-2);font:inherit;font-size:var(--fs-s);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:500;transition:background-color .12s,color .12s;display:inline-flex}.seg[aria-checked=true]{background:var(--surface-2);color:var(--text)}.mode-switch{flex:1;max-width:300px}.primary-action{--tone:var(--accent);border-radius:var(--radius-m);background:var(--tone);min-height:72px;color:var(--on-st);font-size:var(--fs-xl);letter-spacing:-.01em;border:0;font-weight:600}.primary-action.tone-requested{--tone:var(--st-requested)}.primary-action.tone-acknowledged{--tone:var(--st-acknowledged)}.primary-action.tone-picked_up{--tone:var(--st-picked)}.primary-action.size-xxl{min-height:112px;font-size:var(--fs-2xl)}.primary-action:active{filter:brightness(.92)}.primary-action:disabled{opacity:.55}.nav-group{flex-direction:column;gap:8px;display:flex}.nav-main{justify-content:flex-start;gap:14px;min-height:64px;padding:0 16px}.nav-main svg{color:var(--text-2)}.nav-main-text{text-align:left;flex-direction:column;line-height:1.2;display:flex}.nav-main-text>span:first-child{font-size:var(--fs-m);font-weight:600}.nav-app{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.nav-alts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.nav-alt{min-height:48px;font-size:var(--fs-s);color:var(--text-2)}.nav-group.size-m .nav-main{min-height:56px}.drive{flex-direction:column;gap:18px;display:flex}.drive-focus{--tone:var(--st-requested);border-radius:var(--radius-l);background:var(--surface);border:1px solid color-mix(in srgb, var(--tone) 40%, var(--line));flex-direction:column;gap:16px;padding:20px 16px 16px;display:flex}.drive-focus.st-acknowledged{--tone:var(--st-acknowledged)}.drive-focus.st-picked_up{--tone:var(--st-picked)}.drive-doing{color:var(--text-2);font-weight:500;font-size:var(--fs-s);align-items:center;gap:10px;display:flex}.drive-name{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(2.25rem,11vw,3rem);line-height:1.05}.drive-where{font-size:var(--fs-l);align-items:flex-start;gap:8px;font-weight:400;line-height:1.35;display:flex}.drive-where svg{color:var(--muted);flex:none;margin-top:3px}.drive-meta{text-align:center}.drive-secondary{margin-top:28px}.drive-secondary .card-secondary{justify-content:center;padding-top:14px}.drive-incoming{border-radius:var(--radius-m);background:color-mix(in srgb, var(--st-requested) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--st-requested) 50%, var(--line));grid-template-columns:1fr minmax(48%,auto);align-items:center;gap:14px;padding:14px;animation:.2s ease-out banner-in;display:grid}.drive-incoming .primary-action{min-height:60px;font-size:var(--fs-l)}.drive-incoming-name{font-weight:600;font-size:var(--fs-l);line-height:1.2}.drive-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:18vh 12px 0;display:flex}.drive-empty h2{color:var(--text);font-size:var(--fs-xl)}.place{background:var(--surface-2);width:28px;height:28px;font-size:var(--fs-s);border-radius:6px;flex:none;place-items:center;font-weight:600;display:grid}.place.in-car{background:color-mix(in srgb, var(--st-picked) 18%, transparent);color:var(--st-picked)}.contact-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reorder{grid-template-columns:1.4fr 1fr 1fr;gap:8px;display:grid}.reorder .btn{min-height:48px;font-size:var(--fs-s);padding:0 10px}.primary-action.size-l{min-height:60px;font-size:var(--fs-l)}.hint{font-size:var(--fs-xs);color:var(--muted)}.textarea{resize:vertical;min-height:120px;padding:12px 14px;line-height:1.5}.with-unit{grid-template-columns:minmax(0,160px) auto;align-items:center;gap:10px;display:grid}.with-unit span{color:var(--text-2);font-weight:500}.windows{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.window-row{border-radius:var(--radius-s);border:1px solid var(--line);background:var(--bg-raise);grid-template-columns:1fr 1fr;align-items:end;gap:8px;padding:12px;display:grid}.window-row .input{padding:0 10px}.window-day{grid-column:1/-1}.window-desc{align-self:center}.window-remove{justify-self:end}.roster-list li.editing{padding:14px 0;display:block}.file-btn{cursor:pointer;align-self:flex-start}.skipped{color:var(--text-2);margin:0;padding-left:18px}.filters{grid-template-columns:1fr 1fr;gap:10px;display:grid}.filters .input{padding:0 10px}.totals{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-m);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;display:grid;overflow:hidden}.totals div{background:var(--surface);padding:12px 14px}.totals dt{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.totals dd{font-weight:600;font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;line-height:1.25}.shift-totals{color:var(--text-2);margin-top:-6px}.log-list{margin:0;padding:0;list-style:none}.log-item{border-bottom:1px solid var(--line)}.log-item summary{min-height:var(--tap);cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:10px;list-style:none;display:grid}.log-item summary::-webkit-details-marker{display:none}.log-name{font-weight:500}.log-body{padding:4px 0 16px}.timeline{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px 12px;margin:0;display:grid}.timeline dt{color:var(--muted)}.timeline dd{margin:0;font-weight:500}.notice .btn svg{color:inherit;margin-top:0}.nowrap{white-space:nowrap}.duty-pill[data-offline] .dot{background:var(--warn)}.pager-link{text-align:center;font-size:var(--fs-s);color:var(--text-2);margin-top:auto;padding-top:24px}.pager-link a{padding:12px 4px;font-weight:600;display:inline-block}.addr,.addr-box{position:relative}.addr-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.addr-input{padding-left:44px;padding-right:44px}.addr-input.is-picked{border-color:color-mix(in srgb, var(--ok) 55%, var(--line))}.addr-ok{color:var(--ok);display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.addr-list{border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-pop);z-index:15;max-height:300px;margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.addr-list li{cursor:pointer;border-radius:6px;grid-template-columns:22px 1fr;align-items:start;gap:10px;min-height:44px;padding:10px;line-height:1.35;display:grid}.addr-list li svg{color:var(--muted);margin-top:1px}.addr-list li.active,.addr-list li:hover{background:var(--surface-2)}.addr-list li.addr-empty{cursor:default;color:var(--muted);font-size:var(--fs-s);display:block}.addr-list li.addr-empty:hover{background:0 0}.rules-highlight{border-color:var(--line-strong);animation:.6s ease-out rules-in}@keyframes rules-in{0%{box-shadow:0 0 0 6px var(--accent-soft)}}.pname-real{font-family:var(--font);color:var(--muted);letter-spacing:0;margin-left:.35em;font-size:.8em;font-weight:400}.pname.stack{gap:0}.pname.stack .pname-real{margin-top:.15em;margin-left:0;font-size:max(.38em,.9rem);line-height:1.2;display:block}
