/* ================================
// Lista de inscritos (new/inscritos.php)
// ================================ */
.navbar {
    background-color: var(--color-primary);
}

/* O CSS global (style.css / card.css) dá width:100%, overflow:hidden e peso normal a todo <span>.
   :where() zera a especificidade: anula o global sem atrapalhar as classes desta página. */
:where(.inscritos-pagina, #inscritos-modal) span {
    width: auto;
    overflow: visible;
    font-size: inherit;
    font-weight: inherit;
}

/* o menu é position:absolute sobre o topo: reserva a altura dele */
.inscritos-pagina {
    width: 100%;
    max-width: 75rem;
    margin: 0 auto;
    padding: 7.5rem 1.5rem 1rem;
}
@media (max-width: 575.98px) {
    .inscritos-pagina { padding-left: 1rem; padding-right: 1rem; }
}

.inscritos-voltar {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    margin-bottom: 1rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--color-gray-dark, #868686);
    text-decoration: none;
}
.inscritos-voltar:hover { color: var(--color-black, #000); }

.inscritos-cabecalho { margin-bottom: 1.5rem; }
.inscritos-sobretitulo {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-gray-dark, #868686);
    margin-bottom: .25rem;
}
.inscritos-titulo {
    margin: 0;
    font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

/* Organizador (OXYS) */
.inscritos-organizador {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem 1.5rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #e7e5e4;
    border-radius: .75rem;
    background: #fafaf9;
    font-size: .9375rem;
}
.inscritos-organizador-titulo { width: 100%; font-weight: 700; }
.inscritos-organizador a { color: inherit; }

/* Filtro: tipo · texto · botão */
.inscritos-filtro {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) 1fr auto;
    gap: .75rem;
    margin-bottom: 1rem;
}
.inscritos-filtro .form-select,
.inscritos-filtro .form-control {
    height: 3rem;
    border-radius: .625rem;
    border-color: #a8a29e;
}
.inscritos-filtro .form-select:focus,
.inscritos-filtro .form-control:focus {
    border-color: var(--color-black, #000);
    box-shadow: 0 0 0 1px var(--color-black, #000);
}
.inscritos-filtro-busca { position: relative; }
.inscritos-filtro-busca > i {
    position: absolute;
    left: .875rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-gray-dark, #868686);
    pointer-events: none;
}
.inscritos-filtro-busca .form-control { padding-left: 2.5rem; }
.inscritos-btn {
    height: 3rem;
    padding: 0 1.5rem;
    border-radius: .625rem;
    font-weight: 700;
    background: var(--color-black, #000);
    color: #fff;
    border: 0;
}
.inscritos-btn:hover,
.inscritos-btn:focus-visible { background: #292524; color: #fff; }
@media (max-width: 767.98px) {
    .inscritos-filtro { grid-template-columns: 1fr; }
    .inscritos-btn { width: 100%; }
}

.inscritos-resumo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    margin-bottom: 1rem;
    font-size: .9375rem;
}
.inscritos-resumo-acoes {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    color: var(--color-gray-dark, #868686);
    font-size: .875rem;
}
.inscritos-resumo-acoes .btn-link {
    white-space: nowrap;
    font-size: .875rem;
    color: inherit;
    text-decoration: none;
}
.inscritos-resumo-acoes .btn-link:hover { color: var(--color-black, #000); text-decoration: underline; }

/* Grupo por categoria: cabeçalho clicável (recolhe/expande), faixa lateral azul ou rosa */
/* Cores do grupo: azul (masculino/misto) e rosa (feminino) — forte (faixa/contador), média (cabeçalho), suave (linhas) */
.inscritos-grupo {
    --grupo-forte: #2563eb;
    --grupo-medio: #dbeafe;
    --grupo-suave: #f5f9ff;
    --grupo-texto: #1e3a8a;
    margin-bottom: 1.25rem;
    border: 1px solid var(--grupo-medio);
    border-left: 6px solid var(--grupo-forte);
    border-radius: .75rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}
.inscritos-grupo-fem {
    --grupo-forte: #db2777;
    --grupo-medio: #fce7f3;
    --grupo-suave: #fff7fb;
    --grupo-texto: #831843;
}
.inscritos-grupo-cabecalho {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .9375rem 1.125rem;
    border: 0;
    background: var(--grupo-medio);
    color: var(--grupo-texto);
    text-align: left;
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1.35;
    cursor: pointer;
    transition: filter .15s;
}
.inscritos-grupo-cabecalho:hover { filter: brightness(.97); }
.inscritos-grupo-cabecalho > .bi-flag { color: var(--grupo-forte); font-size: 1.0625rem; }
.inscritos-grupo-cabecalho:focus-visible { outline: 2px solid var(--grupo-forte); outline-offset: -2px; }
.inscritos-grupo-titulo { flex: 1 1 auto; }
.inscritos-grupo-qtd {
    flex: 0 0 auto;
    min-width: 2rem;
    padding: .125rem .5rem;
    border-radius: 999px;
    background: var(--grupo-forte);
    color: #fff;
    font-size: .8125rem;
    text-align: center;
}
.inscritos-grupo-seta { transition: transform .2s ease; }
.inscritos-grupo.fechado .inscritos-grupo-seta { transform: rotate(-90deg); }
.inscritos-grupo.fechado .inscritos-grupo-corpo { display: none; }

.inscritos-tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: .9375rem;
}
.inscritos-tabela th {
    padding: .625rem 1rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--grupo-texto);
    opacity: .8;
    border-bottom: 2px solid var(--grupo-medio);
    background: #fff;
}
.inscritos-tabela td {
    padding: .75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}
.inscritos-tabela tbody tr:nth-child(even) { background: var(--grupo-suave); }
.inscritos-tabela tbody tr:last-child td { border-bottom: 0; }
.inscritos-tabela tbody tr { cursor: pointer; transition: background-color .15s; }
.inscritos-tabela tbody tr:hover { background: var(--grupo-medio); }
.inscritos-num {
    width: 3rem;
    color: var(--color-gray-dark, #868686);
    font-variant-numeric: tabular-nums;
}
.inscritos-nome { display: block; font-weight: 600; }
.inscritos-sub { display: block; font-size: .8125rem; color: var(--color-gray-dark, #868686); }

/* Selo da situação */
.inscritos-selo {
    display: inline-block;
    padding: .25rem .625rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .03em;
    white-space: nowrap;
}
.inscritos-selo-ok { background: #15803d; color: #fff; }
.inscritos-selo-aviso { background: #f59e0b; color: #422006; }
.inscritos-selo-erro { background: #dc2626; color: #fff; }

.inscritos-vazio {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--color-gray-dark, #868686);
    border: 1px dashed #d6d3d1;
    border-radius: .75rem;
}
.inscritos-vazio i { font-size: 2.5rem; display: block; margin-bottom: .5rem; }

/* Modal de detalhes */
.inscritos-detalhes {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .5rem 1rem;
    margin: 0;
}
.inscritos-detalhes dt { font-weight: 600; color: var(--color-gray-dark, #868686); }
.inscritos-detalhes dd { margin: 0; }
