:root{--ink:#253046;--muted:#8490a1;--paper:#f6f7fa;--surface:#fff;--brand:#e4383a;--brand-dark:#c7272b;--navy:#202a3d;--line:#e8ebf0;--available:#e1f5e8;--occupied:#ffebe1;--reserved:#eee8ff;--cleaning:#fff4cc;--blocked:#e7e8ea;--shadow:0 9px 24px rgba(31,42,61,.06)}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:22px 12px 15px;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;letter-spacing:-.02em;text-decoration:none;color:#fff;padding:2px 10px}.brand:hover{color:#fff}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--brand);display:inline-grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 5px 12px rgba(228,56,58,.3)}.brand small{font-size:9px;line-height:1;background:#3a465b;border-radius:4px;color:#b9c1ce;padding:4px 5px;letter-spacing:.08em}.outlet-switcher{margin:27px 7px 20px;padding:11px 9px;display:flex;align-items:center;gap:9px;border-radius:8px;background:#29354a;border:1px solid rgba(255,255,255,.05)}.outlet-dot{width:8px;height:8px;border-radius:50%;background:#65ce8c;box-shadow:0 0 0 3px #65ce8c1f}.outlet-switcher b,.outlet-switcher small{display:block}.outlet-switcher b{font-size:10px;letter-spacing:.08em}.outlet-switcher small{font-size:10px;color:#93a0b5;margin-top:2px}.switcher-chevron{margin-left:auto;color:#aeb7c5}.nav-heading{color:#768399;font-size:10px;letter-spacing:.11em;font-weight:700;margin:18px 12px 8px}.nav-heading-secondary{margin-top:22px}.sidebar .nav-link{color:#b7c0cf;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:7px;font-size:13px;line-height:18px}.sidebar .nav-link>span{display:inline-grid;place-items:center;width:16px;font-size:17px;color:#92a0b4}.sidebar .nav-link:hover{color:#fff;background:#29374d}.sidebar .nav-link.active{color:#fff;background:var(--brand);font-weight:650;box-shadow:0 6px 16px rgba(0,0,0,.13)}.sidebar .nav-link.active>span{color:#fff}.sidebar-bottom{display:flex;align-items:center;gap:8px;margin-top:auto;border-top:1px solid #3a4557;padding:16px 10px 3px}.user-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:#fff;background:#5e6d84;font-weight:800;font-size:12px}.user-meta{min-width:0;line-height:1.25}.user-meta b,.user-meta small{display:block}.user-meta b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:132px}.user-meta small{font-size:10px;color:#93a0b5;margin-top:2px}.logout-button{color:#b7c0cf!important;padding:0!important;margin-left:auto;border:0;font-size:18px!important;text-decoration:none!important}.main-content{width:calc(100% - 248px);margin-left:248px}.topbar{height:56px;padding:0 27px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-context{align-items:center;gap:9px;color:#7f8998;font-size:12px}.live-dot{width:7px;height:7px;background:#58c67c;border-radius:50%;box-shadow:0 0 0 3px #58c67c20}.topbar-divider{height:16px;width:1px;background:var(--line);margin:0 4px}.topbar-actions{display:flex;gap:7px;margin-left:auto}.topbar-icon{position:relative;display:grid;place-items:center;width:29px;height:29px;background:transparent;border:1px solid transparent;border-radius:7px;color:#728096;font-weight:800}.topbar-icon:hover{background:#f3f5f8;border-color:var(--line)}.topbar-icon i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--brand);top:4px;right:4px}.page-container{max-width:1400px;margin:0 auto;padding:32px}.page-container.narrow{max-width:900px}.eyebrow{font-size:10px;letter-spacing:.1em;font-weight:750;color:var(--brand);margin:0 0 5px;text-transform:uppercase}h1{font-size:29px;font-weight:780;letter-spacing:-.035em;margin:0}h2{font-size:18px;font-weight:730;margin:0}.btn-primary{background:var(--brand);border-color:var(--brand);font-weight:650}.btn-primary:hover,.btn-primary:focus{background:var(--brand-dark);border-color:var(--brand-dark)}.metric-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.metric-card{padding:19px}.metric-card span{font-size:13px;color:var(--muted);display:block}.metric-card strong{font-size:28px;letter-spacing:-.04em;display:block;margin-top:7px}.panel{padding:22px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-header a{font-size:13px;color:var(--brand)}.table>:not(caption)>*>*{border-color:var(--line);padding:.8rem}.toast-stack{position:fixed;top:15px;right:15px;z-index:1100;max-width:360px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#fff5f5,#f3f5fa)}.login-card{width:min(420px,calc(100% - 28px));background:#fff;padding:40px;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 60px #3d2f2512}.login-card h1{font-size:28px}.floor-section{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:18px;padding:22px;box-shadow:var(--shadow)}.floor-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.floor-title span{font-size:13px;color:var(--muted)}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.table-card{padding:18px;border-radius:10px;text-decoration:none;color:var(--ink);min-height:134px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s,box-shadow .15s}.table-card:hover{transform:translateY(-2px);box-shadow:0 7px 17px #17233110;color:var(--ink)}.table-number{font-weight:850;font-size:21px}.table-card small{color:#55606b;margin-top:2px}.table-status{margin-top:auto;font-size:12px;font-weight:700}.status-available{background:var(--available)}.status-occupied{background:var(--occupied)}.status-reserved{background:var(--reserved)}.status-cleaning{background:var(--cleaning)}.status-blocked{background:var(--blocked)}.table-timer{font-size:12px;font-family:ui-monospace,monospace;margin-top:8px}.legend{display:flex;gap:12px;flex-wrap:wrap}.legend span{font-size:12px;padding:5px 10px;border-radius:20px}.legend .available{background:var(--available)}.legend .occupied{background:var(--occupied)}.legend .reserved{background:var(--reserved)}.legend .cleaning{background:var(--cleaning)}.legend .blocked{background:var(--blocked)}

/* Fast billing workspace */
.pos-layout{height:calc(100vh - 56px);min-height:620px;display:grid;grid-template-columns:226px minmax(400px,1fr) 356px;background:var(--surface)}.pos-categories{padding:19px 13px;border-right:1px solid var(--line);overflow:auto;background:#fbfcfd}.back-link{display:block;color:#7d8998;text-decoration:none;font-size:12px;font-weight:600;padding:5px 7px;margin-bottom:19px}.back-link:hover{color:var(--brand)}.menu-label{display:flex;align-items:center;gap:7px;margin:0 8px 13px}.menu-label>span{color:var(--brand);font-size:17px}.menu-label h2{font-size:16px}.product-search{height:35px;border:1px solid #dde2e9;border-radius:7px;padding:0 8px;display:flex;align-items:center;gap:5px;background:#fff;color:#8a94a2;margin-bottom:16px}.product-search:focus-within{border-color:#f09a9c;box-shadow:0 0 0 3px #e4383a10}.product-search>span{font-size:18px;line-height:1}.product-search input{appearance:none;border:0;outline:0;min-width:0;flex:1;width:100%;font-size:12px;background:transparent;color:var(--ink)}.product-search input::placeholder{color:#abb3be}.product-search kbd{font:10px Inter,sans-serif;color:#9ba4b1;background:#f2f3f6;border-radius:3px;padding:2px 4px}.category-list{display:flex;flex-direction:column;gap:3px}.category-pill{border:0;background:transparent;text-align:left;padding:9px 9px;border-radius:6px;color:#657184;font-size:12px;display:flex;align-items:center;gap:9px}.category-pill>span{width:14px;text-align:center;color:#98a2b1;font-size:15px}.category-pill.active,.category-pill:hover{background:#ffe9e9;color:var(--brand);font-weight:700}.category-pill.active>span,.category-pill:hover>span{color:var(--brand)}.pos-products{padding:22px 24px 34px;overflow:auto;background:#f7f8fa}.pos-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.pos-heading-copy{min-width:130px}.pos-heading h1{font-size:24px}.table-detail{font-size:11px;color:#8490a1;display:block;margin-top:3px}.order-mode-tabs{display:flex;gap:2px;padding:3px;border-radius:7px;background:#eef1f5;margin-left:auto}.order-mode{border:0;background:transparent;border-radius:5px;font-size:11px;font-weight:650;color:#7e899a;padding:7px 9px;white-space:nowrap}.order-mode.active{color:var(--brand);background:#fff;box-shadow:0 1px 4px #24304717}.start-order,.order-id-chip{border:0;border-radius:7px;padding:9px 12px;white-space:nowrap;font-size:12px;font-weight:700}.start-order{background:var(--brand);color:#fff;box-shadow:0 5px 12px #e4383a2b}.start-order:hover{background:var(--brand-dark)}.start-order span{font-size:14px;margin-right:2px}.order-id-chip{background:#e7f6eb;color:#29864e}.items-toolbar{display:flex;justify-content:space-between;align-items:center;color:#8b96a5;font-size:11px;margin:0 1px 13px}.items-toolbar b{color:#526073}.items-sort{background:#fff;border:1px solid var(--line);padding:5px 8px;border-radius:5px;color:#657185}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:11px}.product-card{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;text-align:left;position:relative;display:flex;flex-direction:column;gap:3px;min-height:166px;box-shadow:0 2px 3px #22304703;transition:border .15s,box-shadow .15s,transform .15s}.product-card:hover{border-color:#f09799;box-shadow:0 8px 18px #1723310d;transform:translateY(-1px)}.product-card:active{transform:translateY(0);background:#fff8f8}.product-card strong{font-size:12px;line-height:1.3;margin-top:2px}.product-card small{color:var(--muted);font-size:10px}.card-price{font-weight:750;font-size:12px;margin-top:auto;color:#29364b}.product-image-placeholder{height:70px;border-radius:6px;background:linear-gradient(135deg,#fff0f0,#ffe0dc);color:var(--brand);display:grid;place-items:center;font-size:25px;font-weight:800;margin-bottom:3px}.product-card img{width:100%;height:70px;object-fit:cover;border-radius:6px}.food-dot{width:10px;height:10px;border:1.5px solid #40a361;border-radius:1px;position:absolute;right:10px;top:10px;background:#fff;z-index:1}.food-dot.nonveg,.food-dot.egg{border-color:#d45d4d}.food-dot:after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#40a361;margin:1.5px}.food-dot.nonveg:after,.food-dot.egg:after{background:#d45d4d}.order-panel{padding:18px 17px 15px;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#fff}.order-title{display:flex;justify-content:space-between;align-items:flex-start}.order-title h2{font-size:17px}.more-order-actions{background:transparent;border:0;color:#9da6b3;letter-spacing:1px;padding:2px 3px}.bill-meta{display:flex;align-items:center;gap:7px;border-top:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3;padding:9px 0;margin-top:13px;color:#8590a0;font-size:10px}.bill-meta .bill-type{color:#59667a;font-weight:700}.bill-meta .bill-type:after{content:"";display:inline-block;width:3px;height:3px;background:#a6afba;border-radius:50%;vertical-align:middle;margin-left:7px}.bill-meta button{margin-left:auto;border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:700;padding:0}.order-items{flex:1;overflow:auto;margin:7px 0;min-height:125px}.order-item{padding:12px 2px;border-bottom:1px solid #f0f1f3;display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:8px;align-items:center;font-size:12px}.order-item strong,.order-item small{display:block}.order-item strong{font-weight:680;line-height:1.3}.order-item small{font-size:10px;color:var(--muted);margin-top:2px}.order-item .note{color:#a85028}.order-item>b{font-size:12px;white-space:nowrap}.item-actions{display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e6eb;border-radius:5px;padding:1px}.item-actions>span{font-size:11px;font-weight:700}.qty-btn{width:20px;height:20px;border:0;border-radius:4px;background:#f4f5f7;color:#4d5a6c;font-size:14px;line-height:1}.qty-btn:hover{background:#ffe6e6;color:var(--brand)}.cart-empty{text-align:center;color:#8290a1;font-size:12px;padding:42px 15px;display:flex;flex-direction:column;align-items:center;gap:5px}.cart-empty>span{font-size:28px;color:#c7cdd6;line-height:1}.cart-empty b{color:#687488;font-size:13px}.cart-empty small{font-size:11px}.order-summary{border-top:1px dashed #cbd2d8;padding:10px 0 0}.order-summary>div,.totals-list>div{display:flex;justify-content:space-between;padding:3px 0;font-size:11px;color:#7e8999}.order-summary b{color:#4d596a;font-weight:650}.grand-total{align-items:center;font-size:18px!important;padding:8px 0 4px!important;margin-top:5px;border-top:1px solid var(--line);color:#253046!important}.grand-total b{font-size:21px;color:var(--brand)!important;letter-spacing:-.04em}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0 8px}.quick-actions button{border:1px solid #e2e5e9;border-radius:6px;background:#fff;height:32px;color:#657184;font-size:10px;font-weight:650}.quick-actions button:hover{border-color:#f1a1a3;color:var(--brand);background:#fffafa}.quick-actions span{margin-right:2px;font-size:13px}.pos-actions{display:grid;gap:8px}.btn-bill-secondary{border:0;border-radius:7px;background:var(--brand);color:#fff;height:42px;font-size:13px;font-weight:750;box-shadow:0 5px 12px #e4383a2b}.btn-bill-secondary:hover{background:var(--brand-dark)}.btn-bill-secondary span{font-size:16px;margin-right:3px}.modifier-group{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px}.modifier-group legend{font-size:13px;font-weight:750;width:auto;padding:0 4px}.empty-state{max-width:620px;margin:100px auto;text-align:center;padding:35px}.form-panel p label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.form-panel p input,.form-panel p select,.form-panel p textarea{width:100%;padding:.45rem .7rem;border:1px solid #dee2e6;border-radius:.375rem}.status-badge{font-size:11px;padding:4px 8px;border-radius:20px;font-weight:700}.status-completed,.status-served,.status-ready{background:var(--available)}.status-cancelled,.status-refunded{background:#ffe1e1}.status-draft,.status-kot_sent,.status-preparing{background:#fff1bd}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}.kot-card{border-radius:14px;padding:18px;border:1px solid var(--line)}.kot-card ul{padding:0;margin:16px 0;list-style:none}.kot-card li{padding:7px 0;border-bottom:1px dashed #b9c0c6;font-size:14px}.kot-card li small{display:block;color:var(--muted);font-size:11px;margin-left:22px}.kot-meta{font-size:12px;color:var(--muted);margin-top:8px}.kot-actions{display:flex;gap:6px;flex-wrap:wrap}

@media(max-width:1100px){.pos-layout{grid-template-columns:196px minmax(320px,1fr) 326px}.pos-products{padding-left:18px;padding-right:18px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.order-mode{padding-left:7px;padding-right:7px}.sidebar{width:224px}.main-content{width:calc(100% - 224px);margin-left:224px}}@media(max-width:991px){.main-content{width:100%;margin-left:0}.pos-layout{grid-template-columns:1fr;height:auto;min-height:100vh}.pos-categories{border-bottom:1px solid var(--line);padding:12px}.pos-categories .menu-label,.back-link,.product-search{display:none}.category-list{flex-direction:row;overflow:auto;margin:0}.category-pill{white-space:nowrap}.pos-products{min-height:55vh}.order-panel{border-left:0;border-top:1px solid var(--line);min-height:500px}.page-container{padding:26px 18px}.topbar{padding:0 18px}}@media(max-width:650px){.pos-heading{align-items:flex-start;flex-wrap:wrap}.order-mode-tabs{order:3;margin-left:0}.start-order,.order-id-chip{margin-left:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-products{padding:16px}.pos-heading h1{font-size:23px}.product-card{min-height:158px}.order-panel{padding:18px}.login-card{padding:28px}.metric-card strong{font-size:24px}}@media(max-width:390px){.order-mode{font-size:10px}.start-order{font-size:11px;padding:8px}.pos-heading{gap:9px}}
