/* =====================================================
   PRAXIA
   SISTEMA DE GESTÃO
===================================================== */


* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:
        #f4f7f8;

    color:
        #263238;

}


/* =====================================================
   ESTRUTURA
===================================================== */

.sistema {

    display: flex;

    min-height: 100vh;

}


/* =====================================================
   MENU
===================================================== */

.menu {

    width: 250px;

    min-height: 100vh;

    background:
        #0f4c5c;

    color:
        white;

    padding:
        25px 15px;

    position:
        fixed;

    left: 0;

    top: 0;

    bottom: 0;

    overflow-y: auto;

}


/* =====================================================
   LOGO
===================================================== */

.logo {

    display: flex;

    align-items: center;

    gap: 12px;

    padding:
        5px 10px 30px;

}


.logo-p {

    width: 45px;

    height: 45px;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        white;

    color:
        #0f4c5c;

    font-size: 26px;

    font-weight: bold;

}


.logo h1 {

    font-size: 22px;

    letter-spacing: 2px;

}


.logo span {

    display: block;

    font-size: 9px;

    color:
        #8bd3c7;

    margin-top: 3px;

}


/* =====================================================
   NAVEGAÇÃO
===================================================== */

.menu nav {

    display: flex;

    flex-direction: column;

    gap: 5px;

}


.menu nav button {

    border: none;

    background:
        transparent;

    color:
        white;

    text-align: left;

    padding:
        12px 14px;

    border-radius: 8px;

    cursor: pointer;

    font-size: 14px;

    transition:
        0.2s;

}


.menu nav button:hover {

    background:
        rgba(255,255,255,0.12);

}


.menu nav button:active {

    background:
        rgba(255,255,255,0.18);

}


/* =====================================================
   CONTEÚDO
===================================================== */

.conteudo {

    margin-left:
        250px;

    width:
        calc(100% - 250px);

    padding:
        30px;

}


/* =====================================================
   CABEÇALHO
===================================================== */

header {

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    margin-bottom:
        30px;

}


header h2 {

    color:
        #0f4c5c;

    font-size:
        27px;

}


header p {

    margin-top:
        5px;

    color:
        #718096;

}


.usuario {

    background:
        white;

    padding:
        10px 16px;

    border-radius:
        8px;

    box-shadow:
        0 2px 8px rgba(0,0,0,0.05);

}


/* =====================================================
   PÁGINAS
===================================================== */

.pagina {

    display:
        none;

}


.pagina.ativa {

    display:
        block;

}


/* =====================================================
   CARDS
===================================================== */

.cards {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:
        18px;

    margin-bottom:
        25px;

}


.card {

    background:
        white;

    padding:
        22px;

    border-radius:
        12px;

    box-shadow:
        0 2px 12px rgba(0,0,0,0.05);

}


.card span {

    font-size:
        25px;

}


.card h3 {

    margin-top:
        12px;

    font-size:
        28px;

    color:
        #0f4c5c;

}


.card p {

    color:
        #718096;

    margin-top:
        5px;

}


/* =====================================================
   PAINEL
===================================================== */

.painel {

    background:
        white;

    border-radius:
        12px;

    padding:
        25px;

    box-shadow:
        0 2px 12px rgba(0,0,0,0.05);

}


.painel h3 {

    margin-bottom:
        20px;

    color:
        #0f4c5c;

}


/* =====================================================
   CABEÇALHO DE PÁGINA
===================================================== */

.cabecalho-pagina {

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    margin-bottom:
        20px;

}


.cabecalho-pagina h3 {

    font-size:
        22px;

    color:
        #0f4c5c;

}


.cabecalho-pagina p {

    color:
        #718096;

    margin-top:
        5px;

}


/* =====================================================
   BOTÕES
===================================================== */

.botao-principal {

    border:
        none;

    background:
        #0f4c5c;

    color:
        white;

    padding:
        11px 18px;

    border-radius:
        7px;

    cursor:
        pointer;

    font-size:
        14px;

    font-weight:
        600;

    transition:
        0.2s;

}


.botao-principal:hover {

    background:
        #0b3945;

}


.botao-cancelar {

    border:
        1px solid #d5dce0;

    background:
        white;

    color:
        #555;

    padding:
        11px 18px;

    border-radius:
        7px;

    cursor:
        pointer;

}


/* =====================================================
   BARRA
===================================================== */

.barra-alunos {

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    margin-bottom:
        20px;

}


.contador-alunos {

    display:
        flex;

    gap:
        8px;

    align-items:
        center;

}


.contador-alunos strong {

    color:
        #0f4c5c;

    font-size:
        22px;

}


.contador-alunos span {

    color:
        #718096;

}


.barra-alunos input {

    width:
        350px;

    padding:
        11px 14px;

    border:
        1px solid #d5dce0;

    border-radius:
        7px;

    outline:
        none;

}


.barra-alunos input:focus {

    border-color:
        #0f4c5c;

}


/* =====================================================
   TABELAS
===================================================== */

.tabela-container {

    overflow-x:
        auto;

}


table {

    width:
        100%;

    border-collapse:
        collapse;

}


th {

    text-align:
        left;

    padding:
        13px;

    background:
        #f5f8f9;

    color:
        #53636a;

    font-size:
        13px;

}


td {

    padding:
        14px 13px;

    border-bottom:
        1px solid #edf0f2;

    font-size:
        13px;

}


tr:hover td {

    background:
        #fafcfc;

}


/* =====================================================
   STATUS
===================================================== */

.status {

    display:
        inline-block;

    padding:
        5px 10px;

    border-radius:
        20px;

    font-size:
        12px;

    font-weight:
        600;

}


.status.ativo {

    background:
        #e4f5ee;

    color:
        #18794e;

}


.status.inativo {

    background:
        #fbe9e9;

    color:
        #b42318;

}


/* =====================================================
   BOTÕES DE AÇÃO
===================================================== */

.botao-acao {

    border:
        none;

    background:
        #eef4f5;

    width:
        32px;

    height:
        32px;

    border-radius:
        6px;

    cursor:
        pointer;

    margin-right:
        4px;

}


.botao-acao:hover {

    background:
        #dcebed;

}


.botao-acao.excluir:hover {

    background:
        #fde5e5;

}


/* =====================================================
   MODAL
===================================================== */

.modal {

    position:
        fixed;

    inset:
        0;

    background:
        rgba(15, 35, 40, 0.55);

    display:
        none;

    align-items:
        center;

    justify-content:
        center;

    padding:
        25px;

    z-index:
        9999;

}


.modal.mostrar {

    display:
        flex;

}


/* =====================================================
   CONTEÚDO MODAL
===================================================== */

.modal-conteudo {

    background:
        white;

    width:
        100%;

    max-width:
        650px;

    max-height:
        90vh;

    overflow-y:
        auto;

    border-radius:
        14px;

    box-shadow:
        0 15px 50px rgba(0,0,0,0.25);

}


.modal-grande {

    max-width:
        900px;

}


/* =====================================================
   CABEÇALHO MODAL
===================================================== */

.modal-cabecalho {

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        flex-start;

    padding:
        25px 28px;

    border-bottom:
        1px solid #edf0f2;

}


.modal-cabecalho h2 {

    color:
        #0f4c5c;

    font-size:
        22px;

}


.modal-cabecalho p {

    color:
        #718096;

    margin-top:
        5px;

    font-size:
        13px;

}


.modal-fechar {

    border:
        none;

    background:
        transparent;

    font-size:
        28px;

    color:
        #718096;

    cursor:
        pointer;

    line-height:
        1;

}


.modal-fechar:hover {

    color:
        #0f4c5c;

}


/* =====================================================
   FORMULÁRIO
===================================================== */

.modal form {

    padding:
        0 28px 28px;

}


.campo {

    margin-top:
        18px;

}


.campo label {

    display:
        block;

    font-size:
        13px;

    font-weight:
        600;

    color:
        #36474f;

    margin-bottom:
        7px;

}


.campo input,
.campo select,
.campo textarea {

    width:
        100%;

    padding:
        11px 12px;

    border:
        1px solid #d5dce0;

    border-radius:
        7px;

    font-family:
        inherit;

    font-size:
        14px;

    outline:
        none;

    background:
        white;

}


.campo input:focus,
.campo select:focus,
.campo textarea:focus {

    border-color:
        #0f4c5c;

    box-shadow:
        0 0 0 2px rgba(15,76,92,0.08);

}


.campo textarea {

    resize:
        vertical;

}


.campo small {

    display:
        block;

    color:
        #7a8990;

    font-size:
        11px;

    margin-top:
        5px;

}


/* =====================================================
   SEÇÕES DO FORMULÁRIO
===================================================== */

.secao-formulario {

    padding:
        22px 0;

    border-bottom:
        1px solid #edf0f2;

}


.secao-formulario:last-of-type {

    border-bottom:
        none;

}


.titulo-secao {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        4px;

}


.titulo-secao > span {

    width:
        38px;

    height:
        38px;

    border-radius:
        9px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #edf6f7;

    font-size:
        18px;

}


.titulo-secao h3 {

    color:
        #0f4c5c;

    font-size:
        16px;

}


.titulo-secao p {

    color:
        #7a8990;

    font-size:
        12px;

    margin-top:
        3px;

}


/* =====================================================
   GRADE DOS CAMPOS
===================================================== */

.grade-formulario {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        0 18px;

}


.campo-largo {

    grid-column:
        span 2;

}


/* =====================================================
   AÇÕES MODAL
===================================================== */

.modal-acoes {

    display:
        flex;

    justify-content:
        flex-end;

    gap:
        10px;

    padding-top:
        22px;

    margin-top:
        5px;

    border-top:
        1px solid #edf0f2;

}


/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media (
    max-width: 1100px
) {

    .cards {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (
    max-width: 800px
) {

    .menu {

        width:
            210px;

    }


    .conteudo {

        margin-left:
            210px;

        width:
            calc(100% - 210px);

        padding:
            20px;

    }


    .barra-alunos {

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            15px;

    }


    .barra-alunos input {

        width:
            100%;

    }


    .grade-formulario {

        grid-template-columns:
            1fr;

    }


    .campo-largo {

        grid-column:
            span 1;

    }


    .modal {

        padding:
            10px;

    }


    .modal-grande {

        max-height:
            95vh;

    }

}


@media (
    max-width: 600px
) {

    .menu {

        display:
            none;

    }


    .conteudo {

        margin-left:
            0;

        width:
            100%;

    }


    .cards {

        grid-template-columns:
            1fr;

    }


    header {

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            15px;

    }

}

#alunoEmpresa {
    color: #000000 !important;
    background-color: #ffffff !important;
}

#alunoEmpresa option {
    color: #000000 !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
}
/* =====================================================
   PRAXIA - NOVA GESTÃO DE TREINAMENTOS
===================================================== */
.lista-selecao {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-height: 480px;
    overflow-y: auto;
    margin: 18px 0;
}

.item-selecao {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dbe5e8;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

.item-selecao:hover { background: #f4fafb; border-color: #8fb8c2; }
.item-selecao input { margin-top: 3px; transform: scale(1.15); }
.item-selecao span { display: flex; flex-direction: column; gap: 4px; }
.item-selecao small { color: #718096; }

.texto-vazio {
    padding: 35px;
    text-align: center;
    color: #718096;
}

.acoes-tabela {
    display: flex;
    justify-content: flex-end;
    padding: 18px 0 4px;
}

.botao-pequeno {
    padding: 8px 12px;
    font-size: 13px;
}

.botao-principal:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.input-tabela {
    width: 100%;
    min-width: 90px;
    border: 1px solid #d6e0e4;
    border-radius: 6px;
    padding: 8px;
    font: inherit;
    background: #fff;
}

.check-presenca {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.check-presenca input { transform: scale(1.15); }

@media (max-width: 900px) {
    .lista-selecao { grid-template-columns: 1fr; }
}

/* =====================================================
   PRAXIA 2.8 - AUTENTICAÇÃO / PERFIS / RELATÓRIOS
===================================================== */
.login-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(3, 27, 34, .94);
    padding: 24px;
}
.login-overlay.mostrar { display: flex; }
.login-card {
    width: min(420px, 100%);
    background: #fff;
    border-radius: 20px;
    padding: 34px;
    box-shadow: 0 24px 70px rgba(0,0,0,.3);
    text-align: center;
}
.login-logo {
    width: 58px;
    height: 58px;
    margin: 0 auto 12px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b5364;
    color: #fff;
    font-size: 30px;
    font-weight: 800;
}
.login-card h1 { margin: 0; color: #0b5364; }
.login-card > p { margin: 4px 0 24px; color: #5d7280; }
.login-card .campo { text-align: left; margin-bottom: 14px; }
.login-card input { width: 100%; box-sizing: border-box; }
.login-botao { width: 100%; margin-top: 8px; }
.login-mensagem { min-height: 20px; color: #b23b3b; font-size: 13px; margin: 8px 0; }
.app-bloqueado { pointer-events: none; user-select: none; }
.agenda-professor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.agenda-card { border: 1px solid #dfe8eb; border-radius: 14px; padding: 16px; background: #fbfdfe; }
.agenda-card .agenda-data { font-size: 20px; font-weight: 800; color: #0b5364; }
.agenda-card .agenda-curso { font-weight: 700; margin: 8px 0; }
.pendencia-grupo { margin-bottom: 18px; }
.pendencia-grupo h4 { margin: 0 0 8px; }
.pendencia-item { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 12px; border:1px solid #e4eaed; border-radius:10px; margin-bottom:7px; }
.pendencia-item small { color:#687b84; display:block; margin-top:3px; }
.pendencia-alerta { color:#a94c00; font-weight:700; }
.pendencia-ok { color:#1b6f4d; font-weight:700; }
#relatorios .grade-formulario { align-items: stretch; }
#relatorios .grade-formulario .botao-principal { min-height: 46px; }
@media (max-width: 720px) {
    .login-card { padding: 24px; }
    .pendencia-item { flex-direction: column; align-items: flex-start; }
}

/* PRAXIA 3.0 - contratos e assinaturas */
.assinatura-linha-cert{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e6ecef}
.aviso-assinatura-icp{margin-top:18px;padding:14px;border-radius:10px;background:#f2f7f9;color:#345;line-height:1.5}
.botao-secundario{border:1px solid #0f5366;background:#fff;color:#0f5366;padding:10px 14px;border-radius:8px;cursor:pointer}
@media(max-width:800px){.assinatura-linha-cert{align-items:flex-start;flex-direction:column}}

/* 3.3 - Gestão comercial, financeira e navegação */
.card-clicavel{border:0;cursor:pointer;text-align:left;width:100%;font:inherit;transition:transform .15s,box-shadow .15s}
.card-clicavel:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.cards-operacionais{margin-top:18px}
.pendencia-item.clicavel{cursor:pointer}
.pendencia-item.clicavel:hover{background:#f5f8fb}
.status-bolinha{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.status-bolinha:before{content:"";width:9px;height:9px;border-radius:50%;background:#9aa7b2;display:inline-block}
.status-pendente:before,.status-vencido:before{background:#d94b4b}.status-aguardando:before{background:#e69a27}.status-pago:before,.status-assinado:before,.status-concluido:before{background:#43a66b}.status-info:before{background:#4b83c4}
.portal-resumo{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:16px}
.portal-mini{padding:16px;border:1px solid #e4e9ef;border-radius:12px;background:#fff}.portal-mini strong{display:block;font-size:22px}.portal-mini span{font-size:12px;color:#667}
@media(max-width:900px){.portal-resumo{grid-template-columns:repeat(2,1fr)}}


/* =====================================================
   PRA X I A  ACADEMY — LAYOUT MODERNO V5
===================================================== */
:root{--praxia-navy:#103d52;--praxia-deep:#082f3d;--praxia-green:#3f9c4b;--praxia-light:#f5f7f8;--praxia-text:#243746;--praxia-muted:#71808a;--praxia-line:#e5eaed;}
body{background:#f4f6f7;color:var(--praxia-text);font-family:Inter,Segoe UI,Arial,sans-serif;}
.menu{width:260px;background:linear-gradient(180deg,#0d4253 0%,#082f3d 100%);padding:18px 12px;box-shadow:4px 0 22px rgba(8,47,61,.10);}
.logo-nova{padding:4px 8px 18px;display:block;text-align:center;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px;}
.logo-imagem-principal{width:100%;max-width:225px;height:auto;display:block;margin:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.14));}
.menu nav{gap:4px;}
.menu nav button{padding:13px 14px;border-radius:10px;font-size:14px;font-weight:600;color:#dce7ea;}
.menu nav button:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateX(2px);}
.menu nav button:first-child{background:linear-gradient(90deg,rgba(44,150,153,.50),rgba(44,150,153,.22));color:#fff;}
.conteudo{margin-left:260px;width:calc(100% - 260px);padding:22px 24px 34px;}
.conteudo>header{background:#fff;border:1px solid var(--praxia-line);border-radius:18px;padding:15px 22px;margin-bottom:22px;box-shadow:0 6px 18px rgba(22,46,58,.04);align-items:center;}
.conteudo>header h2{font-size:22px;color:#233746;}
.conteudo>header p{font-size:13px;color:var(--praxia-muted);margin-top:4px;}
.usuario{background:#f7f9fa;border:1px solid var(--praxia-line);border-radius:999px;padding:10px 14px;font-weight:600;}
.dashboard-moderno{max-width:1500px;margin:0 auto;}
.dashboard-boas-vindas{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 22px;}
.dashboard-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--praxia-green);}
.dashboard-boas-vindas h1{font-size:25px;margin:6px 0;color:#223744;}
.dashboard-boas-vindas p{color:var(--praxia-muted);font-size:14px;}
.dashboard-atalho{background:var(--praxia-deep)!important;color:#fff;border-radius:10px!important;padding:12px 18px!important;white-space:nowrap;}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;}
.dashboard-kpi{background:#fff;border:1px solid var(--praxia-line);border-radius:16px;padding:20px;display:flex;gap:16px;align-items:center;box-shadow:0 5px 18px rgba(22,46,58,.04);}
.kpi-icone{width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#eaf5f0,#f6faf8);display:grid;place-items:center;font-size:27px;flex:0 0 auto;}
.dashboard-kpi span{display:block;color:#63727c;font-size:13px;font-weight:600;}.dashboard-kpi strong{display:block;font-size:31px;line-height:1.05;margin:5px 0;color:#243746;}.dashboard-kpi small{display:block;color:var(--praxia-green);font-size:11px;}
.dashboard-grid-principal{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:18px;margin-bottom:18px;}
.dashboard-grid-secundario{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;}
.dashboard-painel{background:#fff;border:1px solid var(--praxia-line);border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(22,46,58,.04);min-width:0;}
.painel-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;}.painel-cabecalho h3,.dashboard-painel>h3{font-size:17px;color:#263946;}.painel-cabecalho p,.dashboard-painel>p{font-size:12px;color:var(--praxia-muted);margin-top:4px;}
.link-painel{border:0;background:transparent;color:#1e5b7a;font-weight:700;cursor:pointer;padding:4px;}
.resumo-lista{display:flex;flex-direction:column;gap:5px;}.resumo-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f2;font-size:13px;}.resumo-item strong{font-size:16px;}.resumo-ponto{width:9px;height:9px;border-radius:50%;}.verde{background:#4aa667}.azul{background:#4f84c4}.amarelo{background:#f0b43c}.vermelho{background:#df5a5a;}
.grafico-simulado{height:116px;margin-top:18px;display:flex;align-items:flex-end;gap:8px;padding:10px 4px 0;border-bottom:2px solid #edf1f3;background:linear-gradient(180deg,rgba(67,156,75,.04),transparent);}.grafico-simulado div{flex:1;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#6eb878,#347d4e);}.grafico-simulado div:nth-child(1){height:22%}.grafico-simulado div:nth-child(2){height:32%}.grafico-simulado div:nth-child(3){height:47%}.grafico-simulado div:nth-child(4){height:44%}.grafico-simulado div:nth-child(5){height:62%}.grafico-simulado div:nth-child(6){height:78%}.grafico-simulado div:nth-child(7){height:94%}
.tabela-dashboard-wrap{overflow:auto;}.tabela-dashboard{width:100%;border-collapse:collapse;font-size:12px;min-width:620px;}.tabela-dashboard th{text-align:left;color:#7a878e;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:10px 9px;border-bottom:1px solid var(--praxia-line);}.tabela-dashboard td{padding:13px 9px;border-bottom:1px solid #edf0f2;color:#42515a;}.tabela-dashboard tr:last-child td{border-bottom:0;}
.acoes-rapidas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;}.acoes-rapidas button{border:1px solid var(--praxia-line);background:#f9fbfb;border-radius:12px;padding:15px 8px;color:#304653;font-weight:700;cursor:pointer;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:7px;transition:.2s;}.acoes-rapidas button span{font-size:22px;}.acoes-rapidas button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 8px 16px rgba(22,46,58,.08);}
.dashboard-conformidade{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#0e4354,#165a68);color:#fff;border-color:#0e4354;}.dashboard-conformidade h3{color:#fff;}.dashboard-conformidade p{color:#d4e1e4;line-height:1.5;margin:7px 0 11px;}.dashboard-conformidade span{font-size:11px;color:#8fe0b3;font-weight:700;}.conformidade-icone{width:48px;height:48px;border-radius:50%;background:rgba(90,184,109,.20);border:1px solid rgba(143,224,179,.35);display:grid;place-items:center;font-size:24px;color:#9de3b8;flex:0 0 auto;}
.login-logo-imagem{width:170px!important;height:86px!important;background:transparent!important;border-radius:0!important;margin:0 auto 4px;overflow:hidden;}.login-logo-imagem img{width:100%;height:100%;object-fit:contain;object-position:center;}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid-principal{grid-template-columns:1fr}.dashboard-grid-secundario{grid-template-columns:1fr}.menu{width:220px}.conteudo{margin-left:220px;width:calc(100% - 220px)}}
@media(max-width:760px){.menu{position:relative;width:100%;min-height:auto;height:auto}.sistema{display:block}.conteudo{margin-left:0;width:100%;padding:12px}.conteudo>header{padding:14px;margin-bottom:14px}.conteudo>header p{display:none}.dashboard-boas-vindas{align-items:flex-start;flex-direction:column}.dashboard-boas-vindas h1{font-size:21px}.dashboard-kpis{grid-template-columns:1fr;gap:10px}.dashboard-kpi{padding:16px}.dashboard-grid-principal,.dashboard-grid-secundario{gap:12px;margin-bottom:12px}.dashboard-painel{padding:15px}.acoes-rapidas{grid-template-columns:repeat(2,1fr)}.logo-nova{padding-bottom:12px}.menu nav{display:grid;grid-template-columns:repeat(2,1fr)}.menu nav button{font-size:12px;padding:10px}.usuario{font-size:12px}.conteudo>header h2{font-size:17px}}


/* CORREÇÃO DE COMPATIBILIDADE: mantém o novo layout sem ocultar módulos funcionais */
.pagina { min-width: 0; }
.pagina:not(.ativa) { display: none; }
.pagina.ativa { display: block; }
.logo-imagem-principal { max-width: 100%; height: auto; display:block; margin:0 auto; }
.login-logo-imagem { width: 220px; height: auto; background: transparent; margin: 0 auto 10px; }
.login-logo-imagem img { width:100%; height:auto; display:block; }


/* =====================================================
   CONTRATOS - CURSOS E SERVIÇOS DETALHADOS
===================================================== */
.contrato-cursos-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0 12px}
.contrato-cursos-cabecalho label{display:block;font-weight:800;color:#163e68;margin-bottom:4px}
.contrato-cursos-cabecalho small{display:block;color:#6b7280;line-height:1.45}
.contrato-cursos-lista{display:grid;gap:12px}
.contrato-curso-item{border:1px solid #d8e3ea;border-left:4px solid #2f8f4e;background:#fbfdfe;border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(15,76,92,.04)}
.contrato-curso-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}
.contrato-curso-titulo{font-weight:800;color:#163e68}
.contrato-curso-grade{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1.4fr) minmax(150px,1fr) minmax(130px,.8fr) minmax(150px,1fr);gap:10px;align-items:end}
.contrato-curso-grade .campo{margin:0}
.contrato-curso-grade label{font-size:12px}
.contrato-curso-total input{font-weight:800;background:#eef8f0;border-color:#b7d9bf;color:#176337}
.contrato-total-resumo{margin-top:14px;padding:14px 16px;border-radius:12px;background:linear-gradient(90deg,#eef8f0,#f7fbff);border:1px solid #cfe3d2;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#163e68}
.contrato-total-resumo strong{font-size:20px;color:#176337}
@media(max-width:1050px){.contrato-curso-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.contrato-cursos-cabecalho,.contrato-total-resumo{flex-direction:column;align-items:stretch}.contrato-curso-grade{grid-template-columns:1fr}.contrato-cursos-cabecalho .botao-secundario{width:100%}}
