/* RevalidaLink — responsividade sem ampliar/reduzir o body inteiro. */
:root {
    --rl-desktop-scale: 1 !important;
    --rl-viewport-height: 100dvh !important;
}

html,
body {
    min-width: 320px;
    width: 100% !important;
    max-width: 100% !important;
}

body {
    zoom: 1 !important;
    min-height: 100dvh !important;
}

.dashboard,
.pagina-notificacoes,
.pagina-mensagens,
.pagina-professor,
.conteudo-principal {
    min-width: 0;
    max-width: 100%;
}

.conteudo-dashboard,
.conteudo-notificacoes,
.conteudo-mensagens,
.prof-main {
    width: 100%;
    max-width: 1600px;
    margin-inline: auto;
}

/* Mensagens continuam na barra lateral; o topo fica reservado aos avisos do site. */
.cabecalho-acoes > [aria-label="Mensagens"],
.cabecalho-acoes > [data-abrir-mensagens],
.prof-topo-acoes > [aria-label="Mensagens"],
.prof-topo-acoes > [data-abrir-mensagens] {
    display: none !important;
}

.botao-cabecalho,
.prof-botao-notificacoes {
    position: relative;
}

.prof-botao-notificacoes {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    color: #9fb1c4;
    background: #151f2c;
    border: 1px solid rgba(141, 164, 187, .22);
    border-radius: 11px;
    cursor: pointer;
    font-size: 15px;
}

.prof-botao-notificacoes:hover {
    color: #00d67a;
    border-color: rgba(0, 214, 122, .42);
}

.contador-comunicados-cabecalho {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 19px;
    height: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: 5px;
    color: #03130d;
    background: #00d67a;
    border: 2px solid #0b1119;
    border-radius: 999px;
    font: 900 9px/1 Inter, sans-serif;
}

.contador-comunicados-cabecalho[hidden] {
    display: none !important;
}

.prof-topo,
.prof-topo-organizado {
    width: 100%;
    padding-inline: clamp(16px, 4vw, 68px);
}

.prof-topo-acoes {
    min-width: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.prof-main {
    padding-inline: clamp(16px, 5vw, 68px);
}

.prof-menu-gestao-painel {
    max-height: min(640px, calc(100dvh - 100px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.grade-checklists-plataforma,
.grade-provas-plataforma {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.painel-lista-plataforma > [hidden],
.estado-plataforma[hidden],
.grade-checklists-plataforma[hidden],
.grade-provas-plataforma[hidden],
.rodape-carregar-plataforma > [hidden] {
    display: none !important;
}

@media (max-width: 1100px) {
    .cabecalho-dashboard,
    .cabecalho-pagina {
        gap: 16px;
        padding-inline: 22px;
    }

    .usuario-cabecalho .usuario-informacoes {
        display: none;
    }

    .prof-topo {
        align-items: flex-start;
        gap: 14px;
    }
}

@media (max-width: 780px) {
    .cabecalho-dashboard,
    .cabecalho-pagina {
        min-height: 72px;
        padding-inline: 14px;
    }

    .cabecalho-esquerda h1 {
        font-size: clamp(18px, 5vw, 24px);
    }

    .prof-topo,
    .prof-topo-organizado {
        align-items: stretch;
        flex-direction: column;
        padding-block: 13px;
    }

    .prof-topo-acoes {
        width: 100%;
        justify-content: flex-start;
    }

    .prof-menu-gestao {
        margin-left: auto;
    }

    .prof-menu-gestao-painel {
        position: fixed !important;
        top: 78px !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
    }

    .conteudo-dashboard,
    .conteudo-notificacoes,
    .conteudo-mensagens,
    .prof-main {
        padding-inline: 14px;
    }
}

@media (max-width: 520px) {
    .cabecalho-acoes {
        gap: 7px;
    }

    .usuario-cabecalho {
        padding-inline: 4px;
    }

    .prof-menu-gestao-painel {
        grid-template-columns: 1fr !important;
    }
}

/* Correção V3: elementos opcionais não podem reaparecer por regras antigas. */
.usuario-menu .usuario-opcoes,
.cabecalho-acoes > [data-abrir-mensagens],
.cabecalho-acoes > button[aria-label="Mensagens"],
.cabecalho-acoes > a[aria-label="Mensagens"],
.cabecalho-fases-acoes > [data-abrir-mensagens],
.prof-topo-acoes > [data-abrir-mensagens] {
    display: none !important;
}

.estado-plataforma[hidden],
.grade-checklists-plataforma[hidden],
.grade-provas-plataforma[hidden],
#estado-carregando-checklists-plataforma[hidden],
#estado-erro-checklists-plataforma[hidden],
#estado-vazio-checklists-plataforma[hidden],
#lista-checklists-plataforma[hidden],
#estado-carregando-provas-plataforma[hidden],
#estado-erro-provas-plataforma[hidden],
#estado-vazio-provas-plataforma[hidden],
#lista-provas-plataforma[hidden] {
    display: none !important;
}

.cabecalho-fases-acoes {
    min-width: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .prof-topo-acoes > a,
    .prof-topo-acoes > button,
    .prof-topo-acoes > .monitor-acesso,
    .prof-topo-acoes > .prof-menu-gestao {
        max-width: 100%;
    }
}
