/* Seq 961: estilos exclusivos dos fluxos de filiação. */
.filiacao-961 { min-height: 60vh; overflow-wrap: anywhere; }
.filiacao-961 *, .filiacao-961 *::before, .filiacao-961 *::after { box-sizing: border-box; }
.filiacao-961 .container { max-width: 1440px; }
.filiacao-961 .card, .filiacao-961 .modal-content, .filiacao-961 #wizard-form-wrapper,
.filiacao-961 .wizard-form-wrapper { background: var(--ne-surface); color: var(--ne-fg); border: 1px solid var(--ne-border); border-radius: 12px; }
.filiacao-961 #wizard-form-wrapper, .filiacao-961 .wizard-form-wrapper { padding: 1.5rem; }
.filiacao-961 .bg-gray, .filiacao-961 .bg-dark-gray-2 { background: transparent !important; }
.filiacao-961 .co-dark-gray, .filiacao-961 .cor-secundaria, .filiacao-961 .card-text,
.filiacao-961 label, .filiacao-961 .form_title { color: var(--ne-fg) !important; }
.filiacao-961 .co-primary, .filiacao-961 .text-success { color: var(--ne-success) !important; }
.filiacao-961 h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 1.25rem; }
.filiacao-961 h3 { margin-bottom: 1rem; }
.filiacao-961 .btn, .filiacao-961 input[type=submit], .filiacao-961 input[type=button],
.filiacao-961 .submit, .filiacao-961 .submit-1 { min-height: 44px; padding: .65rem 1rem; border-radius: 8px; white-space: normal; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.filiacao-961 input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),
.filiacao-961 select, .filiacao-961 textarea { max-width: 100%; min-height: 44px; }
.filiacao-961 input[type=file] { width: 100%; max-width: 100%; }
.filiacao-961 .form-control { background: #303034; color: #fff; border: 1px solid #63636b; border-radius: 8px; }
.filiacao-961 .form-control:disabled { background: #28282b; color: #c2c2c8; }
.filiacao-961 .select2-container { max-width: 100%; min-width: 0; }
.filiacao-961 .select2-container .select2-selection { min-height: 44px; background: #303034 !important; border-color: #63636b !important; color: white; }
.filiacao-961 .select2-selection__rendered { color: white !important; line-height: 42px !important; padding-right: 25px !important; }
.filiacao-961 .select2-selection__arrow { height: 42px !important; }
.filiacao-961 .select2-dropdown, .filiacao-961 .select2-results { background: #303034; color: white; }
.filiacao-961 .select2-search__field { background: #303034; color: white; }
.filiacao-961 .table { color: #fff; margin-bottom: 0; }
.filiacao-961 .table th { color: #bdbdc4; border-color: #45454b; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.filiacao-961 .table td { border-color: #45454b; vertical-align: middle; font-size: .875rem; }
.filiacao-961 .table-striped tbody tr:nth-of-type(odd) { background: #252528; }
.filiacao-961 .table thead { background: #19191c; }
.filiacao-961 .table a { text-decoration: none; }
.filiacao-961 .table th, .filiacao-961 .table td { overflow-wrap: normal; word-break: normal; }
.filiacao-961 .table th .btn { white-space: nowrap; }
.f961-primary { font-weight: 700; font-size: 1rem !important; }
.f961-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.f961-actions > :last-child { margin-left: auto; }
.filiacao-961 td .f961-actions > :last-child { margin-left: 0; }
.filiacao-961 td .f961-actions { gap: .4rem; }
.f961-list { position: relative; min-height: 140px; }
.f961-list-region { position: relative; min-height: 140px; }
.f961-loading { position: absolute; inset: 0; z-index: 4; background: rgb(16 16 20 / .72); border-radius: 12px; pointer-events: none; }
.f961-loading[hidden] { display: none; }
.f961-loading .spinner-border { display: inline-block; width: 1rem; height: 1rem; margin-right: .5rem; vertical-align: middle; border: 2px solid #fff; border-right-color: transparent; border-radius: 50%; animation: f961-spin .75s linear infinite; }
@keyframes f961-spin { to { transform: rotate(360deg); } }
.f961-loading-panel { position: absolute; top: var(--f961-loading-top, 70px); left: 50%; transform: translate(-50%, -50%); background: #29292c; border: 1px solid #6f6f79; padding: 1rem; border-radius: 10px; color: #fff; width: max-content; max-width: 95%; }
.f961-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.filiacao-961 .f961-tabs .btn.active { background: var(--ne-primary) !important; border-color: var(--ne-primary) !important; color: #fff; }
.f961-tabs a { min-height: 44px; }
.filiacao-961 .endless_container { display: flex; flex-wrap: wrap; gap: .4rem; padding: 1rem 0; }
.filiacao-961 .endless_page_link, .filiacao-961 .endless_page_current { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #67676d; border-radius: 8px; padding: .4rem; }
.filiacao-961 .endless_page_current { background: var(--ne-primary); }
.filiacao-961 .help-block, .filiacao-961 .text-muted { color: #bdbdc4 !important; }
.filiacao-961 .invalid-feedback, .filiacao-961 .errorlist { color: #ff9a9a; }
.filiacao-961 .alert { overflow-wrap: anywhere; }
.filiacao-961 img { max-width: 100%; }
.filiacao-961 #carteirinha { max-width: 100%; }
.filiacao-961 .wizard-botoes-wrapper { width: 100% !important; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.filiacao-961 .wizard-botoes-wrapper button { min-height: 44px; padding: .65rem 1rem; border: 0; border-radius: 8px; background: var(--ne-primary); color: #fff; }
.filiacao-961 .wizard-form-fields-wrapper .textfield { max-width: 100%; margin-bottom: 1rem; }
.filiacao-961 .wizard-form-fields-wrapper .dados { max-width: 100%; }
.filiacao-961 .wizard-form-fields-wrapper .form_title { display: block; width: 100% !important; margin-bottom: .4rem; }
.filiacao-961 .wizard-form-fields-wrapper input:not([type=checkbox]):not([type=radio]),
.filiacao-961 .wizard-form-fields-wrapper select { width: 100%; max-width: 100%; padding: .5rem; border: 1px solid #63636b; border-radius: 8px; background: #303034; color: #fff; }
.filiacao-961 [class*=col-] { min-width: 0; }
.filiacao-961 :focus-visible { outline: 3px solid #ffbf1f; outline-offset: 3px; }
.filiacao-961 .f961-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.25rem; }
.filiacao-961 .f961-form-fields > .form-group { margin-bottom: .5rem; }
.filiacao-961 .f961-federacoes .card-federacao { width: 100%; padding: 1.25rem; }
.filiacao-961 .f961-federacoes .card-federacao .card-body { padding: 0 0 1rem; border: 0; background: transparent; }
.filiacao-961 .f961-federacoes .card-federacao .card-footer { border: 0; background: transparent; }
.filiacao-961 .f961-federacoes .filtro { max-width: 320px; margin: 1.5rem 0; }
.filiacao-961 .f961-federacoes .filtro select { position: static; width: 100%; top: auto; }
.filiacao-961 .f961-federacoes .filiacoes-div h3 { font-size: clamp(1.25rem, 3vw, 1.8rem); margin: 1.5rem 0 !important; padding: 0 !important; }
.filiacao-961 .f961-federacoes .titles-card p { font-size: 1.15rem; line-height: 1.3; }
@media (min-width: 1200px) {
    .filiacao-961 .f961-minhas { table-layout: fixed; }
    .filiacao-961 .f961-minhas th:nth-child(1) { width: 17%; }
    .filiacao-961 .f961-minhas th:nth-child(2) { width: 7%; }
    .filiacao-961 .f961-minhas th:nth-child(3) { width: 6%; }
    .filiacao-961 .f961-minhas th:nth-child(4) { width: 8%; }
    .filiacao-961 .f961-minhas th:nth-child(5) { width: 16%; }
    .filiacao-961 .f961-minhas th:nth-child(6) { width: 8%; }
    .filiacao-961 .f961-minhas th:nth-child(7) { width: 8%; }
    .filiacao-961 .f961-minhas th:nth-child(8) { width: 10%; }
    .filiacao-961 .f961-minhas th:nth-child(9) { width: 20%; }
    .filiacao-961 .f961-minhas th { overflow-wrap: normal; }
    .filiacao-961 .f961-minhas td[data-label="ID"],
    .filiacao-961 .f961-minhas td[data-label="Data"] { white-space: nowrap; }
}
@media (max-width: 1199.98px) {
    .filiacao-961 .f961-responsive table, .filiacao-961 table.f961-responsive { display: block; width: 100%; }
    .filiacao-961 .f961-responsive thead { display: none; }
    .filiacao-961 .f961-responsive tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .filiacao-961 .f961-responsive tr { display: block; background: #252528; border: 1px solid #4b4b52; border-radius: 12px; padding: 1rem; min-width: 0; }
    .filiacao-961 .f961-responsive td { display: block; border: 0; padding: .35rem 0; text-align: left !important; }
    .filiacao-961 .f961-responsive td[data-label]::before { content: attr(data-label); display: block; color: #bdbdc4; font-size: .75rem; }
    .filiacao-961 .table-responsive { overflow: visible; }
    .filiacao-961 .f961-responsive .f961-empty { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .filiacao-961 .container { padding-left: 15px; padding-right: 15px; }
    .filiacao-961 .card-body, .filiacao-961 #wizard-form-wrapper { padding: 1rem; }
    .filiacao-961 .f961-responsive tbody, .filiacao-961 .f961-form-fields { grid-template-columns: minmax(0, 1fr); }
    .filiacao-961 .f961-actions > :last-child { margin-left: 0; }
    .filiacao-961 .f961-actions > .btn { flex: 1 1 auto; }
    .filiacao-961 .wizard-form-wrapper { width: 100% !important; padding: 1rem; }
    .filiacao-961 .left, .filiacao-961 .right { float: none; max-width: 100%; }
}

/* Ações de listagem compactas, com a mesma área de toque no desktop e celular. */
.filiacao-961 .f961-icon,
.filiacao-961 .f961-actions > .btn.f961-icon {
    width: 44px; min-width: 44px; height: 44px; padding: 0;
    flex: 0 0 44px; font-size: 1rem; line-height: 1;
}

/* Formulário de equipe: campos relacionados na mesma linha, sem medidas fixas. */
.filiacao-961 .f961-team-form h2 { font-size: 1.35rem; margin: 0 0 1.25rem; }
.filiacao-961 .f961-team-form fieldset { min-width: 0; margin: 0 0 1rem; padding: 0; border: 0; }
.filiacao-961 .f961-team-form legend { width: 100%; padding: 0 0 .5rem; margin: 0 0 .75rem; font-size: 1rem; font-weight: 600; border-bottom: 1px solid #45454b; }
.filiacao-961 .f961-team-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .75rem 1rem; }
.filiacao-961 .f961-team-field { grid-column: span 12; min-width: 0; }
.filiacao-961 .f961-team-field label { display: block; font-size: .875rem; line-height: 1.3; margin-bottom: .35rem; }
.filiacao-961 .f961-team-field input:not([type=hidden]),
.filiacao-961 .f961-team-field select { width: 100%; min-width: 0; margin: 0; padding: .5rem .65rem; height: 44px; border: 1px solid #63636b; border-radius: 8px; background: #303034; color: #fff; font-size: 1rem; }
.filiacao-961 .f961-team-field input:disabled { background: #28282b; color: #c2c2c8; }
.filiacao-961 .f961-team-phone .form-group.row { display: grid; grid-template-columns: minmax(90px, 1fr) 56px minmax(0, 1.5fr); gap: .4rem; margin: 0; }
.filiacao-961 .f961-team-phone .form-group.row > div { width: auto; max-width: none; padding: 0; }
.filiacao-961 .f961-team-form #ajax_error:empty { display: none; }
.filiacao-961 .f961-team-form #ajax_error:not(:empty) { margin: -.25rem 0 1rem; font-size: .875rem; }
.filiacao-961 .f961-team-form #ajax_error .form_error { font-style: normal; }
.filiacao-961 .f961-team-auxiliaries { border: 1px solid #45454b; border-radius: 8px; margin-bottom: 1rem; padding: 0 .75rem; }
.filiacao-961 .f961-team-auxiliaries summary { min-height: 44px; padding: .65rem 0; cursor: pointer; font-size: .95rem; font-weight: 600; }
.filiacao-961 .f961-team-auxiliaries summary span { color: #bdbdc4; font-size: .875rem; font-weight: 400; }
.filiacao-961 .f961-team-auxiliaries[open] .f961-team-grid { padding: .5rem 0 .75rem; }
.filiacao-961 .f961-team-total { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding-top: .75rem; border-top: 1px solid #45454b; }
.filiacao-961 .f961-team-total strong { color: var(--ne-success); }
.filiacao-961 .f961-team-mobile-half { grid-column: span 6; }
.filiacao-961 .f961-team-number { grid-column: span 4; }
.filiacao-961 .f961-team-complement { grid-column: span 8; }
.filiacao-961 .f961-team-neighborhood { grid-column: span 7; }
.filiacao-961 .f961-team-zip { grid-column: span 5; }
@media (min-width: 768px) {
    .filiacao-961 .f961-team-half { grid-column: span 6; }
    .filiacao-961 .f961-team-third, .filiacao-961 .f961-team-complement,
    .filiacao-961 .f961-team-neighborhood { grid-column: span 4; }
    .filiacao-961 .f961-team-two-thirds { grid-column: span 8; }
    .filiacao-961 .f961-team-quarter, .filiacao-961 .f961-team-zip { grid-column: span 3; }
    .filiacao-961 .f961-team-street { grid-column: span 6; }
    .filiacao-961 .f961-team-number { grid-column: span 2; }
    .filiacao-961 .f961-team-city { grid-column: span 5; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .filiacao-961 .f961-team-phone,
    .filiacao-961 .f961-team-phone + .f961-team-third { grid-column: span 6; }
    .filiacao-961 .f961-team-phone + .f961-team-third + .f961-team-third { grid-column: span 12; }
}
