:root{--c1: #2196f3;--c2: #5e35b1;--c1-light: color-mix(in srgb, var(--c1) 12%, #fff);--c2-light: color-mix(in srgb, var(--c2) 11%, #fff);--c2-200: color-mix(in srgb, var(--c2) 45%, #fff);--c2-800: color-mix(in srgb, var(--c2) 80%, #000);--c1-800: color-mix(in srgb, var(--c1) 70%, #000);--billing: #ef6c00;--billing-light: color-mix(in srgb, var(--billing) 12%, #fff);--billing-800: color-mix(in srgb, var(--billing) 70%, #000);--accent-text: var(--c2);--bg: #eef2f6;--surface: #ffffff;--surface2: #f8fafc;--surface3: #eef2f6;--text: #364152;--heading: #121926;--muted: #697586;--border: #e3e8ef;--ok: #00c853;--warn: #ff9800;--warn-bg: #ffc107;--danger: #f44336;--info: #2196f3;--dark: #121926;--logo4: #000000;--radius: 8px;--radius-sm: 8px;--shadow: 0 2px 14px 0 rgb(32 40 45 / 8%);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .18);--side-bg: #ffffff;--side-text: #364152;color-scheme:light}[data-theme=dark]{--surface: #111936;--bg: #1a223f;--surface2: #18213f;--surface3: #1f2a4d;--text: #bdc8f0;--heading: #e4e8f7;--muted: #8492c4;--border: #2c3a66;--dark: #e4e8f7;--logo4: #ffffff;--c1-light: color-mix(in srgb, var(--c1) 22%, #111936);--billing-light: color-mix(in srgb, var(--billing) 22%, #111936);--billing-800: #ffb74d;--c2-light: color-mix(in srgb, var(--c2) 30%, #111936);--accent-text: color-mix(in srgb, var(--c2-200) 75%, var(--c2));--shadow: 0 2px 14px 0 rgb(0 0 0 / 35%);--side-bg: #111936;--side-text: #bdc8f0;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Poppins,Prompt,Leelawadee UI,Segoe UI,Tahoma,system-ui,sans-serif;font-size:14px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--c1);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.3;color:var(--heading);font-weight:700}h1{font-size:1.55rem}h2{font-size:1.15rem}h3{font-size:1.02rem;font-weight:600}input,select,textarea,button{font:inherit;color:inherit}img{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:500;background:var(--surface3);color:var(--heading);cursor:pointer;white-space:nowrap;min-height:38px;transition:filter .15s,background .15s,box-shadow .15s}.btn:hover:not(:disabled){filter:brightness(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c1);color:#fff}.btn-warn{background:var(--warn-bg);color:#1f2128}.btn-dark{background:var(--dark);color:var(--surface)}.btn-ghost{background:transparent}.btn-outline-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-light-primary{color:var(--c1);background:color-mix(in srgb,var(--c1) 12%,transparent)}.btn-sm{padding:4px 11px;min-height:30px;font-size:.85rem}.btn-lg{padding:12px 20px;min-height:48px;font-size:1.02rem}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field>label{font-size:.82rem;color:var(--muted);font-weight:500}.input,.select,.textarea{width:100%;padding:9px 13px;border:1px solid var(--surface2);border-radius:var(--radius-sm);background:var(--surface2);min-height:40px;box-shadow:inset 0 1px 2px #00000013}.input:focus,.select:focus,.textarea:focus{outline:none;background:var(--surface);border-color:color-mix(in srgb,var(--c1) 50%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--c1) 18%,transparent)}.textarea{min-height:70px;resize:vertical}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:18px;height:18px;accent-color:var(--c1)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}.grow{flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.strike{text-decoration:line-through;color:var(--muted)}.err{color:var(--danger)}.mt{margin-top:12px}.mb{margin-bottom:12px}.hint{font-size:.85rem;color:var(--muted);margin-top:-6px;margin-bottom:10px}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface3);border-radius:99px;transition:.2s;cursor:pointer}.switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--c1)}.switch input:checked+span:before{transform:translate(18px)}.card{background:var(--surface);border:none;border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:600;background:var(--surface2);border:none;color:var(--muted);white-space:nowrap}.badge.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:#2f9a8a}.badge.warn{background:color-mix(in srgb,var(--warn-bg) 30%,transparent);color:#b88400}.badge.danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.badge.info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}.badge.primary{background:color-mix(in srgb,var(--c1) 14%,transparent);color:var(--c1)}[data-theme=dark] .badge.ok{color:var(--ok)}[data-theme=dark] .badge.warn{color:var(--warn-bg)}.tabs{display:flex;gap:4px;padding:6px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow-x:auto}.tab{padding:8px 16px;border:none;background:none;cursor:pointer;border-radius:5px;color:var(--muted);white-space:nowrap;font-weight:500}.tab:hover{color:var(--c1)}.tab.active{background:var(--grad);color:#fff;box-shadow:0 3px 8px color-mix(in srgb,var(--c1) 35%,transparent)}.tab .badge{margin-left:6px}.tab.active .badge{background:#ffffff4d;color:#fff}.table-wrap{overflow-x:auto;border:none;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:6px 8px}table.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table th{font-size:.8rem;color:var(--muted);font-weight:600;background:transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.table th.sortable{cursor:pointer}.table tbody tr:hover{background:color-mix(in srgb,var(--c1) 4%,transparent)}.table tr:last-child td{border-bottom:none}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr.dim td{opacity:.55}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f21288c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:4vh 12px;overflow-y:auto}.modal{background:var(--surface);border-radius:8px;width:100%;max-width:560px;box-shadow:var(--shadow-lg);margin:auto 0}.modal.wide{max-width:860px}.modal.xwide{max-width:1100px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.2rem}.modal-body{padding:14px 24px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);flex-wrap:wrap}.toasts{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(420px,92vw)}.toast{background:#37474f;color:#fff;padding:12px 16px;border-radius:5px;box-shadow:var(--shadow-lg);animation:pop .2s ease-out;font-weight:500}.toast.ok{background:var(--ok)}.toast.warn{background:var(--warn)}@keyframes pop{0%{transform:translateY(8px);opacity:0}}.shell{display:flex;min-height:100%}.app-header{position:sticky;top:0;z-index:60;height:56px;display:flex;align-items:center;gap:14px;padding:0 20px 0 0;background:var(--grad);color:#fff;box-shadow:0 0 11px #00000021}.app-header .brand{width:264px;padding-left:22px;flex:none}.app-header .logo .l1,.app-header .logo .l2,.app-header .logo .l4{color:#fff}.app-header .logo .l2{opacity:.85}.app-header .hbtn{border:none;background:#ffffff26;color:#fff;border-radius:5px;padding:6px 10px;cursor:pointer}.app-header .hbtn:hover{background:#ffffff47}.app-header .user{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:.88rem}.app-header .shop-name{position:absolute;left:50%;transform:translate(-50%);max-width:36%;text-align:center;line-height:1.15;pointer-events:none}.app-header .shop-name>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .shop-name .sn{font-size:1.4rem;font-weight:800}.app-header .shop-name .dev{font-size:.8rem;opacity:.75}.app-header .avatar{width:36px;height:36px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-weight:700}.shell{display:flex;min-height:calc(100% - 56px)}.side{width:264px;flex:none;background:var(--side-bg);color:var(--side-text);display:flex;flex-direction:column;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;box-shadow:2px 0 2.94px .06px #041a3729;scrollbar-width:thin;z-index:50}.side nav{padding:10px 14px;flex:1}.side .group{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:16px 10px 6px;font-weight:600}.side a{display:block;padding:9px 14px;border-radius:5px;color:var(--side-text);font-size:.9rem;margin:1px 0}.side a:hover{color:var(--c1)}.side a.active{background:#cacaca4d;color:var(--heading);font-weight:600}.side a.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c1);margin-right:8px;vertical-align:middle}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:none}.content{padding:26px 30px;max-width:1500px;width:100%}.content.full{max-width:none}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{margin:0}@media (max-width: 900px){.app-header .brand{width:auto;padding-left:14px}.app-header .user .who{display:none}.side{position:fixed;z-index:90;left:-270px;transition:left .2s;box-shadow:var(--shadow-lg)}.side.open{left:0}.content{padding:14px}}.logo{font-weight:800;font-size:1.35rem;letter-spacing:.01em}.logo .l1{color:var(--c1)}.logo .l4{color:var(--logo4)}.logo .l2{color:var(--c2)}.center-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px}.floor{position:relative;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.floor-zone{position:absolute;border-radius:16px;border:1px dashed color-mix(in srgb,var(--text) 20%,transparent)}.floor-zone .zname{position:absolute;left:10px;top:6px;font-size:.8rem;color:var(--muted);font-weight:600}.tbl{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;cursor:pointer;background:var(--surface);border:2px solid transparent;box-shadow:var(--shadow);font-weight:700;-webkit-user-select:none;user-select:none;text-align:center;line-height:1.2;font-size:.95rem;color:var(--heading);transition:transform .1s}.tbl:hover{transform:translateY(-1px)}.tbl.circle{border-radius:50%}.tbl.busy{background:color-mix(in srgb,var(--c1) 14%,var(--surface));color:var(--c1)}.tbl.alert{background:color-mix(in srgb,var(--warn-bg) 35%,var(--surface));color:#9a6f00}.tbl.sel{border-color:var(--c1)}.tbl small{font-weight:500;font-size:.72rem}.floor .tbl{container-type:size;padding:2px;overflow:visible}.floor .tbl .no{font-size:clamp(13px,27cqmin,24px);line-height:1.1}.floor .tbl small{font-size:clamp(10.5px,17cqmin,14px);line-height:1.15;white-space:nowrap}@container (max-height: 56px){.floor .tbl .amt{display:none}}@container (max-height: 42px){.floor .tbl small{display:none}}.floor .floor-zone .zname{top:auto;bottom:100%;left:4px;margin-bottom:3px;white-space:nowrap}.floor-zone{overflow:visible}.tbl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.tbl-grid .tbl{position:relative;height:84px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:16px;align-items:start}@media (max-width: 1200px){.pos-layout{grid-template-columns:minmax(0,1fr)}}.order-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:12px;overflow:hidden}.order-card .oh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface2);gap:8px}.order-card .ol{display:flex;align-items:flex-start;gap:8px;padding:9px 14px;border-bottom:1px dashed var(--border)}.order-card .ol:last-child{border-bottom:none}.order-card .ol .q{min-width:26px;font-weight:700}.order-card .ol .n{flex:1;min-width:0}.order-card .ol .p{white-space:nowrap;font-variant-numeric:tabular-nums}.order-card .of{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.order-card .of .btn{flex:1}.sub{font-size:.82rem;color:var(--muted)}.panel-sticky{position:sticky;top:12px}.sum-row{display:flex;justify-content:space-between;padding:3px 0}.sum-row.total{font-size:1.25rem;font-weight:800;border-top:1px solid var(--border);margin-top:6px;padding-top:8px}.k-station{margin-bottom:18px}.k-station>h2{display:flex;align-items:center;gap:8px}.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.ticket{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-top:5px solid var(--c1);overflow:hidden}.ticket.late{border-top-color:var(--danger)}.ticket.waiting{border-top-color:var(--muted);opacity:.85}.ticket .th{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);gap:6px}.ticket .th .tno{font-size:1.3rem;font-weight:800}.ticket .ti{padding:10px 14px;border-bottom:1px dashed var(--border)}.ticket .ti:last-child{border-bottom:none}.ticket .ti .name{font-size:1.08rem;font-weight:700}.ticket .ti .acts{display:flex;gap:6px;margin-top:6px}.ticket .ti .acts .btn{flex:1}.cust{max-width:980px;margin:0 auto;padding-bottom:110px;min-height:100%;background:var(--bg)}.cust-head{position:sticky;top:0;z-index:30;background:var(--surface);border-radius:0 0 22px 22px;box-shadow:var(--shadow)}.cust-head .bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 6px;gap:8px;flex-wrap:wrap}.cust-head .bar .lang-btn{flex-wrap:nowrap;overflow-x:auto}.cats{display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px;scrollbar-width:none}.cats::-webkit-scrollbar{display:none}.cat{flex:none;padding:8px 16px;border-radius:12px;border:none;background:var(--surface2);cursor:pointer;font-weight:600;font-size:.95rem}.cat.active{background:var(--dark);color:var(--surface)}.lang-btn{display:flex;gap:4px;flex-wrap:wrap}.lang-btn button{flex:none;border:none;background:var(--surface2);padding:4px 9px;border-radius:8px;font-weight:600;cursor:pointer;font-size:.85rem}.lang-btn button.active{background:var(--dark);color:var(--surface)}.sec-title{padding:16px 14px 8px;font-size:1.2rem;font-weight:800;scroll-margin-top:110px}.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}@media (min-width: 600px){.mgrid{grid-template-columns:repeat(3,1fr)}}.mcard{background:var(--surface);border-radius:20px;overflow:hidden;border:none;box-shadow:var(--shadow);display:flex;flex-direction:column;cursor:pointer;position:relative}.mcard .img{aspect-ratio:4 / 3;background:var(--surface2) center / cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:2.4rem}.mcard .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.mcard .name{font-size:1.05rem;font-weight:700;line-height:1.25}.mcard .price{font-weight:800;color:var(--c1);font-size:1.05rem}.mcard.out{opacity:.55;cursor:not-allowed}.mcard .tag{position:absolute;top:8px;left:8px}.mcard .qty{position:absolute;top:8px;right:8px;background:var(--c1);color:#fff;border-radius:99px;min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700}.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 -10px 30px #00000014;display:flex;gap:8px;max-width:980px;margin:0 auto}.cart-bar .btn{flex:1}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:92vh;overflow-y:auto;border-radius:26px 26px 0 0;padding-bottom:env(safe-area-inset-bottom)}.sheet .sheet-head{position:sticky;top:0;background:var(--surface);display:flex;justify-content:space-between;align-items:center;padding:16px 20px 10px;z-index:1}.sheet .sheet-body{padding:10px 20px 20px}.opt{display:flex;align-items:center;justify-content:space-between;padding:9px 4px;border-bottom:1px solid var(--border);gap:8px}.stepper{display:inline-flex;align-items:center;gap:0;border-radius:12px;overflow:hidden;background:var(--surface2)}.stepper button{width:40px;height:40px;border:none;background:transparent;font-weight:700;font-size:1.2rem;cursor:pointer}.stepper span{min-width:40px;text-align:center;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted)}.status-dot.on{background:var(--ok)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.kpi .v{font-size:1.7rem;font-weight:700;color:var(--heading);font-variant-numeric:tabular-nums}.kpi .l{color:var(--muted);font-size:.88rem}.kpi .d{font-size:.85rem;font-weight:600}.kpi .d.up{color:var(--ok)}.kpi .d.down{color:var(--danger)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin-bottom:16px}.clickable{cursor:pointer}.clickable{transition:transform .15s,box-shadow .15s}.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.heat{display:grid;grid-template-columns:36px repeat(24,1fr);gap:2px;font-size:.7rem}.heat div{aspect-ratio:1;border-radius:3px}.bar-list .bl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;margin-bottom:8px;font-size:.9rem}.bar-list .bl .track{grid-column:1 / -1;height:6px;background:var(--surface2);border-radius:99px;overflow:hidden}.bar-list .bl .fill{height:100%;background:var(--c1);border-radius:99px}.fp-wrap{display:grid;grid-template-columns:220px 1fr;gap:12px}@media (max-width: 900px){.fp-wrap{grid-template-columns:minmax(0,1fr)}}.fp-canvas{position:relative;width:1200px;height:800px;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:20px 20px;background-color:var(--surface);border:none;border-radius:16px;transform-origin:0 0}.fp-item{position:absolute;cursor:move;touch-action:none}.fp-item .handle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:var(--c1);border-radius:3px;cursor:nwse-resize}.fp-item.sel{outline:2px solid var(--c2)}.print-only{display:none}@media print{body{background:#fff;color:#000}.no-print,.side,.app-header,.toasts{display:none!important}.print-only{display:block}.content{padding:0;max-width:none}.card{box-shadow:none;border:none;padding:0}.table-wrap{border:none}.table th{background:#eee!important}}.a4{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#000;padding:14mm;font-size:13px;box-shadow:var(--shadow)}.a4 table{width:100%;border-collapse:collapse}.a4 th,.a4 td{border:1px solid #000;padding:5px 7px}.a4 .noborder td{border:none;padding:2px 0}.a4 .addr{white-space:pre-wrap;overflow-wrap:anywhere}@media print{.a4{box-shadow:none;padding:0;width:auto;min-height:auto}@page{size:A4;margin:12mm}}.auth-page{background:var(--grad)}.auth-page .login-card{padding:34px 30px;border-radius:5px;box-shadow:var(--shadow-lg)}.auth-page .login-card .btn-primary{background:var(--grad)}.receipt{background:#fff;color:#000;margin:0 auto 16px;padding:14px 4mm;font-family:Prompt,Tahoma,sans-serif;line-height:1.35;box-shadow:var(--shadow);border-radius:6px;overflow-wrap:anywhere}.receipt hr{border:none;border-top:1px dashed #000;margin:6px 0}.receipt .rrow{display:flex;justify-content:space-between;gap:8px}.receipt .rrow span:last-child{white-space:nowrap}@media print{.receipt{box-shadow:none;margin:0;border-radius:0;page-break-after:always}}.tbl.billing{background:color-mix(in srgb,var(--info) 14%,var(--surface));color:var(--info)}.tbl .tbl-count{position:absolute;top:-8px;right:-8px;background:var(--danger);color:#fff;border-radius:99px;min-width:22px;height:22px;font-size:.75rem;display:flex;align-items:center;justify-content:center;padding:0 6px}.alert{padding:11px 14px;border-radius:14px;background:var(--surface2);font-size:.9rem}.alert.info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--heading)}.alert.warn{background:color-mix(in srgb,var(--warn-bg) 28%,transparent);color:var(--heading)}.c-search{display:flex;align-items:center;gap:8px;margin:0 12px 10px;padding:0 12px;background:var(--surface2);border-radius:12px}.c-search input{flex:1;border:none;background:transparent;padding:10px 0;outline:none}.c-search button{border:none;background:none;cursor:pointer;color:var(--muted)}.c-strip{display:flex;justify-content:space-between;align-items:center;gap:8px;width:calc(100% - 24px);margin:12px 12px 0;padding:12px 14px;border:none;border-radius:16px;background:var(--dark);color:var(--surface);cursor:pointer;text-align:left}.c-strip b{color:var(--surface)}.c-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.c-counts div{background:var(--surface2);border-radius:14px;padding:10px 4px;display:flex;flex-direction:column}.c-counts b{font-size:1.5rem;color:var(--heading)}.c-counts span{font-size:.8rem;color:var(--muted)}.c-counts .ok b{color:var(--ok)}.c-counts .wait b{color:#b88400}.c-dot{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;border-radius:99px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem;padding:0 6px}.c-lang-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:none;background:none;border-radius:12px;cursor:pointer;text-align:left;font-size:1rem}.c-lang-row .code{width:46px;font-weight:700;color:var(--c1)}.c-lang-row.on{background:color-mix(in srgb,var(--c1) 12%,transparent);font-weight:600}.c-add{margin-top:6px;border:none;border-radius:10px;padding:7px 10px;background:color-mix(in srgb,var(--c1) 12%,transparent);color:var(--c1);font-weight:600;cursor:pointer;display:flex;justify-content:center;gap:6px}.c-add b{background:var(--c1);color:#fff;border-radius:99px;padding:0 7px}.c-add:disabled{opacity:.5;cursor:not-allowed}.kds-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media (max-width: 1100px){.kds-split{grid-template-columns:minmax(0,1fr)}}.kds-waiting{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.kds-waiting .k-grid{grid-template-columns:minmax(0,1fr)}.ticket.warn{border-top-color:var(--warn-bg)}.ticket.paid{border-top-color:var(--info)}.ticket-note{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--heading);font-size:.82rem;padding:8px 14px}.kpi.grad,.kpi.grad .v,.kpi.grad .l,.kpi.grad .d{color:#fff}.kpi.grad .d.up:after,.kpi.grad .d.down:after{content:""}.kpi.g-blue{background:linear-gradient(45deg,#4099ff,#73b4ff)}.kpi.g-green{background:linear-gradient(45deg,#2ed8b6,#59e0c5)}.kpi.g-yellow{background:linear-gradient(45deg,#ffb64d,#ffcb80)}.kpi.g-red{background:linear-gradient(45deg,#ff5370,#ff869a)}.card h3{font-weight:600}.badge.warn{color:#c77c00}body{font-family:Roboto,Noto Sans Thai,Leelawadee UI,Tahoma,sans-serif;font-size:14px;background:var(--surface)}h1,h2,h3,h4{color:var(--heading);font-weight:600}h1{font-size:1.3rem}h2{font-size:1.1rem}a{color:var(--accent-text)}.app-header{height:76px;background:var(--surface);color:var(--text);box-shadow:none;padding:0 20px 0 0}.app-header .brand{width:260px;padding-left:24px;display:flex;align-items:center;gap:10px}.app-header .logo .l1{color:var(--c1)}.app-header .logo .l4{color:var(--logo4)}.app-header .logo .l2{color:var(--c2);opacity:1}.logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--c2),var(--c1));color:#fff;display:grid;place-items:center;font-weight:700;font-size:1rem;flex:none}.app-header .hbtn{background:var(--c2-light);color:var(--accent-text);border-radius:8px;width:34px;height:34px;padding:0;font-size:1rem}.app-header .hbtn:hover{background:var(--c2);color:#fff}.app-header .user{gap:10px}.app-header .user .hbtn{width:auto;padding:0 12px;font-size:.85rem;display:inline-flex;align-items:center}.app-header .avatar{background:var(--c2);color:#fff;width:34px;height:34px}.app-header .who b{color:var(--heading);font-weight:500}.app-header .who .small{color:var(--muted);opacity:1}.shell{min-height:calc(100% - 76px);background:var(--surface)}.side{top:76px;height:calc(100vh - 76px);box-shadow:none;width:260px}.side nav{padding:0 16px 24px}.side nav>div{padding:8px 0;border-bottom:1px solid var(--border)}.side .group{font-size:.88rem;text-transform:none;letter-spacing:0;color:var(--heading);font-weight:500;padding:6px 0 8px 6px}.side a{padding:10px 16px;border-radius:8px;color:var(--side-text);font-size:.9rem;margin-bottom:4px}.side a:hover{background:var(--c2-light);color:var(--accent-text)}.side a.active{background:var(--c2-light);color:var(--accent-text);font-weight:500}.side a.active:before{content:none}.main{background:var(--bg);border-radius:8px 8px 0 0;margin-right:20px;min-height:calc(100vh - 76px)}.content{padding:20px}@media (max-width: 900px){.main{margin-right:0;border-radius:0}.side{box-shadow:var(--shadow)}.app-header .brand{width:auto;padding-left:14px}}.page-head{background:var(--surface);padding:14px 20px;border-radius:8px;margin-bottom:16px}.page-head h1{font-size:1.2rem}.card{border-radius:8px;padding:20px;box-shadow:none}.table-wrap{box-shadow:none;padding:0;border-radius:8px}.btn{border-radius:8px;font-weight:500;background:var(--surface3);color:var(--text)}.btn-primary{background:var(--c2);color:#fff;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--c2-800);filter:none}.btn-ok{background:var(--ok);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warn{background:var(--warn-bg);color:#121926}.btn-dark{background:var(--c2);color:#fff}.btn-light-primary{background:var(--c1-light);color:var(--c1-800)}.btn-outline-danger{background:#fde8e7;color:var(--danger)}[data-theme=dark] .btn-outline-danger{background:#3d1d28}.btn-sm{border-radius:8px}.field>label{color:var(--muted);font-weight:500;font-size:.82rem}.input,.select,.textarea{border:1px solid #cdd5df;background:var(--surface2);border-radius:8px;box-shadow:none;padding:10px 14px;color:var(--heading)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c2);background:var(--surface);box-shadow:0 0 0 3px var(--c2-light)}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] .textarea{border-color:#3b4a7a}.switch span{background:#cdd5df}.switch input:checked+span{background:var(--c2)}.check input{accent-color:var(--c2)}.badge{border-radius:16px;font-weight:500;font-size:.75rem;background:#eef2f6;color:#4b5565;padding:2px 10px}.badge.ok{background:#b9f6ca;color:#00701a}.badge.warn{background:#fff8e1;color:#b26a00}.badge.danger{background:#fde8e7;color:#c62828}.badge.info{background:var(--c1-light);color:var(--c1-800)}.badge.primary{background:var(--c2-light);color:var(--accent-text)}[data-theme=dark] .badge{background:#1f2a4d;color:#a6b1d8}[data-theme=dark] .badge.ok{background:#10392a;color:#69f0ae}[data-theme=dark] .badge.warn{background:#3a3220;color:#ffd54f}[data-theme=dark] .badge.danger{background:#3d1d28;color:#ff8a80}.tabs{display:flex;gap:4px;padding:0;background:transparent;box-shadow:none;border-radius:0;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{border-radius:0;padding:10px 16px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;background:none;box-shadow:none}.tab:hover{color:var(--accent-text);background:none}.tab.active{background:none;color:var(--accent-text);border-bottom-color:var(--c2);box-shadow:none}.tab .badge.danger,.tab.active .badge{background:var(--danger);color:#fff}.table th{color:var(--heading);font-weight:500;font-size:.82rem;background:var(--surface2);padding:12px}.table td{padding:10px 12px}.table tbody tr:hover{background:var(--surface2)}.modal{border-radius:12px}.modal-head h2{font-size:1.1rem}.toast{background:#121926;border-radius:8px}.toast.ok{background:#00a344}.toast.error{background:var(--danger)}.toast.warn{background:var(--c2)}.alert{border-radius:8px}.alert.info{background:var(--c1-light);color:var(--c1-800)}.alert.warn{background:#fff8e1;color:#8a6100}.auth-page{background:var(--bg)}.auth-page .login-card{border-radius:8px;box-shadow:var(--shadow);padding:36px 32px;max-width:440px}.auth-page .login-card .btn-primary{background:var(--c2)}.auth-title{color:var(--accent-text);text-align:center;font-size:1.5rem;margin:10px 0 4px}.kpi.grad{position:relative;overflow:hidden;color:#fff;min-height:130px;box-shadow:none}.kpi.grad:before,.kpi.grad:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%}.kpi.grad:after{top:-85px;right:-95px}.kpi.grad:before{top:-125px;right:-15px;opacity:.5}.kpi.grad>*{position:relative;z-index:1}.kpi.g-blue{background:var(--c2)}.kpi.g-blue:before,.kpi.g-blue:after{background:var(--c2-800)}.kpi.g-green{background:color-mix(in srgb,var(--c1) 90%,#000)}.kpi.g-green:before,.kpi.g-green:after{background:var(--c1-800)}.kpi.g-yellow,.kpi.g-red{background:var(--surface)}.kpi.g-yellow .v,.kpi.g-red .v{color:var(--heading)}.kpi.g-yellow .l,.kpi.g-red .l{color:var(--muted)}.kpi.g-yellow:after{background:linear-gradient(210deg,var(--warn-bg) -50%,transparent 83%);opacity:.5;top:-30px;right:-150px}.kpi.g-red:after{background:linear-gradient(210deg,var(--c1) -50%,transparent 83%);opacity:.4;top:-30px;right:-150px}.kpi.g-yellow:before,.kpi.g-red:before{content:none}.kpi.g-yellow .d.up,.kpi.g-red .d.up{color:#00a344}.kpi.g-yellow .d.down,.kpi.g-red .d.down{color:var(--danger)}.kpi.g-blue .l{color:var(--c2-200)}.kpi .v{font-weight:500;font-size:1.9rem}.floor{background:var(--surface2);border:1px solid var(--border);box-shadow:none}.floor-zone{background:var(--c1-light);border:1px dashed color-mix(in srgb,var(--c1) 45%,#fff);border-radius:10px}.floor-zone .zname{color:var(--c1-800)}.tbl{background:var(--surface);border:2px solid #cdd5df;box-shadow:none;border-radius:8px;color:var(--heading)}.tbl-grid .tbl{background:var(--surface2);border-color:transparent}.tbl:hover{border-color:var(--c2-200);transform:none}.tbl.busy{background:var(--c2-light);border-color:var(--c2-200);color:var(--accent-text)}.tbl.alert{background:#fff8e1;border-color:var(--warn-bg);color:#b26a00;animation:tblpulse 1.6s infinite}.tbl.billing{background:var(--billing-light);border-color:color-mix(in srgb,var(--billing) 45%,#fff);color:var(--billing-800)}.badge.billing{background:var(--billing-light);color:var(--billing-800)}.tbl.sel{border-color:var(--c2);box-shadow:0 0 0 3px var(--c2-light)}@keyframes tblpulse{50%{box-shadow:0 0 0 4px #ffc10759}}.order-card{border:1px solid var(--border);border-radius:8px}.order-card .oh{background:transparent;border-bottom:1px solid var(--border)}.order-card .ol .q{color:var(--accent-text)}.sum-row.total{color:var(--accent-text);font-size:1.25rem;font-weight:700}.ticket{border-top:none;border-radius:8px;box-shadow:var(--shadow)}.ticket .th{background:var(--c2);color:#fff;border-bottom:none}.ticket .th .muted,.ticket .th .small{color:#ffffffd9}.ticket .th .btn{background:#ffffff2e;color:#fff}.ticket.warn .th{background:var(--warn)}.ticket.late .th{background:var(--danger)}.ticket.paid .th{background:#4b5565}.ticket.waiting{opacity:1}.ticket.waiting .th{background:#e3e8ef;color:#4b5565}.ticket.waiting .th .muted,.ticket.waiting .th .small{color:#4b5565}.ticket-note{background:#fff8e1;color:#8a6100}.kds-waiting{border:2px dashed #cdd5df;box-shadow:none}.k-station>h3{color:var(--accent-text);border-bottom:2px solid var(--c2-light);padding-bottom:8px}.cust{background:var(--bg)}.cust-head{background:var(--bg);border-radius:0;box-shadow:0 6px 12px -10px #0003}.cust-head .bar{background:linear-gradient(135deg,var(--c2),var(--c2-800));color:#fff;padding:16px;position:relative;overflow:hidden}.cust-head .bar:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ffffff14;top:-110px;right:-60px;pointer-events:none}.cust-head .bar>*{position:relative;z-index:1}.cust-head .bar .muted,.cust-head .bar .small{color:#fff}.cust-head .bar .btn{background:#fff;color:var(--accent-text);border-radius:20px;font-weight:600;box-shadow:0 4px 12px #00000026}.c-search{background:var(--surface);border-radius:24px;border:1px solid var(--border);margin:12px 12px 0}.cats{padding:10px 12px}.cat{background:var(--surface);border:1px solid var(--border);border-radius:20px;font-size:.85rem;font-weight:500}.cat.active{background:var(--c2);border-color:var(--c2);color:#fff}.mcard{border-radius:12px;box-shadow:0 1px 4px #0000000d}.mcard .price{color:var(--accent-text)}.c-add{background:var(--c2-light);color:var(--accent-text);border-radius:8px}.c-add:hover{background:var(--c2);color:#fff}.c-add b{background:var(--c2)}.c-strip{background:var(--surface);color:var(--heading);border:1px solid var(--c2-200);border-radius:12px}.c-strip b{color:var(--heading)}.cart-bar{border-radius:0;box-shadow:0 -4px 16px #00000014}.sheet{border-radius:18px 18px 0 0}.c-lang-row.on{background:var(--c2-light)}.c-lang-row .code{color:var(--accent-text)}.receipt{font-family:Noto Sans Thai,monospace}.dash-board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:30px;grid-auto-flow:row;gap:16px;margin-bottom:16px}.dash-w{grid-column:span var(--w);grid-row:span var(--h);position:relative;min-width:0;min-height:0}.dash-w>.card,.dash-w>.dash-kpis{height:100%;margin:0}.dash-card{display:flex;flex-direction:column;overflow:hidden}.dash-card>h3{flex:none}.dash-fill{flex:1;min-height:0}.dash-scroll{flex:1;min-height:0;overflow:auto}.dash-kpis{margin-bottom:0;grid-auto-rows:1fr}.dash-kpis .kpi{display:flex;flex-direction:column;justify-content:center}.heat-fill{height:100%;grid-template-rows:auto repeat(7,1fr)}.heat-fill div{aspect-ratio:auto;display:flex;align-items:center}.heat-fill .cell{min-height:8px}.dash-editbar{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px;border:1px dashed var(--c2)}.dash-editbar .grow{flex:1;min-width:260px}.dash-board.editing .dash-w{outline:2px dashed color-mix(in srgb,var(--c2) 55%,transparent);outline-offset:2px;border-radius:8px}.dash-board.editing .dash-w .card{pointer-events:none}.dash-w.dragging{opacity:.45;outline-style:solid!important;outline-color:var(--c2)!important}.dash-tools{position:absolute;top:6px;right:6px;left:6px;z-index:2;display:flex;flex-direction:column;gap:6px;padding:6px 8px;border-radius:8px;background:var(--surface);box-shadow:var(--shadow-lg, var(--shadow));font-size:.9rem}.dash-tools .drag{display:flex;align-items:center;gap:8px;min-height:40px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:6px;padding:0 2px 0 6px;background:var(--c2-light, var(--surface2))}.dash-tools .drag:active{cursor:grabbing}.dash-tools .handle{font-size:1.3rem;line-height:1;color:var(--c2)}.dash-tools .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dash-tools .ctl{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.dash-tools .grp{display:inline-flex;align-items:center;gap:4px}.dash-tools .grp i{font-style:normal;font-weight:700;color:var(--muted);width:16px;text-align:center}.dash-tools .grp b{min-width:34px;text-align:center;color:var(--text);font-variant-numeric:tabular-nums}.dash-tools button{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;width:36px;height:36px;font-size:1.15rem;line-height:1;cursor:pointer;padding:0}.dash-tools button:disabled{opacity:.35;cursor:not-allowed}.dash-tools .hide{color:#e53935;background:var(--surface)}@media (pointer: coarse){.dash-tools button{width:44px;height:44px}.dash-tools .drag{min-height:48px}}.dash-ghost{position:fixed;z-index:300;pointer-events:none;transform:translate(-20px,-50%);padding:10px 14px;border-radius:8px;background:var(--c2);color:#fff;font-weight:600;box-shadow:var(--shadow-lg, var(--shadow));white-space:nowrap}.dash-w{--fs: 1}.dash-w .card>h3{font-size:calc(1.02rem * var(--fs))}.dash-w .dash-scroll,.dash-w .dash-kpis{font-size:calc(.9rem * var(--fs))}.dash-w .bar-list .bl{font-size:1em}.dash-w h4{font-size:1.05em}.dash-w .small{font-size:.85em}.dash-w .kpi .v{font-size:calc(1.9rem * var(--fs))}.dash-w .kpi .l{font-size:calc(.88rem * var(--fs))}.dash-w .kpi .d{font-size:calc(.85rem * var(--fs))}.dash-w .heat-fill{font-size:calc(.7rem * var(--fs))}.dash-board .dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-board.kpi2 .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-board.stacked{display:flex;flex-direction:column}.dash-board.stacked .dash-w{height:calc(var(--h) * 46px - 16px)}.dash-kpis .kpi .v{overflow-wrap:anywhere}.side .nav-group .group{display:flex;width:100%;align-items:center;justify-content:space-between;background:none;border:0;cursor:pointer;font-family:inherit;text-align:left;border-radius:6px;padding-right:8px}.side .nav-group .group:hover{color:var(--accent-text)}.side .nav-group.here>.group{color:var(--accent-text);font-weight:600}.side .nav-group .chev{font-size:1.1rem;line-height:1;transition:transform .15s;color:var(--muted)}.side .nav-group.open .chev{transform:rotate(90deg)}.table .check{white-space:nowrap}.modal-back:has(>.modal.full){padding:12px}.modal.full{max-width:none;height:calc(100vh - 24px);display:flex;flex-direction:column;margin:0}.modal.full .modal-body{flex:1;min-height:0;overflow:hidden}.menu-pad.picker{height:100%;grid-template-columns:minmax(0,1fr) 340px}.menu-pad.picker>.card{margin:0;overflow-y:auto}.menu-pad.picker .counter-menu .mgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1200px){.menu-pad.picker{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width: 1100px){.menu-pad.picker .counter-menu .mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.menu-pad.picker .counter-menu .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.menu-pad.picker{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.menu-pad.picker>.counter-cart{max-height:32vh}}.dash-board.editing{user-select:none;-webkit-user-select:none}.pay-kpi{justify-content:flex-start!important;overflow:hidden}.pay-kpi .pm-list{flex:1;min-height:0;overflow-y:auto;margin-top:6px;position:relative;z-index:1}.pay-kpi .pm-row{display:flex;justify-content:space-between;gap:8px;color:var(--heading);font-size:calc(.9rem * var(--fs, 1));padding:3px 0;border-bottom:1px solid var(--border)}.pay-kpi .pm-row:last-child{border-bottom:0}.pay-kpi .pm-row b{font-variant-numeric:tabular-nums;white-space:nowrap}.pay-kpi .pm-row small{color:var(--muted)}.pay-kpi .pm-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-pad{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}@media (max-width: 900px){.menu-pad{grid-template-columns:minmax(0,1fr)}}.queue-order{cursor:pointer}.queue-order:hover .order-card{border-color:var(--c1)}.order-card .oh .oh-name{font-size:1.1rem;color:var(--c1-800, var(--heading))}.queue-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;font:inherit;cursor:pointer}.queue-row:hover{border-color:var(--c1)}.mode-opt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:2px solid var(--border);border-radius:14px;margin-bottom:10px;cursor:pointer}.mode-opt.active{border-color:var(--c1);background:var(--c1-light)}.mode-opt input{margin-top:4px}.counter-menu .c-search,.counter-menu .cats{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.counter-menu .mgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));padding:0}.counter-menu .mcard{box-shadow:none;border:1px solid var(--border)}.counter-menu .mcard .desc{font-size:.82rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.counter-cart .cart-line{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--border)}.counter-cart .cart-line.sent{opacity:.8}.counter-cart .line-amt{min-width:70px;text-align:right}.pos-layout.counter{grid-template-columns:minmax(0,1fr) 380px}@media (max-width: 1200px){.pos-layout.counter{grid-template-columns:minmax(0,1fr)}}.counter-menu .mgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 700px){.counter-menu .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.counter-menu .mcard .name{font-size:1.1rem}.counter-menu .mcard .c-add{padding:10px;font-size:1rem}.ss{position:relative;min-width:0}.ss-btn{text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-btn.muted{color:var(--muted)}.ss-drop{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;min-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:8px}.ss-list{max-height:280px;overflow-y:auto;margin-top:6px}.ss-group{font-size:.78rem;font-weight:700;color:var(--muted);padding:8px 8px 2px}.ss-opt{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer}.ss-opt.hi{background:var(--c1-light)}.ss-opt.sel{font-weight:700;color:var(--c1)}.set-items .set-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 82px 82px 34px;gap:6px;align-items:center;margin-bottom:6px}.set-items .set-head{margin-bottom:2px}.set-items .num{text-align:right}.set-sum{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.side .nav-single{border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:4px}.side .nav-single a{font-size:.88rem;color:var(--heading);font-weight:500;padding:8px 6px;margin:0}.side .nav-single a.active{color:var(--accent-text);font-weight:600;padding-left:12px}.qr-poster{display:none}@page qrposter{size:A4 portrait;margin:0}@media print{body:has(>.qr-poster)>:not(.qr-poster){display:none!important}.qr-poster{page:qrposter;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:210mm;height:296mm;padding:18mm 16mm;background:#fff;color:#000;text-align:center;overflow:hidden}.qr-poster .qp-title{font-size:34pt;font-weight:800;line-height:1.2}.qr-poster .qp-sub{font-size:18pt;margin-bottom:10mm}.qr-poster .qp-qr{width:135mm;height:135mm}.qr-poster .qp-steps{font-size:14pt;margin-top:8mm}.qr-poster .qp-shop{font-size:44pt;font-weight:800;line-height:1.2;margin-top:12mm;padding-top:8mm;border-top:2px solid #000;width:100%;overflow-wrap:anywhere}}.app-header .user{position:relative}.app-header .user-btn{display:flex;align-items:center;gap:10px;border:none;background:none;color:inherit;cursor:pointer;padding:4px 6px;border-radius:10px;font:inherit}.app-header .user-btn:hover{background:var(--c2-light)}.app-header .user-btn .who{line-height:1.25;max-width:200px}.app-header .user-btn .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .user-btn .chev{color:var(--muted);font-size:.8rem}.user-drop{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;z-index:100}.user-drop .ud-head{padding:8px 12px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-drop .ud-head b{color:var(--heading);font-weight:600;overflow-wrap:anywhere}.user-drop a,.user-drop .ud-out{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;color:var(--text);background:none;border:none;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none}.user-drop a:hover,.user-drop .ud-out:hover{background:var(--c2-light);color:var(--accent-text)}.user-drop .ud-out{color:var(--danger)}@media (max-width: 900px){.app-header{gap:8px;padding-right:12px}.app-header .user-btn .chev{display:none}}@media (max-width: 420px){.app-header .logo{font-size:1.1rem}}.grid2>*,.grid3>*,.grid4>*,.pos-layout>*,.kds-split>*,.fp-wrap>*,.menu-pad>*{min-width:0}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.modal-body{overflow-x:auto}@media (max-width: 600px){.dash-board .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-w .kpi{padding:14px}.dash-w .kpi .v{font-size:clamp(1.15rem,calc(1.9rem * var(--fs)),1.5rem);overflow-wrap:normal;white-space:nowrap}.dash-w .kpi .l{font-size:clamp(.8rem,calc(.88rem * var(--fs)),.95rem)}.dash-w .kpi .d{font-size:clamp(.78rem,calc(.85rem * var(--fs)),.9rem)}.pay-kpi .pm-row{font-size:.85rem}.dash-w .dash-fill:has(>.heat){overflow-x:auto}.dash-w .heat{min-width:560px}}.ic-star{color:#f5b301}.mcard .img>svg{color:var(--muted);opacity:.5}.work-switch{display:flex;gap:6px;flex-wrap:wrap}.work-switch a{padding:6px 18px;border-radius:999px;color:var(--text);text-decoration:none;font-weight:600;font-size:1.05rem;white-space:nowrap;border:1px solid var(--border)}.work-switch a.active{background:var(--c1);border-color:var(--c1);color:#fff}.cash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 10px}.queue-row.sel{border-color:var(--c1);background:var(--c1-light)}:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width, 1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index, auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}
