:root { --brand: #0d6efd; --brand-dark: #0a58ca; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background:#f6f8fb; }
.navbar-brand { letter-spacing:.2px; }
.hero { background: linear-gradient(135deg,#0d6efd,#6610f2); color:#fff; border-radius:1rem; padding:3rem 2rem; }
.hero h1 { font-weight:800; }
.card-step { border:0; box-shadow:0 1px 4px rgba(10,20,40,.06); border-radius:1rem; }
.step-badge { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#eef2ff; color:#3b5bdb; font-weight:700; font-size:.875rem; margin-right:.5rem; }
.cat-card { border:1px solid #dee2e6; border-radius:.75rem; padding:1rem; background:#fff; cursor:pointer; transition:.15s; }
.cat-card:hover { border-color: var(--brand); }
.cat-card.selected { border-color: var(--brand); background: #f0f6ff; }
.price-tier { border-radius:1rem; padding:1.25rem; }
.price-tier.p-min { background:#f1f8e9; }
.price-tier.p-rec { background:#e3f2fd; }
.price-tier.p-max { background:#fff3e0; }
.price-tier .n { font-size:2rem; font-weight:800; letter-spacing:-.5px; }
.admin-sidebar .nav-link { border-radius:.5rem; }
.admin-sidebar .nav-link.active { background: rgba(255,255,255,.1); }
.admin-sidebar .nav-link:hover { background: rgba(255,255,255,.05); }
@media (max-width:768px){ .admin-shell { flex-direction:column; } .admin-sidebar { width:100% !important; min-width:0 !important; } }
.unit-card { background:#fff; border:1px solid #e9ecef; border-radius:.75rem; padding:1rem; margin-bottom:1rem; }
.remove-unit-btn { color:#dc3545; }
.field-help { font-size:.8rem; color:#6c757d; }
