@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f0d;--surface:#131a17;--surface-2:#1a2320;--surface-3:#222d29;--border:#26322d;--border-strong:#35443d;--text:#e8efea;--text-2:#b8c6be;--muted:#84978d;--felt:#1d6b45;--felt-dark:#183026;--felt-lit:#23905c;--accent:#2fa56b;--accent-text:#04140b;--accent-ink:#4cc68a;--accent-hover:#38b878;--accent-soft:color-mix(in oklab, var(--accent) 16%, var(--surface));--lamp:#ffcd5a;--danger:#ef5b51;--danger-soft:#3a1d1b;--on-danger:#1a0605;--warn:#e3a72f;--warn-soft:#36290f;--on-warn:#1b1405;--info:#5aa9e6;--info-soft:#142a3c;--on-info:#04121f;--floor:#0f1513;--floor-line:#ffffff09;--floor-line-strong:#ffffff12;--wall:#3d4c45;--wood-1:#7a4a2a;--wood-2:#44281a;--brass:#d9b46a;--plan-felt-off:#1d3a2c;--plan-felt-on:#26975f;--chart-grid:#232e2a;--chart-axis:#35443d;--seq-1:#3a3021;--seq-2:#62491f;--seq-3:#93691f;--seq-4:#c98f25;--seq-5:#f7c454;--overlay:#0009;--skeleton:#1d2723;--skeleton-hi:#26322d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius:16px;--radius-lg:20px;--radius-pill:999px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-display:48px;--control-sm:36px;--control:44px;--control-lg:56px;--dur-fast:90ms;--dur:.14s;--ease:cubic-bezier(.2, .7, .3, 1);--focus-ring:0 0 0 3px color-mix(in oklab, var(--accent) 40%, transparent);--shadow-sm:0 1px 0 #ffffff08 inset, 0 1px 2px #0000004d;--shadow:0 1px 0 #ffffff08 inset, 0 8px 24px #00000040;--shadow-lg:0 24px 64px #00000080;--nav-w:232px;--topbar-h:64px;font-feature-settings:"cv11", "ss01", "tnum";font-variant-numeric:tabular-nums;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.4}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ef;--surface:#fff;--surface-2:#f4f7f5;--surface-3:#e8eee9;--border:#d6dfda;--border-strong:#c0ccc5;--text:#13201a;--text-2:#3b4c43;--muted:#586a61;--felt:#1f7a4d;--felt-dark:#6f8f80;--felt-lit:#229058;--accent:#1b7f4e;--accent-text:#fff;--accent-ink:#17744a;--accent-hover:#186f45;--lamp:#e3a21a;--danger:#c4372d;--danger-soft:#fde8e6;--on-danger:#fff;--warn:#9a6516;--warn-soft:#fbf0db;--on-warn:#fff;--info:#2470c9;--info-soft:#e3eefb;--on-info:#fff;--floor:#e3e9e5;--floor-line:#10281c0d;--floor-line-strong:#10281c1a;--wall:#9fb0a7;--wood-1:#8a5530;--wood-2:#5b3519;--brass:#c9a24c;--plan-felt-off:#2c6548;--plan-felt-on:#23955c;--chart-grid:#e3e8e4;--chart-axis:#c0ccc5;--seq-1:#fbebc6;--seq-2:#f5d283;--seq-3:#e8b13e;--seq-4:#c48812;--seq-5:#8a5c05;--overlay:#0a181173;--skeleton:#e6ece8;--skeleton-hi:#f3f6f4;--shadow-sm:0 1px 2px #10281c0f;--shadow:0 1px 2px #10281c0f, 0 6px 18px #10281c0f;--shadow-lg:0 24px 64px #10281c2e}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ef;--surface:#fff;--surface-2:#f4f7f5;--surface-3:#e8eee9;--border:#d6dfda;--border-strong:#c0ccc5;--text:#13201a;--text-2:#3b4c43;--muted:#586a61;--felt:#1f7a4d;--felt-dark:#6f8f80;--felt-lit:#229058;--accent:#1b7f4e;--accent-text:#fff;--accent-ink:#17744a;--accent-hover:#186f45;--lamp:#e3a21a;--danger:#c4372d;--danger-soft:#fde8e6;--on-danger:#fff;--warn:#9a6516;--warn-soft:#fbf0db;--on-warn:#fff;--info:#2470c9;--info-soft:#e3eefb;--on-info:#fff;--floor:#e3e9e5;--floor-line:#10281c0d;--floor-line-strong:#10281c1a;--wall:#9fb0a7;--wood-1:#8a5530;--wood-2:#5b3519;--brass:#c9a24c;--plan-felt-off:#2c6548;--plan-felt-on:#23955c;--chart-grid:#e3e8e4;--chart-axis:#c0ccc5;--seq-1:#fbebc6;--seq-2:#f5d283;--seq-3:#e8b13e;--seq-4:#c48812;--seq-5:#8a5c05;--overlay:#0a181173;--skeleton:#e6ece8;--skeleton-hi:#f3f6f4;--shadow-sm:0 1px 2px #10281c0f;--shadow:0 1px 2px #10281c0f, 0 6px 18px #10281c0f;--shadow-lg:0 24px 64px #10281c2e}@media (pointer:coarse){:root{--control-sm:44px;--control:52px;--control-lg:60px}}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0}@media (display-mode:standalone){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}}h1,h2,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink);text-underline-offset:3px}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.boot{min-height:100vh;color:var(--muted);place-items:center;display:grid}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:var(--control);transition:border-color var(--dur), box-shadow var(--dur), background-color var(--dur);padding:8px 12px}textarea{resize:vertical;min-height:64px}select{cursor:pointer}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}@media (hover:hover){input:not(:disabled):not(:focus-visible):hover,select:not(:disabled):not(:focus-visible):hover,textarea:not(:disabled):not(:focus-visible):hover{border-color:var(--border-strong)}}input[aria-invalid=true]{border-color:var(--danger)}.field{font-size:var(--fs-md);color:var(--muted);gap:6px;display:grid}.check{font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.check input{width:18px;height:18px;min-height:auto;accent-color:var(--accent);padding:0}.form-error{color:var(--danger);font-size:var(--fs-md);font-weight:550}.cloud{font-size:var(--fs-sm);color:var(--muted);cursor:default;white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.cloud:before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.cloud[data-state=ok]{color:var(--accent-ink)}.cloud[data-state=queue]{color:var(--warn)}.cloud[data-state=error]{color:var(--danger)}@media (width<=900px){.cloud-text{display:none}}.btn{min-height:var(--control);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover){.btn:not(:disabled):hover{background:var(--surface-3);border-color:var(--border-strong)}}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);flex:1}@media (hover:hover){.btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}}.btn-outline-danger{border-color:color-mix(in oklab, var(--danger) 70%, transparent);color:var(--danger);background:0 0;flex:1}@media (hover:hover){.btn-outline-danger:not(:disabled):hover{background:var(--danger-soft);border-color:var(--danger)}}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger);flex:1}@media (hover:hover){.btn-danger:not(:disabled):hover{background:color-mix(in oklab, var(--danger) 88%, var(--text));border-color:color-mix(in oklab, var(--danger) 88%, var(--text))}}.btn-ghost{background:0 0;flex:1}.btn.btn-warn{background:var(--warn);border-color:var(--warn);color:var(--on-warn)}.btn-small{min-height:var(--control-sm);font-size:var(--fs-md);border-radius:var(--radius-sm);flex:none;padding:0 12px}.btn-large{min-height:var(--control-lg);gap:10px;font-size:17px}.btn-narrow,.btn-flex-none{flex:none}.link{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 45%, transparent);text-decoration-color:color-mix(in oklab, currentColor 45%, transparent);text-underline-offset:3px;cursor:pointer;font-size:var(--fs-md);background:0 0;border:none;padding:8px 4px;font-weight:550}.link:disabled{opacity:.5;cursor:not-allowed}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);min-height:40px;color:var(--text);font-size:var(--fs-md);white-space:nowrap;cursor:pointer;transition:background-color var(--dur), border-color var(--dur), color var(--dur), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:4px;padding:0 14px;font-weight:600;display:inline-flex}@media (hover:hover){.chip:not(:disabled):not([aria-pressed=true]):hover{border-color:color-mix(in oklab, var(--accent) 55%, var(--border))}}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip-note{color:var(--muted);font-weight:400}.tag{font-size:var(--fs-xs);border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:650;line-height:1.4;display:inline-flex}.tag.tag-ok{background:var(--accent-soft);color:var(--accent-ink)}.tag.tag-warn{background:var(--warn-soft);color:color-mix(in oklab, var(--warn) 75%, var(--text))}.tag.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag.tag-muted{background:var(--surface-2);color:var(--muted)}:is(.btn,.chip,.icon-btn,.filter-chip,.hall-chip,.segmented-item,.keypad-key,.felt-more,.menu-item,.tariff-option,.modal-close,.nav-link,.drawer-link,.zoom-value):active:not(:disabled){transform:scale(.97)}a.stat-tile:active{transform:scale(.985)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--skeleton) 0%, var(--skeleton-hi) 45%, var(--skeleton) 90%) 0 0 / 200% 100%;animation:1.3s linear infinite skeleton;display:block}.skeleton-line{border-radius:var(--radius-xs);height:14px}.skeleton-list{gap:14px;padding:6px 0;display:grid}.skeleton-row{grid-template-columns:40px minmax(0,1fr) 80px;align-items:center;gap:12px;display:grid}.skeleton-row .skeleton:first-child{border-radius:var(--radius-md);width:40px;height:40px}.skeleton-row>div{gap:8px;display:grid}@keyframes skeleton{to{background-position:-200% 0}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-height:248px;transition:border-color var(--dur), box-shadow var(--dur);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.card[data-state=playing]{border-color:color-mix(in oklab, var(--lamp) 55%, var(--border));box-shadow:var(--shadow), 0 0 0 1px color-mix(in oklab, var(--lamp) 25%, transparent)}.card[data-state=paused]{border-color:color-mix(in oklab, var(--warn) 45%, var(--border))}.card[data-problem]{border-color:color-mix(in oklab, var(--danger) 70%, var(--border));box-shadow:var(--shadow), 0 0 0 1px color-mix(in oklab, var(--danger) 40%, transparent)}.felt{--pocket:radial-gradient(circle, #0000008c 0 5px, transparent 6px);background:var(--pocket) 0 0 / 22px 22px no-repeat, var(--pocket) 100% 0 / 22px 22px no-repeat, var(--pocket) 50% 0 / 22px 22px no-repeat, var(--pocket) 0 100% / 22px 22px no-repeat, var(--pocket) 100% 100% / 22px 22px no-repeat, var(--pocket) 50% 100% / 22px 22px no-repeat, var(--felt-dark);color:#e9f3ee;min-height:92px;transition:background-color var(--dur), box-shadow var(--dur);flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px;display:flex;position:relative}.card[data-state=opening] .felt{background-color:color-mix(in oklab, var(--felt-dark) 55%, var(--felt))}.card[data-state=playing] .felt{background:var(--pocket) 0 0 / 22px 22px no-repeat, var(--pocket) 100% 0 / 22px 22px no-repeat, var(--pocket) 50% 0 / 22px 22px no-repeat, var(--pocket) 0 100% / 22px 22px no-repeat, var(--pocket) 100% 100% / 22px 22px no-repeat, var(--pocket) 50% 100% / 22px 22px no-repeat, radial-gradient(90% 120% at 50% 0%, color-mix(in oklab, var(--lamp) 38%, transparent), transparent 70%), var(--felt-lit)}.card[data-state=paused] .felt{background-color:color-mix(in oklab, var(--felt-dark) 55%, var(--muted) 20%);color:#e3ebe7}.felt-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.felt h2{letter-spacing:-.01em;text-shadow:0 1px 2px #00000040;font-size:22px;font-weight:700}.kind{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;opacity:.85}.felt-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.phase{font-size:var(--fs-xs);border-radius:var(--radius-pill);color:#e9f3ee;white-space:nowrap;background:#00000059;padding:3px 10px;font-weight:700}.phase[data-phase=free]{color:#0f3d26;background:#e9f3ee}.phase[data-phase=opening]{color:var(--lamp);background:#00000073}.phase[data-phase=playing]{color:#ffe3a1;background:#00000080}.phase[data-phase=paused]{color:#e3ebe7;background:#00000073;border:1px dashed #ffffff73}.card-alert{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);margin:12px 18px 0;padding:8px 12px;font-weight:650}.lamp{font-size:var(--fs-sm);opacity:.92;align-items:center;gap:8px;display:inline-flex}.lamp-dot{background:#ffffff40;border-radius:50%;flex:none;width:10px;height:10px}.lamp[data-lamp=on] .lamp-dot{background:var(--lamp);box-shadow:0 0 10px 2px color-mix(in oklab, var(--lamp) 70%, transparent)}.lamp[data-lamp=unknown] .lamp-dot{border:2px dashed var(--warn);background:0 0}.lamp[data-switching] .lamp-dot{animation:.9s ease-in-out infinite pulse}.lamp[data-blink] .lamp-dot,.relays li[data-blink] .lamp-dot{background:var(--lamp);animation:1s step-end infinite blink}@keyframes blink{50%{box-shadow:none;background:#ffffff40}}@keyframes pulse{50%{opacity:.3}}.card-body{flex-direction:column;gap:6px;padding:14px 18px 18px;display:flex}.card-body .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.status{font-size:var(--fs-lg);align-items:center;gap:8px;font-weight:600;display:flex}.paused-status{color:color-mix(in oklab, var(--warn) 70%, var(--text));font-size:var(--fs-base)}.paused-for{font-variant-numeric:tabular-nums;color:var(--text)}.warn-note{font-size:var(--fs-sm);color:color-mix(in oklab, var(--warn) 75%, var(--text));border-radius:var(--radius-sm);background:var(--warn-soft);padding:6px 10px;font-weight:650}.card-meta{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.price-next{font-size:var(--fs-sm);color:color-mix(in oklab, var(--warn) 80%, var(--text));font-weight:650}.tip{font-size:var(--fs-sm);color:var(--accent-ink)}.tariff-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.transfer{gap:4px;margin-top:4px;display:grid}.timer{font-size:var(--fs-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-weight:700;line-height:1.05}.amount{font-size:var(--fs-2xl);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.amount-note{font-size:var(--fs-sm);letter-spacing:0;color:var(--muted);margin-left:10px;font-weight:500}.hint{font-size:var(--fs-sm);color:var(--muted)}.hint.hint-warn{color:color-mix(in oklab, var(--warn) 80%, var(--text))}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spinner{border:2px solid color-mix(in oklab, var(--lamp) 30%, transparent);border-top-color:var(--lamp);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{color:var(--muted);font-size:var(--fs-md)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:12px;min-width:0;padding:18px;display:grid}.panel h2{letter-spacing:-.01em;font-size:17px;font-weight:700}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.panel-total{font-variant-numeric:tabular-nums;font-weight:700}.unpaid{margin:0;padding:0;list-style:none;display:grid}.unpaid li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.unpaid li>div{display:grid}.unpaid .muted{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.unpaid-amount{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.relays{font-size:var(--fs-sm);color:var(--muted);grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.relays li{align-items:center;gap:6px;display:flex}.relay-note{color:var(--lamp);font-size:11px}.relays.relays-wide{grid-template-columns:1fr}.toast{z-index:80;background:var(--text);max-width:min(560px,100vw - 32px);color:var(--bg);border-radius:var(--radius-md);cursor:pointer;animation:toast-in var(--dur) var(--ease);padding:12px 18px;font-weight:550;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(560px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow-lg);padding:0;overflow:hidden}.modal[open]{animation:modal-in var(--dur) var(--ease);flex-direction:column;display:flex}.modal.modal-wide{width:min(720px,100vw - 32px)}.modal::backdrop{background:var(--overlay)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}html:has(.modal[open]){overflow:hidden}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px 8px 8px 20px;display:flex}.modal-head h2{font-size:var(--fs-lg);letter-spacing:-.01em;min-width:0;font-weight:700}.modal-close{border-radius:var(--radius-md);width:44px;height:44px;color:var(--muted);cursor:pointer;transition:background-color var(--dur), color var(--dur), transform var(--dur-fast);background:0 0;border:0;flex:none;place-items:center;font-size:26px;line-height:1;display:grid}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{overscroll-behavior:contain;flex:auto;align-content:start;gap:16px;min-height:0;padding:20px;display:grid;overflow-y:auto}.modal-foot{padding:12px 20px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);gap:10px;display:grid}.modal-actions{flex-wrap:wrap;gap:8px;display:flex}.modal-actions .btn{flex:1}.modal-actions .btn.btn-narrow{flex:none}.modal ul,.modal dl,.modal h3{margin-top:0}.modal :is(input,select){font-size:16px}@media (width<=560px){.modal,.modal.modal-wide{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;width:100%;max-height:94dvh;margin:auto 0 0}.modal[open]{animation-name:sheet-up}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}}@media (width<=480px){.timer{font-size:40px}.amount{font-size:24px}.actor-input{width:110px}}@media (pointer:coarse){.btn{font-size:17px}.btn-small{font-size:15px}.chip{min-height:48px}.link{padding:12px 6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spinner,.lamp[data-switching] .lamp-dot,.lamp[data-blink] .lamp-dot,.relays li[data-blink] .lamp-dot,.skeleton{animation:none}:is(.btn,.chip,.icon-btn,.filter-chip,.hall-chip,.segmented-item,.keypad-key,.felt-more,.menu-item,.tariff-option,.modal-close,.nav-link,.drawer-link,.zoom-value):active:not(:disabled),a.stat-tile:active{filter:brightness(.92);transform:none}}.boot{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.brand-mark{border-radius:10px;flex:none;width:40px;height:40px;display:block;box-shadow:0 4px 14px #00000040}.boot-mark{border-radius:16px;width:64px;height:64px}.shell-skeleton .sidebar-links{gap:10px;padding:4px 8px}.shell-skeleton .skeleton-nav{border-radius:var(--radius-sm);height:30px}.shell-skeleton .content{pointer-events:none}.skeleton-tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.skeleton-tiles .skeleton{border-radius:var(--radius);height:104px}.skeleton-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.skeleton-cards .skeleton{border-radius:var(--radius);height:300px}.boot-note{color:var(--muted);font-size:var(--fs-md)}.shell{grid-template-columns:var(--nav-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:8px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:0 8px 16px;display:flex}.sidebar-brand-text{min-width:0;display:grid}.sidebar-brand-text strong{letter-spacing:-.01em;font-size:15px;font-weight:750}.sidebar-brand-text span{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-links{align-content:start;gap:2px;display:grid}.nav-link{border-radius:var(--radius-md);min-height:44px;color:var(--text-2);cursor:pointer;transition:background-color var(--dur), color var(--dur), transform var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:550;text-decoration:none;display:flex;position:relative}.nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-label-short{display:none}@media (hover:hover){.nav-link:hover{background:var(--surface-2);color:var(--text)}}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--text);font-weight:650}.nav-link[aria-current=page]:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.nav-link[aria-current=page] .icon,.nav-more[data-active] .icon{color:var(--accent-ink)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nav-icon{flex:none;place-items:center;display:grid;position:relative}.nav-badge{font-variant-numeric:tabular-nums;background:var(--info);min-width:18px;height:18px;color:var(--on-info);box-shadow:0 0 0 2px var(--surface);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:750;display:grid;position:absolute;top:-7px;right:-11px}.nav-badge[data-tone=danger]{background:var(--danger);color:var(--on-danger)}.sidebar-foot{font-size:var(--fs-sm);color:var(--danger);align-items:center;gap:8px;margin-top:auto;padding:10px 12px;font-weight:600;display:flex}.sidebar-foot[data-online]{color:var(--muted);font-weight:400}.conn-dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklab, var(--danger) 25%, transparent);border-radius:50%;flex:none}[data-online]>.conn-dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent)}.shell-main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;min-height:var(--topbar-h);background:color-mix(in oklab, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 24px;display:flex;position:sticky;top:0}.topbar-title{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.topbar-title-text{min-width:0}.topbar-title h1{font-size:var(--fs-xl);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-weight:750;line-height:1.15;overflow:hidden}.topbar-club{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-mark{border-radius:9px;width:32px;height:32px;display:none}.topbar-tools{flex:none;align-items:center;gap:4px;min-width:0;display:flex}.topbar-clock{font-variant-numeric:tabular-nums;letter-spacing:-.01em;padding:0 8px;font-size:20px;font-weight:700}.topbar-conn{font-size:var(--fs-sm);color:var(--danger);white-space:nowrap;align-items:center;gap:8px;padding:0 10px 0 4px;font-weight:650;display:inline-flex}.topbar-conn[data-online]{color:var(--muted);font-weight:400}.icon-btn{border-radius:var(--radius-md);min-width:44px;height:44px;color:var(--text-2);cursor:pointer;transition:background-color var(--dur), color var(--dur), border-color var(--dur), transform var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.icon-btn:not(:disabled):hover{background:var(--surface-2);color:var(--text)}}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bell{place-items:center;display:grid;position:relative}.bell[data-active]{color:var(--danger)}.bell[data-active] .icon{transform-origin:50% 10%;animation:2.4s ease-in-out infinite bell-swing}@keyframes bell-swing{0%,80%,to{transform:rotate(0)}85%{transform:rotate(14deg)}90%{transform:rotate(-12deg)}95%{transform:rotate(6deg)}}.bell-count{background:var(--danger);min-width:18px;height:18px;color:var(--on-danger);box-shadow:0 0 0 2px var(--bg);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:750;display:grid;position:absolute;top:-8px;right:-10px}.actor-btn{border-color:var(--border);background:var(--surface);margin-left:4px}.actor-pill{align-items:center;gap:10px;padding:0 8px 0 4px;display:inline-flex}.avatar{background:color-mix(in oklab, var(--accent) 25%, var(--surface-2));width:36px;height:36px;color:var(--text);font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid}.avatar.avatar-sm{width:32px;height:32px;font-size:var(--fs-xs)}.actor-text{text-align:left;min-width:0;line-height:1.2;display:grid}.actor-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:650;font-size:var(--fs-md);color:var(--text);overflow:hidden}.actor-role{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:var(--fs-xs);color:var(--muted);overflow:hidden}.actor-chevron{color:var(--muted)}.popover{position:relative}.popover-panel{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:280px;max-width:min(420px,100vw - 24px);box-shadow:var(--shadow-lg);animation:pop-in var(--dur) var(--ease);padding:16px;position:absolute;top:calc(100% + 8px);right:0}.popover-panel[data-align=start]{left:0;right:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.alert-list{gap:4px;max-height:60vh;display:grid;overflow:auto}.alert-list h2{margin-bottom:6px;font-size:15px;font-weight:700}.alert-item{border-top:1px solid var(--border);font-size:var(--fs-md);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px 0;display:grid}.alert-item .muted{font-size:var(--fs-xs)}.alert-item-icon{color:var(--danger);margin-top:2px}.actor-form{gap:12px;width:320px;max-width:100%;display:grid}.actor-form .btn-primary{flex:none}.actor-who{align-items:center;gap:12px;display:flex}.actor-who-text{min-width:0;line-height:1.25;display:grid}.actor-who-text .muted{font-size:var(--fs-sm)}.actor-row{flex-wrap:wrap;gap:8px;display:none}.actor-row .btn{flex:auto}.actor-form .actor-apps{color:var(--text-2)}.content{align-content:start;gap:16px;min-width:0;padding:24px 24px 40px;display:grid}.shell-main>.hall-offline,.shell-main>.license-banner,.shell-main>.pwa-banner,.shell-main>.hall-manual{margin:16px 24px 0}.license-banner{border:1px solid color-mix(in oklab, var(--warn) 60%, transparent);border-radius:var(--radius-md);background:color-mix(in oklab, var(--warn) 14%, var(--surface));color:var(--text);overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.license-banner[data-tone=danger]{border-color:color-mix(in oklab, var(--danger) 60%, transparent);background:color-mix(in oklab, var(--danger) 14%, var(--surface))}.license-banner-text{min-width:0;margin:0}.license-banner-text strong{color:color-mix(in oklab, var(--warn) 65%, var(--text));font-weight:700}.license-banner[data-tone=danger] .license-banner-text strong{color:color-mix(in oklab, var(--danger) 70%, var(--text))}.blocked-note{color:var(--muted);font-size:var(--fs-sm);margin:0}.pwa-banner{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;font-size:15px;display:flex}.pwa-banner[data-kind=update]{border-color:color-mix(in oklab, var(--info) 55%, transparent);background:var(--info-soft)}.pwa-banner-text{flex:280px;min-width:0;margin:0}.pwa-banner-actions{flex:none;gap:8px;margin-left:auto;display:flex}.bottom-nav,.more-sheet,.more-backdrop{display:none}@media (width<=1180px) and (width>=768px){.shell{grid-template-columns:92px minmax(0,1fr)}.sidebar{align-items:stretch;padding:12px 8px}.sidebar .nav-label,.sidebar-brand-text{display:none}.sidebar .nav-label-short{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.15;display:block;overflow:hidden}.sidebar-brand{justify-content:center;padding:0 0 12px}.sidebar .nav-link{flex-direction:column;justify-content:center;gap:4px;min-height:60px;padding:6px 2px}.sidebar .nav-link[aria-current=page]:before{top:14px;bottom:14px}.sidebar-links{gap:4px}.sidebar-foot{justify-content:center;padding:10px 0}.topbar-conn-text,.actor-role{display:none}.topbar{padding:8px 16px 8px 20px}.content{padding:20px 20px 32px}.shell-main>.hall-offline,.shell-main>.license-banner,.shell-main>.pwa-banner,.shell-main>.hall-manual{margin:12px 20px 0}}@media (width<=767px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{background:var(--bg);-webkit-backdrop-filter:none;gap:8px;min-height:56px;padding:6px 8px 6px 12px}.topbar-title{gap:10px}.topbar-mark{display:block}.topbar-title h1{font-size:var(--fs-lg)}.topbar-conn-text,.actor-text,.actor-chevron,.topbar-club,.topbar-extra,.power-text,.cloud-text,.topbar-conn[data-online]{display:none}.topbar-conn{padding:0 4px}.power{padding:4px 8px}.topbar-clock{font-size:var(--fs-base);padding:0 4px}.topbar-tools{gap:2px}.icon-btn{min-width:44px;height:44px}.actor-btn{background:0 0;border-color:#0000;margin-left:0}.actor-pill{padding:0}.actor-row{display:flex}.popover-panel{width:auto;min-width:0;max-width:none;position:fixed;top:60px;left:8px;right:8px}.actor-form{width:auto}.content{padding:16px 12px calc(88px + env(safe-area-inset-bottom))}.shell-main>.hall-offline,.shell-main>.license-banner,.shell-main>.pwa-banner,.shell-main>.hall-manual{margin:12px 12px 0}.pwa-banner{font-size:var(--fs-md);padding:10px 12px}.bottom-nav{z-index:30;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-label{display:none}.bottom-nav .nav-label-short{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.bottom-nav .nav-link{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:4px 2px;font-size:11px;font-weight:600}.bottom-nav .nav-link[aria-current=page],.bottom-nav .nav-more[data-active]{color:var(--text);background:0 0}.bottom-nav .nav-link[aria-current=page] .nav-icon,.bottom-nav .nav-more[data-active] .nav-icon{background:var(--accent-soft)}.bottom-nav .nav-icon{width:52px;height:30px;transition:background-color var(--dur);border-radius:15px}.bottom-nav .nav-link[aria-current=page]:before{display:none}.bottom-nav .nav-badge{top:-4px;right:4px}.more-backdrop{z-index:31;background:var(--overlay);animation:fade-in var(--dur) ease-out;display:block;position:fixed;inset:0}.more-sheet{z-index:32;max-height:80vh;padding:20px 12px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);animation:sheet-up var(--dur) var(--ease);gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:auto}.more-grip{background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:7px;left:50%}.more-who{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:4px 4px 12px;display:flex}.more-who-text{flex:1;min-width:0;line-height:1.25;display:grid}.more-who-text .muted{font-size:var(--fs-sm)}.more-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.more-links .nav-link{background:var(--surface-2);min-height:52px}.more-links .nav-link[aria-current=page]:before{display:none}.toast{bottom:calc(80px + env(safe-area-inset-bottom))}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.bell[data-active] .icon,.popover-panel,.more-sheet,.more-backdrop{animation:none}}.demo-banner{border-color:color-mix(in oklab, var(--accent) 45%, transparent);background:color-mix(in oklab, var(--accent) 10%, var(--surface))}.demo-keys-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.demo-key{text-align:left;justify-content:space-between;gap:10px;width:100%}.demo-keys-group{margin-top:12px}.demo-keys-title{color:var(--text-2);font-weight:600}.demo-keys-group .demo-keys-list{margin-top:6px}.demo-key-role{font-weight:600}.demo-keys-big .demo-key{background:var(--surface);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:68px;padding:10px 16px;font-size:15px;display:flex}.demo-keys-big .demo-key code{letter-spacing:.15em;white-space:nowrap;color:var(--accent-ink);font-size:1.3rem}.hall-chips{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.hall-chip{border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 16px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.hall-chip-count{background:var(--surface-2);min-width:28px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:2px 8px;font-size:14px}.hall-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.hall-chip[aria-pressed=true] .hall-chip-count{background:color-mix(in oklab, var(--accent-text) 18%, transparent);color:inherit}.hall-chip-danger{border-color:color-mix(in oklab, var(--danger) 60%, transparent);background:var(--danger-soft);color:var(--danger)}.hall-chip-danger .hall-chip-count{background:var(--danger);color:#fff}.hall-chip-danger[aria-pressed=true]{background:var(--danger);border-color:var(--danger);color:#fff}.hall-chip-danger[aria-pressed=true] .hall-chip-count{color:inherit;background:#ffffff38}@media (hover:hover){.hall-chip:not([aria-pressed=true]):hover{border-color:color-mix(in oklab, var(--accent) 55%, var(--border))}.hall-chip-danger:not([aria-pressed=true]):hover{border-color:var(--danger)}}@media (pointer:coarse){.hall-chip{min-height:52px;padding-left:18px;padding-right:10px}}.hall-offline{border:1px solid color-mix(in oklab, var(--warn) 55%, transparent);background:color-mix(in oklab, var(--warn) 14%, var(--surface));color:var(--text);overflow-wrap:anywhere;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.hall-offline-text{min-width:0;margin:0}.hall-offline-text strong{color:color-mix(in oklab, var(--warn) 65%, var(--text));font-weight:650}.hall-offline-dot{background:var(--warn);border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px;animation:1.6s ease-in-out infinite hall-blink}@keyframes hall-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.hall-chip{transition:none}.hall-offline-dot{animation:none}}.hall-manual{border:1px solid var(--warn);background:color-mix(in oklab, var(--warn) 22%, var(--surface));color:var(--text);overflow-wrap:anywhere;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.hall-manual-icon{color:var(--warn);flex:none;font-size:22px;line-height:1}.hall-manual-text{flex:280px;min-width:0;margin:0}.hall-manual-text strong{color:color-mix(in oklab, var(--warn) 65%, var(--text));font-weight:650}.btn.hall-manual-btn{border-color:var(--warn);flex:none}.power{border:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.power-icon{font-size:13px;line-height:1}.power[data-state=battery]{border-color:var(--warn);background:color-mix(in oklab, var(--warn) 22%, var(--surface));color:color-mix(in oklab, var(--warn) 70%, var(--text));font-weight:600}.power[data-state=critical],.power[data-state=unknown]{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);font-weight:600}.power[data-state=critical] .power-icon{animation:1s ease-in-out infinite hall-blink}.hw-tables{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.hw-tables li{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;display:grid}.hw-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hw-sensor{color:var(--muted);white-space:nowrap;font-size:13px}.hw-sensor-bad{color:var(--danger);font-weight:600}.hw-manual{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:grid}.hw-manual h3{margin:0;font-size:15px;font-weight:650}.sim-light{gap:2px;margin-left:auto;display:inline-flex}.sim-light button{border:1px solid var(--border);background:var(--surface-2);min-height:24px;color:var(--muted);cursor:pointer;border-radius:6px;padding:0 6px;font-size:12px}.sim-light button[aria-pressed=true]{background:var(--warn);border-color:var(--warn);color:#1b1405}.hall-page{gap:14px;min-width:0;display:grid}.hall-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.hall-bar-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zoom{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;display:inline-flex}.zoom .icon-btn{min-width:40px;height:40px}.zoom .icon-btn:disabled{opacity:.35;cursor:default}.zoom-value{font-variant-numeric:tabular-nums;min-width:52px;height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.plan-note{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:flex}.plan{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);overscroll-behavior:contain;min-height:280px;max-height:calc(100vh - 230px);position:relative;overflow:auto}.plan[data-editing]{border-color:color-mix(in oklab, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent), var(--shadow);max-height:none}.plan-loading{aspect-ratio:3/2;background:linear-gradient(100deg, var(--surface) 30%, var(--surface-2) 50%, var(--surface) 70%) 0 0 / 300% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.plan-svg{-webkit-user-select:none;user-select:none;min-width:100%;height:auto;display:block}.plan[data-editing] .plan-svg{touch-action:none}.plan-floor{fill:var(--floor)}.plan-wall{fill:none;stroke:var(--wall);stroke-width:12px}.floor-line{stroke:var(--floor-line);stroke-width:1.5px}.floor-line-strong{stroke:var(--floor-line-strong);stroke-width:2px}.stop-wood-1{stop-color:var(--wood-1)}.stop-wood-2{stop-color:var(--wood-2)}.stop-lamp{stop-color:var(--lamp)}.plan-scale path{fill:none;stroke:var(--muted);stroke-width:3px}.plan-scale text{fill:var(--muted);text-anchor:middle;font-weight:600}.tbl{cursor:pointer;outline:none;transition:opacity .3s}.tbl[data-dimmed]{opacity:.28}.tbl[data-editing]{cursor:grab}.tbl[data-editing]:active{cursor:grabbing}.tbl-pool{opacity:0;pointer-events:none;transition:opacity .9s}.tbl[data-lamp=on] .tbl-pool{opacity:1}.tbl-shadow{fill:#00000073}.tbl-ring{fill:none;stroke:#0000;stroke-width:6px}.tbl[data-phase=opening] .tbl-ring{stroke:var(--lamp);stroke-dasharray:22 14;animation:.9s linear infinite tbl-dash}@keyframes tbl-dash{to{stroke-dashoffset:-36px}}.tbl[data-problem] .tbl-ring{stroke:var(--danger);stroke-dasharray:none;animation:none}.tbl[data-selected] .tbl-ring{stroke:var(--accent);stroke-width:9px;stroke-dasharray:none;animation:none}.tbl:focus-visible .tbl-ring{stroke:var(--accent);stroke-width:9px}.tbl[data-issue=tight] .tbl-ring{stroke:var(--warn);stroke-dasharray:16 10;animation:none}.tbl[data-issue=overlap] .tbl-ring{stroke:var(--danger);stroke-width:10px;stroke-dasharray:none;animation:none}.tbl-clearance{fill:color-mix(in oklab, var(--accent) 6%, transparent);stroke:color-mix(in oklab, var(--accent) 45%, transparent);stroke-width:3px;stroke-dasharray:14 10;pointer-events:none}.tbl-rail{transition:filter .2s}.tbl:hover .tbl-rail{filter:brightness(1.15)}.tbl-cushion{fill:#0d2a1d}.tbl-felt{fill:var(--plan-felt-off);transition:fill .8s}.tbl[data-lamp=on] .tbl-felt{fill:var(--plan-felt-on)}.tbl-shine{opacity:0;pointer-events:none;transition:opacity .8s}.tbl[data-lamp=on] .tbl-shine{opacity:1}.tbl-diamond{fill:var(--brass);opacity:.85}.tbl-pocket{fill:#060807;stroke:#0006;stroke-width:1.5px}.tbl-shade{pointer-events:none}.tbl-shade-glow{opacity:0;transition:opacity .6s}.tbl[data-lamp=on] .tbl-shade-glow{opacity:.55}.tbl-shade-ring{fill:none;stroke:#ffffff21;stroke-width:2.5px}.tbl[data-lamp=on] .tbl-shade-ring{stroke:#fff0c866}.tbl[data-switching] .tbl-shade-ring{animation:.8s ease-in-out infinite tbl-blink}@keyframes tbl-blink{50%{stroke:var(--lamp)}}.tbl-name{fill:var(--text);text-anchor:middle;letter-spacing:-.01em;font-weight:700}.tbl-primary,.tbl-secondary{text-anchor:middle;paint-order:stroke;stroke:#04120ba6;stroke-width:7px;stroke-linejoin:round;pointer-events:none}.tbl-primary{fill:#f1f7f3;font-variant-numeric:tabular-nums;font-weight:700}.tbl[data-phase=free] .tbl-primary{fill:#e9f3ee9e;font-weight:600}.tbl[data-phase=opening] .tbl-primary{fill:#ffe3a1}.tbl[data-phase=paused] .tbl-ring{stroke:var(--warn);stroke-dasharray:22 14}.tbl[data-phase=paused] .tbl-primary{fill:#ffe3a1}.tbl-secondary{fill:#ffe3a1;font-variant-numeric:tabular-nums;font-weight:650}.tbl[data-phase=free] .tbl-secondary{fill:#e9f3ee8c;font-weight:500}.tbl-spinner{fill:none;stroke:var(--lamp);stroke-width:5px;stroke-dasharray:40 400;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.1s linear infinite tbl-spin}@keyframes tbl-spin{to{transform:rotate(360deg)}}.tbl-alert circle{fill:var(--danger);stroke:var(--surface);stroke-width:5px}.tbl-alert text{fill:#fff;text-anchor:middle;font-weight:800}.lm-body{fill:color-mix(in oklab, var(--surface-3) 70%, transparent);stroke:var(--border-strong);stroke-width:3px}.lm-label{fill:var(--text-2);text-anchor:middle;pointer-events:none;font-weight:650}.lm[data-kind=bar] .lm-body{fill:color-mix(in oklab, var(--wood-1) 45%, var(--floor));stroke:color-mix(in oklab, var(--wood-1) 70%, var(--floor))}.lm[data-kind=cashier] .lm-body{fill:color-mix(in oklab, var(--info) 22%, var(--floor));stroke:color-mix(in oklab, var(--info) 55%, var(--floor))}.lm[data-kind=entrance] .lm-body{fill:color-mix(in oklab, var(--accent) 12%, var(--floor));stroke:var(--accent);stroke-dasharray:14 8}.lm[data-kind=lounge] .lm-body{fill:color-mix(in oklab, var(--lamp) 10%, var(--floor));stroke:color-mix(in oklab, var(--lamp) 35%, var(--floor))}.lm[data-kind=column] .lm-body{fill:var(--wall);stroke:none}.lm[data-editing]{cursor:grab}.lm[data-selected] .lm-body{stroke:var(--accent);stroke-width:7px;stroke-dasharray:none}.editor-bar{border-radius:var(--radius);border:1px solid color-mix(in oklab, var(--accent) 45%, var(--border));background:color-mix(in oklab, var(--accent) 6%, var(--surface));gap:10px;padding:12px 14px;display:grid}.editor-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.editor-row-end{justify-content:flex-end}.editor-row .btn{flex:none}.editor-field{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.editor-field input{width:88px;min-height:38px;padding:6px 8px}.editor-field-sm input{width:72px}.editor-add{align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.editor-selection{min-width:200px;color:var(--text-2);flex:1;font-size:14px}.editor-check{flex:1;align-items:center;gap:8px;min-width:220px;font-size:14px;font-weight:600;display:flex}.editor-check[data-tone=good]{color:var(--accent)}.editor-check[data-tone=warn]{color:var(--warn)}.editor-check[data-tone=danger]{color:var(--danger)}.menu{gap:2px;min-width:180px;display:grid}.menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:40px;padding:0 12px;font-weight:550}.menu-item:hover{background:var(--surface-2)}.drawer-backdrop{z-index:49;background:#00000061;animation:.18s ease-out fade-in;position:fixed;inset:0}.drawer{z-index:50;background:var(--surface);border:1px solid var(--border);width:min(440px,100vw - 24px);box-shadow:var(--shadow-lg);border-radius:20px;outline:none;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) drawer-in;display:flex;position:fixed;top:12px;bottom:12px;right:12px}@media (width>=1181px){.drawer-backdrop{background:0 0}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.drawer-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:16px 12px 12px 20px;display:flex}.drawer-grip{display:none}.drawer-title{flex:1;min-width:0}.drawer-title h2{letter-spacing:-.02em;font-size:24px;font-weight:750}.drawer-subtitle{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;font-size:13px;display:flex}.drawer-subtitle .phase[data-phase=free]{background:var(--surface-3);color:var(--text-2)}.drawer-subtitle .phase[data-phase=paused]{background:color-mix(in oklab, var(--warn) 22%, var(--surface));color:var(--text)}.drawer-subtitle .phase[data-phase=opening],.drawer-subtitle .phase[data-phase=playing]{background:color-mix(in oklab, var(--lamp) 22%, var(--surface));color:var(--text)}.drawer-subtitle .lamp{opacity:1}.drawer-body{overscroll-behavior:contain;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;padding:16px 20px 20px;display:grid;overflow:auto}.drawer-section{gap:12px;display:grid}.drawer-section,.tariff-picker,.tariff-option{grid-template-columns:minmax(0,1fr)}.drawer-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.drawer-section-head h3{margin:0;font-size:15px;font-weight:650}.drawer-alert{background:var(--danger-soft);color:var(--danger);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px;font-size:14px;font-weight:600;display:grid}.drawer-meter{background:radial-gradient(120% 140% at 50% -20%, color-mix(in oklab, var(--lamp) 26%, transparent), transparent 65%), var(--felt-lit);color:#f1f7f3;text-align:center;border-radius:16px;gap:2px;padding:18px;display:grid}.drawer-timer{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:750;line-height:1.05}.drawer-amount{color:#ffe3a1;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650}.facts{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.facts div{gap:2px;min-width:0;display:grid}.facts dt{color:var(--muted);font-size:12px}.facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.drawer-next{background:var(--warn-soft);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.breakdown table{border-collapse:collapse;width:100%;font-size:14px}.breakdown th{text-align:left;color:var(--muted);padding:0 0 6px;font-size:12px;font-weight:600}.breakdown td{border-top:1px solid var(--border);font-variant-numeric:tabular-nums;padding:8px 0}.breakdown .num{text-align:right}.drawer-actions{gap:8px;display:flex}.drawer-opening{text-align:center;justify-items:center;padding:12px 0}.drawer-opening .btn{width:100%}.drawer-opening-title{font-size:20px;font-weight:650}.big-spinner{border:4px solid color-mix(in oklab, var(--lamp) 25%, transparent);border-top-color:var(--lamp);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite spin}.tariff-picker{gap:8px;display:grid}.tariff-option{text-align:left;border:1.5px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:14px;gap:3px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:grid}.tariff-option[aria-checked=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface-2))}.tariff-option-head{align-items:center;gap:8px;display:flex}.tariff-option-head strong{font-size:16px}.tariff-option-price{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.tariff-option-meta{color:var(--muted);font-size:13px}.mini-history{margin:0;padding:0;list-style:none;display:grid}.mini-history li{border-top:1px solid var(--border);grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:9px 0;font-size:14px;display:grid}.mini-history-time{font-variant-numeric:tabular-nums;font-weight:600}.mini-history-amount{text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}.drawer-link{border:1px solid var(--border);min-height:48px;color:var(--text-2);border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-weight:550;text-decoration:none;display:flex}.drawer-link .icon:last-child{margin-left:auto}.drawer-link:hover{background:var(--surface-2);color:var(--text)}@media (width<=767px){.drawer{width:100%;max-height:88vh;padding-bottom:env(safe-area-inset-bottom);border-bottom:none;border-radius:22px 22px 0 0;animation-name:sheet-in;inset:auto 0 0}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.drawer-grip{background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin-left:-20px;display:block;position:absolute;top:7px;left:50%}.drawer-head{padding-top:20px;position:relative}.drawer-timer{font-size:48px}.plan{max-height:none}}@media (prefers-reduced-motion:reduce){.tbl-pool,.tbl-felt,.tbl-shine,.tbl-shade-glow{transition:none}.tbl[data-phase=opening] .tbl-ring,.tbl-spinner,.tbl[data-switching] .tbl-shade-ring,.big-spinner,.plan-loading,.drawer,.drawer-backdrop{animation:none}}.page{align-content:start;gap:16px;min-width:0;display:grid}.tables{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.felt-title:has(.felt-more){justify-content:flex-start}.tariff-now{color:var(--text-2);font-size:14px}.week-wrap{gap:12px;display:grid}.felt-more{color:#e9f3ee;cursor:pointer;background:#0003;border:1px solid #ffffff40;border-radius:999px;min-height:30px;margin-left:auto;padding:0 10px;font-size:12px;font-weight:600}.felt-more:hover{background:#00000059}.felt-title .kind{margin-left:8px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat-tile{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);color:inherit;align-content:start;gap:4px;min-width:0;padding:14px 16px;text-decoration:none;display:grid;position:relative}a.stat-tile:hover{border-color:var(--border-strong)}.stat-tile[data-tone=info]{border-color:color-mix(in oklab, var(--info) 45%, var(--border))}.stat-tile[data-tone=danger]{border-color:color-mix(in oklab, var(--danger) 55%, var(--border))}.stat-label{color:var(--muted);font-size:13px;font-weight:550}.stat-value{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:28px;font-weight:700;line-height:1.15;overflow:hidden}.stat-of{color:var(--muted);font-size:18px;font-weight:600}.stat-detail{color:var(--text-2);font-size:13px}.stat-delta[data-dir=up]{color:var(--accent)}.stat-delta[data-dir=down]{color:var(--danger)}.meter{background:color-mix(in oklab, var(--lamp) 16%, var(--surface-2));border-radius:3px;height:6px;margin-top:6px;display:block;overflow:hidden}.meter>span{background:var(--lamp);border-radius:3px;height:100%;transition:width .6s;display:block}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:3px;display:inline-flex}.segmented-item{min-height:38px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.segmented-item[aria-checked=true]{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #00000026}.segmented-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status-badge{white-space:nowrap;background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:12px;font-weight:650;display:inline-flex}.status-badge[data-tone=good]{background:color-mix(in oklab, var(--accent) 16%, var(--surface));color:color-mix(in oklab, var(--accent) 70%, var(--text))}.status-badge[data-tone=info]{background:var(--info-soft);color:color-mix(in oklab, var(--info) 75%, var(--text))}.status-badge[data-tone=warn]{background:var(--warn-soft);color:color-mix(in oklab, var(--warn) 70%, var(--text))}.status-badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.section-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);gap:14px;min-width:0;padding:18px;display:grid}.section-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.section-card-head h2{letter-spacing:-.01em;font-size:17px;font-weight:700}.section-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:36px 16px;display:grid}.empty-state-icon{background:var(--surface-2);width:56px;height:56px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.empty-state-title{color:var(--text-2);font-size:16px;font-weight:650}.empty-state-text{max-width:420px;font-size:14px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.page-lead{color:var(--text-2);max-width:720px;font-size:14px}.two-col{align-items:start;gap:16px;display:grid}@media (width>=1100px){.two-col{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.filter-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.filter-chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.filter-chip .count{opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}.select{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;min-height:40px;padding:0 10px}.rows{margin:0;padding:0;list-style:none;display:grid}.row-item{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(64px,auto) minmax(80px,auto);align-items:center;gap:8px 16px;padding:12px 4px;display:grid}.row-item:first-child{border-top:none}.row-main{min-width:0;display:grid}.row-main strong{font-size:15px}.row-sub{color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.row-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:700}.row-button{all:unset;cursor:pointer;display:contents}@media (width<=640px){.row-item{grid-template-columns:minmax(0,1fr) auto}.row-item>:nth-child(2){grid-column:1}.row-item>:nth-child(3){grid-area:1/2}}.check-list{gap:10px;display:grid}.check-card{border:1px solid color-mix(in oklab, var(--info) 35%, var(--border));background:color-mix(in oklab, var(--info) 5%, var(--surface));border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.check-icon{background:var(--info-soft);width:44px;height:44px;color:var(--info);border-radius:12px;place-items:center;display:grid}.check-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px;font-weight:750}.check-details{grid-column:1/-1;padding-top:4px}.check-toggle{color:var(--text-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;justify-self:start;margin-top:2px;padding:0;font-size:13px;text-decoration:underline}.chart{gap:6px;display:grid;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{stroke:var(--chart-axis);stroke-width:1px}.chart-tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-bar{fill:var(--seq-4);transition:opacity .15s}.chart-bar[data-current]{fill:var(--lamp)}.chart-bar[data-muted]{fill:color-mix(in oklab, var(--seq-4) 45%, var(--surface))}.chart-hit{fill:#0000;cursor:default}.chart-hit:hover+.chart-bar,.chart-col:hover .chart-bar{opacity:.8}.chart-value{fill:var(--text-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.chart-tooltip{z-index:5;pointer-events:none;background:var(--text);color:var(--bg);white-space:nowrap;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 18px #00000040}.chart-tooltip strong{font-size:13px;display:block}.hbars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.hbar{grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;font-size:14px;display:grid}.hbar-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hbar-track{background:var(--surface-2);border-radius:0 4px 4px 0;height:14px}.hbar-fill{background:var(--seq-4);border-radius:0 4px 4px 0;min-width:2px;height:100%;transition:width .5s;display:block}.hbar-value{font-variant-numeric:tabular-nums;color:var(--text-2);text-align:right;white-space:nowrap}.week{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.week-day{color:var(--muted);font-size:12px;font-weight:650}.week-day[data-today]{color:var(--text)}.week-cells{grid-template-columns:repeat(48,minmax(0,1fr));gap:1px;height:26px;display:grid}.week-cell{border-radius:2px;position:relative}.week-cell:first-child{border-radius:5px 2px 2px 5px}.week-cell:last-child{border-radius:2px 5px 5px 2px}.week-cell[data-now]{outline:2px solid var(--text);outline-offset:1px;z-index:1}.week-hours{color:var(--muted);font-variant-numeric:tabular-nums;grid-column:2;grid-template-columns:repeat(8,1fr);font-size:11px;display:grid}.legend{color:var(--text-2);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:inline-flex}.swatch{border-radius:4px;flex:none;width:14px;height:14px}.rule-chips{flex-wrap:wrap;gap:6px;display:flex}.rule-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.calc{gap:12px;display:grid}.calc-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.calc-fields .field{color:var(--text-2)}.calc-fields input,.calc-fields select{width:100%;min-height:42px}.stepper{align-items:center;gap:6px;display:flex}.stepper input{text-align:center}.stepper .icon-btn{border:1px solid var(--border);flex:none}.calc-result{background:var(--surface-2);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:14px 16px;display:flex}.calc-total{letter-spacing:-.02em;font-size:30px;font-weight:750}.timeline{gap:2px;margin:0;padding:0;list-style:none;display:grid}.timeline-day{z-index:2;color:var(--muted);background:var(--surface);padding:10px 0 6px;font-size:13px;font-weight:700;position:sticky;top:68px}.timeline-item{grid-template-columns:52px 34px minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}.timeline-time{font-variant-numeric:tabular-nums;color:var(--muted);padding-top:7px;font-size:13px}.timeline-icon{background:var(--surface-2);width:34px;height:34px;color:var(--text-2);border-radius:10px;place-items:center;display:grid}.timeline-item[data-cat=games] .timeline-icon{background:color-mix(in oklab, var(--accent) 15%, var(--surface));color:var(--accent)}.timeline-item[data-cat=lamps] .timeline-icon{background:color-mix(in oklab, var(--lamp) 16%, var(--surface));color:color-mix(in oklab, var(--lamp) 75%, var(--text))}.timeline-item[data-cat=alerts] .timeline-icon,.timeline-item[data-bad] .timeline-icon{background:var(--danger-soft);color:var(--danger)}.timeline-title{font-weight:600}.timeline-detail{color:var(--text-2);font-size:13px}.timeline-actor{color:var(--muted);font-size:12px}.lamp-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.lamp-card{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:8px;padding:14px;display:grid}.lamp-card[data-problem]{border-color:color-mix(in oklab, var(--danger) 60%, var(--border));background:color-mix(in oklab, var(--danger) 6%, var(--surface-2))}.lamp-card-head{align-items:center;gap:10px;display:flex}.bulb{background:var(--surface-3);width:38px;height:38px;color:var(--muted);border-radius:50%;flex:none;place-items:center;transition:background-color .4s,box-shadow .4s,color .4s;display:grid}.bulb[data-state=on]{background:var(--lamp);color:#3a2a00;box-shadow:0 0 18px 2px color-mix(in oklab, var(--lamp) 55%, transparent)}.bulb[data-state=unknown]{background:var(--danger-soft);color:var(--danger)}.lamp-card-title{display:grid}.lamp-card-title strong{font-size:15px}.lamp-card-title span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.lamp-facts{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:13px;display:grid}.lamp-facts dt{color:var(--muted)}.lamp-facts dd{color:var(--text-2);overflow-wrap:anywhere;margin:0}.sim-controls{gap:12px;display:grid}@media (width<=767px){.stat-row{grid-template-columns:1fr 1fr;gap:8px}.stat-tile{padding:10px 12px}.stat-value{font-size:21px}.stat-detail{font-size:12px}.section-card{padding:14px}.timeline-day{top:58px}.hbar{grid-template-columns:80px minmax(0,1fr) auto}}.tls-body{grid-template-columns:auto 1fr;align-items:start;gap:24px;display:grid}.tls-qr{flex-direction:column;align-items:center;gap:10px;max-width:220px;display:flex}.tls-qr .qr-code{box-shadow:0 0 0 1px var(--border,#0000001f);border-radius:8px}.tls-link{word-break:break-all;text-align:center;font-size:.85rem}.tls-guide{flex-direction:column;gap:12px;min-width:0;display:flex}.tls-guide p,.tls-off p{margin:0}.tls-steps{flex-direction:column;gap:6px;margin:0;padding-left:1.3em;display:flex}.tls-facts{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:.9rem;display:grid}.tls-facts dt{opacity:.7}.tls-facts dd{word-break:break-all;min-width:0;margin:0}.tls-off{flex-direction:column;gap:10px;display:flex}.tls-cmd{background:var(--surface-2,#7f7f7f1f);border-radius:8px;margin:0;padding:10px 14px;font-size:.95rem;overflow-x:auto}@media (width<=720px){.tls-body{grid-template-columns:1fr}.tls-qr{max-width:none}}.tls-qr .btn{text-decoration:none}:root[data-cards=compact] .tables{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}:root[data-cards=compact] .card{min-height:200px}:root[data-cards=large] .tables{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}:root[data-hide-amounts] .card .amount,:root[data-hide-amounts] .card .price-next,:root[data-hide-amounts] .unpaid-amount,:root[data-hide-amounts] .panel-total{display:none}.sidebar-logo{object-fit:contain;border-radius:8px;flex:none;width:36px;height:36px}.sidebar-links{scrollbar-width:thin;min-height:0;overflow-y:auto}.actor-who{line-height:1.25;display:grid}.actor-who .muted{font-size:13px}.login-shell{align-content:start;min-height:100vh;padding:24px 16px;display:grid}.login-shell .page{width:100%;max-width:900px;margin:0 auto}.login-shell .page-title{letter-spacing:-.01em;font-size:26px;font-weight:650}.shell .page-title,.shell .page-head[data-empty]{display:none}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.section h2{font-size:17px}.grid-2{gap:16px;display:grid}@media (width>=900px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.form,.form-row{gap:12px;display:grid}@media (width>=640px){.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.field>span:first-child{color:var(--text);font-weight:600}.field input,.field select,.field .field-error{color:var(--danger);font-size:13px}.seg-chips{flex-wrap:wrap;gap:6px;display:flex}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-actions .btn-primary{flex:none}.btn-primary.btn-wide{flex:1}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-top:1px solid var(--border);vertical-align:middle;padding:10px 8px}.table th{color:var(--muted);white-space:nowrap;border-top:none;font-size:13px;font-weight:600}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tr[data-inactive] td{color:var(--muted)}.table .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.list{margin:0;padding:0;list-style:none;display:grid}.list>li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.list>li:first-child{border-top:none}.list .grow{flex:1;min-width:160px}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:14px 16px;display:grid}.stats .stat-label{color:var(--muted);font-size:13px}.stats .stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px;font-weight:650}.stat-note{color:var(--muted);font-size:13px}.login-groups{gap:20px;display:grid}.login-group h2{text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:13px}.login-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.btn.login-btn{text-align:left;justify-content:flex-start;align-items:center;gap:12px;min-height:56px;display:inline-flex}.avatar{background:color-mix(in oklab, var(--accent) 25%, var(--surface-2));width:36px;height:36px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.login-form{max-width:560px}.login-key{letter-spacing:.08em;text-transform:uppercase;min-height:56px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px}.login-key::placeholder{text-transform:uppercase;letter-spacing:.08em;opacity:.45}.login-key[data-kind=short]{letter-spacing:.4em;text-align:center;max-width:280px;font-size:28px}.login-mode .chip{min-height:44px}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:340px;display:grid}.keypad-dots{grid-column:1/-1;justify-content:center;gap:12px;padding:4px 0 6px;display:flex}.keypad-dot{border:2px solid var(--border);border-radius:50%;width:14px;height:14px}.keypad-dot[data-on]{background:var(--accent);border-color:var(--accent)}.keypad-key{border:1px solid var(--border);background:var(--surface-2);min-height:68px;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:14px;font-size:28px;font-weight:600}.keypad-key:active:not(:disabled){background:color-mix(in oklab, var(--accent) 18%, var(--surface-2))}.keypad-key:disabled{opacity:.45;cursor:not-allowed}.keypad-erase{font-size:24px}.keypad-enter{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-size:19px}.login-locked{font-variant-numeric:tabular-nums;font-weight:600}.login-key[aria-invalid=true]{border-color:color-mix(in oklab, var(--warn) 60%, var(--border))}.login-submit{min-width:160px;min-height:52px;font-size:17px}.login-help{border:1px dashed var(--border);max-width:560px;color:var(--muted);border-radius:12px;margin-top:20px;padding:12px 14px;font-size:14px;line-height:1.45}.login-help p{margin:0}.login-help code{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}@media (width<=480px){.login-key{letter-spacing:.04em;font-size:16px}}.prepaid-select{font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;border-radius:12px;flex:0 auto;min-width:0;max-width:100%;min-height:44px;padding:0 10px;font-weight:600}.prepaid-select[data-set]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, var(--surface-2))}.prepaid-select:disabled{opacity:.5;cursor:not-allowed}.btn.prepaid-btn{touch-action:manipulation;flex:0 auto}.hint.prepaid-nohint{flex-basis:100%;order:1;font-size:12px}.prepaid-badge{border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;gap:2px;padding:8px 12px;transition:background-color .3s,border-color .3s;display:grid}.prepaid-countdown{flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.prepaid-label{color:var(--muted);font-size:14px}.prepaid-time{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.prepaid-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 8px;font-size:13px;display:flex}.prepaid-paid{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.prepaid-badge[data-ending],.prepaid-badge[data-over]{border-color:color-mix(in oklab, var(--warn) 70%, transparent);background:color-mix(in oklab, var(--warn) 14%, var(--surface))}.prepaid-badge[data-ending]{animation:2s ease-in-out infinite prepaid-pulse}.prepaid-badge[data-ending] .prepaid-time,.prepaid-badge[data-over] .prepaid-time,.prepaid-soon{color:color-mix(in oklab, var(--warn) 70%, var(--text))}.prepaid-soon{font-weight:650}@keyframes prepaid-pulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 4px color-mix(in oklab, var(--warn) 30%, transparent)}}.card:not([data-problem]):has(.prepaid-badge[data-ending]){border-color:color-mix(in oklab, var(--warn) 75%, var(--border))}.prepaid-section{gap:8px;display:grid}.prepaid-section .cash-sub,.prepaid-quote .cash-sub{margin:0}.modal .prepaid-minutes{max-width:240px}.modal .prepaid-minutes input{font-variant-numeric:tabular-nums;min-height:44px}.prepaid-quote{background:var(--surface-2);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.prepaid-price{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.15}.prepaid-changed{border:1px solid color-mix(in oklab, var(--warn) 55%, transparent);background:color-mix(in oklab, var(--warn) 12%, var(--surface));overflow-wrap:anywhere;border-radius:12px;gap:2px;padding:10px 12px;font-size:14px;display:grid}.prepaid-changed strong{font-weight:700}@media (pointer:coarse){.prepaid-select{min-height:52px;font-size:17px}.modal .prepaid-minutes input{min-height:48px}}@media (prefers-reduced-motion:reduce){.prepaid-badge{transition:none}.prepaid-badge[data-ending]{animation:none}}.cash-panel .field :is(input,select,textarea),.modal .field :is(input,select,textarea){color:var(--text);font-size:16px}.money-input{font-variant-numeric:tabular-nums}.cash-form{gap:12px;display:grid}.cash-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:650}.diff[data-sign=short]{color:var(--danger)}.diff[data-sign=over]{color:var(--warn)}.diff.diff-big{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.kv{gap:4px;margin:0;display:grid}.kv>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.kv dt{color:var(--muted);min-width:0}.kv dd{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.kv .kv-strong :is(dt,dd){color:var(--text);font-weight:650}.kv .kv-strong dd.diff[data-sign=short]{color:var(--danger)}.kv .kv-strong dd.diff[data-sign=over]{color:var(--warn)}.kv .kv-due{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.kv .kv-due dt{color:var(--text);font-weight:650}.kv .kv-due dd{font-size:22px;font-weight:700}.shift-cash{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:10px 12px;display:flex}.shift-cash strong{font-size:20px;font-weight:650}.shift-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shift-actions .btn{width:100%}.shift-print{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cash-panel .unpaid li{flex-wrap:wrap}.cash-panel .unpaid .due-info{flex:1;min-width:0}.cash-panel .unpaid .due-actions{flex-basis:100%;gap:8px;display:flex}.cash-panel .unpaid .due-actions .btn{flex:1}.unpaid-orders{gap:2px;display:grid}.unpaid-orders .hint{margin-bottom:4px}.cash-panel .unpaid li.unpaid-all{border-top:0;padding-top:0}.cash-panel .unpaid li.unpaid-all .btn{flex:1}.cash-summary{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.cash-summary>div{min-width:0;display:grid}.cash-summary .muted{font-size:13px}.cash-summary>.money{font-size:18px}.pay-items,.pay-history,.shift-checks,.movements{margin:0;padding:0;list-style:none;display:grid}.pay-items>li{border-top:1px solid var(--border);align-items:center;gap:12px;min-height:48px;padding:6px 0;display:flex}.pay-items>li:first-child{border-top:0}.pay-item-info{flex:1;min-width:0;display:grid}.pay-item-info .muted{font-size:13px}.pay-items .money{font-weight:600}.pay-items>li.pay-bar{border-top:0;gap:2px;min-height:0;padding:0 0 8px;display:grid}.pay-items>li.pay-bar:first-child{padding-top:6px}.pay-bar-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:650}.pay-bar-lines{border-left:2px solid var(--border);margin:0;padding:0 0 0 10px;list-style:none;display:grid}.pay-bar-lines li{justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:14px;display:flex}.pay-bar-title{overflow-wrap:anywhere;min-width:0}.pay-items .pay-bar-title .money{font-size:13px;font-weight:400}.pay-items .icon-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex:none;font-size:20px;line-height:1}.pay-items .icon-btn:hover:not(:disabled){color:var(--danger);border-color:color-mix(in oklab, var(--danger) 60%, transparent)}.pay-items .icon-btn:disabled{opacity:.5;cursor:not-allowed}.pay-add{gap:6px;display:grid}.pay-add .chip{background:0 0;border-style:dashed}.pay-discount{border:1px solid var(--border);border-radius:12px;padding:0 12px}.pay-discount summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;font-weight:600;list-style:none;display:flex}.pay-discount summary::-webkit-details-marker{display:none}.pay-discount summary:before{content:"▸";color:var(--muted);transition:transform .15s}.pay-discount[open] summary:before{transform:rotate(90deg)}.pay-discount summary .muted{font-size:14px;font-weight:400}.discount-form{grid-template-columns:76px minmax(0,1fr);gap:8px;padding-bottom:12px;display:grid}.discount-form input{min-width:0;color:var(--text)}.discount-form .discount-reason,.discount-form .discount-actions,.discount-form .form-error{grid-column:1/-1}@media (width>=561px){.discount-form{grid-template-columns:76px 110px minmax(0,1fr)}.discount-form .discount-reason{grid-column:auto}}.pay-history li,.movements li{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:4px 10px;padding:8px 0;font-size:14px;display:grid}.pay-history li:first-child,.movements li:first-child{border-top:0}.pay-form{gap:10px;display:grid}.pay-parts{gap:8px;display:grid}.pay-part{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;font-weight:600;display:grid}.modal .pay-part input{text-align:right;min-width:0;min-height:48px;color:var(--text);font-variant-numeric:tabular-nums;font-size:20px}.pay-quick .btn{flex:auto}.pay-preview{gap:2px;min-height:24px;display:grid}.pay-change{color:var(--accent);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.pay-change[data-zero]{color:var(--muted)}.pay-remaining{color:var(--warn);font-variant-numeric:tabular-nums;font-weight:650}.pay-done{text-align:center;justify-items:center;gap:8px;padding:24px 0;display:grid}.pay-done:before{content:"✓";background:color-mix(in oklab, var(--accent) 20%, transparent);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;font-size:28px;font-weight:700;display:grid}.pay-done-title{font-size:20px;font-weight:650}.pay-done .pay-change{font-size:32px}.shift-checks li{border-top:1px solid var(--border);gap:4px;padding:10px 0;display:grid}.shift-checks li:first-child{border-top:0}.sc-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.sc-total{margin-left:auto}.shift-checks .muted,.money-line,.sc-refunded{font-variant-numeric:tabular-nums;font-size:13px}.sc-refunded{color:var(--danger)}.shift-checks .btn,.shift-checks .sc-actions{justify-self:start}.report,.report-split{gap:16px;display:grid}.report-split>*{min-width:0}@media (width>=760px){.report-split{grid-template-columns:minmax(0,1fr) minmax(170px,200px);align-items:start}}.report-revenue{gap:6px;display:grid}.report-revenue .hint{font-size:13px}.report-title{margin-bottom:6px;font-weight:650}.table-scroll{overflow-x:auto}.report-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.report-table th,.report-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:8px 6px}.report-table th[scope=row],.report-table thead th:first-child{text-align:left}.report-table thead th{color:var(--muted);font-size:13px;font-weight:600}.report-table .report-total :is(th,td){border-bottom:0;font-weight:700}.movement-reason{overflow-wrap:anywhere;min-width:0}.breakdown table.breakdown-bar{margin-top:12px}#print-root{z-index:-1;visibility:hidden;pointer-events:none;box-sizing:border-box;color:#000;font-variant-numeric:tabular-nums;text-align:left;overflow-wrap:anywhere;background:#fff;width:80mm;padding:2mm 4mm 6mm;font-family:Consolas,Cascadia Mono,DejaVu Sans Mono,Menlo,Liberation Mono,Courier New,monospace;font-size:2.7mm;font-weight:400;line-height:1.3;position:fixed;top:0;left:0}#print-root[data-paper="58"]{width:58mm;padding-inline:5mm}:where(#print-root *){color:inherit;font:inherit;background:0 0;border:0;margin:0;padding:0}.pf-head{text-align:center;margin-bottom:1mm}.pf-club{font-size:1.15em;font-weight:700}.pf-title{font-size:1.3em;font-weight:700}.pf-strong{font-weight:700}.pf-big{font-size:1.25em;font-weight:700}.pf-center{text-align:center}.pf-h{margin-top:1.2mm;font-weight:700}.pf-sep+.pf-h{margin-top:0}.pf-row{justify-content:space-between;align-items:baseline;gap:2mm;display:flex}.pf-label{flex:auto;min-width:0}.pf-value{text-align:right;white-space:nowrap;flex:none}.pf-sub{padding-left:2ch}.pf-item+.pf-item{margin-top:.6mm}.pf-sep{border-top:.3mm dashed #000;height:0;margin:1.5mm 0}.pf-notice{border:.3mm solid #000;margin-top:1.5mm;padding:.8mm 1mm;font-weight:700}@media print{html:has(#print-root){color:#000!important;background:#fff!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}html:has(#print-root)>body{color:#000!important;background:#fff!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body:has(>#print-root)>:not(#print-root){display:none!important}body:has(>#print-root) dialog{display:none!important}body:has(>#print-root) dialog::backdrop{display:none!important}#print-root{z-index:auto;visibility:visible;position:static}}.paper-switch{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.paper-opt{border:1px solid var(--border);min-height:36px;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:10px;padding:0 10px;font-size:14px;font-weight:600}.paper-opt[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--text)}@media (pointer:coarse){.paper-opt{min-height:44px}}.apps-page{gap:16px;min-width:0;max-width:1040px;display:grid;container:apps/inline-size}.dl-alert{border:1px solid color-mix(in oklab, var(--warn) 50%, var(--border));background:var(--warn-soft);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.dl-alert .link{padding:0;font-weight:400}.dl-cards{align-items:start;gap:16px;display:grid}.panel.dl-card{align-content:start;gap:16px;min-width:0;padding:18px 20px 20px}.dl-card[data-current]{border-color:color-mix(in oklab, var(--accent) 65%, var(--border));box-shadow:0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent)}.dl-card-head{align-items:center;gap:12px;display:flex}.dl-icon{background:var(--surface-2);width:44px;height:44px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.dl-card[data-current] .dl-icon{background:color-mix(in oklab, var(--accent) 16%, var(--surface));color:var(--accent)}.dl-title{flex:1;min-width:0}.dl-kicker{color:var(--muted);margin:0;font-size:13px}.panel .dl-title h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:650}.tag.dl-current{background:color-mix(in oklab, var(--accent) 18%, var(--surface));color:var(--accent);white-space:nowrap;flex:none;padding:3px 10px;font-size:13px;font-weight:650}.dl-card-body{align-items:start;gap:16px;display:grid}.dl-main,.dl-more{align-content:start;gap:12px;min-width:0;display:grid}.dl-card p{margin:0}.dl-lead{color:var(--text-2);font-size:15px}.dl-get{justify-items:start;gap:6px;display:grid}.dl-version{font-size:14px;font-weight:600}.btn.dl-button{border-radius:14px;flex:none;justify-content:center;align-items:center;gap:10px;width:min(100%,360px);min-height:56px;padding:0 24px;font-size:17px;text-decoration:none;display:inline-flex}.dl-file{color:var(--muted);font-size:12px}.dl-file a{color:inherit;text-underline-offset:2px}.dl-wait{min-height:56px;color:var(--muted);align-items:center;display:flex}.dl-soon{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:12px;padding:14px 16px;font-weight:600}.dl-soon[data-quiet]{color:var(--muted);font-weight:400}.dl-others{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.dl-others a{color:var(--muted);text-underline-offset:3px}.dl-others a:hover{color:var(--text)}.dl-qr{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:14px;padding:12px;font-size:14px;font-weight:600;display:flex}.dl-qr .qr-code{border-radius:8px;flex:none}.dl-steps{gap:8px;margin:0;padding-left:22px;font-size:15px;display:grid}.dl-steps li::marker{color:var(--muted);font-weight:650}.dl-inline-link{color:var(--accent);text-underline-offset:3px}.dl-address{overflow-wrap:anywhere}.dl-warning{border:1px solid color-mix(in oklab, var(--danger) 45%, transparent);background:var(--danger-soft);color:color-mix(in oklab, var(--danger) 60%, var(--text));border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600}.dl-alt{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.dl-alt[data-first]{border-top:none;padding-top:0}.dl-alt h3{margin:0;font-size:15px;font-weight:650}.dl-command{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.dl-command code{border:1px solid var(--border);background:var(--bg);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;flex:100%;min-width:0;padding:8px 10px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dl-command-status{color:var(--muted);flex-basis:100%;font-size:13px}.dl-command-status:empty{display:none}.dl-note{color:var(--muted);font-size:13px}.apps-screen{gap:12px;display:grid}.apps-screen p{margin:0}.btn.apps-install{align-items:center;gap:8px;display:inline-flex}.apps-foot{text-align:center;margin:0}@container apps (width>=720px){.dl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-card[data-wide]{grid-column:1/-1}.dl-card[data-wide] .dl-card-body{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:32px}}@media (width<=600px){.panel.dl-card{padding:16px}.btn.dl-button{width:100%}}.pos-grid{grid-template-columns:minmax(0,1fr) minmax(330px,410px);align-items:start;gap:16px;display:grid}.pos-menu{grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-width:0;display:grid}.pos-tabs{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pos-tab{border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;cursor:pointer;border-radius:14px;flex:none;min-height:52px;padding:0 20px;font-size:17px;font-weight:650}.pos-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.pos-tiles{grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:12px;display:grid}.pos-tile{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:116px;box-shadow:var(--shadow);cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:space-between;gap:10px;padding:14px;transition:transform 80ms,border-color .15s;display:flex}.pos-tile:not(:disabled):active{transform:scale(.97)}.pos-tile:disabled{opacity:.5;cursor:not-allowed}.pos-tile[data-in-order]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), var(--shadow)}.pos-tile-name{overflow-wrap:anywhere;font-size:18px;font-weight:650;line-height:1.2}.pos-tile-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.pos-tile-price{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:600}.pos-tile-count{background:var(--accent);min-width:30px;height:30px;color:var(--accent-text);border-radius:999px;place-items:center;padding:0 8px;font-weight:700;display:grid}.pos-tile-more{color:var(--muted);font-size:12px}.pos-order{gap:14px;max-height:calc(100dvh - 100px);position:sticky;top:84px;overflow-y:auto}.pos-order-head{justify-content:space-between;align-items:center;min-height:36px;display:flex}.pos-order-head h2{font-size:18px}.pos-order-empty{padding:18px 0}.pos-lines{margin:0;padding:0;list-style:none;display:grid}.pos-lines li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:8px 0;display:grid}.pos-lines li:first-child{border-top:0}.pos-lines li[data-broken] .pos-line-title strong{color:var(--danger)}.pos-line-title{text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;min-width:0;padding:4px 0;display:grid}.pos-line-title:disabled{cursor:default}.pos-line-title strong{overflow-wrap:anywhere;font-weight:600;line-height:1.25}.pos-line-title .muted{font-variant-numeric:tabular-nums;font-size:13px}.pos-qty{align-items:center;gap:4px;display:inline-flex}.pos-qty output{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-weight:700}.pos-qty-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.pos-qty-btn:disabled{opacity:.4;cursor:not-allowed}.pos-line-sum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:72px;font-weight:600}.pos-remove{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.pos-remove:hover{background:var(--surface-2);color:var(--danger)}.pos-service{border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.pos-service-btn{background:var(--surface-2);cursor:pointer;border:0;min-height:52px;font-size:16px;font-weight:650}.pos-service-btn+.pos-service-btn{border-left:1px solid var(--border)}.pos-service-btn[aria-checked=true]{background:color-mix(in oklab, var(--accent) 22%, var(--surface-2));box-shadow:inset 0 0 0 2px var(--accent)}.pos-guest input{color:var(--text);font-size:16px}.pos-total{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-top:10px;font-size:18px;font-weight:600;display:flex}.pos-total strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:750}.pos-pay{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.btn.pos-pay-btn{min-height:64px;font-size:18px}.btn.pos-pay-cash{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.pos-pay-later{border-style:dashed;grid-column:1/-1;min-height:48px}.pos-shift{background:var(--warn-soft);color:var(--warn);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.pos-cash{gap:12px;display:grid}.pos-cash .pos-cash-input{min-height:60px;color:var(--text);font-size:30px;font-weight:650}.pos-quick{flex-wrap:wrap;gap:8px;display:flex}.pos-quick .chip{font-variant-numeric:tabular-nums;min-height:48px;font-size:16px}.pos-change{min-height:1.3em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px;font-weight:750}.pos-change[data-zero]{color:var(--muted)}.btn.pos-cash-pay{min-height:60px;font-size:18px}.modal.modal-options{width:min(680px,100vw - 24px)}.sheet-groups{gap:18px;display:grid}.sheet-group{border:0;min-width:0;margin:0;padding:0}.sheet-group legend{margin-bottom:8px;padding:0;font-size:16px;font-weight:650}.sheet-group legend .muted{font-size:14px;font-weight:400}.sheet-choices{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px;display:grid}.sheet-choice{border:1px solid var(--border);background:var(--surface-2);text-align:center;cursor:pointer;touch-action:manipulation;border-radius:14px;place-content:center;gap:2px;min-height:62px;padding:6px 10px;font-size:16px;font-weight:650;display:grid}.sheet-choice[aria-checked=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 22%, var(--surface-2));box-shadow:inset 0 0 0 1px var(--accent)}.sheet-delta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.sheet-foot{align-items:center;gap:12px;display:flex}.sheet-qty .pos-qty-btn{width:48px;height:48px}.btn.sheet-add{min-height:56px;font-size:18px}.pos-done{text-align:center;justify-items:center;gap:6px;padding:8px 0 4px;display:grid}.pos-done-label{color:var(--muted);font-size:18px;font-weight:600}.pos-done-number{letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:104px;font-weight:800;line-height:1}.pos-done-sub{color:var(--text-2);font-size:16px}.pay-change.pos-done-change{margin-top:8px;font-size:30px}.pos-done-paid{font-size:18px;font-weight:600}.pos-jump{display:none}@media (width<=960px){.pos-jump{bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;background:var(--accent);min-height:52px;color:var(--accent-text);box-shadow:var(--shadow-lg);cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:16px;font-weight:650;display:flex;position:sticky}.pos-grid{grid-template-columns:minmax(0,1fr)}@media (width>=768px){.pos-jump{bottom:12px}}.pos-order{max-height:none;position:static;overflow:visible}}@media (width<=520px){.pos-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pos-tile{min-height:96px;padding:12px}.pos-tile-name{font-size:16px}.pos-lines li{grid-template-columns:minmax(0,1fr) auto auto}.pos-line-sum{display:none}.pos-pay{grid-template-columns:1fr 1fr 1fr}.btn.pos-pay-btn{min-height:56px;padding:0 8px;font-size:16px}.pos-done-number{font-size:84px}}.barista-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.barista-bar .btn{color:var(--text);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.barista-cols{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.barista-col{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);align-content:start;gap:10px;min-height:240px;padding:12px;display:grid}.barista-col[data-stage=READY]{background:color-mix(in oklab, var(--accent) 10%, var(--surface-2))}.barista-col-head{justify-content:space-between;align-items:center;display:flex}.barista-col-head h2{font-size:18px;font-weight:700}.barista-count{background:var(--surface-3);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:32px;height:32px;padding:0 8px;font-weight:700;display:grid}.barista-empty{text-align:center;padding:24px 0}.barista-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.barista-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);gap:10px;padding:14px;display:grid}.barista-card[data-fresh]{border-color:var(--lamp);animation:.9s ease-in-out 4 cafe-flash}@keyframes cafe-flash{50%{background:color-mix(in oklab, var(--lamp) 24%, var(--surface))}}.barista-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.barista-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:800;line-height:1}.barista-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.service-badge{background:var(--surface-3);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.service-badge[data-service=TAKEAWAY]{background:var(--info-soft);color:var(--info)}.barista-age{font-variant-numeric:tabular-nums;color:var(--muted);font-size:15px;font-weight:650}.barista-age[data-late=warn]{color:var(--warn)}.barista-age[data-late=late]{color:var(--danger)}.barista-guest{font-size:17px;font-weight:650}.barista-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.barista-lines li{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;font-size:17px;display:grid}.barista-lines strong{font-weight:650}.barista-qty{font-variant-numeric:tabular-nums;font-weight:800}.barista-options{color:var(--text-2);font-size:15px;display:block}.barista-note{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:6px 10px;font-size:14px}.barista-actions{align-items:stretch;gap:8px;display:flex}.btn.barista-next{min-height:60px;font-size:20px}.btn.barista-next[data-to=ISSUED]{background:var(--info);border-color:var(--info);color:#fff}.btn.barista-back{min-height:60px;color:var(--muted);flex:none}@media (width<=900px){.barista-cols{grid-template-columns:1fr}.barista-col{min-height:0}}@media (prefers-reduced-motion:reduce){.barista-card[data-fresh],.board-numbers li[data-fresh]{animation:none}}.board{background:var(--bg);min-height:100dvh;color:var(--text);grid-template-rows:auto 1fr;display:grid}.board-head{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex}.board-brand{align-items:center;gap:16px;min-width:0;display:flex}.board-brand h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(22px,3vw,40px);font-weight:750;overflow:hidden}.board-logo,.board-mark{object-fit:contain;flex:none;width:clamp(40px,5vw,64px);height:clamp(40px,5vw,64px)}.board-tools{align-items:center;gap:8px;display:flex}.board-clock{font-variant-numeric:tabular-nums;margin-right:8px;font-size:clamp(20px,2.6vw,36px);font-weight:650}.board-offline{background:var(--danger-soft);color:var(--danger);border-radius:999px;padding:4px 12px;font-weight:650}.board-btn{align-items:center;gap:8px;display:inline-flex}.board-icon{border:1px solid var(--border);background:var(--surface-2);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;display:inline-grid}.board-cols{grid-template-columns:1fr 1.4fr;min-height:0;display:grid}.board-col{grid-template-rows:auto 1fr;align-content:start;gap:16px;min-width:0;padding:24px 28px;display:grid}.board-col+.board-col{border-left:1px solid var(--border)}.board-col h2{color:var(--muted);font-size:clamp(24px,3vw,44px);font-weight:750}.board-col[data-kind=ready]{background:color-mix(in oklab, var(--accent) 9%, var(--bg))}.board-col[data-kind=ready] h2{color:var(--accent)}.board-numbers{flex-wrap:wrap;align-content:flex-start;gap:clamp(10px,1.6vw,24px);margin:0;padding:0;list-style:none;display:flex}.board-numbers li{background:var(--surface);border:1px solid var(--border);border-radius:20px;justify-items:center;min-width:clamp(110px,12vw,200px);padding:clamp(8px,1vw,16px) clamp(12px,1.4vw,24px);display:grid}.board-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(48px,7vw,120px);font-weight:800;line-height:1}.board-col[data-kind=preparing] .board-number{color:var(--text-2);font-size:clamp(36px,4.6vw,80px)}.board-col[data-kind=ready] .board-numbers li{border-color:color-mix(in oklab, var(--accent) 60%, transparent)}.board-col[data-kind=ready] .board-number{color:var(--accent)}.board-guest{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;color:var(--text-2);font-size:clamp(14px,1.5vw,26px);font-weight:600;overflow:hidden}.board-numbers li[data-fresh]{background:color-mix(in oklab, var(--accent) 24%, var(--surface));animation:1s ease-in-out 6 board-pop}@keyframes board-pop{50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 40%, transparent);transform:scale(1.08)}}.board-empty{color:var(--muted);font-size:clamp(18px,2vw,28px)}@media (width<=700px){.board-head{padding:12px 16px}.board-cols{grid-template-columns:1fr}.board-col{padding:16px}.board-col+.board-col{border-left:0;border-top:1px solid var(--border)}.board-col[data-kind=ready]{order:-1}}.cafe-kv{margin:0}.cafe-top{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cafe-top li{grid-template-columns:minmax(0,10rem) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.cafe-top-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cafe-top-bar{background:var(--surface-3);border-radius:999px;height:10px;overflow:hidden}.cafe-top-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.cafe-top-qty{font-variant-numeric:tabular-nums;font-weight:650}.bar-product-options{color:var(--muted);font-size:12px;display:block}.opt-editor{gap:10px;display:grid}.opt-group{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.opt-group-head,.opt-choices li{align-items:center;gap:6px;display:flex}.opt-group-head .opt-group-name{flex:1;min-width:0;font-weight:650}.opt-flags{flex-wrap:wrap;gap:6px;display:flex}.opt-choices{gap:6px;margin:0;padding:0;list-style:none;display:grid}.opt-choices input{background:var(--surface);flex:1;min-width:0}.opt-choices .opt-delta{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:92px}.opt-tools{flex:none;gap:2px;display:inline-flex}.opt-icon{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.opt-icon:disabled{opacity:.35;cursor:not-allowed}.opt-icon.opt-danger:not(:disabled):hover{color:var(--danger)}.business-types{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.business-type{text-align:left;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:14px;gap:4px;padding:14px 16px;display:grid}.business-type strong{font-size:17px}.business-type span{color:var(--muted);font-size:14px}.business-type[aria-checked=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 16%, var(--surface-2));box-shadow:inset 0 0 0 1px var(--accent)}.business-type:disabled{cursor:not-allowed}.business-type:disabled:not([aria-checked=true]){opacity:.6}.pos{--pos-hue:150}.pos-toolbar{gap:var(--space-2);align-items:stretch;display:flex}.pos-search{align-items:center;gap:var(--space-2);min-width:0;min-height:52px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);flex:1;display:flex}.pos-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pos-search input{min-width:0;height:100%;color:var(--text);font-size:var(--fs-base);background:0 0;border:0;outline:0;flex:1}.pos-search input::-webkit-search-cancel-button{cursor:pointer}.pos-kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);min-width:22px;height:22px;color:var(--muted);font:600 var(--fs-xs) / 1 inherit;border-bottom-width:2px;place-items:center;padding:0 6px;display:inline-grid}@media (hover:none){.pos-kbd,.pos-keys-hint{display:none}}.pos-mult-wrap{position:relative}.pos-mult{min-width:64px;height:100%;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-lg);cursor:pointer;font-weight:700}.pos-mult[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.pos-mult-pad{z-index:20;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);grid-template-columns:repeat(3,56px);display:grid;position:absolute;top:calc(100% + 6px);right:0}.pos-mult-pad button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);height:56px;color:var(--text);font-size:var(--fs-xl);cursor:pointer;font-weight:700}.pos-mult-pad button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.pos-mult-note{align-items:center;gap:var(--space-2);color:var(--accent-ink,var(--accent));margin:0;font-weight:600;display:flex}.pos-tabs[data-dim]{opacity:.55}.pos-tab{align-items:center;gap:var(--space-2);color:var(--text);transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);display:inline-flex}.pos-tab:active{transform:scale(.97)}.pos-tab-dot{background:oklch(.7 .14 var(--hue,var(--pos-hue)));border-radius:50%;width:10px;height:10px}.pos-tab-hits span{color:var(--warn)}.pos-tab[aria-selected=true] .pos-tab-dot{background:currentColor}.pos-tab-hits[aria-selected=true] span{color:inherit}.pos-tile{border:1px solid var(--border);border-top:4px solid oklch(.7 .14 var(--hue,var(--pos-hue)));border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);position:relative}.pos-tile:hover{box-shadow:var(--shadow-sm)}.pos-tile:active:not(:disabled){background:var(--surface-2);transform:scale(.97)}.pos-tile:disabled{cursor:not-allowed;opacity:.5}.pos-badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);white-space:nowrap;padding:2px 8px;font-weight:700}.pos-badge-out{background:var(--danger-soft);color:var(--danger)}.pos-badge-low{background:var(--warn-soft);color:var(--warn)}.pos-noresult{padding:var(--space-6) 0;text-align:center}.pos-side{min-width:0;position:relative}.pos-order{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex}.pos-order-head{gap:var(--space-2)}.pos-order-head h2{align-items:center;gap:var(--space-2);font-size:var(--fs-xl);margin:0;display:flex}.pos-count{border-radius:var(--radius-pill);background:var(--accent);min-width:28px;height:28px;color:var(--accent-text);font-size:var(--fs-md);place-items:center;padding:0 8px;font-weight:700;display:inline-grid}.pos-head-tools{gap:var(--space-1);margin-left:auto;display:flex}.pos-tool,.pos-back{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;background:0 0;border:0;font-weight:600}.pos-tool:hover:not(:disabled),.pos-back:hover{background:var(--surface-2);color:var(--text)}.pos-tool:disabled{opacity:.4;cursor:default}.pos-back{place-items:center;min-width:40px;padding:0;display:inline-grid}.pos-sheet-close{margin-left:var(--space-1)}.pos-held{gap:var(--space-2);padding-bottom:2px;display:flex;overflow-x:auto}.pos-held-chip{border:1px dashed var(--border-strong,var(--border));border-radius:var(--radius-md);background:var(--surface-2);min-height:48px;color:var(--text);text-align:left;cursor:pointer;flex:none;gap:2px;padding:6px 12px;display:grid}.pos-held-chip span{color:var(--text-2);font-size:var(--fs-xs)}.pos-held-chip[data-failed]{border-color:var(--danger);background:var(--danger-soft)}.pos-failure{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-weight:600;display:flex}.pos-failure span{flex:1}.pos-failure-x{border-radius:var(--radius-sm);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.pos-lines-wrap{min-height:120px;margin:var(--space-2) calc(-1 * var(--space-2));padding:0 var(--space-2);flex:1;overflow-y:auto}.pos-empty{justify-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-2);color:var(--muted);text-align:center;display:grid}.pos-empty p{margin:0}.pos-repeat{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;font-weight:600;display:flex}.pos-repeat small{color:var(--text-2);font-weight:400;display:block}.pos-keys-hint{font-size:var(--fs-xs)}.pos-lines li.pos-line{gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto auto}.pos-line[data-selected]{background:var(--accent-soft);border-top-color:#0000}.pos-line[data-selected]+.pos-line{border-top-color:#0000}.pos-line[data-broken] .pos-line-name{color:var(--danger)}.pos-line-main{min-width:0;min-height:48px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.pos-line-name{font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.pos-line-sub{color:var(--text-2);font-size:var(--fs-sm)}.pos-line-comment{color:var(--warn);font-size:var(--fs-sm);font-style:italic}.pos-line output{text-align:center;min-width:24px;font-weight:700}.pos-opts{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface);grid-column:1/-1;display:grid}.pos-opts[data-docked]{padding:var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg)}.pos-opts-head{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--fs-lg);display:flex}.pos-opts-done{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;font-weight:700}.pos-opt-row{gap:var(--space-1);display:grid}.pos-opt-label{color:var(--text-2);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.pos-opt-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.pos-opt-seg{border-radius:var(--radius-md);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:grid}.pos-opt{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);cursor:pointer;touch-action:manipulation;transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.pos-opt:active{transform:scale(.96)}.pos-opt small{color:var(--text-2);font-size:var(--fs-xs);font-weight:500}.pos-opt-seg .pos-opt{border-radius:var(--radius-sm);background:0 0;border:0}.pos-opt[aria-checked=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.pos-opt[aria-checked=true] small{color:inherit;opacity:.85}.pos-opt-note[aria-checked=true]{border-color:var(--warn);background:var(--warn-soft);color:var(--text)}.pos-opt-text{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);flex:160px}.pos-opts-collapse{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-self:start;font-weight:600}.pos-foot{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);display:grid}.pos-meta{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);display:grid}.pos-seg{border-radius:var(--radius-md);background:var(--surface-2);grid-auto-flow:column;gap:2px;padding:2px;display:grid}.pos-seg button{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;background:0 0;border:0;font-weight:650}.pos-seg button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}input.pos-guest{min-width:0;min-height:48px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-base)}.pos-total strong{font-size:var(--fs-2xl)}.pos-express{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pos-express-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);cursor:pointer;touch-action:manipulation;font-weight:700;display:inline-flex}.pos-express-btn:active:not(:disabled){transform:scale(.97)}.pos-express-btn:disabled,.pos-paybar:disabled{opacity:.45;cursor:not-allowed}.pos-paybar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:64px;padding:0 var(--space-5);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font-size:var(--fs-lg);cursor:pointer;touch-action:manipulation;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);border:0;font-weight:700;display:flex}.pos-paybar strong{font-size:var(--fs-xl)}.pos-paybar:hover:not(:disabled){background:var(--accent-hover,var(--accent))}.pos-paybar:active:not(:disabled){transform:scale(.98)}.pos-pay{gap:var(--space-3);display:grid}.pos-pay-due{color:var(--text-2);justify-content:space-between;align-items:baseline;display:flex}.pos-pay-due strong{color:var(--text);font-size:var(--fs-3xl)}.pos-pay-quick{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pos-cash-btn{min-height:64px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-xl);text-align:left;cursor:pointer;touch-action:manipulation;gap:2px;font-weight:700;display:grid}.pos-cash-btn small{color:var(--text-2);font-size:var(--fs-xs);font-weight:600}.pos-cash-exact{border-color:var(--accent);background:var(--accent-soft)}.pos-cash-btn:active:not(:disabled),.pos-keypad button:active,.pos-method:active:not(:disabled){transform:scale(.97)}.pos-cash-btn:disabled,.pos-method:disabled{opacity:.45;cursor:not-allowed}.pos-display{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);gap:2px;display:grid}.pos-display-label{color:var(--text-2);font-size:var(--fs-xs);text-transform:uppercase;font-weight:700}.pos-display-sum{font-size:var(--fs-3xl);font-weight:750}.pos-display-sum[data-empty]{color:var(--muted);font-weight:500}.pos-display-change{min-height:1.4em;color:var(--accent-ink,var(--accent));font-size:var(--fs-lg);font-weight:700}.pos-display-change[data-short]{color:var(--danger)}.pos-pay-cash{gap:var(--space-2);display:grid}.pos-keypad{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pos-keypad button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:56px;color:var(--text);font-size:var(--fs-xl);cursor:pointer;touch-action:manipulation;font-weight:700}.btn.pos-accept{min-height:56px;font-size:var(--fs-lg)}.pos-split{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-weight:600;display:flex}.pos-pay-methods{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pos-method{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);min-height:60px;color:var(--text);font-size:var(--fs-lg);cursor:pointer;touch-action:manipulation;font-weight:700}.pos-pay-extra{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pos-flash{z-index:30;padding:var(--space-4);border-radius:var(--radius-lg);background:color-mix(in oklab, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pos-fade var(--dur) var(--ease);place-items:center;display:grid;position:absolute;inset:0}.pos-flash-card{justify-items:center;gap:var(--space-2);width:100%;max-width:360px;padding:var(--space-6) var(--space-5) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;display:grid;position:relative;overflow:hidden}.pos-flash-card p{margin:0}.pos-flash-label{color:var(--text-2);font-size:var(--fs-lg);font-weight:600}.pos-flash-number{color:var(--accent-ink,var(--accent));letter-spacing:-.03em;font-size:96px;font-weight:800;line-height:1}.pos-flash-number[data-pending]{color:var(--muted)}.pos-flash-sub{color:var(--text-2)}.pos-flash-change{padding:var(--space-3) var(--space-5);border-radius:var(--radius);background:var(--warn-soft);font-size:var(--fs-3xl);font-weight:800;display:grid;margin-top:var(--space-2)!important}.pos-flash-change small{color:var(--text-2);font-size:var(--fs-sm);text-transform:uppercase;font-weight:700}.pos-flash-change[data-zero]{background:var(--accent-soft);font-size:var(--fs-xl)}.pos-flash-paid{font-weight:650}.pos-flash-error{color:var(--danger);font-weight:600}.pos-flash-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.pos-flash-timer{background:var(--accent);transform-origin:0;width:100%;height:4px;animation:linear forwards pos-timer;position:absolute;bottom:0;left:0}@keyframes pos-timer{to{transform:scaleX(0)}}@keyframes pos-fade{0%{opacity:0}}.pos-bar,.pos-scrim,.pos-dock{display:none}@media (width<=960px){.pos-side{position:static}.pos-side:not([data-open]) .pos-order{display:none}.pos-side[data-open]{z-index:60;align-items:flex-end;display:flex;position:fixed;inset:0}.pos-scrim{background:#00000073;border:0;display:block;position:absolute;inset:0}.pos-side[data-open] .pos-order{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));animation:pos-up var(--dur) var(--ease);position:relative;overflow-y:auto}.pos-side[data-open] .pos-flash{border-radius:0;position:fixed}.pos-dock{z-index:55;max-height:70dvh;padding-bottom:env(safe-area-inset-bottom);display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.pos-bar{left:var(--space-3);right:var(--space-3);bottom:calc(76px + env(safe-area-inset-bottom));z-index:40;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1fr) auto;display:grid;position:fixed}.pos-bar-order{align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);cursor:pointer;border:0;font-weight:650;display:flex}.pos-bar-count{border-radius:var(--radius-pill);background:var(--accent);min-width:28px;height:28px;color:var(--accent-text);font-size:var(--fs-sm);place-items:center;display:inline-grid}.pos-bar-up{margin-left:auto;transform:rotate(180deg)}.pos-bar-pay{min-height:52px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-text);font-size:var(--fs-lg);cursor:pointer;border:0;font-weight:750}.pos-bar button:disabled{opacity:.5}.pos-menu{padding-bottom:96px}}@media (width>=768px) and (width<=960px){.pos-bar{bottom:var(--space-3)}}@keyframes pos-up{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.pos-flash,.pos-side[data-open] .pos-order,.pos-flash-timer{animation:none}}.bar-chips{flex-wrap:wrap;gap:6px;display:flex}.bar-chips .chip[data-off]{color:var(--muted);border-style:dashed}.bar-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.bar-toolbar .grow{flex:1;min-width:0}.bar-error{color:var(--danger);font-size:14px}.bar-money{font-variant-numeric:tabular-nums;white-space:nowrap}.bar-products{border-collapse:collapse;width:100%;font-size:14px}.bar-products th,.bar-products td{text-align:left;border-top:1px solid var(--border);vertical-align:middle;padding:8px}.bar-products th{color:var(--muted);white-space:nowrap;border-top:none;font-size:13px;font-weight:600}.bar-products td.num,.bar-products th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bar-products tr[data-inactive] .bar-product-name{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--muted) 60%, transparent)}.bar-product-name{font-weight:600}.bar-products .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.bar-products .cell-label{display:none}.bar-switch{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.bar-switch input{width:18px;height:18px;min-height:auto;accent-color:var(--accent);margin:0}.bar-switch[data-on]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 18%, var(--surface-2))}.bar-switch:has(input:disabled){opacity:.5;cursor:not-allowed}@media (width<=720px){.bar-products,.bar-products tbody,.bar-products tr,.bar-products td{display:block}.bar-products thead{display:none}.bar-products tr{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 0;display:grid}.bar-products tr:first-child{border-top:none}.bar-products td{border-top:none;padding:0}.bar-products td.cell-name{grid-column:1;font-size:16px}.bar-products td.cell-price{text-align:right;grid-area:1/2;font-size:16px;font-weight:650}.bar-products td.cell-category,.bar-products td.cell-stock{color:var(--muted);grid-column:1/-1;font-size:13px}.bar-products td.cell-active,.bar-products td.cell-actions{grid-column:1/-1}.bar-products td.cell-actions .actions{justify-content:flex-start}.bar-products .cell-label{color:var(--muted);display:inline}}.order-targets{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.order-target{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:96px;color:var(--text);cursor:pointer;gap:6px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:grid}.order-target:hover{background:var(--surface-2)}.order-target[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, var(--surface));box-shadow:0 0 0 1px var(--accent) inset}.order-target:disabled{opacity:.6;cursor:not-allowed}.order-target-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.order-target-head strong{font-size:18px;font-weight:650}.order-target .phase{font-size:11px}.order-target .phase[data-phase=unpaid]{background:color-mix(in oklab, var(--warn) 25%, transparent);color:var(--warn)}.order-target .phase[data-phase=playing]{background:color-mix(in oklab, var(--lamp) 25%, transparent);color:var(--text)}.order-target-meta{color:var(--muted);font-variant-numeric:tabular-nums;gap:2px;font-size:13px;display:grid}.order-target-meta .line{justify-content:space-between;gap:8px;display:flex}.order-target-total{color:var(--text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:650}:root[data-hide-amounts] .order-target .amount,:root[data-hide-amounts] .order-target .order-target-total,:root[data-hide-amounts] .order-composer .amount{display:none}.order-composer{align-items:start;gap:16px;display:grid}@media (width>=900px){.order-composer{grid-template-columns:minmax(0,1fr) 340px}.order-cart{position:sticky;top:72px}}.order-products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.order-product{text-align:left;border:1px solid var(--border);background:var(--surface-2);min-height:64px;color:var(--text);cursor:pointer;border-radius:12px;align-content:center;gap:4px;padding:8px 12px;transition:border-color .15s,background-color .15s;display:grid}.order-product:not(:disabled):hover{border-color:var(--accent)}.order-product:not(:disabled):active{background:color-mix(in oklab, var(--accent) 18%, var(--surface-2))}.order-product:disabled{opacity:.55;cursor:not-allowed}.order-product[data-in-cart]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.order-product-name{font-weight:600;line-height:1.25}.order-product-foot{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:6px;font-size:13px;display:flex}.order-product-count{background:var(--accent);min-width:24px;height:24px;color:var(--accent-text);border-radius:999px;place-items:center;padding:0 7px;font-size:12px;font-weight:700;display:inline-grid}.order-cart{gap:10px;display:grid}.order-cart-lines{margin:0;padding:0;list-style:none;display:grid}.order-cart-lines>li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 0;display:grid}.order-cart-lines>li:first-child{border-top:none}.order-cart-title{overflow-wrap:anywhere;font-weight:600}.order-cart-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.order-qty{grid-area:1/2/span 2;align-items:center;gap:2px;display:inline-flex}.order-qty .btn{flex:none;min-width:44px;padding:0;font-size:20px;line-height:1}.order-qty output{text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-weight:650}.order-cart-total{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;padding-top:8px;font-weight:650;display:flex}.order-cart-total .bar-money{font-size:20px}.order-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.order-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.order-card[data-cancelled]{opacity:.7}.order-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.order-card-head .muted{font-variant-numeric:tabular-nums;font-size:13px}.order-card-items{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.order-card-items li{justify-content:space-between;gap:10px;display:flex}.order-card[data-cancelled] .order-card-items li span:first-child{text-decoration:line-through}.order-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.order-card-total{font-size:16px;font-weight:650}.order-card-note{color:var(--muted);overflow-wrap:anywhere;font-size:13px}@media (width<=480px){.order-targets{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.order-products{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .chip{flex:none;min-height:44px}.settings-offline{color:var(--warn);font-size:14px}.settings-save{padding-top:4px}.errors{background:var(--danger-soft);color:var(--danger);border-radius:10px;gap:4px;margin:0;padding:10px 12px 10px 28px;font-size:14px;display:grid}.tables-editor td{white-space:nowrap}.tables-editor select{max-width:220px;min-height:44px}.tables-editor code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:13px}.tables-tag{vertical-align:middle;margin-left:8px}.reorder{gap:4px;display:flex}.reorder .btn{min-width:44px;padding:0}.tables-editor .actions .btn,.tariff-list .actions .btn{min-height:44px}.tariff-list li[data-inactive]{opacity:.65}.tariff-list .actions{flex-wrap:wrap;gap:6px;display:flex}.tariff-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tariff-now,.tariff-meta{margin-top:2px;font-size:13px}.tariff-form .windows{border:1px solid var(--border);border-radius:12px;gap:12px;min-width:0;margin:0;padding:12px;display:grid}.tariff-form legend{padding:0 6px;font-weight:600}.window{background:var(--surface-2);border-radius:10px;gap:10px;padding:12px;display:grid}.days{flex-wrap:wrap;gap:6px;display:flex}.chip.day{min-width:44px;min-height:44px;padding:0 8px}.window-time{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.window-time .btn{min-height:44px}.preview{border:1px solid color-mix(in oklab, var(--accent) 50%, var(--border));background:color-mix(in oklab, var(--accent) 10%, var(--surface));border-radius:12px;gap:2px;padding:12px 14px;font-size:14px;display:grid}.preview-now strong{font-variant-numeric:tabular-nums;font-size:18px}.logo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.logo-row .btn{cursor:pointer;align-items:center;display:inline-flex}.logo-row .btn.is-disabled{opacity:.5;pointer-events:none}.logo-preview{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;min-width:0;max-width:100%;min-height:48px;padding:6px 14px 6px 8px;font-weight:650;display:inline-flex}.logo-preview img{object-fit:contain;max-width:120px;height:32px}.logo-preview .brand-mark{width:32px;height:32px;box-shadow:none;border-radius:8px}.logo-preview span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rules-sub{margin:8px 0 0;font-size:15px;font-weight:650}@media (width<=480px){.window-time{grid-template-columns:1fr 1fr}.window-time .btn{grid-column:1/-1}.tariff-list .actions{width:100%}.tariff-list .actions .btn{flex:1}}.license-facts{gap:10px;display:grid}.license-state{flex-wrap:wrap;gap:6px;margin:0;display:flex}.license-facts code,.license-preview code{overflow-wrap:anywhere;font-size:13px}.license-install{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.license-text{word-break:break-all;width:100%;min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.license-preview{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.license-preview h4{margin:0;font-size:14px}@media (width<=600px){.license-facts .facts,.license-preview .facts{grid-template-columns:1fr}}.owner-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.owner-clubs{flex-wrap:wrap;gap:6px;display:flex}.owner-clubs .chip:disabled{opacity:.5;cursor:not-allowed}.owner-date{align-items:center;gap:8px;display:inline-flex}.owner-date input[type=date]{max-width:180px;min-height:44px}.owner-note{color:var(--muted);font-size:13px}.stat[data-danger] .stat-value{color:var(--danger)}.stat[data-warn] .stat-value{color:var(--warn)}.stat[data-accent] .stat-value{color:var(--accent)}.chart-box{width:100%;min-width:0;overflow:hidden}.chart{width:100%;max-width:100%;height:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;display:block;overflow:visible}.chart text{fill:currentColor;font-size:11px}.chart .label{fill:var(--text);font-size:12px;font-weight:600}.chart .grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.chart .grid[data-major]{stroke-dasharray:none}.chart .hit{fill:#0000}.chart .bar{fill:var(--accent);transition:opacity .15s}.chart .bar[data-low]{fill:color-mix(in oklab, var(--accent) 45%, var(--surface-2))}.chart .bar-group:hover .bar,.chart .row-group:hover .hbar{opacity:.8}.chart .area{fill:color-mix(in oklab, var(--accent) 18%, transparent)}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.chart .dot[data-max]{fill:var(--accent)}.chart .point-group:hover .dot{r:6}.chart .track{fill:var(--surface-2)}.chart .hbar{fill:var(--accent)}.owner-alerts>li{align-items:flex-start}.owner-alerts .alert-time{white-space:nowrap;font-size:13px}.owner-alerts .alert-table{margin-right:6px;font-weight:600}.owner-links{flex-wrap:wrap;gap:8px;display:flex}.owner-links a{border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);border-radius:12px;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.owner-links a:hover{border-color:var(--accent)}.owner-error{color:var(--danger);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.platform-banner{border:1px dashed var(--warn);background:color-mix(in oklab, var(--warn) 12%, transparent);border-radius:12px;padding:10px 14px;font-weight:600}.company-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.company-title{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.company-meta{color:var(--muted);gap:2px;font-size:14px;display:grid}.company-meta strong{color:var(--text)}.company-actions{flex-wrap:wrap;gap:8px;display:flex}.company-actions .btn{flex:none}.hub-status{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.hub-status:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px}.hub-status[data-online]:before{background:var(--accent)}@media (width<=480px){.owner-date input[type=date]{max-width:150px}}.staff-hint{color:var(--muted);border:1px dashed var(--border);border-radius:12px;padding:10px 12px;font-size:14px}.staff-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.staff-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar who""avatar tags""tables tables""actions actions";gap:6px 12px;min-width:0;padding:12px;display:grid}.staff-row[data-inactive]{opacity:.75}.staff-row[data-inactive] .staff-name{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--muted) 50%, transparent)}.staff-row .avatar{grid-area:avatar}.staff-who{grid-area:who;min-width:0;display:grid}.staff-name{overflow-wrap:anywhere;font-weight:650}.staff-role{color:var(--muted);font-size:13px}.staff-tags{flex-wrap:wrap;grid-area:tags;align-items:center;gap:6px;display:flex}.staff-tables{color:var(--muted);flex-wrap:wrap;grid-area:tables;align-items:center;gap:6px;font-size:13px;display:flex}.staff-tables .chip{cursor:default;min-height:30px;padding:0 10px;font-size:13px;font-weight:500}.staff-actions{flex-wrap:wrap;grid-area:actions;gap:8px;margin-top:4px;display:flex}.staff-actions .btn{flex:auto;min-height:44px}@media (width>=1280px){.staff-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:0;overflow:hidden}.staff-row{border:none;border-top:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:36px minmax(180px,1.4fr) minmax(140px,1fr) minmax(0,1.6fr) auto;grid-template-areas:"avatar who tags tables actions";align-items:center;gap:12px;padding:10px 16px}.staff-row:first-child{border-top:none}.staff-row:hover{background:color-mix(in oklab, var(--surface-2) 60%, transparent)}.staff-actions{flex-wrap:nowrap;justify-content:flex-end;margin-top:0}.staff-actions .btn{flex:none}}.table-picker{flex-wrap:wrap;gap:6px;display:flex}.table-picker .chip{min-height:44px}.pin-input{letter-spacing:.3em;font-variant-numeric:tabular-nums;max-width:200px}.audit-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.audit-filters .field select,.audit-filters .field input{min-height:44px}.audit-filters .field-reset{align-items:end;display:flex}.audit-filters .field-reset .btn{width:100%}.audit-count{color:var(--muted);font-size:13px}.audit-list{margin:0;padding:0;list-style:none;display:grid}.audit-entry{border-top:1px solid var(--border)}.audit-entry:first-child{border-top:none}.audit-entry>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main time""meta meta";align-items:start;gap:2px 12px;min-height:44px;padding:10px 4px;list-style:none;display:grid}.audit-entry>summary::-webkit-details-marker{display:none}.audit-entry>summary:hover{background:color-mix(in oklab, var(--surface-2) 60%, transparent)}.audit-main{flex-wrap:wrap;grid-area:main;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.audit-actor{font-weight:650}.audit-actor[data-system]{color:var(--muted);font-weight:500}.audit-action{overflow-wrap:anywhere}.audit-action[data-raw]{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.audit-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:time;font-size:13px}.audit-meta{color:var(--muted);flex-wrap:wrap;grid-area:meta;align-items:center;gap:4px 8px;font-size:13px;display:flex}.audit-meta .tag{font-size:12px}.audit-entity{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.audit-more{color:var(--accent)}.audit-entry[open] .audit-more:after{content:" ▴"}.audit-entry:not([open]) .audit-more:after{content:" ▾"}.audit-data{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);border-radius:10px;margin:0 4px 12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45}.audit-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding-top:4px;display:flex}.audit-foot .btn{flex:none}@media (width<=480px){.audit-entry>summary{grid-template-columns:minmax(0,1fr);grid-template-areas:"time""main""meta"}}.keys-modal{gap:16px;display:grid}.keys-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.key-row{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.key-row[data-status=revoked],.key-row[data-status=expired]{opacity:.7}.key-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.key-prefix{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:650}.key-label{color:var(--muted);overflow-wrap:anywhere}.key-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;margin:0;font-size:13px;display:grid}.key-meta>div{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.key-meta dt{color:var(--muted)}.key-meta dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.key-actions{justify-content:flex-end;display:flex}.keys-issue{border-top:1px solid var(--border);padding-top:12px}.keys-issue h3,.key-issued h3{margin:0 0 8px;font-size:16px}.key-issued{border:1px solid color-mix(in oklab, var(--accent) 50%, var(--border));background:color-mix(in oklab, var(--accent) 8%, var(--surface));border-radius:12px;gap:10px;padding:12px 14px;display:grid}.key-warning{color:var(--warn);margin:0;font-size:14px;font-weight:600}.copy-box{gap:4px;display:grid}.copy-label{color:var(--muted);font-size:13px}.copy-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.copy-value{-webkit-user-select:all;user-select:all;flex:220px;min-width:0;min-height:44px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.copy-row .btn{flex:none;min-height:44px}.copy-box[data-big] .copy-value{letter-spacing:.08em;min-height:56px;font-size:22px;font-weight:650}@media (width<=480px){.copy-box[data-big] .copy-value{letter-spacing:.04em;font-size:17px}}.role-picker{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.role-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:6px 10px;display:flex}.role-option input{flex:none;width:20px;height:20px}.role-option[data-disabled]{opacity:.6;cursor:not-allowed}.short-key-input{letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center;max-width:220px;font-size:24px}.short-key-reveal{letter-spacing:.12em;font-variant-numeric:tabular-nums;text-align:center;-webkit-user-select:all;user-select:all;margin:0;font-size:44px;font-weight:700}.attempts{gap:10px;display:grid}.attempts-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.attempts-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.attempts-table{border-collapse:collapse;width:100%;font-size:14px}.attempts-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:600}.attempts-table td{border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:8px}.attempts-time{white-space:nowrap;font-variant-numeric:tabular-nums}
