:root{--brand:#8a1c2b;--brand-dark:#6b1421;--saffron:#f2b441;--ink:#1c1917;--muted:#57534e;--surface:#f5f4f2;--border:#e7e5e4;--success:#166534;--success-tint:#dcfce7;--danger:#b91c1c;--danger-tint:#fee2e2;--warn-tint:#fef3c7;--blush:#f6e3e5;--white:#fff;--radius:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--surface);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:var(--brand)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.banner{background:var(--saffron);color:var(--ink);text-align:center;padding:4px 12px;font-size:13px;font-weight:700}.shell{min-height:100vh;display:flex}.side{background:var(--white);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:220px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:10px;margin:0 6px 20px;display:flex}.logo .mark{background:var(--brand);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:grid}.logo b{letter-spacing:-.01em;font-size:17px;font-weight:800}.nav a{color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--surface)}.nav a[aria-current=page]{background:var(--blush);color:var(--brand)}.side .grow{flex:1}.who{color:var(--muted);overflow-wrap:anywhere;padding:0 8px;font-size:13px}.main{flex:1;min-width:0;padding:28px 32px 64px}.main h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:800}.sub{color:var(--muted);margin:0 0 20px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.stat .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.stat .l{color:var(--muted);font-size:13px;font-weight:600}.stat.alert{border-color:var(--danger);background:var(--danger-tint)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .grow{flex:1}.input,.select{border:1.5px solid var(--border);background:var(--white);border-radius:10px;min-width:0;height:40px;padding:0 12px}.input:focus,.select:focus{border-color:var(--brand);outline:none}.btn{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:10px;height:40px;padding:0 16px;font-weight:700}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--white);color:var(--ink);border:1.5px solid var(--border)}.btn.ghost:hover{background:var(--surface)}.btn.danger{background:var(--danger)}.btn.ok{background:var(--success)}.btn.sm{height:32px;padding:0 10px;font-size:13px}.linkbtn{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}table{border-collapse:collapse;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface);font-size:12px;font-weight:700}tr:last-child td{border-bottom:0}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:#fbfaf9}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.tablewrap{overflow-x:auto}.badge{background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.paid,.badge.preparing{background:var(--warn-tint);color:#92400e}.badge.ready_for_pickup,.badge.under_review{color:#1e40af;background:#dbeafe}.badge.completed,.badge.verified{background:var(--success-tint);color:var(--success)}.badge.payment_failed,.badge.cancelled,.badge.cancelled_by_customer,.badge.not_collected,.badge.rejected,.badge.suspended,.badge.red{background:var(--danger-tint);color:var(--danger)}.msg{border-radius:10px;margin-bottom:14px;padding:10px 14px;font-weight:600}.msg.error{background:var(--danger-tint);color:var(--danger)}.msg.ok{background:var(--success-tint);color:var(--success)}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.two{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.kv{grid-template-columns:140px 1fr;gap:6px 12px;margin:0;display:grid}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0}.section-title{margin:22px 0 10px;font-size:16px;font-weight:800}.code{letter-spacing:.2em;width:120px;font-family:ui-monospace,Menlo,monospace;font-size:18px}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:100%;max-width:400px;padding:28px}.login h1{margin:14px 0 2px;font-size:22px}.login form{flex-direction:column;gap:12px;margin-top:18px;display:flex}.login label{font-size:14px;font-weight:600}.center{min-height:60vh;color:var(--muted);place-items:center;display:grid}@media (max-width:860px){.shell{flex-direction:column}.side{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;width:auto;height:auto;padding:10px 12px;position:static}.logo{margin:0 8px 0 0}.nav{flex-wrap:wrap;gap:2px;display:flex}.side .grow,.who{display:none}.main{padding:18px 16px 48px}.two{grid-template-columns:1fr}}@media print{.side,.banner,.toolbar,.noprint{display:none!important}.main{padding:0}body{background:#fff}}
