*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:14px;line-height:1.4;color-scheme:dark;color:#fff;background-color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--fg: #f2f3f4;--fg-2: #c3c8cc;--fg-3: #9aa0a6;--fg-on-amber: #1a0e00;--tap: 44px;--tap-primary: 56px;--sev-error-bg: #2a0e0c;--sev-error-border: #7f1d1d;--sev-error-fg: #f2b8b2;--sev-warn-bg: #2a2010;--sev-warn-border: #7a5a12;--sev-warn-fg: #e8c37a;--sev-ok-bg: #0f2413;--sev-ok-border: #2e7d32;--sev-ok-fg: #a5d6a7;--sev-info-bg: #12233a;--sev-info-border: #2d6cbf;--sev-info-fg: #9ec7f5}.emoji{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-style:normal}html,body,#root{margin:0;padding:0;height:100%;overflow:hidden}button{font-family:inherit;cursor:pointer}:focus{outline:none}:focus-visible{outline:2px solid #1976d2;outline-offset:2px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.kds-header{display:flex;flex-direction:column;background:#0a0a0a;border-bottom:2px solid #222;flex-shrink:0;position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.kds-header__main{display:flex;align-items:center;gap:10px;padding:0 12px;height:64px;min-width:0}.kds-header__brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.kds-header__logo{font-size:22px}.kds-header__name{white-space:nowrap;font-size:17px;font-weight:700;letter-spacing:.05em;color:#fff;text-transform:uppercase}.kds-header__nav{display:flex;gap:4px;flex-shrink:0}.kds-header__tab{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;min-height:44px;border-radius:6px;border:1px solid #333;background:transparent;color:#888;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .15s,color .15s;touch-action:manipulation}.kds-header__tab:hover{background:#1a1a1a;color:#fff}.kds-header__tab--active{background:#1e3a5f;color:#fff;border-color:#2d6cbf}.kds-header__tab:focus-visible{outline:2px solid #4fc3f7;outline-offset:3px}.kds-header__tab--has-dot:after{content:"";position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:#f44336;animation:dot-pulse 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.kds-header__tab--has-dot:after{animation:none}}.kds-header__stats{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden}.kds-header__right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.kds-header__clock{display:flex;flex-direction:column;align-items:flex-end}.kds-header__time{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.kds-header__date{font-size:11px;color:var(--fg-3)}.kds-badge{padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.kds-badge--new{background:#1565c0;color:#fff}.kds-badge--ready{background:#2e7d32;color:#fff}.kds-badge--urgent{background:#b71c1c;color:#fff}.kds-badge--neutral{background:#2a2a2a;color:#aaa;border:1px solid #333}.kds-badge--pulse{animation:pulse-badge 1.2s ease-in-out infinite}.kds-badge--sound,.kds-badge--auth,.kds-badge--sound-test{min-height:var(--tap)}.kds-badge--sound{background:#2a2a2a;color:#aaa;border:1px solid #333;cursor:pointer;transition:all .2s ease;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px}.kds-badge--sound:hover{background:#333;border-color:#444}.kds-badge--sound-on{background:#1b5e20;color:#a5d6a7;border-color:#2e7d32}.kds-badge--sound-on:hover{background:#2e7d32;border-color:#43a047}.kds-badge--sound-off{background:#424242;color:#9e9e9e;border-color:#616161}.kds-badge--sound-off:hover{background:#616161;border-color:#757575}.kds-badge--sound-test{background:#1a237e;color:#9fa8da;border:1px solid #283593;cursor:pointer;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;transition:background .15s,border-color .15s}.kds-badge--sound-test:hover{background:#283593;border-color:#3949ab;color:#c5cae9}.kds-badge--sound-warn{background:#7a4600;color:#ffcc80;border-color:#e65100;animation:pulse-badge 1.4s ease-in-out infinite}.kds-badge--sound-warn:hover{background:#e65100;border-color:#ff8f00}.kds-sound-wrap{position:relative}.kds-sound-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:200;background:#141414;border:1px solid #333;border-radius:8px;padding:12px 14px;min-width:210px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 24px #0009}.kds-sound-panel__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.kds-sound-panel__label{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.06em}.kds-sound-panel__toggle{min-height:var(--tap);padding:4px 14px;border-radius:4px;border:1px solid #444;background:#2a2a2a;color:#888;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.08em;transition:background .15s,color .15s}.kds-sound-panel__toggle--on{background:#1b5e20;color:#a5d6a7;border-color:#2e7d32}.kds-sound-panel__select{min-height:var(--tap);background:#1e1e1e;color:#ddd;border:1px solid #444;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.kds-sound-panel__test{width:100%;min-height:var(--tap);padding:7px 0;border-radius:5px;border:1px solid #283593;background:#1a237e;color:#9fa8da;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.06em;transition:background .15s}.kds-sound-panel__test:hover{background:#283593;color:#c5cae9}.kds-sound-panel__divider{border:none;border-top:1px solid #2a2a2a;margin:2px 0}.kds-sound-panel__warn{margin:0;padding:8px 10px;background:#3e1f00;border:1px solid #7a3c00;border-radius:5px;color:#ffcc80;font-size:11px;line-height:1.4}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.55}}.kds-conn-wrap{position:relative}.kds-conn{display:inline-flex;align-items:center;gap:5px;min-height:var(--tap);padding:0 10px;border:1px solid transparent;background:#1a1a1a;font-size:12px;font-weight:700;letter-spacing:.04em;border-radius:6px;white-space:nowrap;cursor:pointer}.kds-conn:hover{border-color:#444}.kds-conn__warn{font-size:12px}.kds-conn-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:300px;padding:14px;border:1px solid #333;border-radius:10px;background:#141414;box-shadow:0 10px 30px #000000a6;display:flex;flex-direction:column;gap:10px}.kds-conn-panel__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.kds-conn-panel__label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.kds-conn-panel__select{min-height:var(--tap);padding:0 8px;border:1px solid #444;border-radius:6px;background:#1e1e1e;color:var(--fg-2);font-size:13px;cursor:pointer}.kds-conn-panel__note{margin:0;font-size:12px;line-height:1.45;color:var(--fg-3)}.kds-conn-panel__warn{margin:0;padding:8px 10px;border:1px solid #7a3c00;border-radius:6px;background:#3e1f00;color:#ffcc80;font-size:12px;line-height:1.4}.kds-conn--connected{color:#00e676;background:#00e6761a}.kds-conn--reconnecting{color:#ffea00;background:#ffea001a}.kds-conn--disconnected{color:#f44336;background:#f443361a}.kds-conn--failover{color:#ffb300;background:#ffb3001a}.kds-badge--auth{background:#2a2a2a;color:#ddd;border:1px solid #333}.kds-badge--auth-on{background:#123456;color:#fff;border-color:#245a9e}.kds-badge--auth-status{background:#0b5345;color:#b2f5ea;border:1px solid #117a67;font-size:12px;padding:4px 8px;margin-left:6px}.kds-badge--auth-error{background:#b71c1c;color:#fff;border:1px solid #7f1a1a;font-size:12px;padding:4px 8px;margin-left:6px}.kds-badge--auth-warn{border-color:#e65100}.kds-auth-wrap{display:flex;align-items:center;gap:4px}.kds-auth-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:4px;vertical-align:middle;flex-shrink:0}.kds-auth-dot--ok{background:#00e676}.kds-auth-dot--warn{background:#ff6d00;animation:pulse-badge 1.2s ease-in-out infinite}.kds-auth-logout{width:var(--tap);height:var(--tap);border-radius:4px;border:1px solid #333;background:#1a1a1a;color:var(--fg-3);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;touch-action:manipulation}.kds-auth-logout:hover{background:#c62828;color:#fff;border-color:#c62828}.kds-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kds-header__history-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f44336;margin-left:5px;vertical-align:middle;animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.kds-overlay{position:fixed;inset:0;z-index:150;background:transparent}@media(max-width:820px){.kds-header__main{gap:6px;padding:0 10px;height:56px}.kds-header__name,.kds-header__tab-text,.kds-header__clock,.kds-conn__text,.kds-badge--auth-status,.kds-badge--auth-error{display:none}}@media(min-width:821px)and (max-width:1100px){.kds-header__main{gap:8px;padding:0 12px}.kds-header__date{display:none}.kds-badge--auth-status{font-size:10px;padding:3px 6px}}@media(max-width:600px){.kds-header__stats{display:none}}.filter-bar{background:#111;border-bottom:1px solid #222;flex-shrink:0}.filter-bar__row{display:flex;align-items:center;gap:8px;padding:4px 12px}.fb-segmented{display:flex;border:1px solid #2d2d2d;border-radius:6px;overflow:hidden;flex-shrink:0}.fb-seg{min-height:var(--tap);padding:0 18px;border:none;background:#1a1a1a;color:var(--fg-3);font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.fb-seg+.fb-seg{border-left:1px solid #2d2d2d}.fb-seg:hover{background:#262626;color:var(--fg-2)}.fb-seg--on{background:#1b3a1e;color:#a5d6a7}.fb-counts{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;flex-shrink:1}.fb-counts .kds-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.fb-menu{position:relative;flex-shrink:0}.fb-trigger{display:flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 12px;border:1px solid #2d2d2d;border-radius:6px;background:#1a1a1a;color:var(--fg-3);font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.fb-trigger:hover{background:#262626;color:var(--fg-2)}.fb-trigger--on{border-color:#2d6cbf;color:#fff;background:#16273d}.fb-trigger__count{min-width:20px;padding:1px 6px;border-radius:10px;background:#2d6cbf;color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.fb-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:280px;padding:14px;border:1px solid #333;border-radius:10px;background:#141414;box-shadow:0 10px 30px #000000a6;display:flex;flex-direction:column;gap:14px}.fb-panel__group{display:flex;flex-direction:column;gap:7px}.fb-panel__label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-3)}.fb-panel__opts{display:flex;flex-wrap:wrap;gap:6px}.fb-opt{min-height:var(--tap);padding:0 14px;border:1px solid #2d2d2d;border-radius:6px;background:#1a1a1a;color:var(--fg-2);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.fb-opt:hover{background:#262626}.fb-opt--on{background:#1e3a5f;color:#fff;border-color:#2d6cbf}.fb-panel__clear{min-height:var(--tap);border:1px solid #3a3a3a;border-radius:6px;background:transparent;color:var(--fg-2);font-size:13px;font-weight:600;cursor:pointer}.fb-panel__clear:hover:not(:disabled){background:#262626;color:#fff}.fb-panel__clear:disabled{opacity:.4;cursor:default}.fb-panel__note{margin:0;font-size:12px;color:var(--fg-3)}.fb-refresh{margin-left:auto;display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;border:1px solid #333;border-radius:6px;background:transparent;color:var(--fg-3);cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.fb-refresh:hover{color:#fff;border-color:#555}.filter-bar__bulk{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#1a1200;border-top:1px solid #3d2e00;flex-wrap:wrap}.bulk-count{font-size:13px;font-weight:700;color:#ffca28;margin-right:4px}.bulk-confirm-label{font-size:13px;font-weight:700;color:#fff;margin-right:4px}.bulk-btn{padding:6px 16px;border-radius:5px;border:none;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.04em;min-height:var(--tap);transition:opacity .15s}.bulk-btn:hover{opacity:.85}.bulk-btn--bump{background:#e65100;color:var(--fg-on-amber)}.bulk-btn--complete{background:#2e7d32;color:#fff}.bulk-btn--clear{background:#2a2a2a;color:#aaa;border:1px solid #444}@media(max-width:900px){.fb-counts .kds-badge--neutral{display:none}}@media(max-width:720px){.fb-trigger__text{display:none}.fb-seg{padding:0 14px}.fb-panel{min-width:min(280px,calc(100vw - 32px))}}.tk{display:flex;align-items:flex-start;gap:calc(9px * var(--tk-scale, 1));padding:calc(7px * var(--tk-scale, 1)) calc(8px * var(--tk-scale, 1));border-radius:7px;background:#ffffff06;cursor:pointer;list-style:none}.tk:hover{background:#ffffff0d}.tk--combo{background:#ffb3000f;border-left:3px solid #ffb300;padding-left:calc(8px * var(--tk-scale, 1) - 3px)}.tk--done{opacity:.3;cursor:default}.tk--done .tk__name{text-decoration:line-through}.tk--done .tk__part,.tk--done .tk__opt{display:none}.tk__check{position:relative;flex-shrink:0;width:calc(36px * var(--tk-scale, 1));height:calc(36px * var(--tk-scale, 1));border-radius:6px;border:2px solid #555;background:transparent;color:var(--fg-3);font-size:calc(17px * var(--tk-scale, 1));cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,border-color .12s;touch-action:manipulation;-webkit-user-select:none;user-select:none}.tk__check:before{content:"";position:absolute;inset:-4px}.tk__check:hover:not(:disabled){border-color:#43a047;color:#81c784}.tk__check--done{background:#2e7d32;border-color:#43a047;color:#fff}.tk__check:disabled{opacity:.3;cursor:default}.tk__body{flex:1;min-width:0}.tk__head{display:flex;align-items:baseline;gap:calc(7px * var(--tk-scale, 1));min-width:0}.tk__qty{flex-shrink:0;min-width:calc(32px * var(--tk-scale, 1));padding:1px calc(6px * var(--tk-scale, 1));border-radius:5px;background:#1e3a5f;color:#fff;font-size:calc(18px * var(--tk-scale, 1));font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.tk__qty--high{background:#e65100;color:var(--fg-on-amber)}.tk__name{flex:1;min-width:0;font-size:calc(20px * var(--tk-scale, 1));font-weight:700;line-height:1.2;color:#f5f5f5;overflow-wrap:anywhere}.tk--combo .tk__name{font-size:calc(22px * var(--tk-scale, 1));font-weight:800;text-transform:uppercase;letter-spacing:.01em}.tk__variant{flex-shrink:0;padding:1px calc(7px * var(--tk-scale, 1));border-radius:5px;background:#ffb300;color:#241a00;font-size:calc(13px * var(--tk-scale, 1));font-weight:800;text-transform:uppercase;white-space:nowrap}.tk__part{display:flex;align-items:baseline;gap:calc(6px * var(--tk-scale, 1));margin-top:calc(3px * var(--tk-scale, 1));padding-left:calc(39px * var(--tk-scale, 1));font-size:calc(19px * var(--tk-scale, 1));font-weight:700;line-height:1.25;color:#e8e8e8}.tk__part-qty{flex-shrink:0;color:#ffb300;font-weight:800;font-variant-numeric:tabular-nums}.tk__part-name{min-width:0;overflow-wrap:anywhere}.tk__swap{flex-shrink:0;color:#4fc3f7;font-size:calc(15px * var(--tk-scale, 1))}.tk__part--critical{color:#ff8a80}.tk__opt{margin-top:calc(1px * var(--tk-scale, 1));padding-left:calc(58px * var(--tk-scale, 1));font-size:calc(17px * var(--tk-scale, 1));font-weight:500;line-height:1.25;color:#9fd3a0;overflow-wrap:anywhere}.tk__opt--critical{color:#fff;background:#c62828;border-radius:4px;padding-top:1px;padding-bottom:1px;font-weight:800}.tk__note{margin-top:calc(4px * var(--tk-scale, 1));padding:calc(2px * var(--tk-scale, 1)) calc(7px * var(--tk-scale, 1));margin-left:calc(39px * var(--tk-scale, 1));border-radius:5px;background:#ffd54f24;color:#ffd54f;font-size:calc(16px * var(--tk-scale, 1));font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:var(--tk-note-lines, 3);-webkit-box-orient:vertical;overflow:hidden}.tk__note--critical{background:#c62828;color:#fff;font-weight:800}.tk__more{margin-top:calc(3px * var(--tk-scale, 1));padding-left:calc(39px * var(--tk-scale, 1));font-size:calc(16px * var(--tk-scale, 1));font-weight:700;color:#4fc3f7}:root{--c-new: #1565c0;--c-new-bg: #0d2040;--c-new-border: #1976d2;--c-inprog: #e65100;--c-inprog-bg: #2a1500;--c-inprog-border: #f57c00;--c-ready: #2e7d32;--c-ready-bg: #0d2610;--c-ready-border: #43a047;--c-completed: #424242;--c-completed-bg: #161616;--c-completed-border: #555;--c-cancelled: #c62828;--c-cancelled-bg: #1a0000;--c-cancelled-border: #e53935}.order-card{background:#1a1a1a;border-radius:8px;border:2px solid #2d2d2d;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,box-shadow .2s;width:100%}.order-card.status-new{border-color:var(--c-new-border);background:var(--c-new-bg)}.order-card.status-inprogress{border-color:var(--c-inprog-border);background:var(--c-inprog-bg)}.order-card.status-ready{border-color:var(--c-ready-border);background:var(--c-ready-bg)}.order-card.status-completed{border-color:var(--c-completed-border);background:var(--c-completed-bg);opacity:.65}.order-card.status-cancelled{border-color:var(--c-cancelled-border);background:var(--c-cancelled-bg);opacity:.6}.order-card--selected{outline:2px solid #ffca28;outline-offset:-2px}.order-card--terminal{opacity:.6}.order-card--sheet-open{outline:2px solid #4fc3f7;outline-offset:-2px;box-shadow:0 0 0 4px #4fc3f71f}.order-card--urgent{box-shadow:0 0 0 2px #ff6d00,0 0 12px #e6510066}.order-card--critical{animation:critical-flash 1s ease-in-out infinite}@keyframes critical-flash{0%,to{box-shadow:0 0 0 2px #f44336,0 0 16px #f4433680}50%{box-shadow:0 0 0 3px #ff1744,0 0 24px #ff1744b3}}@media(prefers-reduced-motion:reduce){.order-card--critical{animation:none;box-shadow:0 0 0 2px #f44336}.order-card,.oc-footer-progress-fill{transition:none}}.oc-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;min-height:48px;gap:6px}.oc-header__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.oc-number{font-size:clamp(20px,2.2vw,26px);font-weight:800;color:#fff;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.oc-status-pill{font-size:12px;font-weight:800;padding:3px 8px;border-radius:4px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.oc-status-pill.status-new{background:var(--c-new);color:#fff}.oc-status-pill.status-inprogress{background:var(--c-inprog);color:#fff}.oc-status-pill.status-ready{background:var(--c-ready);color:#fff}.oc-status-pill.status-completed{background:var(--c-completed);color:#ccc}.oc-status-pill.status-cancelled{background:var(--c-cancelled);color:#fff}.oc-timer{font-size:12px;font-weight:700;color:#888;font-variant-numeric:tabular-nums;white-space:nowrap}.oc-timer--urgent{color:#ff6d00}.oc-priority{font-size:11px;font-weight:800;padding:2px 7px;border-radius:4px;letter-spacing:.08em;white-space:nowrap}.priority-rush{background:#e65100;color:var(--fg-on-amber)}.priority-vip{background:#ffd600;color:#111}.oc-select-hit{position:relative;display:flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:pointer;flex-shrink:0}.oc-select-hit:before{content:"";position:absolute;inset:-12px}.oc-select{width:20px;height:20px;margin:0;accent-color:#ffca28;cursor:pointer;flex-shrink:0}.oc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0 12px 8px}.oc-type{font-size:12px;color:#bbb}.oc-table{font-size:12px;font-weight:700;color:#fff;background:#2a2a2a;padding:1px 7px;border-radius:4px;white-space:nowrap}.oc-pickup{font-size:12px;font-weight:800;color:#111;background:#ffca28;padding:1px 7px;border-radius:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.oc-platform{font-size:11px;color:var(--fg-3);background:#222;padding:1px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.oc-ext-id{font-size:11px;font-weight:700;color:#81c784;background:#81c7841a;border:1px solid rgba(129,199,132,.25);padding:1px 7px;border-radius:4px;font-variant-numeric:tabular-nums}.oc-customer{font-size:12px;color:#bbb}.oc-notes{margin:0 12px 6px;padding:5px 9px;background:#ffffff0a;border-left:3px solid #666;border-radius:0 4px 4px 0;font-size:13px;color:#ddd}.oc-notes--cancel{border-left-color:#c62828;color:#ef9a9a}.oc-notes--order{border-left-color:#ffd54f;color:#ffd54f;background:#ffd54f1a;font-weight:600;line-height:1.35;cursor:pointer;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.oc-notes--order:hover{background:#ffd54f29}.oc-allergy-banner{display:flex;align-items:center;gap:6px;margin:0 12px 6px;padding:5px 10px;background:#b71c1c;border-radius:4px;font-size:12px;font-weight:800;color:#fff;letter-spacing:.05em;text-transform:uppercase}.oc-items{padding:0 10px 4px}.oc-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.oc-see-all-warn{color:#ef9a9a;font-weight:800}.oc-overflow-row{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 2px;border-top:1px solid rgba(255,255,255,.05);list-style:none}.oc-overflow-count{font-size:12px;color:var(--fg-3)}.oc-see-all-btn{font-size:12px;font-weight:700;color:#4fc3f7;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;touch-action:manipulation}.oc-see-all-btn:hover{background:#4fc3f71a}.oc-items-divider{border:none;border-top:1px dashed #2a2a2a;margin:3px 0}.oc-footer-bar{display:flex;align-items:center;gap:8px;padding:6px 12px 8px;border-top:1px solid rgba(255,255,255,.06)}.oc-footer-progress{display:flex;align-items:center;gap:5px;flex:0 0 44%;min-width:0}.oc-footer-progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.oc-footer-progress-fill{height:100%;background:#43a047;border-radius:3px;transition:width .25s ease}.oc-footer-fraction{font-size:12px;font-weight:700;color:#888;white-space:nowrap;font-variant-numeric:tabular-nums}.oc-footer-stations{flex:1;display:flex;gap:5px;overflow:hidden;align-items:center}.oc-station-chip{font-size:12px;font-weight:700;padding:2px 7px;border-radius:4px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#ccc;white-space:nowrap;flex-shrink:0}.oc-station-chip--done{color:#43a047;border-color:#43a0474d;background:#43a04714}.oc-actions{display:flex;gap:16px;padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.oc-btn{border:none;border-radius:6px;font-size:16px;font-weight:800;cursor:pointer;transition:filter .12s;min-height:56px;letter-spacing:.04em;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.oc-btn:hover{filter:brightness(1.15)}.oc-btn:active{filter:brightness(.9);transform:scale(.98)}.oc-btn--bump{flex:1;color:#fff;background:#1e3a5f}.oc-btn--bump.status-new{background:var(--c-new)}.oc-btn--bump.status-inprogress{background:var(--c-inprog);color:var(--fg-on-amber)}.oc-btn--bump.status-ready{background:var(--c-ready)}.oc-btn--cancel{width:56px;background:#2a0a0a;color:#ef9a9a;border:1px solid #5a1010;font-size:20px;flex-shrink:0}.oc-btn--cancel:hover{background:#c62828;color:#fff}.oc-cancel-sheet{border-top:1px solid #5a1010;background:#1a0505;padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px;animation:sheet-in .15s ease}@keyframes sheet-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.oc-cancel-sheet__title{font-size:13px;font-weight:700;color:#ef9a9a;letter-spacing:.01em;margin:0 0 2px}.oc-cancel-sheet__reasons{display:flex;flex-wrap:wrap;gap:5px}.oc-cancel-sheet__reason{padding:5px 10px;border-radius:5px;border:1px solid #5a1010;background:#2a0a0a;color:#ef9a9a;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;touch-action:manipulation}.oc-cancel-sheet__reason:hover{background:#c62828;color:#fff;border-color:#c62828}.oc-cancel-sheet__dismiss{align-self:flex-start;background:transparent;border:1px solid #333;color:var(--fg-3);font-size:11px;font-weight:600;padding:3px 9px;border-radius:4px;cursor:pointer}.oc-cancel-sheet__dismiss:hover{color:#aaa;border-color:#555}@media(max-width:480px){.oc-number{font-size:20px}.oc-btn{min-height:50px;font-size:14px}}.ois-backdrop{position:fixed;inset:0;background:#0000;z-index:290;transition:background .28s ease;pointer-events:none}.ois-backdrop--visible{background:#00000059;pointer-events:auto}.ois-sheet{position:fixed;bottom:0;left:0;right:0;z-index:300;background:#141414;border-radius:16px 16px 0 0;border-top:1px solid #2a2a2a;display:flex;flex-direction:column;height:75vh;padding-bottom:max(20px,env(safe-area-inset-bottom));box-shadow:0 -8px 40px #000000b3;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);overscroll-behavior:contain}.ois-sheet--open{transform:translateY(0)}.ois-sheet--dragging{transition:none}@media(orientation:portrait){.ois-sheet{height:92vh}}@media(orientation:landscape)and (min-width:600px){.ois-sheet{inset:50% auto auto 50%;transform:translate(-50%,-50%) translateY(100vh);width:min(700px,92vw);height:min(90vh,920px);border-radius:12px;border:1px solid #333;padding-bottom:0;box-shadow:0 8px 60px #000000d9}.ois-sheet--open{transform:translate(-50%,-50%) translateY(0)}.ois-drag-handle{display:none}.ois-backdrop--visible{background:#0009}}@media(prefers-reduced-motion:reduce){.ois-sheet,.ois-backdrop,.ois-progress-inline-fill{transition:none}}.ois-drag-handle{display:flex;justify-content:center;align-items:center;padding:10px 0 6px;flex-shrink:0;cursor:grab;touch-action:none}.ois-drag-handle__bar{width:40px;height:5px;border-radius:3px;background:#444}.ois-header{flex-shrink:0;padding:8px 12px 6px;border-bottom:1px solid #2a2a2a;background:#141414;display:flex;flex-direction:column;gap:4px}.ois-header-compact{display:flex;align-items:center;gap:10px;min-height:44px}.ois-header__order{font-size:20px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;flex-shrink:0}.ois-header__customer{font-size:13px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;flex-shrink:1}.ois-progress-inline{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.ois-progress-inline-bar{flex:1;height:7px;background:#ffffff1a;border-radius:4px;overflow:hidden}.ois-progress-inline-fill{height:100%;background:#43a047;border-radius:4px;transition:width .25s ease}.ois-progress-inline-frac{font-size:13px;font-weight:700;color:#aaa;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.ois-header__actions{display:flex;gap:8px;flex-shrink:0;margin-left:4px}.ois-header__subtitle{font-size:11px;color:var(--fg-3);padding:0 2px}.ois-prep-all-btn{min-height:44px;min-width:96px;padding:0 16px;border-radius:6px;border:1px solid #2e7d32;background:#1b5e20;color:#a5d6a7;font-size:14px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:background .15s}.ois-prep-all-btn:disabled{opacity:.35;cursor:default}.ois-prep-all-btn:not(:disabled):hover{background:#2e7d32}.ois-close-btn{width:44px;height:44px;border-radius:6px;border:1px solid #333;background:#2a2a2a;color:#aaa;font-size:20px;cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:center;transition:background .15s}.ois-close-btn:hover{background:#3a3a3a}.ois-body{--tk-scale: 1.15;--tk-note-lines: 99;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 0}.ois-order-note{margin:0 8px 10px;padding:10px 12px;border-left:3px solid #ffd54f;border-radius:0 6px 6px 0;background:#ffd54f1f;color:#ffd54f;font-size:calc(17px * var(--tk-scale, 1));font-weight:600;line-height:1.35;overflow-wrap:anywhere}.ois-order-note__label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#c9a227;margin-bottom:2px}.ois-station-group{margin-bottom:4px}.ois-station-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px;font-size:13px;font-weight:800;color:#888;text-transform:uppercase;letter-spacing:.08em}.ois-station-fraction{font-size:13px;font-weight:700;color:var(--fg-3);font-variant-numeric:tabular-nums}.ois-item-list{list-style:none;margin:0;padding:0 8px;display:flex;flex-direction:column;gap:4px}.ois-items-divider{border:none;border-top:2px dashed #2a2a2a;margin:4px 0}.ois-footer{flex-shrink:0;display:flex;gap:8px;padding:10px 16px 12px;border-top:1px solid rgba(255,255,255,.06);background:#141414}.ois-bump-btn{flex:1;min-height:64px;border:none;border-radius:6px;font-size:17px;font-weight:800;cursor:pointer;letter-spacing:.05em;color:#fff;touch-action:manipulation;transition:filter .15s}.ois-bump-btn:hover{filter:brightness(1.15)}.ois-bump-btn--status-new{background:#1565c0}.ois-bump-btn--status-inprogress{background:#e65100;color:var(--fg-on-amber)}.ois-bump-btn--status-ready{background:#2e7d32}.ois-footer-close-btn{width:64px;height:64px;border-radius:6px;border:1px solid #333;background:#2a2a2a;color:#aaa;font-size:22px;cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:center;transition:background .15s}.ois-footer-close-btn:hover{background:#3a3a3a}.notice{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4}.notice--error{background:var(--sev-error-bg);border-color:var(--sev-error-border);color:var(--sev-error-fg)}.notice--warn{background:var(--sev-warn-bg);border-color:var(--sev-warn-border);color:var(--sev-warn-fg)}.notice--ok{background:var(--sev-ok-bg);border-color:var(--sev-ok-border);color:var(--sev-ok-fg)}.notice--info{background:var(--sev-info-bg);border-color:var(--sev-info-border);color:var(--sev-info-fg)}.notice__icon{font-size:15px;line-height:1;flex-shrink:0}.notice__text{flex:1;min-width:0}.notice__action{flex-shrink:0;min-height:var(--tap);padding:0 16px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .12s}.notice__action:hover{background:#ffffff17}.notice__dismiss{flex-shrink:0;min-width:var(--tap);min-height:var(--tap);border:none;background:transparent;color:inherit;font-size:14px;cursor:pointer;opacity:.75}.notice__dismiss:hover{opacity:1}.notice--bar{border-radius:0;border-width:0 0 1px}.kds{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#111}.kds-scroll-wrapper{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:relative}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--kds-card-min, 340px),100%),1fr));gap:var(--kds-gap, 14px);padding:var(--kds-gap, 14px);padding-bottom:max(var(--kds-gap, 14px),env(safe-area-inset-bottom));align-content:start;justify-content:start}.kds-grid--roomy{--kds-card-min: 460px;--kds-gap: 16px;--tk-scale: 1.1}.kds-grid--standard{--kds-card-min: 380px;--kds-gap: 14px;--tk-scale: 1}.kds-grid--dense{--kds-card-min: 300px;--kds-gap: 10px;--tk-scale: .88}.kds-scroll-indicator{position:sticky;bottom:0;left:0;right:0;width:100%;padding:8px 0;background:linear-gradient(to top,#0a0a0a 60%,transparent);color:#ffca28;font-size:13px;font-weight:700;letter-spacing:.06em;text-align:center;border:none;cursor:pointer;flex-shrink:0;z-index:10;transition:opacity .2s}.kds-scroll-indicator:hover{opacity:.8}.kds-loading,.kds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:var(--fg-3);font-size:16px;font-weight:600;letter-spacing:.05em}.kds-empty__icon{font-size:48px;color:#2e7d32}.kds-empty__icon--filtered{color:var(--fg-3)}.kds-empty__sub{font-size:13px;font-weight:500;letter-spacing:0;color:var(--fg-3)}.kds-empty__action{min-height:var(--tap);margin-top:4px;padding:0 18px;border:1px solid #2d6cbf;border-radius:6px;background:#1e3a5f;color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;cursor:pointer}.kds-empty__action:hover{background:#2d6cbf}.kds-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:999}.kds-modal{background:#1e1e1e;border:1px solid #444;border-radius:10px;padding:28px 32px;min-width:300px;text-align:center}.kds-modal__title{font-size:20px;font-weight:700;color:#fff;margin:0 0 8px}.kds-modal__sub{font-size:13px;color:#888;margin:0 0 24px}.kds-modal__actions{display:flex;flex-direction:column;gap:10px}.kds-modal__btn{padding:12px 0;border-radius:7px;border:none;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s}.kds-modal__btn:hover{opacity:.85}.kds-modal__btn--danger{background:#c62828;color:#fff}.kds-modal__btn--ghost{background:#2a2a2a;color:#aaa;border:1px solid #444}.dashboard{flex:1;overflow-y:auto;padding:16px;background:#111}.dashboard__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dashboard__title{font-size:20px;font-weight:800;color:#fff;margin:0;letter-spacing:.01em}.dashboard__updated{font-size:12px;color:var(--fg-3);margin-left:4px}.dashboard__refresh{min-height:var(--tap);margin-left:auto;background:transparent;border:1px solid #333;color:#888;padding:5px 14px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600}.dashboard__refresh:hover{color:#fff;border-color:#666}.dash-grid--primary{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:20px}.stat-card{background:#1a1a1a;border:1px solid #2d2d2d;border-top:3px solid #444;border-radius:8px;padding:16px 14px 12px;display:flex;flex-direction:column;gap:4px}.stat-card__value{font-size:36px;font-weight:900;color:#fff;line-height:1;font-variant-numeric:tabular-nums}.stat-card__label{font-size:13px;font-weight:600;color:var(--fg-2);letter-spacing:.01em}.stat-card__sub{font-size:11px;color:var(--fg-3)}.dash-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash-section{background:#1a1a1a;border:1px solid #2d2d2d;border-radius:8px;padding:14px 16px}.dash-section__title{font-size:14px;font-weight:600;color:var(--fg-2);letter-spacing:.01em;margin:0 0 12px}.dash-bars{display:flex;flex-direction:column;gap:8px}.dash-bar{display:flex;align-items:center;gap:8px}.dash-bar__label{font-size:13px;color:#ccc;width:90px;flex-shrink:0}.dash-bar__track{flex:1;height:10px;background:#2a2a2a;border-radius:5px;overflow:hidden}.dash-bar__fill{height:100%;background:#1565c0;border-radius:5px;transition:width .4s ease;min-width:4px}.dash-bar__fill--platform{background:#6a1b9a}.dash-bar__count{font-size:13px;font-weight:700;color:#fff;min-width:24px;text-align:right}.dash-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--fg-3);font-size:16px;gap:12px}.dash-state--error{color:#ef9a9a}.dash-state--error button{background:#c62828;color:#fff;border:none;padding:5px 14px;border-radius:5px;cursor:pointer}@media(max-width:700px){.dash-breakdown{grid-template-columns:1fr}}.undo-toast__stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:500;pointer-events:none}.undo-toast{position:relative;background:#1e1e1e;border:1px solid #333;border-radius:10px;min-width:300px;max-width:380px;overflow:hidden;pointer-events:all;box-shadow:0 4px 24px #0009;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.undo-toast__bar{position:absolute;top:0;left:0;height:3px;background:#ffca28;transition:width .05s linear}.undo-toast__body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.undo-toast__label{font-size:13px;font-weight:600;color:#ddd;flex:1;line-height:1.4}.undo-toast__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.undo-toast__btn{border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;padding:6px 14px;min-height:30px;transition:opacity .15s}.undo-toast__btn:hover{opacity:.85}.undo-toast__btn--undo{background:#ffca28;color:#111}.undo-toast__btn--dismiss{background:#2a2a2a;color:#888;padding:6px 10px;border:1px solid #333}@media(max-width:600px){.undo-toast__stack{bottom:12px;right:12px;left:12px}.undo-toast{min-width:unset;max-width:unset}}.history-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#111}.history-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 18px 12px;border-bottom:1px solid #222;flex-shrink:0}.history-panel__title{margin:0;font-size:19px;font-weight:700;color:#fff;letter-spacing:.01em}.history-panel__subtitle{margin:3px 0 0;font-size:13px;color:var(--fg-3)}.history-panel__close{min-width:var(--tap);min-height:var(--tap);background:transparent;border:none;color:var(--fg-3);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.history-panel__close:hover{color:#fff}.history-panel__toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #1a1a1a;flex-wrap:wrap;flex-shrink:0}.history-panel__group{display:flex;gap:4px}.history-panel__chip{padding:5px 10px;border-radius:5px;border:1px solid #2d2d2d;background:#1a1a1a;color:var(--fg-3);font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s;min-height:var(--tap)}.history-panel__chip:hover{background:#262626;color:#ccc}.history-panel__chip--on{background:#1e3a5f;color:#fff;border-color:#2d6cbf}.history-panel__refresh{margin-left:auto;background:transparent;border:1px solid #333;color:var(--fg-3);font-size:16px;width:var(--tap);height:var(--tap);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.history-panel__refresh:hover{color:#fff;border-color:#555}.history-panel__list{flex:1;min-height:0;overflow-y:auto;padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px;align-content:start}.history-panel__state{grid-column:1 / -1}.history-panel__state{text-align:center;color:var(--fg-3);font-size:13px;margin-top:40px}.history-panel__list>.notice{grid-column:1 / -1}.history-order{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:5px;transition:border-color .2s}.history-order--success{border-color:#2e7d32;background:#0d1f0f}.history-order__top{display:flex;align-items:center;gap:8px}.history-order__number{font-weight:700;font-size:14px;color:#fff;flex:1}.history-order__badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:4px}.history-order__badge--cancelled{background:#4a0000;color:#ff8a80}.history-order__badge--completed{background:#1b3a1e;color:#81c784}.history-order__time{font-size:11px;color:var(--fg-3)}.history-order__reason{font-size:12px;color:#ff8a80}.history-order__customer{font-size:12px;color:#888}.history-order__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.history-order__items{min-height:var(--tap);font-size:12px;color:var(--fg-3);background:transparent;border:none;padding:2px 0;display:flex;align-items:center;gap:5px;cursor:pointer;font-family:inherit}.history-order__items:hover:not(:disabled){color:#ccc}.history-order__items:disabled{color:var(--fg-3);cursor:default}.history-order__items-caret{font-size:9px;color:var(--fg-3)}.history-order__item-list{list-style:none;margin:6px 0 0;padding:8px 10px;background:#141414;border:1px solid #262626;border-radius:6px;display:flex;flex-direction:column;gap:6px}.history-order__item{display:flex;align-items:flex-start;gap:8px}.history-order__item-qty{font-size:12px;font-weight:700;color:#90caf9;min-width:26px;flex-shrink:0}.history-order__item-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.history-order__item-name{font-size:13px;color:#ddd;word-break:break-word}.history-order__item-mods{font-size:11px;color:#b0864a;word-break:break-word}.history-order__item-station{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);background:#1f1f1f;border-radius:4px;padding:2px 6px;flex-shrink:0}.history-order__restore{min-height:var(--tap);background:#1e3a5f;color:#90caf9;border:1px solid #2d6cbf;border-radius:5px;font-size:12px;font-weight:700;padding:5px 12px;cursor:pointer;transition:opacity .15s}.history-order__restore:hover{opacity:.85}.history-order__restore:disabled{opacity:.5;cursor:not-allowed}.history-order__restored{font-size:12px;font-weight:700;color:#81c784}.history-order__locked{font-size:11px;color:var(--fg-3)}.update-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 14px;border:1px solid var(--sev-info-border);border-radius:10px;background:var(--sev-info-bg);box-shadow:0 8px 24px #0000008c;animation:update-banner-in .25s ease}@keyframes update-banner-in{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}.update-banner__icon{font-size:18px;line-height:1}.update-banner__text{display:flex;flex-direction:column;gap:2px;min-width:0}.update-banner__title{font-size:13px;font-weight:700;color:#fff;white-space:nowrap}.update-banner__detail{font-size:11px;color:var(--sev-info-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-banner__refresh{background:#2d6cbf;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:700;padding:8px 14px;min-height:var(--tap);cursor:pointer;white-space:nowrap;transition:opacity .15s}.update-banner__refresh:hover{opacity:.88}.update-banner__dismiss{min-width:var(--tap);min-height:var(--tap);background:transparent;border:none;color:#6b7f96;font-size:14px;line-height:1;padding:6px 4px;cursor:pointer}.update-banner__dismiss:hover{color:#fff}@keyframes update-banner-in-wide{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:520px){.update-banner{left:12px;right:12px;transform:none;max-width:none;animation-name:update-banner-in-wide}.update-banner__detail{display:none}}.settings-page{flex:1;overflow-y:auto;padding:20px 22px 40px;display:flex;flex-direction:column;gap:14px;background:#0f0f0f}.settings-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.settings-page__title{margin:0;font-size:20px;font-weight:700;color:#fff;letter-spacing:.02em}.settings-page__subtitle{margin:4px 0 0;font-size:12px;color:var(--fg-3);max-width:60ch}.settings-page__actions{display:flex;align-items:center;gap:8px}.settings-search{min-height:var(--tap);width:240px;max-width:40vw;padding:0 12px;border:1px solid #333;border-radius:6px;background:#101010;color:var(--fg);font-family:inherit;font-size:14px}.settings-search::placeholder{color:var(--fg-3)}.settings-search:focus{outline:none;border-color:#2d6cbf}.settings-link{border:none;background:none;padding:0;color:#7fb0f0;font:inherit;text-decoration:underline;cursor:pointer}.settings-btn{background:#1a1a1a;color:#ccc;border:1px solid #2f2f2f;border-radius:6px;font-size:13px;font-weight:600;padding:8px 14px;min-height:var(--tap);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.settings-btn:hover:not(:disabled){background:#262626;color:#fff}.settings-btn:disabled{opacity:.45;cursor:not-allowed}.settings-btn--primary{background:#2d6cbf;border-color:#2d6cbf;color:#fff}.settings-btn--primary:hover:not(:disabled){background:#3b7fd6}.settings-btn--ghost{background:transparent;border-color:#333;color:#8fa5bd;padding:6px 10px;min-height:var(--tap);font-size:12px}.settings-state{color:var(--fg-3);font-size:13px;padding:20px 0}.settings-card{background:#161616;border:1px solid #262626;border-radius:10px;padding:16px 18px}.settings-card__title{margin:0 0 2px;font-size:15px;font-weight:700;letter-spacing:.01em;color:#7fa8dd}.settings-card__note{margin:0 0 8px;font-size:12px;color:var(--fg-3)}.settings-card__rows{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #222}.settings-row:first-child{border-top:none}.settings-row--dirty{background:#2d6cbf12}.settings-row__meta{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-row__label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#eee}.settings-row__key{font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--fg-3);word-break:break-all}.settings-row__badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.settings-row__audit{font-size:11px;color:#8fa1b4}.settings-tag{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8a8a8a;background:#202020;border-radius:4px;padding:2px 6px}.settings-tag--db{background:#12233a;color:#7fb0f0}.settings-tag--warn{background:#33260c;color:#e0b661}.settings-tag--lock{background:#241f1f;color:#a58a8a;text-transform:none}.settings-row__control{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-input{background:#101010;border:1px solid #333;border-radius:6px;color:#eee;font:13px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 10px;min-height:var(--tap);width:320px;max-width:46vw}.settings-input:focus{outline:none;border-color:#2d6cbf}.settings-input:disabled{color:var(--fg-3);background:#141414;cursor:not-allowed}.settings-toggle{background:#202020;border:1px solid #333;border-radius:6px;color:#999;font-size:12px;font-weight:700;padding:7px 14px;min-height:var(--tap);cursor:pointer}.settings-toggle--on{background:#12233a;border-color:#2d6cbf;color:#90caf9}.settings-savebar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:10px;margin:8px -22px -40px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #2d6cbf;background:#12233a;box-shadow:0 -8px 24px #00000080}.settings-savebar__text{margin-right:auto;font-size:14px;font-weight:600;color:var(--fg)}.settings-page--locked{align-items:center;justify-content:center}.settings-locked{text-align:center;color:var(--fg-3);max-width:380px}.settings-locked__icon{font-size:28px}.settings-locked h2{color:#ddd;font-size:17px;margin:10px 0 6px}.settings-locked p{font-size:13px;margin:0}@media(max-width:720px){.settings-row{flex-direction:column;align-items:stretch;gap:10px}.settings-input{width:100%;max-width:none}}.settings-keygen{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.settings-keygen__issued{margin-top:14px;padding:12px 14px;border:1px solid #4a3b12;border-radius:8px;background:#1c1708}.settings-keygen__warn{margin:0 0 8px;font-size:12px;font-weight:700;color:#e3b341}.settings-keygen__value{display:block;padding:10px 12px;border:1px solid #2f2f2f;border-radius:6px;background:#0f0f0f;color:#e6e6e6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all}.settings-keygen__row{display:flex;gap:8px;margin-top:10px}.settings-keygen__paste{margin:10px 0 0;font-size:12px;color:#999}.settings-btn--danger{background:#7f1d1d;border-color:#b71c1c;color:#fff}.settings-btn--danger:hover:not(:disabled){background:#b71c1c}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#111}button,a,[role=button]{touch-action:manipulation}button,.oc-item,.ois-item,.fb-chip{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{overscroll-behavior:none}.auth-gate{display:flex;flex:1;align-items:center;justify-content:center;padding:40px}.auth-gate__card{background:#1b1b1b;border:1px solid #333;padding:28px;border-radius:10px;color:#fff;text-align:center;min-width:320px}.auth-gate__card h2{margin:0 0 12px}.auth-gate__card button{padding:10px 14px;border-radius:6px;border:none;background:#1e3a5f;color:#fff;cursor:pointer}.leave-guard{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000b3}.leave-guard__card{width:min(420px,100%);padding:22px 24px;border:1px solid #333;border-radius:10px;background:#1a1a1a;color:var(--fg)}.leave-guard__card h2{margin:0 0 8px;font-size:18px}.leave-guard__card p{margin:0 0 18px;font-size:14px;color:var(--fg-2);line-height:1.5}.leave-guard__actions{display:flex;justify-content:flex-end;gap:10px}.leave-guard__btn{min-height:var(--tap);padding:0 16px;border:1px solid #3a3a3a;border-radius:6px;background:#262626;color:var(--fg);font-size:14px;font-weight:600;cursor:pointer}.leave-guard__btn:hover{background:#333}.leave-guard__btn--danger{background:#7f1d1d;border-color:#a32218}.leave-guard__btn--danger:hover{background:#a32218}.build-version{position:fixed;right:10px;bottom:6px;z-index:10000;color:#888;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;pointer-events:none;-webkit-user-select:text;user-select:text}.signin{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px calc(32px + env(safe-area-inset-bottom));overflow-y:auto}.signin__card{width:min(560px,100%);background:#161616;border:1px solid #2a2a2a;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px}.signin__head{display:flex;flex-direction:column;gap:4px}.signin__title{margin:0;font-size:24px;font-weight:700;color:var(--fg)}.signin__sub{margin:0;color:var(--fg-2);font-size:15px}.signin__screen{color:var(--sev-info-fg)}.signin__error{margin:0;padding:12px 14px;border-radius:10px;background:var(--sev-error-bg);border:1px solid var(--sev-error-border);color:var(--sev-error-fg);font-size:15px}.signin__muted{margin:0;color:var(--fg-3);font-size:14px}.signin__muted--small{font-size:13px}.signin__names{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.signin__name{min-height:var(--tap-primary);padding:10px 12px;border-radius:10px;border:1px solid #333;background:#1f1f1f;color:var(--fg);font-size:17px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.signin__name:hover,.signin__name:focus-visible{border-color:#2d6cbf;background:#1b2635}.signin__pad{display:flex;flex-direction:column;gap:16px;align-items:stretch}.signin__who{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.signin__who-name{font-size:20px;font-weight:700;color:var(--fg);overflow-wrap:anywhere}.signin__dots{display:flex;gap:12px;justify-content:center;min-height:20px}.signin__dot{width:16px;height:16px;border-radius:50%;border:2px solid #555}.signin__dot--on{background:var(--fg);border-color:var(--fg)}.signin__keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.signin__key{min-height:72px;border-radius:12px;border:1px solid #333;background:#222;color:var(--fg);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.signin__key:active{background:#2d2d2d}.signin__key--fn{font-size:17px;color:var(--fg-2)}.signin__key:disabled{opacity:.5;cursor:default}.signin__form,.signin__typed{display:flex;flex-direction:column;gap:10px}.signin__typed-row{display:flex;gap:10px}.signin__label{color:var(--fg-2);font-size:14px}.signin__input{min-height:var(--tap);padding:10px 12px;border-radius:10px;border:1px solid #333;background:#0f0f0f;color:var(--fg);font-size:17px;flex:1;min-width:0}.signin__input:focus-visible{outline:2px solid #2d6cbf;outline-offset:1px}.signin__submit{min-height:var(--tap-primary);border-radius:12px;border:none;background:#1e5fae;color:#fff;font-size:18px;font-weight:700;cursor:pointer;margin-top:4px}.signin__submit--inline{margin-top:0;padding:0 20px}.signin__submit:disabled{background:#2a3440;color:var(--fg-3);cursor:default}.signin__foot{display:flex;flex-direction:column;gap:8px;border-top:1px solid #262626;padding-top:14px}.signin__link{align-self:flex-start;min-height:var(--tap);padding:0;border:none;background:none;color:var(--sev-info-fg);font-size:15px;cursor:pointer}.signin__link:hover{text-decoration:underline}@media(max-width:420px){.signin__card{padding:18px}.signin__key{min-height:64px;font-size:24px}}
