:root{--ta-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ta-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ta-primary: #2563eb;--ta-primary-hover: #1d4ed8;--ta-primary-text: #ffffff;--ta-primary-soft: #eff6ff;--ta-bg: #ffffff;--ta-surface: #f8fafc;--ta-text: #0f172a;--ta-muted: #64748b;--ta-border: #e2e8f0;--ta-border-strong: #cbd5e1;--ta-focus: rgba(37, 99, 235, .35);--ta-danger: #b91c1c;--ta-danger-soft: #fef2f2;--ta-success: #15803d;--ta-success-soft: #f0fdf4;--ta-info-soft: #eff6ff;--ta-radius: 8px;--ta-radius-lg: 12px;--ta-brand-bg: radial-gradient(1200px 600px at 0% 0%, #1e3a8a 0%, #0f172a 55%, #020617 100%);--ta-brand-text: #e2e8f0;--ta-brand-muted: #94a3b8;--ta-brand-accent: #38bdf8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ta-primary: #3b82f6;--ta-primary-hover: #60a5fa;--ta-primary-soft: #172554;--ta-bg: #0b1120;--ta-surface: #111827;--ta-text: #e5e7eb;--ta-muted: #9ca3af;--ta-border: #1f2937;--ta-border-strong: #374151;--ta-focus: rgba(96, 165, 250, .4);--ta-danger: #f87171;--ta-danger-soft: #2a1215;--ta-success: #4ade80;--ta-success-soft: #0f2a1a;--ta-info-soft: #172554}}:root[data-theme=dark]{--ta-primary: #3b82f6;--ta-primary-hover: #60a5fa;--ta-primary-soft: #172554;--ta-bg: #0b1120;--ta-surface: #111827;--ta-text: #e5e7eb;--ta-muted: #9ca3af;--ta-border: #1f2937;--ta-border-strong: #374151;--ta-focus: rgba(96, 165, 250, .4);--ta-danger: #f87171;--ta-danger-soft: #2a1215;--ta-success: #4ade80;--ta-success-soft: #0f2a1a;--ta-info-soft: #172554}.ta-auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-family:var(--ta-font);color:var(--ta-text);background:var(--ta-bg);line-height:1.5}.ta-auth *,.ta-overlay *,.ta-embedded *{box-sizing:border-box}.ta-embedded{font-family:var(--ta-font);color:var(--ta-text);max-width:420px}.ta-auth__brand{background:var(--ta-brand-bg);color:var(--ta-brand-text);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.ta-auth__logo{display:inline-flex;align-items:center;max-width:280px}.ta-auth__logo img,.ta-auth__mobile-logo img{max-height:40px;width:auto}.ta-auth__wordmark{font-size:22px;font-weight:700;letter-spacing:-.01em}.ta-auth__tagline{font-size:32px;line-height:1.2;letter-spacing:-.02em;color:#fff;max-width:460px;margin:0}.ta-auth__description{color:var(--ta-brand-muted);max-width:460px;margin:12px 0 0}.ta-auth__features{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}.ta-auth__features li{display:flex;gap:12px;align-items:center;color:var(--ta-brand-text)}.ta-auth__features svg{color:var(--ta-brand-accent);flex:none}.ta-auth__footer{color:var(--ta-brand-muted);font-size:12px}.ta-auth__footer a{color:var(--ta-brand-accent)}.ta-auth__panel{display:grid;place-items:center;padding:32px;background:var(--ta-bg)}.ta-auth__form{width:100%;max-width:400px}.ta-auth__mobile-logo{display:none;margin-bottom:24px;color:var(--ta-text)}@media(max-width:900px){.ta-auth{grid-template-columns:minmax(0,1fr)}.ta-auth__brand{display:none}.ta-auth__mobile-logo{display:block;color:var(--ta-muted)}.ta-auth__mobile-logo .ta-auth__wordmark{font-size:16px}.ta-auth__panel{place-items:start center;padding:40px 16px}}.ta-title{font-size:26px;line-height:1.25;letter-spacing:-.02em;margin:0}.ta-subtitle{color:var(--ta-muted);margin:6px 0 24px}.ta-title+.ta-stack,.ta-title+.ta-alert{margin-top:20px}.ta-stack p{margin:0}.ta-small{font-size:13px}.ta-muted{color:var(--ta-muted)}.ta-center-text{text-align:center}.ta-auth a,.ta-embedded a{color:var(--ta-primary);text-decoration:none;font-weight:500}.ta-auth a:hover{text-decoration:underline}.ta-stack{display:grid;gap:16px}.ta-stack>.ta-btn:not(.ta-btn--block){justify-self:start}.ta-gap{height:20px}.ta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ta-row--between{justify-content:space-between}.ta-row--end{justify-content:flex-end}.ta-field{display:grid;gap:6px}.ta-field__label{font-size:14px;font-weight:600}.ta-field__hint{font-size:12px;color:var(--ta-muted)}.ta-field__error{font-size:12px;color:var(--ta-danger)}.ta-input{width:100%;height:42px;padding:0 12px;font:inherit;font-size:15px;color:var(--ta-text);background:var(--ta-bg);border:1px solid var(--ta-border-strong);border-radius:var(--ta-radius);transition:border-color .15s,box-shadow .15s}.ta-input:focus{outline:none;border-color:var(--ta-primary);box-shadow:0 0 0 3px var(--ta-focus)}.ta-input[aria-invalid=true]{border-color:var(--ta-danger)}.ta-input-group{position:relative}.ta-input-group .ta-input{padding-right:44px}.ta-icon-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:var(--ta-muted);border-radius:var(--ta-radius);cursor:pointer}.ta-icon-btn:hover{color:var(--ta-text);background:var(--ta-surface)}.ta-icon-btn:focus-visible,.ta-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ta-focus)}.ta-otp{height:52px;font-family:var(--ta-font-mono);font-size:22px;letter-spacing:.45em;text-align:center}.ta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;font:inherit;font-size:14px;font-weight:600;border-radius:var(--ta-radius);border:1px solid var(--ta-border-strong);background:var(--ta-bg);color:var(--ta-text);cursor:pointer;transition:background .15s,border-color .15s}.ta-btn:hover:not(:disabled){background:var(--ta-surface)}.ta-btn:disabled{opacity:.6;cursor:not-allowed}.ta-btn--primary{background:var(--ta-primary);border-color:var(--ta-primary);color:var(--ta-primary-text);min-height:44px}.ta-btn--primary:hover:not(:disabled){background:var(--ta-primary-hover);border-color:var(--ta-primary-hover)}.ta-btn--ghost{border-color:transparent;background:transparent;color:var(--ta-muted);padding:0 8px;min-height:34px}.ta-btn--ghost:hover:not(:disabled){color:var(--ta-text)}.ta-btn--block{width:100%}.ta-alert{padding:12px 14px;border-radius:var(--ta-radius);font-size:14px;border:1px solid transparent}.ta-alert__title{font-weight:600}.ta-alert--danger{background:var(--ta-danger-soft);color:var(--ta-danger);border-color:var(--ta-danger-soft);border-color:color-mix(in srgb,var(--ta-danger) 25%,transparent)}.ta-alert--success{background:var(--ta-success-soft);color:var(--ta-success);border-color:var(--ta-success-soft);border-color:color-mix(in srgb,var(--ta-success) 25%,transparent)}.ta-alert--info{background:var(--ta-info-soft);color:var(--ta-text)}.ta-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:ta-spin .7s linear infinite}@keyframes ta-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ta-spinner{animation-duration:2s}}.ta-center{min-height:100vh;min-height:100dvh;display:grid;place-items:center;align-content:center;gap:12px;font-family:var(--ta-font);color:var(--ta-muted);background:var(--ta-bg)}.ta-badge-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;margin-bottom:16px;background:var(--ta-primary-soft);color:var(--ta-primary)}.ta-steps{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}.ta-qr{display:block;width:200px;height:200px;margin:0 auto;padding:8px;background:#fff;border:1px solid var(--ta-border);border-radius:var(--ta-radius)}.ta-key{margin-top:8px}.ta-key code{font-family:var(--ta-font-mono);word-break:break-all}details summary{cursor:pointer}.ta-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px;font-family:var(--ta-font-mono);font-size:14px;background:var(--ta-surface);border:1px dashed var(--ta-border-strong);border-radius:var(--ta-radius)}.ta-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#0f172a80;font-family:var(--ta-font)}.ta-dialog{width:100%;max-width:420px;padding:24px;background:var(--ta-bg);color:var(--ta-text);border-radius:var(--ta-radius-lg);box-shadow:0 20px 50px #0000004d}.ta-dialog__title{font-size:18px;margin:0 0 4px}:root{--ink: #101828;--ink-2: #475467;--ink-3: #98a2b3;--line: #e4e7ec;--bg: #f2f4f7;--card: #ffffff;--brand: #0e7c66;--brand-dark: #0a5c4c;--brand-soft: #e3f5f0;--rail: #0d1f2d;--rail-2: #16303f;--danger: #d92d20;--danger-soft: #fee4e2;--warn: #dc6803;--warn-soft: #fef0c7;--ok: #079455;--ok-soft: #d1fadf;--info: #1570ef;--info-soft: #d1e9ff;--t-blank: #f2f4f7;--t-running: #bfe3ff;--t-kot: #ffe27a;--t-printed: #a6efc4;--t-paid: #ffd6a8;--t-reserved: #e4d9fc;--line-soft: #f2f4f7;--line-strong: #d0d5dd;--surface-2: #f9fafb;--ok-ink: #05603a;--danger-ink: #912018;--warn-ink: #93370d;--info-ink: #175cd3;--danger-line: #fecdca;--danger-bg: #fffbfa;--ok-line: #abefc6;--ok-bg: #f6fef9;--warn-line: #fedf89;--info-line: #b2ddff;--hl: #fffcf0;--glass: rgb(255 255 255 / 75%);color-scheme:light;--radius: 10px;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 10%)}:root[data-theme=dark]{--ink: #e6edf3;--ink-2: #b4c0cc;--ink-3: #7d8b99;--line: #2b3742;--line-soft: #222d37;--line-strong: #3a4754;--bg: #0f161d;--card: #18212a;--surface-2: #1d2731;--brand: #19a585;--brand-dark: #5fd3b6;--brand-soft: #123b33;--rail: #0a1117;--rail-2: #16232e;--danger: #f97066;--danger-soft: #3d1a17;--warn: #fdb022;--warn-soft: #3a2a0d;--ok: #32d583;--ok-soft: #10301f;--info: #53b1fd;--info-soft: #102a45;--ok-ink: #75e0a7;--danger-ink: #fda29b;--warn-ink: #fec84b;--info-ink: #84caff;--danger-line: #5c2622;--danger-bg: #261513;--ok-line: #1d4d33;--ok-bg: #11221a;--warn-line: #5a4416;--info-line: #1b3f66;--hl: #2a2512;--glass: rgb(24 33 42 / 80%);--t-blank: #1d2731;--t-running: #163d5c;--t-kot: #4d4213;--t-printed: #174a30;--t-paid: #4d3218;--t-reserved: #33295a;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 50%);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:208px 1fr;grid-template-rows:56px 1fr;height:100%}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--card);border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:8px;width:180px;font-size:17px;font-weight:800;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;font-size:13px}.topbar .spacer{flex:1}.searchbox{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink-3)}.searchbox input{width:150px;border:0;outline:0;background:none;color:var(--ink)}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--ok-soft);color:var(--ok-ink)}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentcolor}.pill.off{background:var(--warn-soft);color:var(--warn-ink)}.iconbtn{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink-2);cursor:pointer}.iconbtn:hover{background:var(--bg)}.iconbtn .count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:17px}.rail{overflow-y:auto;padding:10px 8px;background:var(--rail);color:#c7d3dc}.rail h4{margin:14px 10px 4px;color:#6f8797;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rail a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-weight:600}.rail a:hover{background:var(--rail-2);color:#fff}.rail a.active{background:var(--brand);color:#fff}.rail .badge-count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;text-align:center}.main{min-width:0;overflow:auto}.page{padding:16px 20px 28px}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.page-head h1{font-size:19px;font-weight:700;letter-spacing:-.01em}.page-head .spacer{flex:1}.sub{color:var(--ink-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-weight:600;white-space:nowrap;cursor:pointer}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-dark)}.btn.danger{border-color:var(--danger);background:var(--danger);color:#fff}.btn.warn{border-color:#f79009;background:#f79009;color:#fff}.btn.ok{border-color:var(--ok);background:var(--ok);color:#fff}.btn.ghost-danger{border-color:#fda29b;color:var(--danger)}.btn.sm{height:28px;padding:0 9px;font-size:12px}.btn.lg{height:46px;font-size:15px}.btn.block{width:100%}.btn.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700}.card-head .spacer{flex:1}.card-body{padding:14px}.grid{display:grid;gap:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:12px}.stat{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.stat span{display:block;color:var(--ink-2);font-size:12px;font-weight:600}.stat strong{display:block;margin-top:3px;font-size:23px;letter-spacing:-.02em}.stat small{color:var(--ok);font-weight:600}.two{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.halves{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse}table.data th{position:sticky;top:0;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:700;text-align:left;white-space:nowrap}table.data td{padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.data tr:hover td{background:var(--surface-2)}table.data .num{text-align:right;font-variant-numeric:tabular-nums}.tag{display:inline-block;padding:1px 8px;border-radius:99px;background:var(--bg);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap}.tag.green{background:var(--ok-soft);color:var(--ok-ink)}.tag.red{background:var(--danger-soft);color:var(--danger-ink)}.tag.amber{background:var(--warn-soft);color:var(--warn-ink)}.tag.blue{background:var(--info-soft);color:var(--info-ink)}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--line)}.tabs button{padding:8px 13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-2);font-weight:600;cursor:pointer}.tabs button.on{border-color:var(--brand);color:var(--brand-dark)}.field{display:grid;gap:4px}.field label,.field>span{color:var(--ink-2);font-size:12px;font-weight:600}.input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:var(--ink);outline:0}textarea.input{height:70px;padding:8px 10px;resize:vertical}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0e7c6626}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .wide{grid-column:1 / -1}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}.switch input{appearance:none;position:relative;width:34px;height:20px;margin:0;border-radius:10px;background:var(--line-strong);cursor:pointer;transition:background .15s}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--card);transition:left .15s}.switch input:checked{background:var(--brand)}.switch input:checked:after{left:16px}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.setting.delivery-job{display:block}.delivery-job .pay-row{align-items:center;gap:12px}.setting small{display:block;color:var(--ink-2);font-weight:400}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#1018287f}.modal{display:flex;flex-direction:column;width:min(520px,100%);max-height:90vh;border-radius:12px;background:var(--card);box-shadow:0 20px 40px #10182840}.modal.wide{width:min(760px,100%)}.modal.narrow{width:min(380px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font-size:16px;font-weight:700}.modal-body{overflow:auto;padding:16px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.toast{position:fixed;top:66px;left:50%;z-index:40;pointer-events:none;transform:translate(-50%);max-width:340px;padding:11px 15px;border-radius:8px;background:var(--ink);color:var(--card);font-weight:600;box-shadow:0 8px 20px #1018284d}.toast.error{top:110px;max-width:560px;pointer-events:auto;border:0;background:var(--danger);color:#fff;font:inherit;font-weight:600;text-align:left;cursor:pointer}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:var(--ink-2);font-size:12px;font-weight:600}.legend i{display:inline-block;width:13px;height:13px;margin-right:5px;border:1px solid rgb(0 0 0 / 12%);border-radius:50%;vertical-align:-2px}.area-title{margin:16px 0 8px;color:var(--brand-dark);font-size:14px;font-weight:700}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:104px;padding:6px;border:1.5px dashed var(--line-strong);border-radius:10px;background:var(--t-blank);cursor:pointer;transition:transform .08s,box-shadow .08s}.tile:hover{transform:translateY(-1px);box-shadow:0 5px 12px #10182824}.tile b{font-size:19px;font-weight:700}.tile em{font-size:12px;font-style:normal;color:var(--ink-2)}.tile strong{font-size:14px}.tile.running{border:1.5px solid #5fb4f5;background:var(--t-running)}.tile.kot{border:1.5px solid #e7b90b;background:var(--t-kot)}.tile.printed{border:1.5px solid #3ccb7f;background:var(--t-printed)}.tile.paid{border:1.5px solid #f7a14a;background:var(--t-paid)}.tile.reserved{border:1.5px solid #a78bfa;background:var(--t-reserved)}.tile.picked{outline:3px solid var(--brand);outline-offset:2px}.tile .eye{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:24px;height:24px;border:1px solid rgb(0 0 0 / 18%);border-radius:6px;background:var(--glass);cursor:pointer}.bill-screen{display:grid;grid-template-columns:150px minmax(0,1fr) 390px;height:100%}.cats{overflow-y:auto;padding:8px;border-right:1px solid var(--line);background:var(--card)}.cats button{display:block;width:100%;margin-bottom:4px;padding:10px;border:0;border-radius:8px;background:none;font-weight:600;text-align:left;cursor:pointer}.cats button:hover{background:var(--bg)}.cats button.on{background:var(--brand);color:#fff}.items-pane{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.items-head{display:flex;gap:8px;padding:10px 12px}.items-head .searchbox{flex:1}.items-head .searchbox input{width:100%}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));align-content:start;gap:9px;overflow-y:auto;padding:0 12px 12px}.item{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:78px;padding:9px 10px;border:1px solid var(--line);border-left-width:4px;border-radius:8px;background:var(--card);font-weight:600;text-align:left;cursor:pointer}.item:hover:not(:disabled){border-color:var(--brand);box-shadow:var(--shadow)}.item:disabled{opacity:.5;cursor:not-allowed}.item.veg{border-left-color:var(--ok)}.item.non_veg{border-left-color:var(--danger)}.item.egg{border-left-color:#f79009}.item small{color:var(--ink-2);font-weight:600}.cart{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--card)}.cart-head{padding:10px 12px;border-bottom:1px solid var(--line)}.cart-title{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:700}.cart-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px}.cart-lines{flex:1;overflow-y:auto}.empty{padding:34px 16px;color:var(--ink-3);font-weight:600;text-align:center}.line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line-soft)}.line.sent{background:var(--hl)}.line.void{opacity:.5;text-decoration:line-through}.line small{display:block;color:var(--ink-2);font-weight:400}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:7px}.stepper button{width:26px;height:26px;border:0;background:none;cursor:pointer}.stepper span{min-width:22px;font-weight:700;text-align:center}.totals{padding:9px 12px;border-top:1px solid var(--line);background:var(--surface-2)}.totals div{display:flex;justify-content:space-between;padding:1px 0;color:var(--ink-2)}.totals .grand{margin-top:4px;padding-top:5px;border-top:1px dashed var(--line-strong);color:var(--ink);font-size:19px;font-weight:800}.cart-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;padding:10px 12px;border-top:1px solid var(--line)}.options{display:flex;flex-wrap:wrap;gap:8px}.option{padding:8px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);font-weight:600;cursor:pointer}.option.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.fake-qr{width:150px;height:150px;margin:0 auto;border:8px solid #fff;outline:1px solid var(--line);background:repeating-conic-gradient(#101828 0 25%,#fff 0 50%) 0 0 / 22px 22px,#fff}.pay-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line)}.receipt{width:300px;margin:0 auto;padding:14px;border:1px dashed #d0d5dd;background:#fff;color:#101828;font:12px/1.45 Consolas,Courier New,monospace}.receipt h3{font-size:15px;text-align:center}.receipt .center{text-align:center}.receipt hr{border:0;border-top:1px dashed #667085}.receipt .row{display:flex;justify-content:space-between;gap:8px}.kds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kds-col h3{margin-bottom:8px;font-size:13px}.ticket{margin-bottom:10px;border:1px solid var(--line);border-top:4px solid var(--info);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.ticket.late{border-top-color:var(--danger)}.ticket.ready{border-top-color:var(--ok)}.ticket header{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line-soft);font-weight:700}.ticket ul{margin:0;padding:8px 10px 8px 26px}.ticket footer{padding:0 10px 10px}.board{display:grid;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:12px;overflow-x:auto}.board-col h3{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.ocard{margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.ocard header{display:flex;justify-content:space-between;font-weight:700}.ocard .actions{display:flex;gap:6px;margin-top:8px}.bars{display:flex;align-items:flex-end;gap:5px;height:180px}.bars>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;color:var(--ink-3);font-size:10px}.bars i{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--brand)}.meter{height:8px;overflow:hidden;border-radius:4px;background:var(--bg)}.meter i{display:block;height:100%;background:var(--brand)}.report-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.report-list button{display:block;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line-soft);background:none;font-weight:600;text-align:left;cursor:pointer}.report-list button.on{background:var(--brand-soft);color:var(--brand-dark)}.login{display:grid;place-items:center;height:100%;background:linear-gradient(145deg,#0d1f2d,#0e5c4c)}.login-card{width:340px;padding:26px;border-radius:16px;background:var(--card);text-align:center;box-shadow:0 24px 50px #00000059}.dots{display:flex;justify-content:center;gap:12px;margin:16px 0}.dots i{width:14px;height:14px;border:2px solid var(--ink-3);border-radius:50%}.dots i.on{border-color:var(--brand);background:var(--brand)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.keypad button{height:54px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:20px;font-weight:700;cursor:pointer}.keypad button:hover{background:var(--bg)}.phone-page{display:grid;justify-items:center;gap:12px;min-height:100%;padding:14px;background:linear-gradient(145deg,#0d1f2d,#0e5c4c)}.phone-switch{display:flex;align-items:center;gap:6px}.phone-switch>a:not(.btn){padding:5px 12px;border-radius:99px;color:#d5e3ea;font-weight:600}.phone-switch>a.active{background:var(--card);color:var(--ink)}.phone{display:flex;flex-direction:column;width:380px;height:740px;max-width:100%;overflow:hidden;border:8px solid #101828;border-radius:30px;background:var(--bg)}.phone-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--card)}.phone-bar h1{flex:1;font-size:17px}.phone-body{flex:1;overflow-y:auto;padding:10px 12px}.phone-foot{display:grid;gap:6px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card)}.phone-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.phone-tiles .tile{height:74px}.phone-cats{display:flex;flex:none;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--card)}.phone-cats button{padding:6px 11px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-weight:600;white-space:nowrap;cursor:pointer}.phone-cats button.on{border-color:var(--brand);background:var(--brand);color:#fff}.phone-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-bottom:7px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-weight:600;text-align:left}button.phone-item{cursor:pointer}.phone-item small{display:block;color:var(--ink-2)}.phone-step{display:flex;align-items:center;gap:10px;padding:10px 0;color:var(--ink-3);font-weight:600}.phone-step.done{color:var(--ok)}@media(max-width:1100px){.bill-screen{grid-template-columns:110px minmax(0,1fr) 320px}.two,.halves{grid-template-columns:1fr}}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px}.menu-button{display:none}.rail a{min-height:36px}@media(any-pointer:coarse){.btn,.btn.sm,.input,.iconbtn,.searchbox,.option,.tabs button,.cats button,.report-list button,.rail a{min-height:44px}.iconbtn{min-width:44px}.btn.sm{padding:0 12px;font-size:13px}}.rail{display:flex;flex-direction:column}.rail-toggle{margin-top:auto;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:none;color:#8ea3b0;font:inherit;font-weight:600;cursor:pointer}.rail-toggle:hover{background:var(--rail-2);color:#fff}.app--mini{grid-template-columns:64px 1fr}.app--mini .rail{padding:10px 6px}.app--mini .rail h4,.app--mini .rail .rail-label,.app--mini .rail>div:not(:has(a)){display:none}.app--mini .rail a,.app--mini .rail-toggle{justify-content:center;padding:10px 0;position:relative}.app--mini .rail>div+div{border-top:1px solid var(--rail-2);margin-top:6px;padding-top:6px}.app--mini .rail .badge-count{position:absolute;top:2px;right:4px;min-width:16px;padding:0 4px;font-size:10px}@media(max-width:760px){.app,.app--mini{grid-template-columns:1fr;grid-template-rows:auto 1fr}.topbar{flex-wrap:wrap;gap:8px;padding:8px}.topbar form,.topbar .spacer,.topbar .pill,.topbar .brand{display:none}.topbar select{flex:1;min-width:0}.menu-button{display:inline-flex}.rail{display:none}.rail.open{display:flex;position:fixed;inset:0 25% 0 0;z-index:30}.app--mini .rail h4,.app--mini .rail .rail-label{display:revert}.app--mini .rail a{justify-content:flex-start;padding:8px 10px}.rail-toggle{display:none}.page{padding:12px}.page-head{flex-wrap:wrap}.bill-screen{grid-template-columns:1fr;height:auto}.kds{grid-template-columns:1fr}}@media print{html[data-paper="58"] .receipt{width:48mm!important;font-size:9pt!important}}.print-ticket{display:none}@media print{html[data-print-ticket] .receipt:not(.print-ticket){display:none}html[data-print-ticket] .print-ticket{display:block}}@page{margin:0}@media print{body{background:#fff}body *{visibility:hidden}.receipt,.receipt *{visibility:visible;color:#000}.receipt{position:absolute;top:0;left:0;width:72mm;margin:0;padding:2mm;border:0;font-size:11pt}.overlay,.modal,.modal-body{position:static;overflow:visible;max-height:none;background:none;box-shadow:none}}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card)}.seg button{border:0;background:none;padding:7px 12px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.stat.kpi{position:relative;padding-bottom:34px}.stat .delta{display:inline-flex;align-items:center;gap:2px;color:var(--ink-3)}.stat .delta.up{color:var(--ok)}.stat .delta.down{color:var(--danger)}.stat .spark{position:absolute;left:14px;right:14px;bottom:8px;width:calc(100% - 28px);height:22px}.stat .spark path{fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.meter-row{margin-bottom:10px}.attention{border:1px solid var(--danger-line);background:var(--danger-bg);border-radius:var(--radius);padding:10px;margin-bottom:14px;display:grid;gap:6px}.attention.calm{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok);display:flex;align-items:center;gap:8px;font-weight:600}.attention-head{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--danger);padding:2px 4px}.attention-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-left-width:4px;background:var(--card);border-radius:8px;padding:8px 10px;font:inherit;cursor:pointer}.attention-row.danger{border-left-color:var(--danger);color:var(--ink)}.attention-row.warning{border-left-color:var(--warn)}.attention-row.info{border-left-color:var(--info)}.attention-row:hover{background:var(--bg)}.attention-go{margin-left:auto;color:var(--brand);font-weight:600;white-space:nowrap}.gsearch{position:relative;min-width:300px}.gsearch-panel{position:absolute;top:calc(100% + 6px);left:0;width:min(460px,90vw);max-height:70vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #1018282e;padding:6px;z-index:50}.gsearch-panel h5{margin:8px 8px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.gsearch-panel button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:8px;border-radius:8px;font:inherit;cursor:pointer;color:var(--ink)}.gsearch-panel button:hover{background:var(--bg)}.gsearch-panel button>span:first-of-type{flex:1;min-width:0}.gsearch-panel small{display:block;color:var(--ink-3)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip-stat{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}span.chip-stat{cursor:default}.chip-stat b{color:var(--ink)}.chip-stat.red{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.chip-stat.amber{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn)}.chip-stat.blue{border-color:var(--info-line);background:var(--info-soft);color:var(--info)}.chip-stat.green{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok)}.banner{display:flex;align-items:center;gap:12px;border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.banner.danger{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger)}.banner>div{flex:1}.warn-text{color:var(--danger);font-weight:600}.audit-json{margin:0;padding:12px;max-height:50vh;overflow:auto;border-radius:8px;background:var(--bg);font-size:12px;white-space:pre-wrap;word-break:break-word}.empty-state{display:grid;justify-items:center;gap:6px;padding:36px 16px;color:var(--ink-3);text-align:center}.empty-state b{color:var(--ink-2);font-size:14px}.empty-state span:not(.empty-icon){max-width:420px;font-size:13px}.empty-state .btn{margin-top:6px}.empty-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border-radius:50%;background:var(--surface-2);color:var(--ink-3)}.empty-icon.bad{background:var(--danger-soft);color:var(--danger)}.skeleton{display:grid;gap:14px;padding:18px 16px}.skeleton span{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line-soft),var(--line),var(--line-soft));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton span{animation:none}}
