:root{
    --bg:#f5f7fb;
    --card:#ffffff;
    --text:#172033;
    --muted:#667085;
    --primary:#0ea5e9;
    --primary-dark:#0369a1;
    --danger:#dc2626;
    --success:#16a34a;
    --warning:#d97706;
    --border:#e5e7eb;
    --shadow:0 10px 30px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 22px;background:#0f172a;color:white;position:sticky;top:0;z-index:20;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand .logo{font-size:30px}.brand small{display:block;color:#cbd5e1;margin-top:2px}
.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav a{padding:9px 11px;border-radius:10px;color:#e2e8f0;font-size:14px}.nav a:hover,.nav a.active{background:#1e293b;color:white}
.container{max-width:1240px;margin:24px auto;padding:0 16px}.footer{text-align:center;color:var(--muted);font-size:13px;padding:24px}
.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#0ea5e9)}.login-card{width:min(420px,92vw);background:white;border-radius:24px;padding:34px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin-top:0}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-pos{grid-template-columns:1.3fr .8fr;align-items:start}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{font-size:28px}.stat span{color:var(--muted)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-weight:650;font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:12px;padding:11px 12px;font:inherit;background:white}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(14,165,233,.18);border-color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;background:var(--primary);color:white;cursor:pointer;font-weight:700;font-size:14px}.btn:hover{background:var(--primary-dark)}.btn.secondary{background:#e2e8f0;color:#0f172a}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.btn.warning{background:var(--warning)}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#f8fafc;font-size:13px;color:#475569}tr:last-child td{border-bottom:0}.right{text-align:right}.center{text-align:center}.muted{color:var(--muted)}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.pending{background:#fff7ed;color:#c2410c}.badge.preparing{background:#eff6ff;color:#1d4ed8}.badge.ready{background:#f0fdf4;color:#15803d}.badge.served{background:#f1f5f9;color:#475569}.badge.cancelled{background:#fef2f2;color:#b91c1c}.badge.low{background:#fef2f2;color:#b91c1c}.badge.ok{background:#f0fdf4;color:#15803d}
.alert{padding:12px 14px;border-radius:14px;margin-bottom:14px;border:1px solid}.alert.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.category-tabs button{border:1px solid var(--border);background:white;border-radius:999px;padding:9px 12px;cursor:pointer}.category-tabs button.active{background:var(--primary);border-color:var(--primary);color:white}
.item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.item-card{border:1px solid var(--border);border-radius:16px;background:white;padding:14px;cursor:pointer;transition:.15s}.item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.item-card h4{margin:0 0 6px}.item-card p{margin:0;color:var(--muted)}.cart-total{font-size:24px;font-weight:800}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--border);padding:10px 0}.qty-box{display:inline-flex;align-items:center;gap:7px}.qty-box button{width:28px;height:28px;border:1px solid var(--border);background:#f8fafc;border-radius:9px;cursor:pointer}
.receipt{max-width:380px;margin:0 auto;background:white;color:#111;padding:18px;font-family:Arial,sans-serif}.receipt h2,.receipt p{text-align:center;margin:4px 0}.receipt table{font-size:13px}.receipt .line{border-top:1px dashed #111;margin:10px 0}.print-only{display:none}
.searchbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.searchbar input,.searchbar select{border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit}
@media(max-width:1000px){.grid-pos,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.form-row{grid-template-columns:1fr}}
@media(max-width:560px){.item-grid{grid-template-columns:1fr}.card{padding:14px}.container{margin:14px auto}.nav a{font-size:13px;padding:8px}.brand{min-width:0}}
@media print{body{background:white}.topbar,.footer,.container > :not(.receipt-page),.no-print{display:none!important}.container{margin:0;padding:0;max-width:none}.receipt-page{display:block}.receipt{box-shadow:none;border:0;width:80mm;max-width:80mm;padding:0}.print-only{display:block}table{border:0}th,td{padding:4px;border-bottom:0}.receipt .line{border-top:1px dashed #000}}
