:root {
    --ignicao: var(--ig-color-primary, #f36b21);
    --ignicao-dark: var(--ig-color-primary-hover, #d95a12);
    --surface: var(--ig-color-bg, #f6f7f9);
}

body { color: var(--ig-color-text, #18202a); background: var(--surface); }
.btn { min-height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; gap: var(--ig-space-2); border-radius: var(--ig-radius-sm); font-weight: 700; }
.btn-sm { min-height: 2.125rem; }
.btn-primary { --bs-btn-bg: var(--ignicao); --bs-btn-border-color: var(--ignicao); --bs-btn-hover-bg: var(--ignicao-dark); --bs-btn-hover-border-color: var(--ignicao-dark); --bs-btn-active-bg: var(--ignicao-dark); --bs-btn-active-border-color: var(--ignicao-dark); }
.btn-outline-primary { --bs-btn-color: var(--ignicao-dark); --bs-btn-border-color: var(--ig-color-primary); --bs-btn-hover-bg: var(--ig-color-primary); --bs-btn-hover-border-color: var(--ig-color-primary); }
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .form-check-input:focus-visible, .page-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--ig-color-focus) 55%, transparent); outline-offset: 2px; box-shadow: none; }
.text-primary { color: var(--ignicao) !important; }
.brand-mark { width: 58px; height: 58px; display: inline-grid; place-items: center; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #ff9d59, var(--ignicao-dark)); box-shadow: 0 12px 28px rgba(243, 107, 33, .25); font-size: 1.2rem; font-weight: 800; }
.min-vh-75 { min-height: 75vh; }
.card { border-color: var(--ig-color-border); border-radius: var(--ig-radius-lg, 1rem); box-shadow: var(--ig-shadow-sm); }
.form-control, .form-select { min-height: 2.75rem; border-color: var(--ig-color-border); border-radius: var(--ig-radius-sm); color: var(--ig-color-text); }
.form-label { margin-bottom: var(--ig-space-2); color: var(--ig-color-text); font-weight: 700; }
.form-text { color: var(--ig-color-muted); }
.alert { border-radius: var(--ig-radius-md); }
.badge { line-height: 1.2; }
.table > thead th { padding: 1rem; color: #475569; background: #f1f5f9; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.table > tbody td { padding: 1rem; }
.table > tbody tr:last-child td { border-bottom: 0; }
.table-responsive { max-width: 100%; }
.error-page { max-width: 620px; margin: 0 auto; }

@media (max-width: 767.98px) {
    .table > tbody td { min-width: 130px; }
}
