:root{--blue:#0f568f;--blue2:#1565c0;--ink:#10233f;--muted:#64748b;--bg:#eef3f8;--line:#d9e3ee;--green:#16a34a;--red:#ef4444;--amber:#f59e0b;--purple:#8b5cf6}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100%;display:grid;place-items:center}.login-card{width:420px;background:#fff;padding:34px;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.12);text-align:center}.logo{width:70px;height:70px;background:var(--blue2);color:#fff;border-radius:20px;display:grid;place-items:center;margin:auto;font-size:26px;font-weight:800}.login-card h1{margin:14px 0 2px}.login-card p{color:var(--muted);margin:0 0 22px}.login-card select,.login-card input{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;margin:7px 0}.login-card button{width:100%;padding:13px;border:0;border-radius:10px;background:var(--blue2);color:#fff;font-weight:700;margin-top:10px}.login-card small{display:block;color:var(--muted);margin-top:12px}.app{height:100%;display:flex;flex-direction:column}.topbar{height:82px;background:linear-gradient(90deg,#0c4f86,#0e5d99);color:#fff;display:flex;align-items:center;padding:0 22px;gap:24px;box-shadow:0 2px 10px rgba(15,23,42,.12)}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brandmark{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:22px}.brand strong{font-size:25px}.brand small{display:block;opacity:.8}.topbar nav{display:flex;height:100%;gap:2px}.topbar nav button{border:0;background:transparent;color:#fff;padding:0 16px;cursor:pointer}.topbar nav button.active{background:rgba(255,255,255,.12);border-bottom:3px solid #fff}.userbox{margin-left:auto;display:flex;align-items:center;gap:12px}.userbox button{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:9px 12px}.view{display:none;min-height:0;flex:1}.view.active{display:block}.pos-layout.active{display:grid;grid-template-columns:25% 39% 36%;gap:12px;padding:14px}.panel{background:#fff;border:1px solid #e0e8f1;border-radius:12px;min-width:0;min-height:0;padding:14px;display:flex;flex-direction:column;box-shadow:0 3px 16px rgba(15,23,42,.035)}.panel-title h2,.order-head h2,.kitchen-head h2,.users-head h2{margin:0;font-size:20px}.panel-title p,.order-head p,.kitchen-head p,.users-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.filters{display:flex;gap:4px;margin:14px 0 8px;overflow:auto}.filters button,.categories button{border:1px solid var(--line);background:#fff;padding:8px 13px;white-space:nowrap}.filters button:first-child,.categories button:first-child{border-radius:7px 0 0 7px}.filters button:last-child,.categories button:last-child{border-radius:0 7px 7px 0}.filters button.active,.categories button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.legend{display:flex;gap:14px;font-size:12px;margin:4px 0 12px}.l-free{color:var(--green)}.l-occ{color:var(--red)}.l-bill{color:var(--amber)}.l-res{color:var(--purple)}.tables{overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:10px;padding-right:4px}.table{border:1px solid var(--line);border-radius:8px;padding:14px;min-height:105px;background:#fff;text-align:center;cursor:pointer}.table.free{background:#f0fdf4;border-color:#86efac}.table.occupied{background:#fef2f2;border-color:#fca5a5}.table.bill{background:#fffbeb;border-color:#fcd34d}.table.reserved{background:#f5f3ff;border-color:#c4b5fd}.table.selected{box-shadow:0 0 0 3px rgba(21,101,192,.18);border-color:var(--blue2)}.table strong{display:block;font-size:15px}.table span{display:block;color:var(--muted);margin-top:5px}.search-wrap{display:grid;grid-template-columns:1fr 42px;margin:14px 0 9px}.search{width:100%;padding:11px 12px;border:1px solid var(--line);border-right:0;border-radius:7px 0 0 7px}.search-wrap button{border:1px solid var(--line);background:#fff;border-radius:0 7px 7px 0}.categories{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px}.menu{overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;padding-right:4px}.menu-card{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;min-height:96px;text-align:center;cursor:pointer}.menu-card.veg{background:#f0fdf4;border-color:#bbf7d0}.menu-card strong{display:block}.menu-card small{display:block;color:var(--muted);margin-top:9px;font-weight:700}.order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.order-panel #waiterWrap{min-width:140px}.order-panel label{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.order-panel select{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px}.order-grid-head{display:grid;grid-template-columns:1fr 60px 90px 100px 34px;gap:6px;background:#f8fafc;border:1px solid var(--line);padding:8px 10px;margin-top:12px;font-size:12px;font-weight:700}.cart{flex:1;overflow:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}.cart-row{display:grid;grid-template-columns:1fr 60px 90px 100px 34px;gap:6px;padding:11px 10px;border-bottom:1px solid #edf2f7;align-items:center}.cart-row span:nth-child(n+2),.cart-row strong{text-align:right}.qty-input{width:54px;text-align:right;border:1px solid var(--line);border-radius:6px;padding:5px}.line-cancel{width:28px;height:28px;border:1px solid #fecaca;border-radius:7px;background:#fff1f2;color:#b91c1c;font-weight:700;cursor:pointer}.kot-mark{display:inline-block!important;margin-left:6px!important;padding:2px 5px;border-radius:4px;background:#fff7ed;color:#c2410c;font-size:10px!important}.notes{resize:none;min-height:58px;border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:10px}.summary{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.summary>div{display:flex;justify-content:space-between;padding:4px 2px;font-size:13px}.summary .grand{background:#eef6ff;padding:10px;border-radius:8px;margin-top:4px;font-size:18px}.summary .grand strong{color:var(--blue2);font-size:22px}.actions{display:grid;grid-template-columns:.8fr .8fr 1fr 1fr 1fr;gap:7px;margin-top:10px}.actions button,.kitchen-head button,.users-head button,.settings-head button,.reports-head button{border:0;border-radius:8px;padding:11px 10px;font-weight:700;cursor:pointer}.primary{background:#0a8f4d;color:#fff}.secondary{background:#e8f1fa;color:#0f568f}.warning{background:#d99100;color:#fff}.danger{background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3!important}.ghost{background:#f8fafc;color:#334155;border:1px solid var(--line)!important}.kitchen-head,.users-head,.settings-head,.reports-head{display:flex;justify-content:space-between;align-items:center;padding:18px}.kitchen-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 18px 18px}.kcol{background:#f8fafc;border-radius:12px;padding:12px;min-height:420px}.kot{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.kot h4{margin:0 0 8px}.kot .time{color:#b45309;font-weight:700}.kot button{width:100%;margin-top:10px;border:0;border-radius:8px;padding:9px;background:var(--blue2);color:#fff}.users-grid{padding:0 18px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.user-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.placeholder-view{padding:24px}.placeholder-view.active{display:block}.settings-view.active,.reports-view.active{display:block;overflow:auto}.settings-card,.report-card{margin:0 18px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.settings-card h3{margin:0 0 4px}.muted{color:var(--muted)}.payment-methods-grid{display:grid;gap:8px;margin-top:14px}.payment-method-row{display:grid;grid-template-columns:120px 1fr 100px 140px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px}.payment-method-row input[type=text],.payment-method-row input[type=number],.payment-method-row .pm-name,.payment-method-row .pm-sort{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px}.payment-dialog{width:min(900px,92vw)}.payment-dialog::backdrop{background:rgba(15,23,42,.45)}.payment-shell{padding:20px}.payment-head{display:flex;justify-content:space-between;align-items:flex-start}.payment-head h2{margin:0}.payment-head p{margin:4px 0;color:var(--muted)}.icon-btn{border:0;background:#f8fafc;border-radius:8px;width:36px;height:36px;font-size:24px;cursor:pointer}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.payment-summary>div{border:1px solid var(--line);border-radius:10px;padding:12px}.payment-summary span{display:block;color:var(--muted);font-size:12px}.payment-summary strong{font-size:20px}.payment-summary .balance{background:#eef6ff}.payment-grid-head,.payment-row{display:grid;grid-template-columns:180px 1fr 150px 40px;gap:8px;align-items:center}.payment-grid-head{font-weight:700;background:#f8fafc;border:1px solid var(--line);padding:9px}.payment-row{padding:8px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.payment-row select,.payment-row input{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px}.remove-pay{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:7px;height:36px;cursor:pointer}.payment-footer{display:grid;grid-template-columns:160px 1fr 220px;gap:12px;align-items:center;margin-top:16px}.payment-footer button{border:0;border-radius:8px;padding:11px;font-weight:700}.payment-allocation{text-align:right}.payment-allocation span,.payment-allocation small{display:block;color:var(--muted)}.payment-allocation strong{font-size:20px}.transactions-grid{overflow:auto}.tx-head,.tx-row{display:grid;grid-template-columns:80px 180px 120px 1fr 120px 120px;gap:8px;align-items:center;padding:10px 12px}.tx-head{background:#f8fafc;font-weight:700;border:1px solid var(--line)}.tx-row{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.empty-report,.error-text{padding:20px;color:var(--muted)}dialog{border:0;border-radius:14px;padding:0;box-shadow:0 25px 70px rgba(0,0,0,.25)}.dialog-form{padding:20px;display:grid;gap:12px;width:360px}.dialog-form input,.dialog-form select{padding:10px;border:1px solid var(--line);border-radius:8px}.dialog-form>div{display:flex;justify-content:flex-end;gap:8px}.dialog-form button{padding:9px 14px;border:0;border-radius:8px}@media(max-width:1200px){.pos-layout.active{grid-template-columns:27% 39% 34%}.actions{grid-template-columns:repeat(3,1fr)}.topbar nav button{padding:0 10px}.brand{min-width:190px}.payment-method-row{grid-template-columns:110px 1fr 90px}.payment-method-row>span{display:none}}

.food-marker{font-size:13px;font-weight:900;line-height:1}.food-marker.veg{color:#16834d}.food-marker.nonveg{color:#c62828}
.menu-card.nonveg{background:#fff7f7;border-color:#fecaca}.food-type.veg{color:#16834d;font-weight:700}.food-type.nonveg{color:#c62828;font-weight:700}
.variant-count{display:block;margin-top:5px;font-size:10px;color:#64748b;font-style:normal}.special-note{display:block!important;text-align:left!important;margin-top:4px!important;color:#b45309!important;font-size:11px!important;font-weight:700}.kitchen-line{padding:5px 0;border-bottom:1px dashed #e2e8f0}.kitchen-line .special-note{color:#b45309!important}
#itemOptionDialog select,.customer-dialog select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.food-type-line{font-size:13px;margin-top:3px}
