:root{
  --ink:#0f172a;--muted:#475569;--brand:#0ea5e9;--bg:#ffffff;--card:#f8fafc;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:20px}
.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(2,6,23,.06);overflow:hidden}
.card .pad{padding:14px 14px 16px}
.card h3{margin:0 0 6px;font-size:18px}
.price{font-weight:700}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid var(--brand);color:var(--brand);font-weight:600}
.btn.primary{background:var(--brand);color:#fff}
.header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0}
.header .right{display:flex;gap:10px;align-items:center}
.badge{background:#e2f3fd;color:#0369a1;border-radius:999px;padding:4px 10px;font-size:12px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.input,select{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}
.footer{margin:40px 0 20px;color:var(--muted);font-size:14px}
.cart-link{position:relative}
.cart-count{position:absolute;top:-6px;right:-8px;background:crimson;color:#fff;border-radius:999px;padding:2px 6px;font-size:12px}
hr{border:0;border-top:1px solid #e5e7eb;margin:20px 0}
.form{display:grid;gap:12px;max-width:520px}
.form label{font-weight:600}
.form input,.form textarea{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.alert{padding:12px 14px;border-radius:12px}
.alert.ok{background:#ecfdf5;color:#065f46}
.alert.err{background:#fef2f2;color:#991b1b}
.small{font-size:12px;color:var(--muted)}