/* ==========================================
   CSS DA SECCÃO PÚBLICA DE EXAMES E RESULTADOS
   ========================================== */
   .exames-publicacoes {
    padding: 60px 0;
    background-color: #f8fafc;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.container-publicacoes {
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 20px;
}

.titulo-publico {
    font-size: 2.2rem;
    color: #1e293b;
    text-align: center;
    margin-bottom: 8px;
    font-weight: 700;
}

.titulo-publico i {
    color: #ff1e27; /* Toque do vermelho corporativo */
}

.subtitulo-publico {
    text-align: center;
    color: #64748b;
    font-size: 1.05rem;
    margin-bottom: 45px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Grid Principal (Lado a Lado no PC) */
.publicacoes-grid-publico {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(550px, 1fr));
    gap: 30px;
    align-items: start;
}

@media (max-width: 1200px) {
    .publicacoes-grid-publico {
        grid-template-columns: 1fr; /* Empilha em telas médias/pequenas */
    }
}

/* Blocos Containers */
.publicacao-bloco-publico {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
    border: 1px solid #e2e8f0;
    border-top: 5px solid #1e293b;
    padding: 25px;
    transition: transform 0.3s;
}

/* O bloco de resultados ganha destaque com a cor vermelha */
.publicacao-bloco-publico.bloco-resultado-destaque {
    border-top: 5px solid #ff1e27;
}

.bloco-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 12px;
}

.bloco-cabecalho h3 {
    font-size: 1.3rem;
    color: #0f172a;
    font-weight: 600;
}

.bloco-cabecalho h3 i {
    margin-right: 6px;
}

.publicacao-bloco-publico.bloco-resultado-destaque .bloco-cabecalho h3 i {
    color: #ff1e27;
}

.tag-bloco {
    padding: 4px 12px;
    background: #e2e8f0;
    color: #334155;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.tag-bloco.badge-vermelho {
    background: #fee2e2;
    color: #ff1e27;
}

/* ==========================================
   MÁGICA DA RESPONSIVIDADE (ROLAGEM LATERAL)
   ========================================== */
.tabela-responsiva-publica {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Rolagem por inércia nativa e fluida no iPhone/Android */
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

/* Customização sutil da barra de rolagem para não ficar feia */
.tabela-responsiva-publica::-webkit-scrollbar {
    height: 6px;
}
.tabela-responsiva-publica::-webkit-scrollbar-track {
    background: #f1f5f9;
}
.tabela-responsiva-publica::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

/* Design da Tabela do Site */
.tabela-site {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    min-width: 500px; /* Força o gatilho da rolagem perfeitamente abaixo deste limite */
}

.tabela-site th {
    background-color: #f8fafc;
    color: #475569;
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e2e8f0;
}

.tabela-site td {
    padding: 16px;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    vertical-align: middle;
}

.tabela-site tr:last-child td {
    border-bottom: none;
}

.tabela-site tr:hover td {
    background-color: #f8fafc;
}

/* Estilização dos Componentes Internos */
.nome-aluno-tabela {
    font-size: 14.5px;
    color: #0f172a;
    display: block;
    margin-bottom: 3px;
}

.escola-subtitulo {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 2px;
}

/* ESTILIZAÇÃO COMPROVADA DA DATA DE PUBLICAÇÃO */
.data-postagem {
    font-size: 11px;
    color: #94a3b8;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

.badge-categoria-site {
    background-color: #eff6ff;
    color: #1e40af;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 600;
}

.texto-bi {
    font-family: monospace;
    font-size: 13.5px;
    color: #475569;
}

.data-exame-destaque {
    color: #0f172a;
    font-weight: 600;
    font-size: 13.5px;
}

/* Alinhamento Horizontal das Fases */
.fases-container-linha {
    display: flex;
    gap: 4px;
    justify-content: center;
}

.fase-mini {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}
.fase-apto { background: #d1fae5; color: #065f46; }
.fase-reprovado { background: #fee2e2; color: #ff1e27; }
.fase-pendente { background: #f1f5f9; color: #64748b; }

/* Badges de Resultado Final */
.resultado-final-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.fim-aprovado {
    background-color: #28a745;
    color: #ffffff;
}

.fim-reprovado {
    background-color: #ff1e27; /* Vermelho corporativo no reprovado público */
    color: #ffffff;
}

.fim-pendente {
    background-color: #e2e8f0;
    color: #475569;
}

.nenhum-registo-site {
    text-align: center;
    padding: 30px !important;
    color: #94a3b8;
    font-size: 14px;
}

/* =======================================================
   OTIMIZAÇÃO SUPREMA PARA DESLIZE LATERAL E TOQUE (MOBILE)
   ======================================================= */
   @media (max-width: 768px) {
    /* 1. Garante que a secção e o container principal não fiquem presos */
    .exames-publicacoes {
        padding: 40px 0;
        overflow-x: hidden; /* Evita que o site todo balance */
    }

    .container-publicacoes {
        padding: 0 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 2. Dá liberdade para as tabelas respirarem dentro dos blocos */
    .publicacao-bloco-publico {
        padding: 16px 12px !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* 3. Força o gatilho da rolagem lateral ultrassuave */
    .tabela-responsiva-publica {
        display: block;
        width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap; /* Impede que o texto quebre linhas à força e esmague a tabela */
        -webkit-overflow-scrolling: touch; /* Rolagem por inércia ultra fluida no iOS/Android */
        border: 1px solid #e2e8f0;
        box-shadow: inset -10px 0 10px -10px rgba(0,0,0,0.15); /* Sombra subtil que indica que há mais conteúdo para o lado */
    }

    /* 4. Garante o tamanho mínimo ideal para cada coluna ao deslizar */
    .tabela-site {
        min-width: 650px !important; /* Obriga a tabela a manter uma largura robusta para deslizar perfeitamente */
    }

    .tabela-site th, 
    .tabela-site td {
        padding: 12px 10px !important;
        white-space: normal; /* Permite que apenas o nome do aluno quebre linha se for muito grande */
    }
    
    /* 5. Ajuste dos badges para não quebrarem no mobile */
    .resultado-final-badge {
        padding: 5px 10px !important;
        font-size: 11px !important;
    }

    .fases-container-linha {
        justify-content: center;
        gap: 3px;
    }
}

/* =======================================================
   FORÇAR ROLAGEM LATERAL ABSOLUTA (CORREÇÃO DE DESIGN)
   ======================================================= */

/* 1. Alvo direto na div que envolve a tabela do index.php */
.tabela-responsiva-publica {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important; /* Força o scroll horizontal */
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important; /* Suaviza no mobile */
    position: relative;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

/* 2. Forçar a tabela de dentro a manter um tamanho mínimo fixo no mobile */
@media (max-width: 768px) {
    .tabela-site {
        display: table !important;
        width: auto !important;
        min-width: 680px !important; /* Impede a tabela de encolher e força a rolagem lateral */
    }

    /* Garante que os textos e badges fiquem numa linha só para obrigar o scroll */
    .tabela-site th, 
    .tabela-site td {
        white-space: nowrap !important; 
        padding: 12px 14px !important;
    }

    /* Abre uma exceção para o nome do aluno e subtítulos poderem quebrar linha se forem muito longos */
    .nome-aluno-tabela,
    .escola-subtitulo,
    .data-postagem {
        white-space: normal !important;
    }

    /* Força o grid de blocos a não esmagar as tabelas */
    .publicacoes-grid-publico {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    .publicacao-bloco-publico {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* 3. Estilização visual da barra de rolagem para que apareça bem visível no mobile */
.tabela-responsiva-publica::-webkit-scrollbar {
    height: 8px !important; /* Um pouco mais grossa para o utilizador conseguir ver e arrastar */
}
.tabela-responsiva-publica::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
}
.tabela-responsiva-publica::-webkit-scrollbar-thumb {
    background: #ff1e27 !important; /* Cor vermelha para dar destaque e combinar com o tema */
    border-radius: 4px !important;
}