/* Padronização visual das páginas de estudos */
/* Segue o padrão da página Detalhes do Estudo (style-detalhes-estudo.css):
   caixas cinza-claro (#f2f3f5), borda #e5e9f0, cantos 12px, sombra suave,
   títulos #0b2a6b com ícone azul #087cff. Use junto com style-detalhes-estudo.css. */

/* ------------------------------------------------------------------ */
/* Cabeçalho de página (reaproveita .det-header)                       */
/* ------------------------------------------------------------------ */
.det-header .det-lead {
    color: #495057;
    font-size: .95rem;
    margin: 8px 0 0;
}

.det-header .det-titulo i {
    color: #087cff;
    margin-right: 8px;
}

/* Busca dentro do cabeçalho */
.det-busca {
    max-width: 720px;
    margin: 18px auto 0;
}

/* Campo e botão separados, os dois em pílula (sem lado reto) */
.det-busca .input-group {
    flex-wrap: nowrap;
    gap: 8px;
}

.det-busca .form-control {
    border-radius: 30px !important;
    border: 1px solid #d5dbe5;
    height: 46px;
    padding-left: 20px;
}

.det-busca .input-group-append {
    margin-left: 0;
}

.det-busca .btn {
    border-radius: 30px !important;
    height: 46px;
    margin: 0;
    padding: 0 24px;
    white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Card de estudo nas listas (Estudos abertos, Busca, Perfil)           */
/* ------------------------------------------------------------------ */
.det-item {
    background: #f2f3f5;
    border: 1px solid #e5e9f0;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    padding: 24px 26px;
    margin-top: 20px;
    transition: box-shadow .15s, border-color .15s;
}

.det-item:hover {
    border-color: #c8d4e8;
    box-shadow: 0 8px 24px rgba(23, 71, 170, .10);
}

.det-item-topo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-bottom: 8px;
}

.det-item-topo .det-badge {
    margin: 0;
}

.det-item-titulo {
    color: #0b2a6b;
    font-weight: 600;
    font-size: 1.1rem;
    line-height: 1.35;
    margin: 0 0 8px;
}

.det-item-titulo a {
    color: inherit;
}

.det-item-titulo a:hover {
    color: #087cff;
    text-decoration: none;
}

.det-item .det-sub {
    justify-content: flex-start;
    margin: 0 0 12px;
}

.det-item p {
    color: #212529;
    margin-bottom: 8px;
}

.det-item-desc {
    color: #495057 !important;
}

.det-item-acoes {
    margin-top: 14px;
}

/* Paginação no padrão */
.det-paginacao .page-link {
    color: #0b2a6b;
    border-color: #e5e9f0;
}

.det-paginacao .page-item.active .page-link {
    background-color: #08348f;
    border-color: #08348f;
    color: #fff;
}

/* Mensagem de lista vazia */
.det-vazio {
    text-align: center;
    color: #495057;
    margin: 0;
}

.det-vazio i {
    color: #087cff;
    margin-right: 6px;
}

/* ------------------------------------------------------------------ */
/* Formulários em card (Cadastro e Edição)                              */
/* ------------------------------------------------------------------ */
.det-form .form-control,
.det-card .form-control {
    border-radius: 8px;
    border: 1px solid #d5dbe5;
    background-color: #fff;
}

.det-form .form-control:focus,
.det-card .form-control:focus {
    border-color: #087cff;
    box-shadow: 0 0 0 .15rem rgba(8, 124, 255, .15);
}

.det-form label,
.det-card label {
    color: #0b2a6b;
    font-weight: 500;
}

/* Títulos de seção dentro do formulário de cadastro */
.det-form .det-card-title {
    margin-top: 8px;
}

.det-form .det-secao + .det-secao {
    border-top: 1px solid #e0e7f2;
    margin-top: 32px;
    padding-top: 28px;
}

/* Caixas de critérios (inclusão / exclusão) no padrão dos centros */
.det-form .alert-primary,
.det-form .alert-danger {
    background: #fff;
    border: 1px solid #e0e7f2;
    border-radius: 10px;
}

.det-form .alert-primary {
    border-left: 4px solid #087cff;
}

.det-form .alert-danger {
    border-left: 4px solid #c0392b;
}

.det-form .centro-participante {
    background: #fff;
    border-color: #e0e7f2 !important;
    border-radius: 10px !important;
}

/* Rodapé de ações dos formulários */
.det-acoes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.det-acoes .btn {
    margin: 0;
}

/* ------------------------------------------------------------------ */
/* Pares rótulo/valor (painel do admin e Meus Dados)                    */
/* ------------------------------------------------------------------ */
.det-dados {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px 24px;
}

.det-dado {
    min-width: 0;
}

.det-dado-full {
    grid-column: 1 / -1;
}

.det-dado-label {
    display: block;
    color: #087cff;
    font-weight: 600;
    font-size: .85rem;
    margin-bottom: 2px;
}

.det-dado-label i {
    width: 18px;
    margin-right: 4px;
}

.det-dado-valor {
    display: block;
    color: #212529;
    overflow-wrap: anywhere;
}

/* Tabela no padrão (centros no painel) */
.det-tabela {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 0;
}

.det-tabela thead th {
    background: #e9eef7;
    color: #0b2a6b;
    border-bottom: 0;
    font-weight: 600;
    font-size: .85rem;
}

/* ------------------------------------------------------------------ */
/* Perfil: abas e Meus Dados                                           */
/* ------------------------------------------------------------------ */
.perfil-tabs {
    justify-content: center;
    gap: 8px;
}

.perfil-tabs .nav-link {
    border-radius: 30px;
    color: #0b2a6b;
    background: #f2f3f5;
    border: 1px solid #e5e9f0;
    font-weight: 500;
    padding: 8px 20px;
}

.perfil-tabs .nav-link.active {
    background: #08348f;
    border-color: #08348f;
    color: #fff;
}

.dados-topo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e7f2;
}

.dados-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #e9eef7;
    color: #087cff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    flex: 0 0 auto;
}

.dados-topo-info {
    flex: 1 1 220px;
    min-width: 0;
}

.dados-topo-info .det-item-titulo {
    margin-bottom: 4px;
}

.dados-topo-info .det-sub {
    justify-content: flex-start;
    margin: 0;
}

#edicaoDados {
    display: none;
}

/* ------------------------------------------------------------------ */
/* Página inicial: títulos maiores                                      */
/* ------------------------------------------------------------------ */
h2.titulo-home {
    font-size: 2.1rem;
    line-height: 1.25;
}

h4.titulo-home-hero {
    font-size: 1.6rem;
    line-height: 1.35;
}

@media (max-width: 575.98px) {
    h2.titulo-home {
        font-size: 1.6rem;
    }

    h4.titulo-home-hero {
        font-size: 1.3rem;
    }
}

/* ------------------------------------------------------------------ */
/* Selos de situação (mesmos do site-custom.css, para o painel admin)   */
/* ------------------------------------------------------------------ */
.badge-recrutando { background: #e6f7ee; color: #137a43; }
.badge-finalizado { background: #fdecec; color: #c0392b; }
.badge-neutro     { background: #eef1f5; color: #5b6472; }
.badge-pendente   { background: #fff6e0; color: #8a6d00; }

/* Painel admin: ícones mdi nos títulos e no cabeçalho */
.det-card-title .mdi,
.det-titulo .mdi,
.det-sub .mdi,
.det-dado-label .mdi,
.centro-nome .mdi {
    color: #087cff;
}

.det-header .det-badge + .det-badge {
    margin-left: 6px;
}

/* Cadastro: títulos de seção separados por linha */
.det-form .det-card-title.det-secao-titulo {
    border-top: 1px solid #e0e7f2;
    margin-top: 36px;
    padding-top: 30px;
}

.det-header + .det-form {
    margin-top: 24px;
}

/* Critérios de inclusão/exclusão lado a lado: o h-100 somado à margem do card
   passava da coluna e encostava no card seguinte (Centro Coordenador). */
.det-criterios > [class*="col"] > .det-card.h-100 {
    height: calc(100% - 24px) !important;
}

/* Painel admin (Ver estudo / Editar estudo): conteúdo centralizado com largura máxima,
   em vez de ocupar 100% da tela */
.det-pagina {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Painel principal: números no cabeçalho e busca por código */
.det-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}

.det-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e0e7f2;
    border-radius: 10px;
    padding: 12px 20px;
    min-width: 220px;
    text-align: left;
}

.det-stat-icone {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e9eef7;
    color: #087cff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

.det-stat b {
    display: block;
    color: #0b2a6b;
    font-size: 1.35rem;
    line-height: 1.1;
}

.det-stat small {
    color: #495057;
}

.det-busca--painel {
    max-width: none;
    margin-top: 0;
}

.det-busca--painel .btn-light {
    border-radius: 30px !important;
    height: 46px;
    margin: 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.det-card .det-tabela {
    margin-bottom: 0;
}

/* Perfil: botões do card de estudo lado a lado */
.det-item-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.det-item-acoes .btn {
    margin: 0;
}

/* Filtro por patologia: campos dentro do cabeçalho */
.det-filtros {
    max-width: 820px;
    margin: 20px auto 0;
    text-align: left;
}

.det-filtros label {
    color: #0b2a6b;
    font-weight: 500;
}

.det-filtros .form-control {
    border-radius: 8px;
    border: 1px solid #d5dbe5;
    height: 46px;
}
