/* =====================================================
   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%}}


/* V13 - Dashboard financeiro */
.dashboard-financeiro{margin:18px 0}.dashboard-financeiro-resumo{display:flex;flex-direction:column;gap:16px}.dashboard-financeiro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-financeiro-cards>div{padding:14px;border:1px solid rgba(15,76,92,.12);border-radius:12px;background:#fff}.dashboard-financeiro-cards span{display:block;font-size:.85rem;opacity:.75}.dashboard-financeiro-cards strong{display:block;font-size:1.25rem;margin-top:4px}.grafico-financeiro{min-height:230px;overflow:auto}.grafico-financeiro svg{width:100%;min-width:560px;height:250px;display:block}.grafico-legenda{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem;margin-top:8px}.grafico-legenda span{display:flex;align-items:center;gap:6px}.grafico-legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}.acoes-tabela{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:800px){.dashboard-financeiro-cards{grid-template-columns:1fr}.grafico-financeiro svg{min-width:500px}}


/* Gráfico operacional real do dashboard */
.grafico-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:18px}.grafico-cabecalho h4{margin:0;color:#263b4a;font-size:.95rem}.grafico-cabecalho p{margin:4px 0 0;color:#6f7f89;font-size:.82rem}.grafico-total{font-size:.8rem;color:#347d4e;background:rgba(52,125,78,.10);padding:6px 9px;border-radius:999px;white-space:nowrap}.grafico-operacional{height:180px;margin-top:8px;padding:10px 4px 0;border-bottom:2px solid #edf1f3;background:linear-gradient(180deg,rgba(67,156,75,.05),transparent);}.grafico-barras-operacional{height:100%;display:flex;align-items:stretch;justify-content:space-between;gap:8px}.barra-operacional-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.barra-operacional-valor{font-size:.78rem;font-weight:700;color:#263b4a;line-height:1}.barra-operacional-trilho{height:122px;width:100%;display:flex;align-items:flex-end}.barra-operacional{width:100%;min-height:5px;border-radius:8px 8px 2px 2px;background:var(--cor-operacional,#347d4e)!important;transition:height .25s ease,filter .2s ease}.barra-operacional-item:hover .barra-operacional{filter:brightness(1.08)}.barra-operacional-rotulo{font-size:.75rem;color:#6b7a85;text-transform:capitalize;white-space:nowrap}.grafico-legenda-operacional{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#6b7a85;margin-top:10px}.grafico-legenda-operacional i{width:11px;height:11px;border-radius:3px;background:#347d4e;display:inline-block}@media(max-width:520px){.grafico-cabecalho{flex-direction:column}.grafico-barras-operacional{gap:4px}.barra-operacional-rotulo{font-size:.65rem}.barra-operacional-valor{font-size:.7rem}}


/* V18 - navegação e usabilidade */
.logo-nova{cursor:pointer}.logo-nova:focus{outline:2px solid rgba(255,255,255,.75);outline-offset:4px}.menu-controles{padding:0 4px 10px}.botao-menu-toggle{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.10);color:#fff;font-weight:700;cursor:pointer}.sistema.menu-oculto .menu{width:0!important;padding:0!important;overflow:hidden;border:0}.sistema.menu-oculto .conteudo{margin-left:0!important;width:100%!important}.header-acoes-sistema{display:flex;gap:10px;align-items:center}.botao-voltar,.botao-sair-destaque{border:0;border-radius:10px;padding:13px 20px;font-weight:800;font-size:15px;cursor:pointer}.botao-voltar{background:#eaf0f2;color:#17475b;border:1px solid #b8cbd1}.botao-sair-destaque{background:#b93f3f;color:#fff;box-shadow:0 4px 12px rgba(120,0,0,.22)}.horarios-lista{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.horario-linha{display:grid;grid-template-columns:1.2fr .8fr .8fr auto;gap:8px;align-items:end;padding:9px;border:1px solid #d6e1e5;border-radius:10px;background:#f8fbfc}.horario-linha input{width:100%}.horario-remover{min-width:40px}.etapa-horario-info{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf5f7;font-weight:700;color:#17475b}.cert-page{width:297mm!important;height:210mm!important;min-width:297mm!important;min-height:210mm!important}@media print{@page{size:A4 landscape!important;margin:0!important}html,body{width:297mm!important;height:auto!important;margin:0!important;padding:0!important}.cert-page{break-after:page!important;page-break-after:always!important;width:297mm!important;height:210mm!important;min-width:297mm!important;min-height:210mm!important;margin:0!important;transform:none!important}.cert-page:last-child{break-after:auto!important;page-break-after:auto!important}.cert-bg{width:297mm!important;height:210mm!important;object-fit:fill!important}}

.botao-menu-header{border:1px solid #b8cbd1;border-radius:10px;padding:13px 16px;font-weight:800;font-size:15px;cursor:pointer;background:#17475b;color:#fff}

/* PRAXIA V21 - Dashboard de turmas, leads e financeiro */
.dashboard-kpi-clicavel{border:1px solid var(--borda,#d9e1e7);background:var(--fundo-card,#fff);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;display:flex;align-items:center;gap:14px}
.dashboard-kpi-clicavel:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,76,92,.12)}
.dashboard-grid-terciario{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}
.lista-dashboard-finalizadas{display:flex;flex-direction:column;gap:9px;min-height:220px}
.item-finalizada{width:100%;border:1px solid #dce4ea;background:#fff;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:#24435b}
.item-finalizada:hover{border-color:#6f9a7a;background:#f8fbf8}.item-finalizada>span{font-size:20px}.item-finalizada div{flex:1}.item-finalizada strong,.item-finalizada small{display:block}.item-finalizada small{margin-top:3px;color:#6b7785}.item-finalizada b{font-size:12px;color:#0f4c5c}
.grafico-leads-dashboard{display:flex;align-items:center;justify-content:center;gap:30px;min-height:230px}.leads-pie{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.leads-pie:after{content:'';position:absolute;width:92px;height:92px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef2f5}.leads-pie>div{position:relative;z-index:1;text-align:center;color:#173f5f}.leads-pie strong{display:block;font-size:28px}.leads-pie span{font-size:12px}.leads-legenda{display:flex;flex-direction:column;gap:8px;min-width:190px}.leads-legenda div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:13px}.leads-legenda i{width:10px;height:10px;border-radius:50%}.leads-legenda strong{font-size:14px}
@media(max-width:900px){.dashboard-grid-terciario{grid-template-columns:1fr}.grafico-leads-dashboard{flex-wrap:wrap}}


/* Reset seguro */
.painel-reset-seguro{border:1px solid rgba(180,90,20,.28);background:linear-gradient(180deg,rgba(255,250,242,.95),rgba(255,255,255,.95));}
.lista-reset-seguro{margin:12px 0 18px 20px;display:grid;gap:8px;line-height:1.45;}
.botao-perigo{background:#a94422;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;font-size:15px;}
.botao-perigo:hover{filter:brightness(.94);transform:translateY(-1px);}
/* V23 - ações rápidas da plataforma do instrutor */
.agenda-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.agenda-acoes .botao-acao{min-height:38px}


/* PRAXIA V25 - gráficos e painel EAD */
.legenda-multicor{gap:12px;flex-wrap:wrap}.legenda-multicor i.legenda-verde{background:#3d7f43!important}.legenda-multicor i.legenda-azul{background:#58779b!important}.legenda-multicor i.legenda-amarelo{background:#d9a441!important}.legenda-multicor i.legenda-vermelho{background:#c45b5b!important}
.barra-operacional-item.barra-verde{--cor-operacional:#3d7f43}.barra-operacional-item.barra-azul{--cor-operacional:#58779b}.barra-operacional-item.barra-amarelo{--cor-operacional:#d9a441}.barra-operacional-item.barra-vermelho{--cor-operacional:#c45b5b}
.dashboard-grid-comercial{margin-top:20px}.grafico-cursos-dashboard{min-height:230px;padding:8px 2px}.ranking-cursos{display:flex;flex-direction:column;gap:14px}.ranking-curso-top{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:#30485b}.ranking-curso-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-curso-top b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef4f5;color:#0f4c5c}.ranking-barra{height:13px;border-radius:999px;background:#edf1f3;overflow:hidden;margin-top:6px}.ranking-barra i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f4c5c,#3d7f43)}
.ead-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px}.ead-kpis>div{padding:13px;border:1px solid rgba(15,76,92,.12);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbfb)}.ead-kpis span{display:block;font-size:.78rem;color:#6f7f89}.ead-kpis strong{display:block;font-size:1.15rem;color:#123b66;margin-top:4px}.lista-vendas-ead{display:flex;flex-direction:column;gap:8px}.venda-ead-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#f8fafb;border:1px solid #edf1f3}.venda-ead-item strong,.venda-ead-item small{display:block}.venda-ead-item small{margin-top:2px;color:#74818b;font-size:.78rem}.venda-ead-item b{color:#3d7f43;white-space:nowrap}
@media(max-width:700px){.ead-kpis{grid-template-columns:1fr}.ranking-curso-top{align-items:flex-start;flex-direction:column;gap:3px}}

/* V31 - força cores individuais das barras do resumo operacional */
#graficoOperacionalDashboard .barra-operacional.barra-verde{background:#3d7f43!important;background-color:#3d7f43!important}
#graficoOperacionalDashboard .barra-operacional.barra-azul{background:#58779b!important;background-color:#58779b!important}
#graficoOperacionalDashboard .barra-operacional.barra-amarelo{background:#d9a441!important;background-color:#d9a441!important}
#graficoOperacionalDashboard .barra-operacional.barra-vermelho{background:#c45b5b!important;background-color:#c45b5b!important}


/* V32 — reforço final das cores do gráfico operacional. */
#graficoOperacionalDashboard .barra-operacional.barra-verde{background:#3d7f43!important;background-color:#3d7f43!important}
#graficoOperacionalDashboard .barra-operacional.barra-azul{background:#58779b!important;background-color:#58779b!important}
#graficoOperacionalDashboard .barra-operacional.barra-amarelo{background:#d9a441!important;background-color:#d9a441!important}
#graficoOperacionalDashboard .barra-operacional.barra-vermelho{background:#c45b5b!important;background-color:#c45b5b!important}


/* V33 — consulta pública de certificados por QR Code */
body.modo-validacao-publica .sistema {
    display:block !important;
    min-height:100vh;
}
body.modo-validacao-publica .menu-lateral,
body.modo-validacao-publica .sidebar,
body.modo-validacao-publica .topbar,
body.modo-validacao-publica .topo,
body.modo-validacao-publica .cabecalho {
    display:none !important;
}
body.modo-validacao-publica #verificacao-publica {
    max-width:760px;
    margin:0 auto;
    padding:48px 24px;
}
body.modo-validacao-publica #verificacao-publica .cabecalho-pagina {
    text-align:center;
}
.verificacao-carregando,.verificacao-valida,.verificacao-invalida {
    padding:28px;
    border-radius:18px;
    text-align:left;
}
.verificacao-valida h2 { margin-top:0; color:#2f7d55; }
.verificacao-invalida h2 { margin-top:0; color:#b04a4a; }
.verificacao-carregando { text-align:center; }

/* V38 — Pendências e tabela consolidada de avaliações */
.pendencia-professor h4 small{font-weight:500;opacity:.75}
.tabela-avaliacoes-resumo td{text-align:center;vertical-align:middle}
.tabela-avaliacoes-resumo td:first-child,.tabela-avaliacoes-resumo th:first-child,.tabela-avaliacoes-resumo td:last-child,.tabela-avaliacoes-resumo th:last-child{text-align:left}
.nota-resumo{display:inline-flex;min-width:54px;justify-content:center;padding:8px 10px;border-radius:8px;background:#f1f4f5;font-weight:700;color:#385267}
.media-avaliacao{display:inline-flex;min-width:58px;justify-content:center;padding:8px 10px;border-radius:8px;background:#e8f2ec;color:#1f5b39}
#pendencias-diarios .pendencia-alerta,#pendencias-diarios .pendencia-ok{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:8px;font-size:.85em}

/* =====================================================
   PRAXIA V47 — AVALIAÇÕES COM MÚLTIPLOS LANÇAMENTOS
   ===================================================== */
.v47-avaliacao-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 8px;padding:12px 14px;border:1px solid #dce7ec;border-radius:10px;background:#f7fafb;color:#123b66}
.v47-avaliacao-cabecalho span{font-size:.9rem;color:#5f7484;white-space:nowrap}
.v47-ajuda{margin:0 0 14px;color:#637b8c;font-size:.92rem;line-height:1.45}
.tabela-avaliacoes-v47{width:100%;border-collapse:collapse;min-width:900px}
.tabela-avaliacoes-v47 th,.tabela-avaliacoes-v47 td{padding:11px 12px;vertical-align:middle}
.tabela-avaliacoes-v47 th{white-space:nowrap}
.tabela-avaliacoes-v47 td:first-child{min-width:210px}
.v47-resumo-nota{font-weight:700;color:#123b66;display:flex;align-items:center;gap:7px;min-height:25px}
.v47-resumo-nota small,.v47-qtd-total{display:block;font-size:.72rem;font-weight:400;color:#738896}
.v47-nota-atual{width:92px!important;margin-top:6px}
.v47-obs-atual{min-width:150px}
.v47-media-final{display:inline-block;padding:6px 10px;border-radius:8px;background:#eaf5ee;color:#167044}
.v47-qtd-total{margin-top:3px}
.v47-acoes{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.v47-botao-finalizar{background:#167044!important;border-color:#167044!important}
.v47-status-finalizacao{margin-top:9px;color:#637b8c;font-size:.86rem;text-align:right}
@media (max-width:900px){
  .v47-avaliacao-cabecalho{align-items:flex-start;flex-direction:column}
  .v47-avaliacao-cabecalho span{white-space:normal}
  .tabela-container{overflow-x:auto}
  .v47-status-finalizacao{text-align:left}
}

/* PRAXIA V49 — Leads / Comercial */
.acoes-cabecalho-leads{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.botao-secundario{border:1px solid #0f4c5c;background:#fff;color:#0f4c5c;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}
.botao-secundario:hover{background:#eef7f7}
.barra-leads-filtros{display:grid;grid-template-columns:minmax(260px,1fr) 220px 190px;gap:10px;align-items:center}
.barra-leads-filtros select{min-height:42px;border:1px solid #d3dde4;border-radius:9px;padding:0 12px;background:#fff;color:#173f5f}
.tabela-leads-v49 select.lead-status-select{min-height:34px;border-radius:8px;padding:5px 8px;border:1px solid #d5dee4;font-weight:600;max-width:190px;background:#fff}
.lead-prioridade{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.lead-prioridade-urgente{background:#fde7e7;color:#a52222}.lead-prioridade-alta{background:#fff0dc;color:#a25a00}.lead-prioridade-media{background:#eaf2fb;color:#315f8a}.lead-prioridade-baixa{background:#eef1f3;color:#56636d}.lead-prioridade-concluido{background:#e5f5ea;color:#237142}
.lead-status-select.lead-status-fechado{border-color:#55a86c;background:#f0faf3}.lead-status-select.lead-status-negociacao{border-color:#d9a441;background:#fff9ed}.lead-status-select.lead-status-proposta{border-color:#4d86b8;background:#f2f7fc}.lead-status-select.lead-status-nao-contatado{border-color:#c8d1d8}.lead-status-select.lead-status-sem-interesse{border-color:#c8c8c8}.lead-status-select.lead-status-followup{border-color:#8b79a8}.lead-status-select.lead-status-sem-resposta{border-color:#b67b7b}.lead-status-select.lead-status-contato{border-color:#5c9a8d}
@media(max-width:900px){.barra-leads-filtros{grid-template-columns:1fr}.acoes-cabecalho-leads{width:100%}.acoes-cabecalho-leads button{flex:1}.tabela-leads-v49{min-width:1000px}}

/* =====================================================
   PRAXIA V50 — AVALIAÇÕES
===================================================== */
.v50-avaliacao-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 8px;padding:12px 14px;border:1px solid #dce7ec;border-radius:10px;background:#f7fafb;color:#123b66}
.v50-avaliacao-cabecalho span{font-size:.9rem;color:#5f7484}
.v50-aluno-cpf{display:block;font-size:.78rem;color:#718096;font-weight:400;margin-top:3px}
.tabela-avaliacoes-v50{width:100%;border-collapse:collapse;min-width:820px}
.tabela-avaliacoes-v50 th,.tabela-avaliacoes-v50 td{padding:11px 12px;vertical-align:middle;border-bottom:1px solid #e7edf0}
.tabela-avaliacoes-v50 th{white-space:nowrap;text-align:left}
.tabela-avaliacoes-v50 td:first-child{min-width:230px}
.v50-nota{width:105px!important}
.v50-obs{min-width:220px}
.v50-acoes{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.v50-botao-finalizar{background:#167044!important;border-color:#167044!important}
.v50-media-titulo{display:flex;flex-direction:column;gap:3px;margin-top:18px;margin-bottom:10px;padding:12px 14px;border:1px solid #dce7ec;border-radius:10px;background:#f7fafb;color:#123b66}
.v50-media-titulo span{font-size:.88rem;color:#637b8c}
.v50-media{display:inline-flex;min-width:64px;justify-content:center;padding:7px 10px;border-radius:8px;background:#e8f2ec;color:#167044}
@media(max-width:900px){.v50-avaliacao-cabecalho{align-items:flex-start;flex-direction:column}.v50-acoes{justify-content:flex-start}.tabela-container{overflow-x:auto}}

/* V53 - Produção por contrato x serviços por OS */
.producao-servicos-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 2px}
.producao-servicos-cards>div{padding:14px;border:1px solid rgba(15,76,92,.12);border-radius:12px;background:#fff}
.producao-servicos-cards span{display:block;font-size:.84rem;opacity:.76}
.producao-servicos-cards strong{display:block;font-size:1.25rem;color:#173f5f;margin-top:5px}
.producao-servicos-cards small{display:block;margin-top:3px;opacity:.65}
.grafico-producao-servicos{min-height:210px;overflow:auto;padding-top:8px}
.grafico-producao-servicos svg{width:100%;min-width:520px;height:230px;display:block}
@media(max-width:800px){.producao-servicos-cards{grid-template-columns:1fr}}

/* V54 - Contrato com numeração automática */
.campo-ajuda{display:block;margin-top:5px;font-size:.76rem;color:#64748b;line-height:1.35}
#contratoNumero{background:#f4f7f8;color:#173f5f;font-weight:700;cursor:not-allowed}

/* V55 - contrato assinado */
.contrato-arquivo-atual{margin-top:8px;padding:9px 11px;border:1px dashed rgba(15,76,92,.25);border-radius:8px;background:#f7fafb;color:#425466;font-size:.86rem}
