:root{--bg:#f4f7f5;--panel:#fff;--ink:#09111f;--muted:#667085;--line:#dfe7e2;--mint:#dff8e9;--green:#087443;--amber:#9a5b00;--rose:#b42318;--navy:#020617;--shadow:0 24px 70px #0f172a14}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}body{background:radial-gradient(circle at 18% 8%,#def8e9e6,#0000 26rem),linear-gradient(#fbfcfb 0%,#f2f6f4 46%,#eef3f1 100%)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.auth-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);width:min(1040px,100%);box-shadow:var(--shadow);border-radius:32px;grid-template-columns:.9fr 1.1fr;display:grid;overflow:hidden}.auth-brand{background:var(--navy);color:#fff;padding:56px}.mark{width:56px;height:56px;color:var(--navy);background:#fff;border-radius:18px;place-items:center;font-size:28px;font-weight:900;display:grid}.auth-brand h1,.page-title h1{letter-spacing:0;margin:26px 0 12px;font-size:clamp(42px,6vw,76px);line-height:.92}.auth-brand p,.page-title p{color:#c5cedb;margin:0;font-size:20px;line-height:1.55}.auth-form{padding:56px}.eyebrow{color:var(--green);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:900}.auth-form h2{letter-spacing:0;margin:0 0 8px;font-size:42px}.auth-form .hint{color:var(--muted);margin:0 0 34px;font-size:17px;line-height:1.5}.field{gap:8px;margin-bottom:18px;display:grid}.field span{color:#344054;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800}.input,.select{border:1px solid var(--line);width:100%;height:56px;color:var(--ink);background:#fff;border-radius:16px;outline:none;padding:0 16px}.input:focus,.select:focus{border-color:#8de5b1;box-shadow:0 0 0 4px #0874431a}.button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-weight:900;display:inline-flex}.button.full{width:100%;height:58px;margin-top:8px}.button.secondary{color:var(--navy);border:1px solid var(--line);background:#fff}.error{color:var(--rose);background:#fff1f2;border:1px solid #fecaca;border-radius:14px;margin:0 0 18px;padding:12px 14px;font-weight:700}.admin-shell{min-height:100vh;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:20px;max-width:1500px;margin:0 auto 28px;display:flex}.brandline{align-items:center;gap:14px;display:flex}.brandline .mark{background:var(--navy);color:#fff}.brandline strong{font-size:22px;display:block}.brandline span{color:var(--muted);font-weight:700;display:block}.page{max-width:1500px;margin:0 auto}.page-title{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-title p{color:var(--muted)}.filters{grid-template-columns:1.5fr 180px 220px;gap:12px;margin-bottom:20px;display:grid}.kpis{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi,.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe0;border-radius:24px}.kpi{padding:22px}.kpi span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:900}.kpi strong{letter-spacing:0;margin-top:12px;font-size:32px;display:block}.panel{overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1180px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:18px 20px}th{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;background:#f8faf9;font-size:12px;font-weight:900}td{font-weight:750}tr:last-child td{border-bottom:0}.restaurant-name{gap:4px;display:grid}.restaurant-name strong{font-size:17px}.restaurant-name span,.subtle{color:var(--muted);font-size:13px;font-weight:700}.badge{color:#344054;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#eef2f7;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.badge.good{background:var(--mint);color:var(--green)}.badge.warn{color:var(--amber);background:#fff7df}.badge.bad{color:var(--rose);background:#fff1f2}.usage{gap:8px;min-width:160px;display:grid}.usage-top{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.bar{background:#e9eef2;border-radius:999px;height:10px;overflow:hidden}.bar span{height:100%;width:var(--value);border-radius:inherit;background:linear-gradient(90deg,#087443,#8de5b1);display:block}.empty{color:var(--muted);text-align:center;padding:48px;font-weight:800}@media (max-width:980px){.auth-card{grid-template-columns:1fr}.kpis,.filters,.page-title{grid-template-columns:1fr;display:grid}.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.admin-shell,.auth-shell{padding:16px}.auth-brand,.auth-form{padding:32px}.topbar{flex-direction:column;align-items:flex-start}.kpis{grid-template-columns:1fr}}
