:root{--bg:#0f1514;--bodybg:#f4f7f6;--panel:#ffffff;--ink:#14201e;--muted:#6b7a77;--brand:#0d9488;--brand2:#14b8a6;--accent:#f59e0b;--line:#e6edec;--dark:#111a19;--inputbg:#ffffff;--softbg:#f8faf9}
[data-theme="dark"]{--bodybg:#0b1211;--panel:#16211f;--ink:#e6f0ee;--muted:#93a8a3;--line:#263734;--inputbg:#1b2a27;--softbg:#1b2a27}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,'Hind Siliguri',Segoe UI,sans-serif;background:var(--bodybg);color:var(--ink)}
a{color:var(--brand);text-decoration:none}
.site-nav{position:sticky;top:0;z-index:20;display:flex;gap:22px;align-items:center;padding:14px 28px;background:rgba(15,21,20,.92);backdrop-filter:blur(8px);color:#fff}
.site-nav a{color:#d7e6e3;font-size:15px}.site-nav .logo{font-weight:800;font-size:20px;color:#fff}.logo b{color:var(--brand2)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff!important;padding:11px 20px;border-radius:10px;font-weight:700;border:0;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid #3a4a47;color:#e7f2f0!important}
.iconbtn{background:#1d2d2a;color:#fff;border:1px solid #2b3d3a;border-radius:9px;padding:6px 11px;cursor:pointer;font-size:14px;text-decoration:none;display:inline-block}
.hero{background:radial-gradient(900px 420px at 80% -10%,rgba(20,184,166,.35),transparent),var(--bg);color:#fff;padding:76px 28px 64px;text-align:center}
.hero h1{font-size:44px;line-height:1.15;margin:0 auto 16px;max-width:820px}.hero p{color:#b9cfcb;max-width:640px;margin:0 auto 26px;font-size:18px}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}.badge{border:1px solid #2b3d3a;color:#a7f3ea;border-radius:999px;padding:6px 14px;font-size:13px}
.wrap{max-width:1120px;margin:0 auto;padding:36px 22px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(16,40,36,.05);color:var(--ink)}
.card h3{margin:6px 0 8px}.card p{color:var(--muted);margin:0;line-height:1.55}
.price{font-size:34px;font-weight:800}.pop{border:2px solid var(--brand)}
table.cmp{width:100%;border-collapse:collapse;background:var(--panel);color:var(--ink);border-radius:14px;overflow:hidden}table.cmp td,table.cmp th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
/* App shell */
.app{display:flex;min-height:100vh}.side{width:236px;background:var(--dark);color:#cfe0dc;padding:20px 14px;position:sticky;top:0;height:100vh;flex-shrink:0}
.side a{display:block;color:#cfe0dc;padding:10px 12px;border-radius:10px;margin:2px 0}.side a.on,.side a:hover{background:#1d2d2a;color:#5eead4}
.side .grp{font-size:11px;letter-spacing:.12em;color:#7d948f;margin:16px 10px 6px}
.main{flex:1;padding:22px;min-width:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.stat{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border-radius:16px;padding:18px}.stat.alt{background:linear-gradient(135deg,#334155,#1e293b)}.stat.accent{background:linear-gradient(135deg,#d97706,#b45309)}
.stat .v{font-size:28px;font-weight:800}
/* POS */
.pos{display:grid;grid-template-columns:1fr 360px;gap:16px}@media(max-width:900px){.pos{grid-template-columns:1fr}}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.item{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;text-align:left}.item:hover{border-color:var(--brand2)}
.item .nm{font-weight:700}.item .pr{color:var(--brand);font-weight:800}.stock{font-size:12px;color:var(--muted)}
.cart{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:16px;position:sticky;top:16px}
.cart .row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.pay{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.pay button{padding:9px;border-radius:9px;border:1px solid var(--line);background:var(--softbg);color:var(--ink);cursor:pointer}.pay button.on{border-color:var(--brand);background:#ccfbf1;color:#0f2c29;font-weight:700}
.floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.tbl{border-radius:16px;padding:18px;color:#fff}.tbl.empty{background:#475569}.tbl.occupied{background:#0d9488}.tbl.billing{background:#d97706}
/* KDS */
.kds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.ticket{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-top:6px solid var(--brand);border-radius:12px;padding:14px}.ticket.late{border-top-color:#dc2626}
.chip{display:inline-block;background:var(--line);color:var(--ink);border-radius:999px;padding:3px 10px;font-size:12px;margin:2px}
footer.site{padding:28px;text-align:center;color:#7d948f;background:var(--bg)}
input,select,textarea{padding:10px;border:1px solid var(--line);border-radius:9px;font-size:15px;width:100%;background:var(--inputbg);color:var(--ink)}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;align-items:center;justify-content:center}.modal.open{display:flex}
.modal .box{background:var(--panel);color:var(--ink);border-radius:18px;padding:22px;max-width:420px;width:92%}
/* Mobile top bar + bottom navigation (app) */
.topbar{display:none}.bottomnav{display:none}
@media(max-width:900px){
 .side{display:none}.app{display:block}
 .main{padding:14px 12px 96px}
 .topbar{display:flex;align-items:center;gap:10px;background:var(--dark);color:#fff;padding:10px 14px;position:sticky;top:0;z-index:30}
 .topbar .logo{font-weight:800;font-size:18px;color:#fff}.topbar .logo b{color:var(--brand2)}
 .bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--dark);z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -4px 18px rgba(0,0,0,.25)}
 .bottomnav a{color:#9fb8b2;font-size:11px;text-align:center;padding:6px 2px;border-radius:10px;flex:1;line-height:1.25}
 .bottomnav a.on{color:#5eead4;background:#1d2d2a}
 .bottomnav .ic{display:block;font-size:21px}
 table.cmp{display:block;overflow-x:auto;white-space:nowrap}
 .split2{grid-template-columns:1fr!important}
 .site-nav{flex-wrap:wrap;gap:12px;padding:10px 14px}
 .hero{padding:44px 16px}.hero h1{font-size:30px}.hero p{font-size:16px}
 .wrap{padding:24px 14px}
 .cart{position:static}
 input,select,textarea{font-size:16px}
 .stats{grid-template-columns:1fr 1fr}
}
