:root{--color-bg: #0e0e17;--color-surface: #1b1b2a;--color-surface-2: #20202f;--color-border: #2b2b3d;--color-primary: #7c5cff;--color-primary-dark: #6942ff;--color-primary-tint: rgba(124, 92, 255, .16);--color-text: #f4f4f8;--color-muted: #91909f;--color-sidebar: #14141f;--color-sidebar-active: #23212f;--color-success: #22c58b;--color-success-tint: rgba(34, 197, 139, .15);--color-warning: #f0a020;--color-warning-tint: rgba(240, 160, 32, .15);--color-danger: #f0555c;--color-danger-tint: rgba(240, 85, 92, .15);--color-total-accent: #b09bff;--color-hover-tint: rgba(255, 255, 255, .03);--scrollbar-thumb: #383850;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35);font-family:Segoe UI,-apple-system,Roboto,Helvetica,Arial,sans-serif;--p-bg: var(--color-bg);--p-surface: var(--color-surface);--p-surface-2: var(--color-surface-2);--p-border: var(--color-border);--p-text: var(--color-text);--p-muted: var(--color-muted)}:root[data-theme=light]{--color-bg: #f4f4f8;--color-surface: #ffffff;--color-surface-2: #f1f1f6;--color-border: #e1e1ea;--color-text: #1a1a24;--color-muted: #6b6b7c;--color-total-accent: var(--color-primary-dark);--color-hover-tint: rgba(0, 0, 0, .035);--scrollbar-thumb: #d3d3de}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:14px;-webkit-font-smoothing:antialiased}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:232px;flex-shrink:0;background:var(--color-sidebar);color:#fff;display:flex;flex-direction:column;padding:20px 14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 26px}.sidebar-brand .logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--color-primary),#a78bfa);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.sidebar-brand .brand-name{font-weight:700;font-size:16px;letter-spacing:.2px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:none;color:#b7b7c9;padding:11px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:2px;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--color-sidebar-active);color:#fff}.nav-item.active{background:var(--color-primary);color:#fff}.nav-item .nav-icon{width:18px;height:18px;flex-shrink:0;display:flex}.nav-item .nav-icon svg{width:100%;height:100%}.sidebar-footer{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.08)}.staff-badge{display:flex;align-items:center;gap:10px}.staff-avatar{width:34px;height:34px;border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.staff-meta{min-width:0}.staff-meta .staff-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-meta .staff-role{font-size:11px;color:#8c8ea3;text-transform:capitalize}.logout-link{background:none;border:none;color:#8c8ea3;font-size:12px;cursor:pointer;padding:8px 0 0}.logout-link:hover{color:#fff}.main-content{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.page-header h1{margin:0;font-size:19px;font-weight:700}.page-body{padding:22px 28px;flex:1;min-height:0;overflow-y:auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.card h3{margin:0 0 12px;font-size:14px;font-weight:700}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge-green{background:var(--color-success-tint);color:var(--color-success)}.badge-amber{background:var(--color-warning-tint);color:#b3720c}.badge-red{background:var(--color-danger-tint);color:var(--color-danger)}.badge-violet{background:var(--color-primary-tint);color:var(--color-primary-dark)}.badge-gray{background:var(--color-surface-2);color:var(--color-muted)}button.btn{background:var(--color-primary);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px;font-weight:600;transition:background .12s ease,transform .05s ease}button.btn:hover{background:var(--color-primary-dark)}button.btn:active{transform:scale(.98)}button.btn.secondary{background:var(--color-primary-tint);color:var(--color-primary-dark)}button.btn.secondary:hover{background:#e6dfff}button.btn.ghost{background:transparent;color:var(--color-muted)}button.btn.ghost:hover{background:#f0f0f5;color:var(--color-text)}button.btn.danger{background:var(--color-danger-tint);color:var(--color-danger)}button.btn.danger:hover{background:#fbd9d9}button.btn.block{width:100%}button.btn:disabled{opacity:.45;cursor:not-allowed}button.btn.lg{padding:13px 20px;font-size:14.5px}input,select,textarea{padding:9px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13.5px;width:100%;background:var(--color-surface-2);color:var(--color-text);font-family:inherit}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}label.field-label{font-size:12px;font-weight:600;color:var(--color-muted);display:block;margin-bottom:6px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1100px){.grid-5,.grid-4{grid-template-columns:repeat(3,1fr)}}.table-tile{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);padding:18px 14px;cursor:pointer;transition:transform .08s ease,box-shadow .12s ease;position:relative}.table-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.table-tile .table-name{font-size:16px;font-weight:700;margin-bottom:6px}.table-tile .table-meta{font-size:12px;color:var(--color-muted);display:flex;align-items:center;gap:4px}.table-tile.available{border-color:#1c5c46;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-success-tint) 160%)}.table-tile.occupied{border-color:#6b4a1f;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-warning-tint) 160%)}.table-tile .status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.available .status-dot{background:var(--color-success)}.occupied .status-dot{background:var(--color-warning)}.section-row{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.section-row:first-child{margin-top:0}.section-row h2{margin:0;font-size:15px;font-weight:700}.pos-layout{display:flex;gap:0;height:100%;min-height:0}.pos-menu-pane{flex:1;min-width:0;overflow-y:auto;padding:20px 20px 20px 0}.pos-cart-pane{width:340px;flex-shrink:0;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;min-height:0}.pos-cart-header{padding:16px 18px;border-bottom:1px solid var(--color-border)}.pos-cart-header .order-no{font-size:13px;font-weight:700}.pos-cart-header .order-meta{font-size:11.5px;color:var(--color-muted);margin-top:2px}.pos-cart-items{flex:1;overflow-y:auto;padding:6px 18px}.pos-cart-footer{padding:14px 18px 18px;border-top:1px solid var(--color-border)}.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.category-pill{padding:7px 15px;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:#555;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.category-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.menu-item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:box-shadow .12s ease,transform .08s ease;text-align:left;padding:0}.menu-item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-item-card .item-thumb{height:64px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.menu-item-card .item-body{padding:10px 12px}.menu-item-card .item-name{font-size:12.5px;font-weight:600;margin-bottom:4px;line-height:1.3;min-height:32px}.menu-item-card .item-price{font-size:13.5px;font-weight:700;color:var(--color-primary-dark)}.cart-line{padding:10px 0;border-bottom:1px solid #f0f0f5}.cart-line:last-child{border-bottom:none}.cart-line-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cart-line-name{font-size:13px;font-weight:600;flex:1}.cart-line-total{font-size:13px;font-weight:700}.cart-line-note{font-size:11px;color:var(--color-muted);margin-top:2px;font-style:italic}.qty-stepper{display:flex;align-items:center;gap:8px;margin-top:6px}.qty-stepper button{width:22px;height:22px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}.qty-stepper button:hover{background:var(--color-primary-tint);border-color:var(--color-primary)}.qty-stepper .qty-value{font-size:12.5px;font-weight:700;min-width:18px;text-align:center}.qty-value-input{width:34px;font-size:12.5px;font-weight:700;text-align:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text);padding:1px 0;-moz-appearance:textfield}.qty-value-input:hover,.qty-value-input:focus{border-color:var(--color-border);background:var(--color-surface-2);outline:none}.qty-value-input::-webkit-outer-spin-button,.qty-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.kot-tag{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;color:var(--color-success);background:var(--color-success-tint);padding:1px 7px;border-radius:999px}.qty-stepper-row{display:flex;align-items:center;gap:10px;margin-top:6px}.qty-stepper-row .qty-stepper{margin-top:0;flex-shrink:0}.pos-add-note-btn{background:none;border:none;color:var(--p-muted);font-size:11.5px;cursor:pointer;padding:0;text-align:left;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-add-note-btn:hover{color:var(--color-primary)}.pos-item-note-input{flex:1;min-width:0;background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);border-radius:6px;padding:4px 8px;font-size:11.5px}.pos-item-note-readonly{font-size:11px;color:var(--p-muted);font-style:italic;margin-top:3px}.bill-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:var(--color-muted)}.bill-row.total{color:var(--color-text);font-size:15.5px;font-weight:800;padding-top:8px;margin-top:4px;border-top:1px dashed var(--color-border)}.empty-state{text-align:center;padding:40px 20px;color:var(--color-muted)}.empty-state .empty-icon{font-size:30px;margin-bottom:8px}.kot-card{background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-top:4px solid var(--color-border)}.kot-card.status-pending{border-top-color:var(--color-danger)}.kot-card.status-preparing{border-top-color:var(--color-warning)}.kot-card.status-ready{border-top-color:var(--color-success)}.kot-card-head{padding:12px 14px 8px;display:flex;justify-content:space-between;align-items:center}.kot-card-head .kot-number{font-weight:800;font-size:14px}.kot-card-sub{padding:0 14px 10px;font-size:11.5px;color:var(--color-muted)}.kot-card-items{padding:4px 14px;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.kot-item-row{padding:7px 0;font-size:13px}.kot-item-row .kot-item-note{font-size:11px;color:var(--color-danger);margin-top:1px}.kot-card-foot{padding:12px 14px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px}.stat-card .stat-label{font-size:12px;color:var(--color-muted);font-weight:600;margin-bottom:6px}.stat-card .stat-value{font-size:26px;font-weight:800}.login-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,#26223f,#0e0e15 65%);color:#fff}.login-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),#a78bfa);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;margin-bottom:14px;box-shadow:0 8px 24px #7c5cff66}.login-screen h1{margin:0 0 4px;font-size:22px}.pin-pad{display:grid;grid-template-columns:repeat(3,68px);gap:12px;margin:20px 0}.pin-pad button{width:68px;height:68px;border-radius:50%;border:1px solid #33334a;background:#1c1c29;color:#fff;font-size:20px;font-weight:600;cursor:pointer;transition:background .1s ease}.pin-pad button:hover{background:#29293c}.pin-dots{display:flex;gap:12px;margin-bottom:10px}.pin-dot{width:13px;height:13px;border-radius:50%;border:1.5px solid #4a4a5f;transition:all .1s ease}.pin-dot.filled{background:var(--color-primary);border-color:var(--color-primary)}.list-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--color-border);gap:10px}.list-row:last-child{border-bottom:none}h1,h2,h3{margin:0 0 12px}.muted{color:var(--color-muted);font-size:12.5px}.error-banner{background:var(--color-danger-tint);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:13px;font-weight:600}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px}::-webkit-scrollbar-track{background:transparent}.pos-dark{background:var(--p-bg);color:var(--p-text);height:100%;width:100%;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.pos-topbar{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--p-surface);border-bottom:1px solid var(--p-border);flex-shrink:0}.pos-topbar .restaurant-name{font-weight:700;font-size:14.5px;margin-right:6px;white-space:nowrap}.pos-topbar .spacer{flex:1}.type-icon-btn{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--p-border);background:var(--p-surface-2);color:var(--p-text);display:flex;align-items:center;justify-content:center;cursor:pointer}.type-icon-btn svg{width:18px;height:18px}.type-icon-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.type-icon-btn .count-badge{position:absolute;top:-7px;right:-7px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--p-surface)}.pos-pill-btn{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--p-border);background:var(--p-surface-2);color:var(--p-text);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.pos-pill-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pos-pill-btn svg{width:15px;height:15px}.new-order-btn-topbar{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;border:none;background:var(--color-danger);color:#fff;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 0 0 3px #dc262633,0 4px 14px #dc262659}.new-order-btn-topbar:hover{background:var(--color-danger-hover, #c02626)}.new-order-btn-topbar svg{width:17px;height:17px}.pos-avatar-chip{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--p-surface-2);border:1px solid var(--p-border)}.pos-avatar-chip .avatar-circle{width:28px;height:28px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}.pos-avatar-chip .name{font-size:12.5px;font-weight:600}.topbar-user-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;flex-direction:column;min-width:140px;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--radius-sm, 8px);box-shadow:0 8px 24px #0000002e;padding:4px;gap:2px}.topbar-user-menu button{display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:6px;border:none;background:transparent;color:var(--p-text);font-size:12.5px;font-weight:600;cursor:pointer}.topbar-user-menu button:hover{background:var(--p-surface-2)}.pos-toolbar{display:flex;align-items:center;gap:12px;padding:12px 18px;flex-shrink:0}.pos-search{position:relative;flex:1;max-width:420px}.pos-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--p-muted)}.pos-search input{background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);padding-left:34px;border-radius:999px}.pos-search input::placeholder{color:var(--p-muted)}.pos-filterbar{display:flex;gap:12px;padding:0 18px 12px;flex-shrink:0}.pos-filterbar select{background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);border-radius:999px;padding:8px 14px}.pos-category-chips{flex-wrap:wrap;overflow-x:auto;padding-bottom:14px}.pos-chip{background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0}.pos-chip:hover{border-color:var(--color-primary)}.pos-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pos-chip-count{opacity:.7;font-weight:500}.pos-body{flex:1;display:flex;min-height:0;overflow:hidden}.pos-menu-column{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.pos-menu-scroll{flex:1;overflow-y:auto;padding:4px 18px 20px;min-height:0}.pos-menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 1100px){.pos-menu-grid{grid-template-columns:repeat(3,1fr)}}.pos-item-card{background:var(--p-surface-2);border:1px solid var(--p-border);border-radius:10px;padding:12px;cursor:pointer;text-align:left;transition:border-color .1s ease,transform .06s ease}.pos-item-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.pos-item-card .pos-item-name{font-size:12.5px;font-weight:600;color:var(--p-text);line-height:1.35;min-height:34px}.pos-item-card .pos-item-price{font-size:12px;color:var(--p-muted);margin-top:6px;font-weight:600}.pos-cart{width:520px;flex-shrink:0;background:var(--p-surface);border-left:1px solid var(--p-border);display:flex;flex-direction:column;min-height:0}.pos-order-type-tabs{display:flex;flex-shrink:0}.pos-order-tab{flex:1;padding:13px 8px;border:none;border-bottom:1px solid var(--p-border);background:var(--p-surface-2);color:var(--p-muted);font-weight:700;font-size:12.5px;cursor:pointer}.pos-order-tab.active{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.pos-order-tab:not(.active):hover{color:var(--p-text)}.pos-order-tab:disabled{cursor:not-allowed;opacity:.85}.pos-order-tab:disabled:not(.active){opacity:.45}.pos-cart-meta-row{display:flex;align-items:flex-end;gap:10px;padding:10px 16px;border-bottom:1px solid var(--p-border);flex-shrink:0}.pos-meta-input{width:100%;background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);border-radius:6px;padding:6px 8px;font-size:12px}.pos-cart-meta-row>div:first-child{width:56px;flex-shrink:0}.pos-area-badge{background:var(--color-warning);color:#1a1200;font-size:11px;font-weight:700;padding:6px 10px;border-radius:6px;white-space:nowrap;align-self:center}.pos-customer-row{display:flex;align-items:flex-end;gap:10px;padding:10px 16px;border-bottom:1px solid var(--p-border);flex-shrink:0;flex-wrap:wrap}.pos-customer-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:20;background:var(--p-surface-2);border:1px solid var(--p-border);border-radius:8px;box-shadow:0 6px 18px #00000059;overflow:hidden}.pos-customer-suggestion{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;background:none;border:none;border-bottom:1px solid var(--p-border);color:var(--p-text);font-size:12px;cursor:pointer;text-align:left}.pos-customer-suggestion:last-child{border-bottom:none}.pos-customer-suggestion:hover{background:var(--p-surface-3, rgba(255, 255, 255, .05))}.pos-offer-row{display:flex;align-items:center;gap:8px;padding:10px 16px 0;flex-shrink:0;flex-wrap:wrap}.pos-offer-btn{background:var(--color-danger);border:1px solid var(--color-danger);color:#fff;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer}.pos-offer-btn.active{background:#fff;color:var(--color-danger)}.pos-offer-btn:disabled{opacity:.4;cursor:not-allowed}.pos-complimentary-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--p-text);cursor:pointer;margin-left:auto}.pos-cart-top-compact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;flex-shrink:0;border-bottom:1px solid var(--p-border);flex-wrap:wrap}.pos-cart-type{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px}.pos-cart-orderno{font-size:11.5px;color:var(--p-muted);font-weight:700}.pos-cart-top-compact-right{display:flex;align-items:center;gap:8px}.dt-compact{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--p-muted);white-space:nowrap}.dt-compact svg{width:12px;height:12px}.dt-compact svg:last-of-type{margin-left:4px}.dt-delete{width:28px;height:28px;flex-shrink:0;border-radius:7px;border:1px solid #4a2530;background:#2a1720;color:#f27b86;display:flex;align-items:center;justify-content:center;cursor:pointer}.dt-delete svg{width:13px;height:13px}.pos-cart-body{flex:1;overflow-y:auto;padding:4px 16px;min-height:0}.pos-empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 16px;color:var(--p-muted);height:100%}.pos-empty-cart svg{width:46px;height:46px;margin-bottom:12px;opacity:.55}.pos-empty-cart .empty-title{color:var(--p-text);font-weight:700;font-size:13.5px;margin-bottom:4px}.pos-empty-cart .empty-sub{font-size:12px;max-width:220px;line-height:1.5}.pos-cart-line{padding:10px 0;border-bottom:1px solid var(--p-border)}.pos-cart-line:last-child{border-bottom:none}.pos-cart-line-top{display:flex;justify-content:space-between;gap:8px}.pos-cart-line-name{font-size:12.5px;font-weight:600}.pos-cart-line-total{font-size:12.5px;font-weight:700}.pos-dark .qty-stepper button{background:var(--p-surface-2);border-color:var(--p-border);color:var(--p-text)}.pos-dark .qty-stepper button:hover{background:var(--color-primary);border-color:var(--color-primary)}.pos-dark .kot-tag{background:#17a67326}.kot-group{margin-bottom:4px}.kot-group-header{display:flex;align-items:center;gap:8px;padding:9px 0 6px;margin-top:4px;border-top:1px dashed var(--p-border);font-size:11.5px;font-weight:700;color:var(--p-muted)}.kot-mini-btn{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-bg));color:var(--color-text);cursor:pointer}.kot-group-header .kot-mini-btn{margin-left:auto}.kot-group-header .kot-mini-btn+.kot-mini-btn{margin-left:6px}.kot-mini-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.kot-mini-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.kot-mini-btn.danger:hover{border-color:var(--color-danger);color:var(--color-danger)}.pos-cart-line.cancelled{opacity:.7}.kot-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.kot-board-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;transition:border-color .12s,box-shadow .12s,background .12s}.kot-board-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.kot-board-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.kot-board-number{font-weight:800;color:var(--color-primary)}.kot-board-card-status{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);margin:6px 0}.kot-board-items{padding:4px 0}.kot-board-item-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}.kot-board-item-row.cancelled{opacity:.6}.kot-board-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.kot-select-box{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;flex-shrink:0;border:1.5px solid var(--color-border);background:var(--color-surface-2, var(--color-bg));cursor:pointer;transition:border-color .12s,background .12s}.kot-select-box:hover{border-color:var(--color-primary)}.kot-select-box input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--color-primary);margin:0}.pos-cart-summary{padding:10px 16px 0;border-top:1px solid var(--p-border);flex-shrink:0}.pos-summary-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--p-muted);padding:3px 0}.pos-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0 4px}.pos-total-row .label{font-size:14px;font-weight:700}.pos-total-row .value{font-size:22px;font-weight:800;color:var(--color-total-accent)}.pos-discount-input{width:90px;text-align:right;background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text);border-radius:6px;padding:3px 8px;font-size:12.5px}.pos-discount-row{align-items:center}.pos-discount-input-group{display:flex;align-items:center;gap:4px}.pos-discount-input-group .pos-discount-input{width:64px}.pos-discount-unit{width:22px;height:22px;border-radius:5px;border:1px solid var(--p-border);background:var(--p-surface-2);color:var(--p-muted);font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}.pos-discount-unit.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pos-discount-unit:disabled{opacity:.4;cursor:not-allowed}.pos-payment-method-row{display:flex;gap:6px;padding:10px 16px 0;flex-wrap:wrap;flex-shrink:0}.pos-pay-radio{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid var(--p-border);background:var(--p-surface-2);color:var(--p-muted);font-size:11.5px;font-weight:600;cursor:pointer}.pos-pay-radio input{accent-color:var(--color-primary);margin:0}.pos-pay-radio.active{border-color:var(--color-primary);color:#fff;background:var(--color-primary-tint)}.pos-partial-row{display:flex;gap:8px;padding:8px 16px 0;flex-shrink:0}.pos-partial-row .pos-discount-input{width:auto;flex:1;text-align:left}.pos-partial-row select{flex-shrink:0}.pos-paid-summary{display:flex;flex-direction:column;gap:6px}.pos-payment-edit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-surface-2);border:1px solid var(--p-border);border-radius:8px;padding:6px 10px}.pos-payment-edit-row select{font-size:12px}.pos-cart-footer{padding:10px 16px 16px;flex-shrink:0}.pos-draft-btn{width:100%;padding:11px;border-radius:8px;border:none;cursor:pointer;background:#c07a1e;color:#fff;font-weight:700;font-size:13px;margin-bottom:10px}.pos-draft-btn:hover{background:#a8690f}.pos-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pos-action-btn{padding:11px 6px;border-radius:8px;border:1px solid var(--p-border);cursor:pointer;font-size:11.5px;font-weight:700;text-align:center;line-height:1.25;background:var(--p-surface-2);color:var(--p-text)}.pos-action-btn:hover{border-color:var(--color-primary)}.pos-action-btn:disabled{opacity:.4;cursor:not-allowed}.pos-action-btn.violet{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pos-action-btn.red{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.pos-action-btn.green{background:var(--color-success);border-color:var(--color-success);color:#fff}.pos-action-btn.blue{background:#3b82f6;border-color:#3b82f6;color:#fff}.pos-action-btn.amber{background:transparent;border-color:#c07a1e;color:var(--color-warning)}.pos-action-btn.amber:hover{background:#c07a1e;color:#fff}.pos-action-btn-pending{background:var(--color-danger)!important;border-color:var(--color-danger)!important;color:#fff!important;transform:scale(1.08);z-index:1;position:relative;box-shadow:0 0 0 3px #dc262640,0 4px 14px #dc262659}.pos-remarks{padding:0 16px 10px}.pos-remarks textarea{background:var(--p-surface-2);border:1px solid var(--p-border);color:var(--p-text)}.pos-remarks textarea::placeholder{color:var(--p-muted)}.pos-remarks label{color:var(--p-muted)}.pos-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1099;display:flex;align-items:center;justify-content:center;z-index:100}.pos-modal{background:var(--p-surface);color:var(--p-text);border:1px solid var(--p-border);border-radius:14px;width:640px;max-width:92vw;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.pos-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--p-border)}.pos-modal-head h3{margin:0;font-size:15px}.pos-modal-close{background:none;border:none;color:var(--p-muted);font-size:18px;cursor:pointer}.pos-modal-body{padding:16px 20px;overflow-y:auto}.pos-modal-table-tile{background:var(--p-surface-2);border:1.5px solid var(--p-border);border-radius:10px;padding:14px;cursor:pointer;text-align:center}.pos-modal-table-tile:hover{border-color:var(--color-primary)}.pos-modal-table-tile.occupied{border-color:#6b4a1f;background:#241c14}.pos-modal-table-tile .t-name{font-weight:700;font-size:14px}.pos-modal-table-tile .t-status{font-size:11px;color:var(--p-muted);margin-top:3px;text-transform:capitalize}.pos-modal.wide{width:920px}.menu-item-modal .pos-modal-body{background:var(--color-bg)}.menu-item-form-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}@media (max-width: 800px){.menu-item-form-grid{grid-template-columns:1fr}}.menu-item-form-section{padding:18px}.menu-item-form-heading{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.menu-item-form-heading-icon{font-size:15px}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.chip-select-row{display:flex;flex-wrap:wrap;gap:8px}.item-type-chip{display:inline-flex;align-items:center;gap:6px}.item-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.order-type-price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--color-border)}.order-type-price-row input{width:110px}.menu-item-image-row{display:flex;align-items:center;gap:12px}.menu-item-image-preview{width:56px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border);background:var(--color-surface-2)}.menu-item-image-preview.placeholder{display:flex;align-items:center;justify-content:center;font-size:22px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px}.variation-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.variation-row input:first-child{flex:1.4}.variation-row input:last-of-type{flex:1}.menu-item-form-actions{display:flex;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border)}.menu-item-form-actions .btn{min-width:120px}.pos-recent-row{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid var(--p-border);cursor:pointer}.pos-recent-row:hover{background:var(--p-surface-2)}.pos-recent-row:last-child{border-bottom:none}.pos-recent-action{font-size:11px;font-weight:700;color:var(--color-primary);text-transform:uppercase}.variation-picker-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;margin-bottom:8px;border-radius:10px;border:1.5px solid var(--p-border);background:var(--p-surface-2);color:var(--p-text);cursor:pointer;font-size:13.5px;font-weight:600}.variation-picker-row:hover{border-color:var(--color-primary)}.global-topbar{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.global-topbar .collapse-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.global-topbar .collapse-btn svg{width:15px;height:15px}.global-topbar .restaurant-name{font-weight:700;font-size:14.5px;white-space:nowrap;margin-right:4px}.global-topbar .spacer{flex:1}.global-topbar .icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.global-topbar .icon-btn svg{width:16px;height:16px}.global-topbar .icon-btn:hover{color:var(--color-text);border-color:var(--color-primary)}.sidebar-v2{width:240px;flex-shrink:0;background:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:14px 12px;overflow-y:auto}.sv2-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#b7b7c9;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;font-size:13.5px;font-weight:500;margin-bottom:2px}.sv2-item:hover{background:var(--color-sidebar-active);color:#fff}.sv2-item.active{background:var(--color-primary);color:#fff}.sv2-item .sv2-icon{width:17px;height:17px;flex-shrink:0;display:flex}.sv2-item .sv2-icon svg{width:100%;height:100%}.sv2-item .sv2-chevron{margin-left:auto;width:13px;height:13px;flex-shrink:0;transition:transform .12s ease}.sv2-item .sv2-chevron.open{transform:rotate(90deg)}.sv2-group-children{padding-left:30px;margin-bottom:4px}.sv2-group-children .sv2-item{font-size:13px;padding:8px 12px}.sv2-section-label{font-size:10.5px;font-weight:700;letter-spacing:.6px;color:#62627a;text-transform:uppercase;padding:14px 12px 6px}.sv2-section-label:first-child{padding-top:4px}.page-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.page-toolbar .flex-search{flex:1;min-width:200px;max-width:380px}.page-toolbar .spacer{flex:1}.btn-outline{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);padding:9px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-outline:hover{border-color:var(--color-primary)}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}table.data-table{width:100%;border-collapse:collapse}table.data-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);background:var(--color-surface-2);padding:12px 16px;border-bottom:1px solid var(--color-border)}table.data-table td{padding:13px 16px;border-bottom:1px solid var(--color-border);font-size:13px;vertical-align:middle}table.data-table tr:last-child td{border-bottom:none}table.data-table tr:hover td{background:var(--color-hover-tint)}.row-thumb{width:36px;height:36px;border-radius:8px;background:var(--color-surface-2);flex-shrink:0}.icon-btn-sm{width:30px;height:30px;border-radius:7px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-btn-sm svg{width:14px;height:14px}.icon-btn-sm:hover{border-color:var(--color-primary);color:var(--color-text)}.icon-btn-sm.danger{background:var(--color-danger-tint);border-color:transparent;color:var(--color-danger)}.icon-btn-sm.danger:hover{background:#4a1418}.toggle-chip{width:34px;height:20px;border-radius:999px;border:none;cursor:pointer;position:relative;background:var(--color-surface-2)}.toggle-chip.on{background:var(--color-primary)}.toggle-chip:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .12s ease}.toggle-chip.on:after{left:16px}.avatar-letter{width:32px;height:32px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.menu-organizer-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;align-items:start}@media (max-width: 800px){.menu-organizer-grid{grid-template-columns:1fr}}.organizer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 6px;border-radius:8px;border:none;background:none;width:100%;cursor:default}.organizer-row.active{background:var(--color-primary-tint)}.organizer-row-label{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--color-text);cursor:pointer;font-size:13px;padding:0;text-align:left;flex:1;min-width:0}.organizer-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pagination-row{display:flex;align-items:center;justify-content:space-between;padding:14px 4px 0}.pagination{display:flex;align-items:center;gap:6px}.pagination button{min-width:30px;height:30px;border-radius:7px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;font-size:12.5px;font-weight:600;padding:0 8px}.pagination button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.stub-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-muted)}.stub-page svg{width:44px;height:44px;margin-bottom:14px;opacity:.5}.stub-page .stub-title{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:4px}.receipt-print-area{display:none}@media print{body *{visibility:hidden}.receipt-print-area,.receipt-print-area *{visibility:visible}.receipt-print-area{display:block!important;position:absolute;top:0;left:0;width:280px;font-family:Courier New,monospace;color:#000;background:#fff;padding:6px}.receipt-print-area h4{margin:0 0 2px;text-align:center;font-size:15px}.receipt-print-area .r-sub{text-align:center;font-size:11px;margin-bottom:8px}.receipt-print-area .r-line{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.receipt-print-area hr{border:none;border-top:1px dashed #000;margin:6px 0}.receipt-print-area .r-total{font-weight:700;font-size:13.5px}.kot-cancelled-stamp{border:3px solid #000;text-align:center;font-weight:800;font-size:20px;letter-spacing:1px;padding:6px 0;margin-bottom:10px}.kot-item-note{text-align:left;font-style:italic;font-size:10.5px;margin:-1px 0 3px;padding-left:6px}}
