.ebi-cadastro { max-width: 880px; margin: 24px auto; color: #24344b; }
.ebi-cadastro .card { border: 1px solid #e0e7ef; border-radius: 20px; box-shadow: 0 12px 40px #24344b0a; }
.ebi-cadastro .card-body { padding: 36px; }
.cadastro-heading { margin-bottom: 30px; }
.cadastro-heading p { color: #526784; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cadastro-heading h1 { font-size: 2rem; font-weight: 700; letter-spacing: -.03em; }
.cadastro-heading span { color: #617087; }
.cadastro-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.ebi-cadastro label, .ebi-cadastro legend { font-size: .85rem; font-weight: 600; }
.ebi-cadastro legend { margin-bottom: 12px; }
.ebi-cadastro .form-control { min-height: 48px; height: auto; border-radius: 10px; border-color: #cbd5e1; }
.ebi-cadastro small { line-height: 1.6; }
.ebi-cadastro .form-check-inline { padding: 12px; border: 1px solid #dfe6ef; border-radius: 10px; gap: 8px; }
.ebi-cadastro .text-danger { font-size: .85rem; }
.cadastro-actions { display: flex; justify-content: flex-end; gap: 12px; border-top: 1px solid #e8edf4; padding-top: 24px; margin-top: 12px; }
.ebi-cadastro .btn { min-height: 46px; border-radius: 10px; padding: 10px 24px; font-weight: 600; }
.ebi-cadastro .btn-primary { background: #315d97; border-color: #315d97; }
.ebi-cadastro :is(input, select, button, a):focus-visible { outline: 3px solid #739dd9; outline-offset: 3px; }
@media (max-width: 575.98px) {
    .ebi-cadastro { margin: 0 auto; }
    .ebi-cadastro .card-body { padding: 24px 18px; }
    .cadastro-heading h1 { font-size: 1.65rem; }
    .cadastro-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .ebi-cadastro .form-control { font-size: 16px; }
    .cadastro-actions { flex-direction: column-reverse; }
    .cadastro-actions .btn { width: 100%; }
}
