:root {
--brand:#0d6efd; /* Bootstrap primary override */
--brand-600:#0b5ed7;
--muted:#677489;
--ok:#198754;
--warn:#ffc107;
--danger:#dc3545;
}
body { font-family: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji'; }
.wizard-card { border:0; box-shadow: 0 12px 24px rgba(16,24,40,.08); border-radius: 20px; overflow: hidden; }
.wizard-header { background: linear-gradient(135deg, var(--brand), #6ea8fe); color:#fff; }
.wizard-header .step { opacity:.85; }
.wizard-progress { height: 6px; background: rgba(255,255,255,.25); border-radius: 999px; overflow: hidden; }
.wizard-progress .bar { height:100%; width:0%; background:#fff; transition: width .3s ease; }
.stepper { display:flex; gap:16px; flex-wrap:wrap; }
.stepper .step-pill { display:flex; align-items:center; gap:8px; background: rgba(255,255,255,.12); color:#fff; padding:8px 12px; border-radius:999px; font-weight:700; }
.stepper .step-pill.active { background:#fff; color:#0d6efd; }
.required::after { content:" *"; color: var(--danger); font-weight:700; }
.help { font-size:.85rem; color: var(--muted); }
.field-error { font-size:.85rem; color: var(--danger); display:none; }
.is-invalid { border-color: var(--danger)!important; }
.floating-actions { position: sticky; bottom:0; z-index:10; background:#fff; border-top:1px solid #eee; padding:12px; display:flex; justify-content:space-between; gap:12px; }
@media (max-width: 576px) { .floating-actions { flex-direction:column; } }
.input-icon { position: relative; }
.input-icon i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#94a3b8; }
.input-icon input { padding-left:38px; }
.shadow-soft { box-shadow:0 8px 20px rgba(16,24,40,.06); }
.badge-soft { background:#eef2ff; color:#4f46e5; }
.popover-hint { cursor: help; border-bottom: 1px dotted currentColor; }
