:root{--bg:#0e0024;--bg-2:#150535;--panel:#1a0b40;--panel-2:#22124f;--panel-3:#2b1a5e;--sidebar:#0a001c;--line:#ffffff1a;--line-2:#ffffff2e;--overlay:#ffffff0f;--pink:#ff1464;--pink-600:#e00f57;--pink-100:#ff146429;--pink-50:#ff146414;--violet:#8b2cff;--violet-100:#8b2cff2e;--grad:linear-gradient(135deg, #ff1464 0%, #8b2cff 100%);--amber:#ffb547;--amber-100:#ffb54729;--red:#ff4d6d;--red-100:#ff4d6d29;--green:#38d39f;--green-100:#38d39f29;--blue:#5aa9ff;--blue-100:#5aa9ff29;--purple:#b08cff;--purple-100:#b08cff2e;--ink:#fff;--ink-2:#ffffffd1;--grey:#fff9;--grey-2:#ffffff6b;--white:#fff;--heading:#fff;--navy:#0a001c;--navy-700:#2b1a5e;--navy-600:#3a2775;--navy-100:#ffffff1a;--teal:var(--pink);--teal-600:var(--pink-600);--teal-100:var(--pink-100);--teal-50:var(--pink-50);--mid:var(--line);--light:var(--overlay);--soft:var(--bg);--radius:14px;--radius-sm:10px;--radius-xs:8px;--shadow-sm:0 1px 2px #00000040;--shadow:0 6px 20px #00000059;--shadow-lg:0 20px 60px #0000008c;--sidebar-w:236px;--sidebar-w-collapsed:68px;--topbar-h:58px;--font:"Inter", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--fg-rgb:255,255,255;--accent-rgb:255,20,100;--accent-soft:#ff7aa3;--soft-violet:#d9c4ff}[data-theme=ocean]{--bg:#061126;--bg-2:#0a1a38;--panel:#0e2244;--panel-2:#142c55;--panel-3:#1b3866;--sidebar:#040c1c;--pink:#19c6d1;--pink-600:#12a8b2;--pink-100:#19c6d129;--pink-50:#19c6d114;--violet:#4f7cff;--violet-100:#4f7cff2e;--grad:linear-gradient(135deg, #19c6d1 0%, #4f7cff 100%);--navy:#040c1c;--navy-700:#1b3866;--navy-600:#24478a;--accent-rgb:25,198,209;--accent-soft:#7fe3ea;--soft-violet:#bfd0ff}[data-theme=daylight]{--bg:#f4f2fa;--bg-2:#ece8f5;--panel:#fff;--panel-2:#f6f3fc;--panel-3:#e9e3f5;--sidebar:#160838;--line:#1a10331a;--line-2:#1a10332e;--overlay:#1a10330d;--pink:#e0105a;--pink-600:#c20d4e;--pink-100:#e0105a1f;--pink-50:#e0105a0f;--violet:#7a1fe6;--violet-100:#7a1fe624;--grad:linear-gradient(135deg, #e0105a 0%, #7a1fe6 100%);--amber:#d98a00;--amber-100:#d98a0024;--red:#e0294b;--red-100:#e0294b1f;--green:#1fa974;--green-100:#1fa97424;--blue:#2b7fe0;--blue-100:#2b7fe024;--purple:#8a5cf0;--purple-100:#8a5cf024;--ink:#1a1033;--ink-2:#1a1033d9;--grey:#1a103399;--grey-2:#1a103373;--heading:#1a1033;--navy:#160838;--navy-700:#e6e0f2;--navy-600:#d9d1ea;--navy-100:#1a10331a;--shadow-sm:0 1px 2px #1a103314;--shadow:0 6px 20px #1a10331a;--shadow-lg:0 20px 60px #1a10332e;--fg-rgb:26,16,51;--accent-rgb:224,16,90;--accent-soft:#e0105a;--soft-violet:#5b2bb8;--topbar:#fff}[data-theme=ember]{--bg:#141210;--bg-2:#1b1815;--panel:#221e1a;--panel-2:#2b2620;--panel-3:#352e27;--sidebar:#0e0c0a;--pink:#ff7a1a;--pink-600:#e66a0f;--pink-100:#ff7a1a29;--pink-50:#ff7a1a14;--violet:#f0b429;--violet-100:#f0b4292e;--grad:linear-gradient(135deg, #ff7a1a 0%, #f0b429 100%);--navy:#0e0c0a;--navy-700:#352e27;--navy-600:#463c33;--accent-rgb:255,122,26;--accent-soft:#ffb380;--soft-violet:#f5d58a}[data-theme=graphite]{--bg:#0f1115;--bg-2:#14171d;--panel:#171a21;--panel-2:#1f232c;--panel-3:#272c37;--sidebar:#0a0c10;--pink:#4f8cff;--pink-600:#3b76e6;--pink-100:#4f8cff29;--pink-50:#4f8cff14;--violet:#8b5cf6;--violet-100:#8b5cf62e;--grad:linear-gradient(135deg, #4f8cff 0%, #8b5cf6 100%);--navy:#0a0c10;--navy-700:#272c37;--navy-600:#333a48;--accent-rgb:79,140,255;--accent-soft:#9cc0ff;--soft-violet:#c9b8ff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--soft);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}h1{letter-spacing:-.01em;color:var(--heading);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:22px;font-weight:700;display:flex}h2{color:var(--heading);letter-spacing:-.005em;margin:0 0 10px;font-size:15px;font-weight:700}h3{color:var(--heading);margin:0 0 6px;font-size:14px;font-weight:600}a{color:var(--teal)}code{background:var(--overlay);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:var(--teal);color:#fff;min-height:38px;box-shadow:0 4px 14px rgba(var(--accent-rgb),.28);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 15px;font-size:13.5px;font-weight:600;transition:background .15s,box-shadow .15s,transform 50ms;display:inline-flex}button:hover{background:var(--teal-600)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default;transform:none}button.ghost{color:var(--ink-2);border:1px solid var(--line-2);box-shadow:none;background:0 0}button.ghost:hover{background:var(--overlay);color:var(--heading);border-color:rgba(var(--fg-rgb),.3)}button.danger{background:var(--red)}button.danger:hover{background:#e03a58}button.amber{background:var(--amber);color:#2a1600}button.amber:hover{background:#e89d2e}button.green{background:var(--green)}button.green:hover{background:#2bb98a}button.navy{background:var(--panel-3);border:1px solid var(--line-2);color:var(--ink);box-shadow:none}button.navy:hover{background:var(--navy-600)}button.icon{width:36px;min-height:36px;padding:8px}input,select,textarea{font:inherit;border:1px solid var(--line-2);border-radius:var(--radius-xs);background:rgba(var(--fg-rgb),.05);width:100%;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:38px;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-100);outline:none}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;accent-color:var(--teal);padding:0}label{color:var(--ink-2);font-size:13px}.app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100dvh;transition:grid-template-columns .2s;display:grid}.app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);color:#fff;flex-direction:column;grid-row:1/3;display:flex;overflow:hidden}.sidebar .brand{height:var(--topbar-h);border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:10px;padding:0 14px;display:flex}.sidebar .brand .logo{background:var(--grad);letter-spacing:-.02em;width:34px;height:34px;box-shadow:0 4px 14px rgba(var(--accent-rgb),.35);border-radius:10px;flex-shrink:0;place-items:center;font-size:15px;font-weight:800;display:grid}.sidebar .brand .logo svg{width:34px;height:34px;display:block}.sidebar .brand .logo .outlet-logo{object-fit:contain;background:#fff;border-radius:10px;width:34px;height:34px;display:block}.logo-box{align-items:center;gap:14px;display:flex}.logo-box .preview{object-fit:contain;border:1px solid var(--line-2);background:#fff;border-radius:16px;width:72px;height:72px}.logo-box .ph{border-radius:16px;place-items:center;width:72px;height:72px;display:grid}.sidebar .brand .name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.sidebar .brand .sub{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar nav{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:1;padding:10px 10px 14px;overflow:hidden auto}.sidebar .group{letter-spacing:.09em;text-transform:uppercase;color:#fff6;white-space:nowrap;padding:14px 10px 6px;font-size:10.5px;font-weight:700}.sidebar nav a{color:#ffffffc7;white-space:nowrap;border-radius:10px;align-items:center;gap:11px;margin-bottom:2px;padding:9px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.sidebar nav a svg{opacity:.85;flex-shrink:0}.sidebar nav a:hover{color:#fff;background:#ffffff14}.sidebar nav a.active{background:var(--teal);color:#fff;box-shadow:0 4px 14px rgba(var(--accent-rgb),.35)}.sidebar nav a.active svg{opacity:1}.sidebar nav a .cnt{background:var(--amber);color:var(--heading);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.sidebar .foot{border-top:1px solid #ffffff14;padding:10px}.sidebar .foot button{color:#fff;width:100%;box-shadow:none;background:#ffffff14;justify-content:flex-start;padding:9px 10px}.sidebar .foot button:hover{background:#ffffff24}.app.collapsed .sidebar .brand .name,.app.collapsed .sidebar .brand .sub,.app.collapsed .sidebar .group,.app.collapsed .sidebar nav a span,.app.collapsed .sidebar .foot span,.app.collapsed .sidebar nav a .cnt{display:none}.app.collapsed .sidebar nav a{justify-content:center;padding:10px 0}.app.collapsed .sidebar nav{padding:10px 8px}.app.collapsed .sidebar .foot button{justify-content:center;padding:9px 0}.app.collapsed .sidebar nav a:hover:after{content:attr(data-label);background:var(--panel-3);color:#fff;white-space:nowrap;box-shadow:var(--shadow);z-index:30;border-radius:8px;padding:5px 10px;font-size:12px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.topbar{background:var(--topbar,var(--sidebar));border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:12px;padding:0 18px;display:flex;position:sticky;top:0}.topbar .title{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.topbar .crumb{color:var(--grey);font-weight:500}.topbar .spacer{flex:1}.topbar .status{color:var(--ink-2);background:var(--green-100);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.topbar .status.off{background:var(--red-100);color:var(--accent-soft)}.topbar .status .dot{background:var(--green);border-radius:50%;width:8px;height:8px}.topbar .status.off .dot{background:var(--red)}.topbar .who{border-left:1px solid var(--mid);align-items:center;gap:10px;padding-left:12px;display:flex}.topbar .avatar{background:var(--grad);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.topbar .who .n{font-size:13px;font-weight:600;line-height:1.1}.topbar .who .r{color:var(--grey);text-transform:capitalize;font-size:11px}.topbar .bell{position:relative}.topbar .bell .n{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.topbar .burger{display:none}.page{min-width:0;padding:20px 22px 32px;overflow:auto}.scrim{display:none}@media (width<=1024px){.page{padding:16px}}@media (width<=860px){.app,.app.collapsed{grid-template-columns:1fr}.sidebar{width:var(--sidebar-w);z-index:40;box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.drawer .sidebar{transform:none}.app.drawer .scrim{z-index:35;background:#05001499;display:block;position:fixed;inset:0}.app.collapsed .sidebar .brand .name,.app.collapsed .sidebar .brand .sub,.app.collapsed .sidebar .group,.app.collapsed .sidebar nav a span,.app.collapsed .sidebar .foot span,.app.collapsed .sidebar nav a .cnt{display:initial}.app.collapsed .sidebar nav a{justify-content:flex-start;padding:9px 10px}.app.collapsed .sidebar nav a:hover:after{display:none}.topbar .burger{display:inline-flex}.topbar .who .n,.topbar .who .r,.topbar .status span.t{display:none}.page{padding:12px}}.card{background:var(--panel);border:1px solid var(--mid);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;overflow-x:auto}.card h2{align-items:center;gap:8px;display:flex}.row{align-items:center;gap:12px;display:flex}.grid{gap:14px;display:grid}.grid>*{min-width:0}@media (width<=860px){.grid[style*=grid-template-columns]{grid-template-columns:1fr!important}}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.tile{background:var(--panel);border:1px solid var(--mid);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px;position:relative;overflow:hidden}.tile .label{color:var(--grey);font-size:12px;font-weight:500}.tile .value{color:var(--heading);letter-spacing:-.02em;margin-top:4px;font-size:24px;font-weight:700}.tile .ic{background:var(--pink-100);width:34px;height:34px;color:var(--accent-soft);border-radius:10px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.tile .ic.amber{background:var(--amber-100);color:var(--amber)}.tile .ic.red{background:var(--red-100);color:var(--red)}.tile .ic.green{background:var(--green-100);color:var(--green)}.tile .ic.blue{background:var(--blue-100);color:var(--blue)}.tile .ic.purple{background:var(--purple-100);color:var(--purple)}.tile .ic.navy{background:var(--violet-100);color:var(--purple)}.trend{border-radius:999px;align-items:center;gap:3px;margin-top:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.trend.up{color:var(--green);background:var(--green-100)}.trend.down{color:var(--red);background:var(--red-100)}.trend.flat{color:var(--grey);background:var(--light)}.badge{color:#fff;background:var(--teal);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:600;line-height:1.3;display:inline-flex}.badge.soft{background:var(--pink-100);color:var(--accent-soft)}.muted{color:var(--grey);font-size:13px}.err{color:var(--red);background:var(--red-100);border-radius:var(--radius-xs);margin-top:8px;padding:8px 12px;font-size:13px}.ok{color:var(--green);background:var(--green-100);border-radius:var(--radius-xs);margin-bottom:8px;padding:8px 12px;font-size:13px}.empty{color:var(--grey-2);text-align:center;padding:18px 8px;font-size:13px}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}table.data th{text-align:left;background:var(--light);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--mid);padding:9px 10px;font-size:12px;font-weight:600;position:sticky;top:0}table.data th:first-child{border-top-left-radius:var(--radius-xs)}table.data th:last-child{border-top-right-radius:var(--radius-xs)}table.data td{border-bottom:1px solid var(--light);vertical-align:middle;padding:9px 10px}table.data tr:hover td{background:var(--overlay)}.chip{border:1px solid var(--mid);cursor:pointer;background:var(--panel);border-radius:999px;align-items:center;margin:4px 6px 4px 0;padding:7px 12px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--teal);color:var(--teal)}.chip.on{background:var(--teal);color:#fff;border-color:var(--teal)}.modal-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#050014a6;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line-2);width:540px;max-width:100%;max-height:92vh;box-shadow:var(--shadow-lg);border-radius:18px;padding:22px;overflow:auto}.totals div{justify-content:space-between;padding:3px 0;font-size:14px;display:flex}.totals .big{color:var(--heading);border-top:1px solid var(--mid);margin-top:6px;padding-top:8px;font-size:18px;font-weight:700}.subbar{background:var(--blue-100);color:var(--heading);border-bottom:1px solid var(--line);padding:7px 18px;font-size:13px}.subbar a{margin-left:6px;font-weight:600}.subbar.PAST_DUE{background:var(--amber-100);color:var(--amber)}.subbar.SUSPENDED,.subbar.CANCELLED{background:var(--red-100);color:var(--red)}.alerts{z-index:60;gap:8px;display:grid;position:fixed;top:70px;right:16px}.alert{background:var(--panel-2);border:1px solid var(--line-2);color:#fff;min-width:300px;max-width:380px;box-shadow:var(--shadow-lg);border-left:4px solid var(--teal);border-radius:12px;padding:12px 16px;font-size:13.5px}.alert b{margin-bottom:2px;display:block}.tabs{border-bottom:1px solid var(--mid);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{color:var(--ink-2);box-shadow:none;background:0 0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;min-height:0;padding:8px 12px;font-weight:500}.tabs button.on,.tabs button:hover{color:var(--teal);background:var(--teal-50)}.tabs button.on{border-bottom-color:var(--teal);font-weight:600}.login{background:radial-gradient(800px 420px at 85% 10%, color-mix(in srgb, var(--violet) 35%, transparent) 0%, transparent 60%), radial-gradient(700px 420px at 10% 90%, rgba(var(--accent-rgb),.22) 0%, rgba(var(--accent-rgb),0) 60%), linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.login .box{background:var(--panel);border:1px solid var(--line-2);width:440px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:22px;padding:30px}.login .box h1{margin-bottom:2px}.login .box .muted{margin-bottom:16px}.pinpad{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.pinpad button{background:var(--overlay);height:64px;color:var(--ink);box-shadow:none;border:1px solid var(--line);font-size:24px}.pinpad button:hover{background:rgba(var(--fg-rgb),.12)}.dots{justify-content:center;gap:10px;margin:12px 0;display:flex}.dots span{border:2px solid var(--mid);border-radius:50%;width:16px;height:16px}.dots span.on{background:var(--teal);border-color:var(--teal)}.floor{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;display:grid}.floor-canvas{background-color:rgba(var(--fg-rgb),.025);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);border:1px solid var(--line);background-size:40px 40px;border-radius:12px;min-width:0;position:relative;overflow:auto}.floor-canvas .table-btn{-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:center;margin:0;display:flex;position:absolute}.tbl{-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;position:absolute}.tbl .top{background:var(--panel);text-align:center;box-shadow:var(--shadow-sm);border:2.5px solid;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4px 6px;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;overflow:hidden}.tbl.round .top{border-radius:50%}.tbl .num{font-size:20px;font-weight:800;line-height:1.1}.tbl .st{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10.5px;font-weight:700;overflow:hidden}.tbl .seats{color:var(--grey);font-size:10px}.tbl .chair{opacity:.9;border-radius:4px;width:20px;height:10px;position:absolute}.tbl.OCCUPIED .top{background:linear-gradient(#ffb54724, #ffb54724), var(--panel)}.tbl.BILL_PENDING .top{background:linear-gradient(#5aa9ff29, #5aa9ff29), var(--panel)}.tbl.RESERVED .top{background:linear-gradient(#b08cff1f, #b08cff1f), var(--panel)}.tbl.OUT_OF_SERVICE{opacity:.6}.tbl.OUT_OF_SERVICE .top{border-style:dashed}.tbl:hover .top{box-shadow:var(--shadow);transform:translateY(-1px)}.tbl.selected .top{outline:3px solid var(--pink);outline-offset:2px}.floor-canvas.editing .tbl{cursor:grab}.floor-canvas.editing .tbl:active{cursor:grabbing;z-index:2}.floor-canvas.editing .tbl:active .top{box-shadow:var(--shadow-lg)}.floor-canvas.editing{border-style:dashed;border-color:rgba(var(--accent-rgb),.45)}.floor-canvas.editing .table-btn{cursor:grab}.floor-canvas.editing .table-btn:active{cursor:grabbing;box-shadow:var(--shadow-lg);z-index:2}.act.flip svg{transform:rotate(180deg)}.group-chip{background:var(--overlay);border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600;display:inline-flex}.group-chip svg{color:var(--purple)}.group-chip .act{margin:0}.tbl .main-tag{letter-spacing:.08em;color:var(--pink);font-size:9px;font-weight:800;position:absolute;top:4px;right:6px}.tbl .top{position:absolute}.tbl.selected .top:after{content:"✓";color:var(--pink);font-weight:800;position:absolute;top:4px;left:8px}.table-btn{background:var(--panel);border:2px solid var(--mid);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:16px;padding:12px;transition:transform 80ms,box-shadow .12s}.table-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.table-btn .num{color:var(--heading);font-size:22px;font-weight:700}.table-btn .st{letter-spacing:.03em;margin-top:4px;font-size:11px;font-weight:600}.table-btn.AVAILABLE{border-color:var(--green)}.table-btn.OCCUPIED{border-color:var(--amber);background:var(--amber-100)}.table-btn.BILL_PENDING{border-color:var(--blue);background:var(--blue-100)}.table-btn.RESERVED{border-color:var(--purple)}.table-btn.selected{background:var(--teal-100);border-color:var(--teal)}.pos{height:calc(100vh - var(--topbar-h) - 40px);grid-template-columns:150px 1fr 360px;gap:12px;display:grid}.cats button{background:var(--panel);width:100%;color:var(--ink);border:1px solid var(--mid);box-shadow:none;justify-content:flex-start;margin-bottom:8px}.cats button.active{background:var(--teal);color:#fff;border-color:var(--teal)}@media (width<=1024px){.pos{grid-template-columns:120px 1fr 300px}}@media (width<=860px){.pos{grid-template-columns:1fr;height:auto}}.items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:10px;display:grid;overflow:auto}.item{background:var(--panel);border:1px solid var(--mid);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;padding:10px;transition:transform 80ms}.item:hover{border-color:var(--teal);transform:translateY(-1px)}.item .nm{font-size:14px;font-weight:600}.item .pr{color:var(--grey);font-size:13px}.item.oos{opacity:.45}.item.has-img{padding:0;overflow:hidden}.item .img{aspect-ratio:4/3;object-fit:cover;background:var(--panel-2);width:100%;display:block}.item.has-img>:not(.img){padding:0 10px}.item.has-img .nm{padding-top:8px}.item.has-img>:last-child{padding-bottom:10px}.photo-cell{align-items:center;gap:8px;display:flex}.photo-cell img,.photo-cell .ph{object-fit:cover;background:var(--overlay);border-radius:9px;flex:none;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.photo-cell .acts{font-size:12px;display:grid}.photo-cell .acts a.danger{color:var(--red)}.cart{background:var(--panel);border:1px solid var(--mid);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:12px;display:flex}.cart .lines{flex:1;overflow:auto}.line{background:var(--overlay);border-radius:10px;margin-bottom:6px;padding:8px 10px;font-size:14px}.line .meta{color:var(--teal);font-size:12px}.line.HELD{border-left:4px solid var(--amber)}.line.CANCELLED{opacity:.5;text-decoration:line-through}.kds{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.ticket{background:var(--panel);border:2px solid var(--violet);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.ticket .head{background:var(--violet);color:#fff;justify-content:space-between;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.ticket .head span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ticket .head span:last-child{white-space:nowrap}.ticket.PREPARING{border-color:var(--amber)}.ticket.PREPARING .head{background:var(--amber);color:#2a1600}.ticket.PREPARED{border-color:var(--green)}.ticket.PREPARED .head{background:var(--green);color:#052a1c}.ticket.delayed{border-color:var(--red)}.ticket.delayed .head{background:var(--red)}.ticket .body{padding:10px 12px}.ticket .it{justify-content:space-between;padding:4px 0;display:flex}.ticket .note{color:var(--teal);font-size:12px}.dash{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.dash>.w{grid-column:span 6;min-width:0}.dash>.w.full,.dash>.w.kpi{grid-column:span 12}@media (width<=1100px){.dash>.w{grid-column:span 12}}@media (width<=640px){.kpis,.tiles{grid-template-columns:repeat(2,1fr)}.tile .value{font-size:20px}}.w .card{height:100%}.w h2 .more{margin-left:auto;font-size:12px;font-weight:500}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.list{gap:6px;min-width:0;display:grid}.list>*{min-width:0}.list .li .t .s{text-overflow:ellipsis;overflow:hidden}.list .li{background:var(--overlay);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.list .li .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.list .li .s{color:var(--grey);font-size:12px}.list .li b{white-space:nowrap}.list .li .ic{background:var(--teal-100);width:30px;height:30px;color:var(--teal);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.bar{background:var(--light);border-radius:999px;height:8px;overflow:hidden}.bar>i{background:var(--violet);border-radius:999px;height:100%;display:block}.shortcuts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.shortcuts a{background:var(--overlay);border:1px solid var(--line);color:var(--heading);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .12s;display:flex}.shortcuts a:hover{background:var(--teal-50);border-color:var(--teal)}.shortcuts a .ic{background:var(--teal-100);width:42px;height:42px;color:var(--teal);border-radius:12px;place-items:center;display:grid}.legend{color:var(--ink-2);flex-wrap:wrap;gap:10px 14px;margin-top:8px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.skeleton{background:linear-gradient(90deg, var(--overlay), rgba(var(--fg-rgb),.12), var(--overlay));background-size:200% 100%;border-radius:8px;height:14px;animation:1.2s infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.cfg .role{margin-bottom:14px}.cfg .wrow{border:1px solid var(--mid);background:var(--panel);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:7px 10px;display:flex}.cfg .wrow.off{opacity:.55;background:0 0}.cfg .wrow .t{flex:1}.cfg .wrow .t small{color:var(--grey);display:block}@media print{@page{size:80mm auto;margin:3mm}html[data-paper="58"] .print-area{width:52mm!important;font-size:10px!important}html[data-paper="58"] .print-area pre{font-size:9.5px!important}html[data-paper=a4] .print-area,html[data-paper=a5] .print-area{transform:translate(-50%);width:90mm!important;margin:10mm auto!important;font-size:12px!important;left:50%!important}html,body{color:#000!important;background:#fff!important}.print-area,.print-area *{color:#000!important}body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{width:74mm!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;max-height:none!important;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.25!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.print-area pre{white-space:pre-wrap!important;word-break:break-all!important;background:#fff!important;padding:0!important;font-size:10.5px!important;overflow:visible!important}.no-print,.topbar,.sidebar,nav{display:none!important}.print-area .row:not(.no-print){justify-content:space-between;gap:6px;display:flex!important}.print-area hr{border:0;border-top:1px dashed #000;margin:4px 0}}.toasts{z-index:100;pointer-events:none;flex-direction:column;gap:8px;max-width:min(380px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{pointer-events:auto;background:var(--panel-2);border:1px solid var(--line-2);color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;border-left-width:4px;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:600;animation:.18s ease-out toast-in;display:flex}.toast.success{border-left-color:var(--green)}.toast.success svg{color:var(--green)}.toast.error{border-left-color:var(--red);font-weight:500}.toast.error svg{color:var(--red)}.toast.info{border-left-color:var(--blue)}.toast.info svg{color:var(--blue)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=720px){.toasts{max-width:none;bottom:12px;left:12px;right:12px}}.dlg-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.dlg-icon{background:var(--grad);color:#fff;width:44px;height:44px;box-shadow:0 6px 18px rgba(var(--accent-rgb),.3);border-radius:13px;flex:none;place-items:center;display:grid}.fld{margin-bottom:14px;display:block}.fld>span{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.fld .req{color:var(--pink)}.fld input,.fld select,.fld textarea{margin:0}.switch-row{background:var(--overlay);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;margin-top:4px;padding:12px;display:flex}.switch-row input{opacity:0;width:0;height:0;position:absolute}.switch-row .sw{background:rgba(var(--fg-rgb),.18);border-radius:999px;flex:none;width:42px;height:24px;margin-top:1px;transition:background .15s;position:relative}.switch-row .sw:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch-row input:checked+.sw{background:var(--green)}.switch-row input:checked+.sw:after{transform:translate(18px)}.avatar-img{object-fit:cover;background:var(--panel-2);border-radius:50%;flex:none;display:block}.avatar{background:var(--grad);color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.avatar-btn{box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.avatar-btn:hover{outline:2px solid var(--pink);outline-offset:2px;background:0 0;transform:none}.photo-cell .avatar-img,.photo-cell .avatar{border-radius:50%}.duty-chip{border:1.5px solid var(--green);background:var(--overlay);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12.5px;font-weight:600;display:inline-flex}.rest-card{background:var(--overlay);border:1px solid var(--line-2);border-radius:14px;align-items:center;gap:12px;margin:4px 0 10px;padding:10px 12px;display:flex}.rest-card img,.rest-card .ph{object-fit:contain;background:#fff;border-radius:12px;flex:none;width:46px;height:46px}.rest-card .ph{background:var(--grad);color:#fff;place-items:center;display:grid}.rest-card .nm{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.seg{background:var(--overlay);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;padding:4px;display:grid}.seg button{color:var(--grey);box-shadow:none;background:0 0;border-radius:9px;justify-content:center;gap:6px;padding:9px 6px;font-size:13px;display:inline-flex}.seg button:hover{color:var(--ink);background:rgba(var(--fg-rgb),.06)}.seg button.on{background:var(--pink);color:#fff;box-shadow:0 4px 14px rgba(var(--accent-rgb),.3)}.clock-result{border:2px solid var(--green);background:var(--overlay);text-align:center;border-radius:14px;margin-top:10px;padding:14px}.clock-result .big{justify-content:center;align-items:center;gap:8px;font-size:22px;font-weight:800;display:flex}.clock-result .who{margin:4px 0 6px;font-size:15px}.act{background:var(--overlay);min-height:32px;color:var(--ink-2);border:1px solid var(--line);box-shadow:none;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;margin:2px 4px 2px 0;padding:5px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.act svg{color:var(--accent-soft);flex:none}.act:hover{background:rgba(var(--fg-rgb),.11);color:var(--ink);border-color:var(--line-2)}.act:active{transform:translateY(1px)}.act.t-danger svg{color:var(--red)}.act.t-danger:hover{background:var(--red-100);color:var(--ink);border-color:#ff4d6d80}.act.t-ok svg{color:var(--green)}.act.t-ok:hover{background:var(--green-100)}.act.t-warn svg{color:var(--amber)}.act.t-warn:hover{background:var(--amber-100)}.act.t-muted svg{color:var(--grey)}.act.primary{background:var(--pink);color:#fff;box-shadow:0 4px 14px rgba(var(--accent-rgb),.28);border-color:#0000}.act.primary svg{color:#fff}.act.primary:hover{background:var(--pink-600)}.act.icon-only{padding:5px 7px}.act:disabled{opacity:.45}td .act{margin:0 4px 0 0}.acts{flex-wrap:wrap;gap:2px;display:inline-flex}::selection{background:var(--pink);color:#fff}*{scrollbar-width:thin;scrollbar-color:rgba(var(--fg-rgb),.22) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(var(--fg-rgb),.2);background-clip:padding-box;border:2px solid #0000;border-radius:999px}select option{background:var(--panel-2);color:var(--ink)}.pick-list{border:1px solid var(--mid);background:var(--panel);border-radius:10px;max-height:200px;overflow:auto}.pick-row{border-bottom:1px solid var(--mid);cursor:pointer;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;display:flex}.pick-row:last-child{border-bottom:0}.pick-row:hover{background:var(--light)}.pick-row.on{background:color-mix(in srgb, var(--violet) 18%, transparent)}.pick-row input[type=checkbox],.pick-row input[type=radio]{width:auto;accent-color:var(--pink);margin:0}.pick-name{flex:1}.pick-name small{color:var(--soft);font-weight:400}.pick-pref{color:var(--pink);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.pick-pref.off{opacity:.35}.hint{color:var(--ink-2);margin-top:4px;font-size:11.5px;line-height:1.35}.hint .warn{color:var(--amber);font-weight:600}.search{background:rgba(var(--fg-rgb),.05);border:1px solid var(--line-2);border-radius:var(--radius-xs);min-width:260px;color:var(--soft);align-items:center;gap:6px;padding:0 8px 0 10px;display:inline-flex}.search input{background:0 0;border:0;flex:1;width:auto;min-height:36px;padding:7px 4px}.search input:focus{box-shadow:none;outline:none}.search .clear{box-shadow:none;color:var(--soft);background:0 0;border:0;min-height:0;padding:4px}.search .clear:hover{color:var(--pink)}.row .seg{grid-template-columns:none;margin-bottom:0;display:inline-flex}.row .seg button{min-height:0;padding:6px 12px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px 2px;font-size:13px;display:flex}.pager button.ghost{min-height:32px;padding:5px 10px;font-size:13px}.pager button:disabled{opacity:.35}.photo-cell.ing{flex-wrap:nowrap}.photo-cell.ing img,.photo-cell.ing .ph{border-radius:8px;width:40px;height:40px}.photo-cell.ing .acts{flex-flow:row;gap:2px;display:flex!important}.photo-cell.ing .act{margin:0}.tbl-scroll{margin:0 -4px;padding:0 4px;overflow-x:auto}.tbl-scroll table.data{min-width:900px}.modal.ask{max-width:460px}.ask-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.ask-head h2{margin:0;font-size:17px}.ask-icon{background:color-mix(in srgb, var(--violet) 22%, transparent);color:#c9a6ff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.ask-icon.danger{background:rgba(var(--accent-rgb),.16);color:var(--pink)}.ask-body{color:var(--ink-2);font-size:14px;line-height:1.5}.modal.ask textarea{resize:vertical;width:100%}table.data.lines td{vertical-align:top}table.data.lines input,table.data.lines select{height:40px;min-height:40px}table.data.lines .cell-text{align-items:center;min-height:40px;display:flex}table.data.lines td:last-child .act{margin-top:2px}table.data.lines .hint{max-width:100%}.menu-page .toolbar{z-index:5;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex;position:sticky;top:64px}.menu-page .toolbar select{width:auto;min-width:150px;min-height:36px;padding:6px 30px 6px 10px}.menu-page .toolbar .seg{grid-template-columns:none;margin-bottom:0;display:inline-flex}.menu-page .toolbar .seg button{min-height:0;padding:6px 11px;font-size:12.5px}button.ghost.sm{min-height:30px;padding:5px 10px;font-size:12.5px}.cat-card{margin-bottom:10px;padding-top:10px;padding-bottom:10px}.cat-card.closed{padding-bottom:10px}.cat-card.hidden-cat{opacity:.65}.cat-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cat-toggle{background:var(--overlay);border:1px solid var(--line);box-shadow:none;width:30px;height:30px;min-height:0;color:var(--ink-2);border-radius:8px;place-items:center;padding:0;transition:transform .15s;display:grid}.cat-card.closed .cat-toggle{transform:rotate(-90deg)}.cat-title{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;min-width:160px}.cat-meta{margin-top:2px;font-size:12.5px}.cat-card .cat-head .acts{flex-wrap:wrap;gap:0;display:flex}.cat-card table.data{table-layout:fixed;width:100%;margin-top:8px}.cat-card table.data td{overflow-wrap:anywhere}.menu-tbl tr.inactive td{opacity:.5}.item-name{align-items:center;gap:8px;font-size:14px;display:flex}.item-sub{flex-wrap:wrap;gap:8px;margin-top:1px;font-size:12px;display:flex}.item-sub .code{background:var(--overlay);border:1px solid var(--line);border-radius:6px;padding:0 6px;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:11.5px}.chip-sm{background:color-mix(in srgb, var(--violet) 22%, transparent);color:var(--soft-violet);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.lbl{color:var(--soft-violet);text-transform:uppercase;letter-spacing:.05em;margin-right:5px;font-size:10.5px;font-weight:700}.badge.b-muted{background:var(--overlay);color:var(--soft);border:1px solid var(--line)}button.avail{min-height:28px;box-shadow:none;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}button.avail.on{color:var(--green);background:#00e69624;border:1px solid #00e69659}button.avail.on:hover{background:#00e6963d}button.avail.off{background:rgba(var(--accent-rgb),.16);color:var(--pink);border:1px solid rgba(var(--accent-rgb),.4)}button.avail.off:hover{background:rgba(var(--accent-rgb),.26)}@media (width<=720px){.menu-page .toolbar{position:static}}.search.sm input{min-height:30px;padding:4px 2px;font-size:13px}.search.sm{padding-left:8px}.combo{width:100%;min-width:180px;position:relative}.combo-ctl{background:rgba(var(--fg-rgb),.05);border:1px solid var(--line-2);border-radius:var(--radius-xs);min-height:40px;color:var(--ink);cursor:text;align-items:center;gap:6px;padding:0 6px 0 10px;display:flex}.combo.open .combo-ctl,.combo-ctl:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.combo.invalid .combo-ctl{border-color:var(--red)}.combo.disabled .combo-ctl{opacity:.55;cursor:not-allowed}.combo-ico{color:var(--soft);flex:none}.combo-ctl input{background:0 0;border:0;outline:none;flex:1;min-width:40px;min-height:0;padding:7px 2px;font-size:14px;box-shadow:none!important}.combo-ctl input::placeholder{color:var(--ink);opacity:1}.combo.open .combo-ctl input::placeholder{color:var(--soft)}.combo-sub{color:var(--soft-violet);white-space:nowrap;font-size:12px}.combo-x,.combo-chev{box-shadow:none;min-height:0;color:var(--soft);background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;display:grid}.combo-x:hover{color:var(--pink)}.combo-chev:hover{color:var(--ink);background:var(--overlay)}.combo.open .combo-chev svg{transform:rotate(180deg)}.combo-list{z-index:3000;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;max-height:280px;padding:4px;overflow:auto;box-shadow:0 14px 40px #0000008c}.combo-group{letter-spacing:.05em;text-transform:uppercase;color:var(--soft-violet);padding:8px 10px 4px;font-size:11px;font-weight:700}.combo-opt{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.combo-opt .combo-label{flex:1}.combo-opt.hi{background:color-mix(in srgb, var(--violet) 28%, transparent)}.combo-opt.cur{color:var(--accent-soft)}.combo-opt.dis{opacity:.4;cursor:not-allowed}.combo-opt svg{color:var(--pink)}.combo-empty{color:var(--soft);text-align:center;padding:12px;font-size:13px}table.data.lines .combo-ctl{height:40px}.line.pick{cursor:pointer;border-left:3px solid #0000;transition:background .12s;position:relative}.line.pick:hover{background:var(--overlay)}.line.pick.sel{background:color-mix(in srgb, var(--pink) 16%, transparent);border-left-color:var(--pink);color:var(--ink);font-weight:700}.line.pick.sel .muted{color:var(--accent-soft)}.line.pick .pick-arrow{color:var(--pink);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.cart-line .cl-main{grid-template-columns:1fr auto 34px;align-items:start;gap:8px;display:grid}.cart-line .cl-name{overflow-wrap:anywhere;min-width:0;line-height:1.3}.cart-line .cl-amt{white-space:nowrap;padding-top:1px;font-weight:600}.cart-line .cl-main .act{justify-content:center;width:30px;min-height:28px;margin:-3px 0 0;padding:4px}.cart-line .cl-spacer{width:30px}.cart .lines .line .meta{margin-top:2px}.table-chip{background:color-mix(in srgb, var(--violet) 22%, transparent);border:1px solid color-mix(in srgb, var(--violet) 45%, transparent);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:13.5px;display:flex}.table-chip svg{color:var(--soft-violet)}@media (width<=1100px){.cart-line .cl-main{grid-template-columns:1fr auto 30px}}.tbl .prog{box-sizing:border-box;width:100%;margin-top:3px;padding:0 8px}.tbl .prog-lbl{letter-spacing:.02em;white-space:nowrap;justify-content:center;align-items:center;gap:4px;font-size:10.5px;font-weight:700;line-height:1.2;display:flex}.tbl .prog-ico{border-radius:50%;place-items:center;width:14px;height:14px;display:inline-grid}.tbl .prog.ordered .prog-lbl{color:var(--soft-violet)}.tbl .prog.cooking .prog-lbl{color:var(--amber)}.tbl .prog.ready .prog-lbl{color:var(--green)}.tbl .prog.served .prog-lbl{color:var(--blue)}.tbl .prog-bar{background:rgba(var(--fg-rgb),.12);border-radius:3px;height:4px;margin-top:3px;display:flex;overflow:hidden}.tbl .prog-bar span{height:100%;transition:width .4s;display:block}.tbl .prog-bar .served{background:#8ce4ff}.tbl .prog-bar .ready{background:#3df5b3}.tbl .prog-bar .cooking{background:var(--amber);background-image:linear-gradient(90deg, rgba(var(--fg-rgb),0) 0, rgba(var(--fg-rgb),.45) 50%, rgba(var(--fg-rgb),0) 100%);background-size:40px 100%;animation:1.1s linear infinite prog-shimmer}@keyframes prog-shimmer{0%{background-position:-40px 0}to{background-position:40px 0}}.tbl .prog.cooking .prog-ico{animation:.9s ease-in-out infinite alternate flame-flicker}@keyframes flame-flicker{0%{opacity:.8;transform:scale(.9)rotate(-4deg)}to{opacity:1;transform:scale(1.15)rotate(4deg)}}.tbl .prog.ready .prog-ico{animation:1.4s ease-in-out infinite bell-ring}.tbl .prog.ready{position:relative}.tbl .prog.ready .prog-ico:after{content:"";border:2px solid #3df5b3;border-radius:50%;animation:1.4s ease-out infinite ring-pulse;position:absolute;inset:-4px}.tbl .prog.ready .prog-ico{position:relative}@keyframes bell-ring{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(8deg)}40%{transform:rotate(-6deg)}}@keyframes ring-pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.tbl .prog.ordered .prog-ico{animation:1.6s ease-in-out infinite soft-blink}@keyframes soft-blink{0%,to{opacity:.45}50%{opacity:1}}.tbl.small .prog-lbl{font-size:9.5px}.tbl.small .prog{margin-top:1px;padding:0 4px}.tbl.small .prog-bar{height:3px;margin-top:2px}@media (prefers-reduced-motion:reduce){.tbl .prog *{animation:none!important}}.merge-box{background:color-mix(in srgb, var(--violet) 10%, transparent);pointer-events:none;z-index:0;border:2px dashed #d9c4ffb3;border-radius:22px;position:absolute}.merge-box.OCCUPIED,.merge-box.BILL_PENDING{border-color:var(--amber);background:#ffb54712}.merge-box.BILL_PENDING{border-color:var(--blue);background:#64aaff12}.merge-tag{background:var(--violet);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:-11px;left:14px;box-shadow:0 2px 8px #0006}.merge-box.OCCUPIED .merge-tag{background:var(--amber);color:#2a1600}.merge-box.BILL_PENDING .merge-tag{background:#4c9bff}.floor-canvas .tbl{z-index:1}.kot-meta{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.kot-meta>span{flex:1;min-width:0;line-height:1.35}.kot-meta .act{justify-content:center;width:28px;min-height:26px;margin:-2px 0 0;padding:4px}.kot-station{letter-spacing:.04em;text-transform:uppercase;background:rgba(var(--fg-rgb),.06);color:var(--soft-violet);border-bottom:1px solid var(--line);margin:-2px -12px 8px;padding:5px 12px;font-size:12.5px;font-weight:800}.kot-part{background:rgba(var(--fg-rgb),.18);color:var(--ink);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700}.acct-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start}@media (width<=1180px){.acct-grid{grid-template-columns:1fr}.acct-side{grid-template-columns:1fr 1fr;gap:12px;display:grid}}@media (width<=760px){.acct-side{grid-template-columns:1fr}}.acct-side .card+.card{margin-top:12px}@media (width<=1180px){.acct-side .card+.card{margin-top:0}}.spend-list{margin-top:8px}.spend-row{border-bottom:1px solid var(--line);padding:7px 0}.spend-row:last-child{border-bottom:0}.spend-top{justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.spend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.spend-bar{background:rgba(var(--fg-rgb),.1);border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.spend-bar span{background:var(--grad);border-radius:3px;height:100%;display:block}.spend-pct{text-align:right;margin-top:2px;font-size:11px}.cat-group{margin-top:12px}.cat-group-h{letter-spacing:.06em;text-transform:uppercase;color:var(--soft-violet);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:2px;padding:0 0 4px;font-size:11px;font-weight:800;display:flex}.cat-row{border-radius:8px;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:6px 4px;font-size:13.5px;display:grid}.cat-row:hover{background:var(--overlay)}.cat-row.off{opacity:.55}.cat-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.cat-amt{white-space:nowrap;font-size:12.5px}.cat-row .act{justify-content:center;width:30px;min-height:28px;margin:0;padding:4px}.seg.seg-4{grid-template-columns:repeat(4,1fr);display:grid}.seg.seg-4 button{padding:7px 4px;font-size:12.5px}.stn-list{margin-top:6px}.stn-row{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:9px 10px;display:flex}.stn-row.off{opacity:.55}.stn-row .acts{display:flex}.stn-row .act{justify-content:center;width:32px;min-height:30px;margin:0 0 0 4px;padding:4px}.locked-panel{text-align:center;max-width:520px;margin:48px auto;padding:36px 32px}.locked-panel .lock-ic{background:color-mix(in srgb, var(--pink) 18%, transparent);width:56px;height:56px;color:var(--pink);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.locked-panel h2{margin:0 0 8px}.locked-panel p{margin:0 0 18px;line-height:1.5}.locked-panel .act{text-decoration:none;display:inline-block}.sub-grid{grid-template-columns:1fr 1fr;margin-bottom:14px}@media (width<=1100px){.sub-grid{grid-template-columns:1fr}}.inv-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.inv-head h2{margin:0 0 2px}.inv-list{flex-direction:column;gap:8px;display:flex;container-type:inline-size}.inv-row{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:12px;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) minmax(0,.9fr) 92px 236px;align-items:center;gap:10px 18px;padding:12px 16px;display:grid}.inv-row.open{border-color:color-mix(in srgb, var(--amber) 55%, var(--line));background:color-mix(in srgb, var(--amber) 7%, var(--panel))}.inv-row.s-overdue{border-color:color-mix(in srgb, var(--red) 55%, var(--line));background:color-mix(in srgb, var(--red) 8%, var(--panel))}.inv-row.s-void{opacity:.55}.inv-row .lbl{letter-spacing:.04em;text-transform:uppercase;color:var(--grey);margin-bottom:2px;font-size:11px}.inv-no{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.inv-kind{letter-spacing:.04em;text-transform:uppercase;background:var(--overlay);color:var(--grey);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.inv-kind.k-upgrade{background:color-mix(in srgb, var(--violet) 25%, transparent);color:var(--soft-violet)}.inv-kind.k-renewal{background:color-mix(in srgb, var(--pink) 18%, transparent);color:var(--pink)}.inv-amt{text-align:right}.inv-total{white-space:nowrap;font-size:16px;font-weight:700}.inv-status{justify-self:center}.inv-actions{justify-content:flex-start;justify-self:stretch;align-items:center;gap:6px;display:flex}.inv-actions button{white-space:nowrap}.inv-empty{text-align:center;padding:18px 6px}.inv-foot{margin-top:10px}@container (width<=720px){.inv-row{grid-template-columns:1fr auto;gap:8px 12px}.inv-id{grid-column:1}.inv-status{grid-area:1/2;place-self:start end}.inv-period{grid-column:1}.inv-amt{text-align:right;grid-area:2/2}.inv-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;justify-self:stretch;padding-top:8px}}.audit-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.audit-toolbar .search{flex:260px;max-width:420px}.audit-toolbar select{width:auto;max-width:220px;min-height:36px}.audit-date{align-items:center;gap:6px;display:inline-flex}.audit-date input{width:150px;min-height:36px}.audit-table{table-layout:fixed;width:100%;min-width:900px}.audit-table td{vertical-align:top}.audit-table td:nth-child(2),.audit-table td:nth-child(4){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audit-details{cursor:default}.audit-details code{color:var(--grey);white-space:nowrap;text-overflow:ellipsis;background:0 0;font-family:ui-monospace,Consolas,monospace;font-size:12px;display:block;overflow:hidden}.audit-details code.full{white-space:pre-wrap;word-break:break-all;color:var(--ink-2)}.audit-table tr.open td{background:var(--overlay)}.tenants-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.tenants-toolbar .search{flex:240px;max-width:380px}.tenants-toolbar select{width:auto;min-height:36px}.tenants-toolbar .seg{grid-template-columns:none;margin-bottom:0;display:inline-flex}.tenants-toolbar .seg button{min-height:0;padding:6px 11px;font-size:12.5px}.seg .seg-n{background:rgba(var(--fg-rgb),.12);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px}.tenant-list{flex-direction:column;gap:6px;display:flex;container-type:inline-size}.tenant-row{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, transparent);cursor:pointer;border-radius:12px;outline:none;grid-template-columns:minmax(200px,1.7fr) minmax(120px,1fr) 96px minmax(120px,.9fr) minmax(110px,.9fr) minmax(170px,1.3fr) minmax(90px,.7fr) 24px;align-items:center;gap:8px 14px;padding:11px 14px;transition:border-color .15s,background .15s;display:grid}.tenant-row:hover,.tenant-row:focus-visible{border-color:var(--line-2);background:var(--overlay)}.tenant-row.sel{border-color:var(--pink)}.tenant-row.owing{border-left:3px solid var(--red)}.tenant-row.head{cursor:default;letter-spacing:.05em;text-transform:uppercase;color:var(--grey);background:0 0;border:0;padding:4px 14px;font-size:11px}.tenant-row .r{text-align:right}.tenant-row .lbl{letter-spacing:.04em;text-transform:uppercase;color:var(--grey);margin-bottom:2px;font-size:11px;display:none}.t-title{font-size:15px;font-weight:700}.t-cycle{color:var(--grey);text-transform:capitalize;font-size:11px}.t-go{color:var(--grey);justify-self:end}.tenant-row:hover .t-go{color:var(--pink)}@container (width<=1000px){.tenant-row.head{display:none}.tenant-row{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"name name status""plan until usage""contact contact open";align-items:start}.tenant-row .lbl{display:block}.t-name{grid-area:name}.t-status{grid-area:status;justify-self:end}.t-plan{grid-area:plan}.t-until{grid-area:until}.t-usage{grid-area:usage}.t-contact{grid-area:contact}.t-open{grid-area:open}.t-go{display:none}.tenant-row .r{text-align:left}}@container (width<=560px){.tenant-row{grid-template-columns:1fr 1fr;grid-template-areas:"name status""plan until""usage open""contact contact"}}.drawer-bg{place-items:stretch end;padding:0}.modal.drawer{border-width:0 0 0 1px;border-radius:0;width:860px;max-width:100%;height:100vh;max-height:100vh;padding:22px 26px 32px;animation:.22s ease-out drawer-in}@keyframes drawer-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-contact{color:var(--ink-2);flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13px;display:flex}.drawer-contact span{align-items:center;gap:6px;display:inline-flex}.drawer-section{margin-top:16px}.drawer-section h3{letter-spacing:.02em;text-transform:uppercase;color:var(--grey);margin:0 0 8px;font-size:14px}.drawer-grid{grid-template-columns:1fr 1fr}@media (width<=760px){.drawer-grid{grid-template-columns:1fr}}.inv-row.compact{grid-template-columns:minmax(0,2fr) minmax(0,.8fr) 84px 84px;padding:10px 12px}.staff-list,.timeline{flex-direction:column;gap:6px;font-size:13px;display:flex}.staff-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.tl-row{grid-template-columns:110px 1fr;gap:8px;display:grid}.tl-when{font-size:12px}.inv-row.platform{grid-template-columns:minmax(0,2.6fr) minmax(0,1.1fr) minmax(0,.9fr) 92px 92px}.inv-kind.k-manual{background:color-mix(in srgb, var(--amber) 22%, transparent);color:var(--amber)}.pager.compact{padding-top:8px}.pager.compact button.ghost{padding:5px 9px}.seg.inline{grid-template-columns:none;display:flex}.seg.inline button{flex:1;min-height:0;padding:6px 8px;font-size:12.5px}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px;display:grid}.theme-card{border:2px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:14px;outline:none;transition:border-color .15s,transform .1s,box-shadow .15s;overflow:hidden}.theme-card:hover,.theme-card:focus-visible{border-color:var(--line-2);box-shadow:var(--shadow);transform:translateY(-2px)}.theme-card.current{border-color:var(--pink)}.theme-card.locked{cursor:not-allowed;opacity:.6}.theme-card.locked:hover{box-shadow:none;border-color:var(--line);transform:none}.theme-card.locked .theme-preview{filter:saturate(.4)}.theme-preview{grid-template-columns:34px 1fr;gap:8px;height:118px;padding:10px;display:grid}.tp-side{border-radius:6px;flex-direction:column;gap:5px;padding:6px 5px;display:flex}.tp-side i{border-radius:4px;width:14px;height:14px;margin-bottom:3px;display:block}.tp-side b{background:#ffffff24;border-radius:3px;height:6px;display:block}.tp-main{flex-direction:column;gap:6px;min-width:0;display:flex}.tp-bar{border-radius:4px;height:12px}.tp-tiles{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.tp-tiles span{border-radius:5px;height:22px;display:block}.tp-card{border-radius:6px;flex-direction:column;flex:1;gap:5px;padding:7px;display:flex}.tp-card em{border-radius:999px;width:42px;height:9px;display:block}.tp-card u{border-radius:3px;width:85%;height:5px;display:block}.theme-meta{padding:10px 12px 12px}.offline-note{background:var(--amber-100);border:1px solid var(--amber);color:var(--fg);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.offline-note svg{color:var(--amber);flex:none;margin-top:2px}.reauth-bg{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1200;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.reauth{background:var(--panel);border:1px solid var(--line-2);width:420px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:20px;padding:26px}.reauth .dots{justify-content:center;gap:12px;margin:10px 0 14px;display:flex}.reauth .dots span{border:2px solid var(--line-2);border-radius:50%;width:14px;height:14px}.reauth .dots span.on{background:var(--accent);border-color:var(--accent)}.reauth .pinpad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.reauth .pinpad button{height:52px;font-size:20px;font-weight:600}.ready-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px;display:grid}.ready-grid .rt{border:1px solid var(--line-2);background:rgba(var(--fg-rgb), .03);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.ready-grid .rt .ic{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.ready-grid .rt .ic.ok{background:var(--green)}.ready-grid .rt .ic.warn{background:var(--amber)}.ready-grid .rt .ic.bad{background:var(--red)}.ready-grid .rt .l{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.ready-grid .rt .v{font-weight:600}.ready-grid .rt .s{color:var(--muted);font-size:12px}.ready-banner{border-radius:12px;align-items:center;gap:10px;margin-top:4px;padding:10px 14px;font-weight:600;display:flex}.ready-banner.ok{background:var(--green-100);color:var(--green);border:1px solid var(--green)}.ready-banner.warn{background:var(--amber-100);color:var(--fg);border:1px solid var(--amber)}.paper{color:#111;background:#fff;border-radius:8px;padding:14px 16px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;line-height:1.45}.paper hr{border:0;border-top:1px dashed #999;margin:6px 0}.paper .prow{justify-content:space-between;gap:12px;display:flex}.paper .prow span:last-child{white-space:nowrap}.paper .pnote{padding-left:18px;font-weight:700}.paper .pcut{text-align:center;color:#888;letter-spacing:1px;margin-top:8px}@media print{.paper{border-radius:0;padding:0}}body[data-fs] .app{grid-template-rows:0 1fr;grid-template-columns:0 1fr}body[data-fs] .sidebar,body[data-fs] .topbar,body[data-fs] .subbar,body[data-fs] .scrim{display:none!important}body[data-fs] .page{padding:0;overflow:hidden}.fs-map{background:var(--bg);z-index:50;flex-direction:column;display:flex;position:fixed;inset:0}.fs-bar{border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:center;gap:18px;height:56px;padding:0 18px;display:flex}.fs-brand{align-items:center;gap:10px;min-width:0;font-size:16px;display:flex}.fs-brand img{object-fit:cover;border-radius:8px;width:30px;height:30px}.fs-floors{margin:0}.fs-legend{flex-wrap:wrap;gap:8px;display:flex}.fs-legend .table-btn{border-width:2px;margin:0;padding:2px 10px;font-size:12px}.fs-right{align-items:center;gap:14px;margin-left:auto;display:flex}.fs-clock{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.fs-right .status{color:var(--green);align-items:center;gap:6px;font-size:13px;display:inline-flex}.fs-right .status.off{color:var(--red)}.fs-right .status .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.fs-stage{flex:1;overflow:auto}.fs-floor-title{margin:0 0 6px 4px;font-size:18px;font-weight:700}.fs-map .floor-canvas .tbl{cursor:pointer}@media (width<=900px){.fs-legend{display:none}}.fs-counts{gap:8px;display:flex}.fs-counts .c{border:2px solid;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}.fs-counts .new{color:var(--blue);border-color:var(--blue)}.fs-counts .prep{color:var(--amber);border-color:var(--amber)}.fs-counts .ready{color:var(--green);border-color:var(--green)}.fs-counts .late{color:#fff;background:var(--red);border-color:var(--red)}.kds.big{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;font-size:17px}.kds.big .ticket .head{font-size:19px}.kds.big .ticket .it{padding:6px 0;font-size:18px}.kds.big .ticket .note{font-size:15px}.kds.big .ticket button{min-height:52px;font-size:17px}.kds.big .kot-meta{font-size:13px}@media (width<=1100px){.fs-counts{display:none}}
