:root {
    font-family: Inter, Arial, sans-serif;
    color: #15324b;
    background: #eef4f9;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.pagina {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 18px;
    background: linear-gradient(135deg, #e8f2fa, #f7fbfe);
}
.card {
    width: min(850px, 100%);
    background: #fff;
    border-radius: 22px;
    padding: 42px;
    box-shadow: 0 20px 55px rgba(28, 73, 107, .14);
}
.marca {
    display: inline-block;
    background: #1267a5;
    color: #fff;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: .3px;
}
h1 { margin: 22px 0 10px; font-size: clamp(28px, 4vw, 42px); }
.subtitulo { color: #60798d; line-height: 1.65; max-width: 700px; }
.formulario { margin-top: 30px; }
.upload {
    display: block;
    border: 2px dashed #84b7d9;
    background: #f5faff;
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
}
.upload-titulo { display: block; font-size: 18px; font-weight: 800; }
.upload-ajuda { display: block; margin: 6px 0 18px; color: #6b8498; }
input[type=file] { width: 100%; }
button, .botao {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 12px;
    background: #1267a5;
    color: #fff;
    padding: 14px 22px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    margin-top: 20px;
}
button:hover, .botao:hover { background: #0c568c; }
.recursos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 34px;
}
.recursos article { background: #f3f7fa; padding: 18px; border-radius: 14px; }
.recursos strong, .recursos span { display: block; }
.recursos span { color: #688094; margin-top: 8px; line-height: 1.45; font-size: 14px; }
.alerta { padding: 14px 16px; border-radius: 10px; margin-top: 20px; }
.alerta.erro { background: #ffe1e1; color: #842323; }
.alerta.aviso { background: #fff3cd; color: #735b0b; }
.resultado { text-align: center; max-width: 650px; }
.icone-ok {
    width: 76px; height: 76px; margin: auto; border-radius: 50%;
    display: grid; place-items: center; background: #d9f2df; color: #23723a;
    font-size: 40px; font-weight: 900;
}
.resumo { display: flex; justify-content: center; gap: 18px; margin: 28px 0; }
.resumo div { min-width: 160px; background: #f2f7fb; border-radius: 14px; padding: 18px; }
.resumo strong { display: block; font-size: 30px; color: #1267a5; }
.resumo span { color: #6d8496; }
.voltar { display: block; color: #1267a5; margin-top: 18px; text-decoration: none; }
@media (max-width: 700px) {
    .card { padding: 26px 20px; }
    .recursos { grid-template-columns: 1fr; }
    .resumo { flex-direction: column; }
}

.resultado-largo { max-width: 980px; }
.acoes-resultado {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
.botao-secundario {
    border: 2px solid #1267a5;
    background: #fff;
    color: #1267a5;
}
.botao-secundario:hover { background: #eaf4fb; }
.painel-resumo {
    margin-top: 30px;
    text-align: left;
    border-top: 1px solid #dce8f0;
    padding-top: 26px;
    scroll-margin-top: 24px;
}
.cabecalho-resumo {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}
.cabecalho-resumo h2 { margin: 0 0 6px; }
.cabecalho-resumo p { margin: 0; color: #688094; }
.cabecalho-resumo input {
    width: min(360px, 100%);
    padding: 12px 14px;
    border: 1px solid #bdd1df;
    border-radius: 10px;
    font-size: 15px;
    color: #15324b;
}
.lista-departamentos { display: grid; gap: 12px; }
.departamento-item {
    border: 1px solid #d8e5ee;
    border-radius: 13px;
    background: #fff;
    overflow: hidden;
}
.departamento-item[hidden] { display: none; }
.departamento-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 19px;
    cursor: pointer;
    list-style: none;
    background: #f5f9fc;
}
.departamento-item summary::-webkit-details-marker { display: none; }
.departamento-identificacao strong,
.departamento-identificacao small { display: block; }
.departamento-identificacao small { margin-top: 5px; color: #6d8496; }
.seta-resumo { font-size: 23px; transition: transform .2s ease; }
.departamento-item[open] .seta-resumo { transform: rotate(180deg); }
.tabela-responsiva { overflow-x: auto; }
.tabela-funcionarios { width: 100%; border-collapse: collapse; }
.tabela-funcionarios th,
.tabela-funcionarios td {
    padding: 12px 18px;
    border-top: 1px solid #e5edf3;
    text-align: left;
}
.tabela-funcionarios th {
    color: #567084;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .35px;
}
.tabela-funcionarios td:first-child { width: 150px; font-weight: 700; }
.sem-resultados {
    padding: 20px;
    text-align: center;
    background: #f5f9fc;
    border-radius: 12px;
    color: #688094;
}
@media (max-width: 700px) {
    .cabecalho-resumo { align-items: stretch; flex-direction: column; }
    .cabecalho-resumo input { width: 100%; }
    .acoes-resultado { flex-direction: column; }
    .acoes-resultado .botao { width: 100%; }
}
.acoes-departamento {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.botao-download-departamento {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 9px;
    background: #1267a5;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}
.botao-download-departamento:hover { background: #0c568c; }
@media (max-width: 700px) {
    .departamento-item summary { align-items: flex-start; }
    .acoes-departamento { flex-direction: column-reverse; align-items: flex-end; }
    .botao-download-departamento { padding: 8px 10px; font-size: 12px; }
}
.opcoes-divisao{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.opcao-radio{display:flex;gap:12px;padding:20px;border:1px solid #c9dce9;border-radius:14px;background:#f7fbfe;cursor:pointer}.opcao-radio input{margin-top:4px}.opcao-radio strong,.opcao-radio small{display:block}.opcao-radio small{margin-top:6px;color:#688094;line-height:1.4}.cabecalho-grupos{display:flex;justify-content:space-between;align-items:center;gap:16px}.cabecalho-grupos .botao-secundario{margin-top:0}.grupo-card{border:1px solid #d8e5ee;border-radius:14px;padding:18px;margin-top:14px;background:#f9fcfe}.grupo-topo{display:flex;gap:12px}.nome-grupo{flex:1;padding:12px;border:1px solid #bdd1df;border-radius:10px;font-size:16px}.remover-grupo{margin:0;background:#a33;padding:10px 14px}.grade-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;margin-top:16px}.grade-checkboxes label{display:flex;gap:8px;align-items:flex-start;padding:9px;background:#fff;border-radius:8px}.grade-checkboxes input:disabled+span{opacity:.45}.ajuda-grupos{color:#688094}.departamentos-encontrados{margin-top:28px;text-align:left}.departamentos-encontrados summary{cursor:pointer;font-weight:800}.departamentos-encontrados li{margin:8px 0;color:#567084}@media(max-width:700px){.opcoes-divisao,.grade-checkboxes{grid-template-columns:1fr}.cabecalho-grupos,.grupo-topo{align-items:stretch;flex-direction:column}}
.divisor { border: 0; border-top: 1px solid #dbe6f2; margin: 32px 0; }
.validar-final h2 { margin-bottom: 6px; }
.icone-erro { width: 62px; height: 62px; border-radius: 50%; margin: 0 auto 16px; display: grid; place-items: center; background: #ffe1e1; color: #9c0006; font-size: 36px; font-weight: 800; }
.alerta.sucesso { background: #d9ead3; color: #274e13; }
.tabela-erros td:last-child { min-width: 340px; text-align: left; }
.pagina-editor{display:block}.editor-largo{width:min(1500px,100%);margin:auto}.bloco-config{margin-top:28px;border:1px solid #d8e5ee;border-radius:16px;padding:22px;background:#fbfdff}.cabecalho-editor{display:flex;align-items:center;justify-content:space-between;gap:18px}.cabecalho-editor h2,.bloco-config h2{margin:0 0 7px}.cabecalho-editor p,.bloco-config p{margin:0;color:#688094}.acoes-inline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.acoes-inline input,.acoes-inline select,#buscar-funcionario{padding:11px;border:1px solid #bdd1df;border-radius:9px}.sem-margem{margin:0}.tabela-editor{border-collapse:collapse;width:100%;margin-top:16px}.tabela-editor th,.tabela-editor td{border:1px solid #d8e5ee;padding:7px;background:#fff}.tabela-editor th{background:#eaf4fb;white-space:nowrap;font-size:12px}.tabela-editor input,.tabela-editor select,.tabela-editor textarea{width:100%;min-width:105px;border:1px solid #cbdbe6;border-radius:6px;padding:8px;font:inherit}.tabela-editor textarea{min-height:55px}.tabela-dados td:nth-child(2) input,.tabela-dados td:nth-child(4) input{min-width:220px}.departamento-editor{margin-top:14px;border:1px solid #d8e5ee;border-radius:12px;overflow:hidden}.departamento-editor summary{display:flex;justify-content:space-between;padding:15px 18px;background:#f2f8fc;cursor:pointer}.estado-card{margin-top:18px;border-top:1px solid #d8e5ee;padding-top:16px}.remover-linha,.remover-estado{background:#a33;color:#fff;border:0;border-radius:7px;padding:8px 11px;cursor:pointer}.remover-linha{margin:0;font-size:18px}.botao-gerar{width:100%;font-size:18px;padding:17px}.arquivo-csv{cursor:pointer}.funcionario-row[hidden]{display:none}@media(max-width:900px){.cabecalho-editor{align-items:stretch;flex-direction:column}.acoes-inline>*{flex:1}.editor-largo{padding:20px 12px}}

.acoes-departamento{display:flex;justify-content:flex-end;padding:10px 12px 0}.acoes-departamento .botao-gerar{margin:0;width:auto;padding:10px 16px;font-size:.92rem}
.abas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0}.aba{margin:0;background:#eaf4fb;color:#1267a5;border:1px solid #b9d5e8}.aba.ativa{background:#1267a5;color:#fff}.painel-aba{min-height:420px}.navegacao-abas{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.navegacao-abas button{margin:0}.fontes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}.fonte-card{padding:18px;border:1px solid #d8e5ee;border-radius:12px;background:#f5faff}.fonte-card strong,.fonte-card span,.fonte-card small{display:block}.fonte-card span{margin:7px 0;color:#45657c;word-break:break-word}.fonte-card small{color:#688094}.fonte-departamentos{margin-top:22px}.fonte-departamentos>h3,.grupo-fonte>strong{color:#1267a5}.grupo-fonte{margin-top:16px;padding-top:12px;border-top:1px solid #d8e5ee}.lista-arquivos{margin-top:12px;color:#45657c}.lista-arquivos ol{margin:8px 0 0;padding-left:24px}.revisao-final{text-align:center;padding:48px 22px}.revisao-final .botao-gerar{max-width:520px;margin:28px auto 0}@media(max-width:750px){.abas{grid-template-columns:1fr 1fr}.aba{font-size:13px;padding:10px}.navegacao-abas{gap:10px}.navegacao-abas button{flex:1}}
.aba-concluida{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:12px;background:#d9ead3;color:#274e13;font-weight:800;border:1px solid #b7d7ad}

/* Separação por gestores */
.campo-gestor{display:flex;flex:1;flex-direction:column;gap:7px;font-weight:800;color:#294c65}.campo-gestor select{width:100%;padding:12px;border:1px solid #bdd1df;border-radius:10px;background:#fff;font:inherit;color:#15324b}.remover-gestor{margin:0;background:#a33;padding:10px 14px}.passo-gestor{margin-top:18px;padding-top:16px;border-top:1px solid #d8e5ee}.funcionarios-departamento{margin-top:14px;padding:14px;border:1px solid #d8e5ee;border-radius:12px;background:#fff}.titulo-funcionarios{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#1267a5}.titulo-funcionarios label{color:#45657c;font-weight:600}.lista-funcionarios{grid-template-columns:repeat(3,1fr)}@media(max-width:1050px){.lista-funcionarios{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.lista-funcionarios{grid-template-columns:1fr}.titulo-funcionarios{align-items:flex-start;flex-direction:column}}

/* Exclusão de funcionários e múltiplos gestores */
.celula-excluir{min-width:105px;text-align:center}.excluir-funcionario{margin:0;background:#b42318;color:#fff;border:0;border-radius:7px;padding:8px 11px;cursor:pointer;font-weight:800}.excluir-funcionario:hover{background:#8f1c14}.funcionario-excluido{opacity:.45;text-decoration:line-through}.campo-gestor small{font-weight:500;color:#688094}.campo-gestor select[multiple]{min-height:190px}.campo-gestor select[multiple] option{padding:7px 9px}
.selecao-gestores{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.8fr);gap:16px;flex:1}.campo-gestor-manual textarea{width:100%;min-height:130px;padding:12px;border:1px solid #bdd1df;border-radius:10px;background:#fff;font:inherit;color:#15324b;resize:vertical}@media(max-width:850px){.selecao-gestores{grid-template-columns:1fr}}

/* Importação em lote para aba de instruções */
.bloco-instrucoes{padding:22px;border:1px solid #d8e5ee;border-radius:16px;background:#f8fbfe}.bloco-instrucoes h2{margin-top:0}.bloco-instrucoes .subtitulo{margin-bottom:18px}.bloco-instrucoes strong{color:#1267a5}

/* Editor personalizável da aba de instruções */
.campo-editor-instrucoes{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #c9dce9;border-radius:13px;background:#fff}.campo-editor-instrucoes textarea{width:100%;min-height:360px;padding:16px;border:1px solid #b8cfde;border-radius:10px;resize:vertical;font:15px/1.55 Calibri,Arial,sans-serif;color:#233746;background:#fbfdff;box-sizing:border-box}.campo-editor-instrucoes textarea:focus{outline:3px solid rgba(18,103,165,.16);border-color:#1267a5}.acoes-editor-instrucoes{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#688094;font-size:13px}.botao-secundario{width:auto!important;margin:0!important;padding:9px 14px!important;background:#e7f1f8!important;color:#1267a5!important;border:1px solid #bdd1df!important}.botao-secundario:hover{background:#d8eaf5!important}@media(max-width:650px){.acoes-editor-instrucoes{align-items:flex-start;flex-direction:column}}
.lista-recursos{margin:0 0 18px 22px;color:#50697d;line-height:1.55}.lista-recursos li{margin:5px 0}

/* Integracao Portal LiderBPO + historico */
.portal-toolbar{position:sticky;top:0;z-index:50;background:#0f2d5c;color:#fff;padding:10px max(18px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 10px #0002}.portal-toolbar>div{display:flex;align-items:baseline;gap:10px}.portal-toolbar span{font-size:12px;opacity:.8}.portal-toolbar nav{display:flex;gap:8px}.portal-toolbar a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:700;font-size:13px}.portal-toolbar a:hover,.portal-toolbar a.ativo{background:#ffffff1f}.pagina-historico{max-width:1240px}.historico-cabecalho{display:flex;justify-content:space-between;gap:20px}.historico-tabs{display:flex;gap:8px;border-bottom:1px solid #dfe5ef;margin:28px 0 8px}.historico-tab{border:0;background:transparent;color:#556176;padding:12px 16px;font-weight:800;cursor:pointer;border-bottom:3px solid transparent}.historico-tab.ativo{color:#0f4e9a;border-color:#0f4e9a}.historico-tab span{background:#eaf1fb;border-radius:99px;padding:2px 7px;margin-left:5px}.historico-painel{display:none}.historico-painel.ativo{display:block}.historico-item{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid #e9edf3}.historico-icone{width:42px;height:42px;border-radius:12px;background:#eaf2fc;color:#1459a6;display:grid;place-items:center;font-size:20px;font-weight:900}.historico-topo{display:flex;justify-content:space-between;gap:20px}.historico-topo h2{font-size:17px;margin:3px 0 7px}.historico-tipo{font-size:11px;letter-spacing:.05em;color:#6d7890;font-weight:800}.visibilidade{height:max-content;font-size:11px;font-weight:800;border-radius:99px;padding:5px 9px}.visibilidade.privada{background:#eef1f5;color:#556176}.visibilidade.publica{background:#e3f7ec;color:#18764a}.historico-meta{display:flex;gap:16px;flex-wrap:wrap;color:#7c879c;font-size:12px;margin:8px 0}.historico-conteudo details{background:#f8fafc;border:1px solid #e7ebf1;border-radius:10px;padding:9px 12px;margin:10px 0}.historico-conteudo summary{cursor:pointer;font-weight:700;color:#40516b}.historico-conteudo pre{white-space:pre-wrap;word-break:break-word;font-size:12px;max-height:300px;overflow:auto}.historico-publicar{margin-top:10px}.historico-publicar .botao-secundario{width:auto}.historico-arquivos{margin:9px 0}.historico-arquivos a{font-weight:800;color:#1459a6}.arquivos-dinamicos{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.arquivo-chip{display:inline-flex;padding:7px 10px;background:#eef5ff;border:1px solid #cfe0f5;border-radius:8px;color:#174f8f;text-decoration:none;font-size:12px;font-weight:700}.historico-vazio{padding:35px;text-align:center;color:#7a8495;background:#f8fafc;border-radius:12px}.autor-publico{font-size:13px;color:#58657a}@media(max-width:700px){.portal-toolbar{align-items:flex-start;flex-direction:column}.historico-topo{flex-direction:column}.historico-item{grid-template-columns:1fr}.historico-icone{display:none}}

/* Central de acompanhamento de férias */
.pagina-central{max-width:98vw}.central-card{max-width:none}.central-topo{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.botao-link{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:10px;background:#1267a5;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}.central-importacoes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.central-import-card{border:1px solid #cfe0ec;border-radius:16px;padding:20px;background:#f8fbfe}.central-import-card.retorno{background:#f7fbf7;border-color:#cfe2cf}.central-import-card h2{font-size:18px;margin:0 0 8px}.central-import-card p{color:#5f7485;min-height:48px}.central-import-card input[type=file]{display:block;width:100%;margin:15px 0}.central-import-card button{margin:0}.central-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.resumo-card{text-decoration:none;color:#213b50;border:1px solid #d9e4ec;border-radius:14px;padding:18px;background:#fff}.resumo-card strong{display:block;font-size:30px}.resumo-card span{font-weight:700;font-size:13px}.resumo-card.pendente{border-left:6px solid #8291a1}.resumo-card.marcada{border-left:6px solid #328653}.resumo-card.erro{border-left:6px solid #c58a16}.resumo-card.total{border-left:6px solid #1267a5}.central-filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:15px;border:1px solid #dce7ef;background:#f8fbfd;border-radius:12px}.central-filtros input,.central-filtros select{padding:10px 12px;border:1px solid #bfd1df;border-radius:8px;min-width:180px}.central-filtros button{width:auto;margin:0;padding:10px 16px}.link-secundario{display:inline-flex!important;text-decoration:none;align-items:center}.central-aviso-edicao{font-size:13px;color:#5d7285;margin:18px 0 8px}.central-tabela-wrap{width:100%;overflow:auto;max-height:68vh;border:1px solid #d7e3ec;border-radius:12px}.central-tabela{border-collapse:separate;border-spacing:0;min-width:5100px;width:100%;font-size:12px}.central-tabela th,.central-tabela td{border-right:1px solid #dce6ed;border-bottom:1px solid #dce6ed;padding:6px;background:#fff;vertical-align:top}.central-tabela thead{position:sticky;top:0;z-index:10}.central-tabela th{background:#eaf4fb;font-weight:800;text-align:center}.central-grupos th{background:#1267a5;color:#fff}.central-tabela input{width:150px;box-sizing:border-box;border:1px solid transparent;border-radius:6px;padding:8px;background:transparent;font:inherit}.central-tabela input:focus{background:#fff;border-color:#1267a5;outline:2px solid #1267a522}.central-tabela td:nth-child(2) input,.central-tabela td:nth-child(3) input{width:230px}.status-cell{position:sticky;right:80px;min-width:230px;max-width:280px;background:#fff!important;z-index:2}.central-tabela td:last-child{position:sticky;right:0;background:#fff!important;z-index:2;min-width:80px}.status-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:800}.status-badge.marcada{background:#def4e5;color:#216b3d}.status-badge.pendente{background:#edf0f3;color:#52606d}.status-badge.erro{background:#fff0cd;color:#835b09}.status-erros{margin:7px 0;color:#855c0d;line-height:1.35}.status-cell small{display:block;margin-top:6px;color:#7b8994}.salvar-linha{margin:0;width:auto;padding:8px 11px;font-size:12px}.linha-status-erro td{background:#fffdf6}.linha-status-marcada td{background:#fbfffc}.central-vazia{text-align:center;padding:45px;background:#f8fbfd;border:1px dashed #cbdbe6;border-radius:14px;margin-top:20px;color:#5f7485}.central-vazia strong{font-size:18px;color:#294c65}.central-limpar{text-align:right;margin-top:18px}.botao-perigo{background:#a93636;width:auto;margin:0}.central-chamada{padding:22px;border:1px solid #cfe0ec;background:#f7fbfe;border-radius:16px}.central-chamada-recursos{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.central-chamada-recursos span{background:#e8f4fb;padding:8px 10px;border-radius:999px;color:#285b7e;font-size:13px;font-weight:700}.botao-central{margin-top:8px}@media(max-width:900px){.central-importacoes{grid-template-columns:1fr}.central-resumo{grid-template-columns:1fr 1fr}.central-topo{flex-direction:column}.central-filtros>*{flex:1}}@media(max-width:520px){.central-resumo{grid-template-columns:1fr}}

/* Central de Férias - fluxo base única -> retornos -> três situações */
.etapa-numero{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#176fa9;color:#fff;font-weight:800;margin-bottom:8px}
.central-import-card button:disabled,.central-import-card input:disabled{opacity:.55;cursor:not-allowed}
.central-secao-status{margin-top:28px;border-top:1px solid #dce6ef;padding-top:18px;scroll-margin-top:20px}
.central-secao-titulo{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.central-secao-titulo h2{margin:0;color:#0d3f66}.central-secao-titulo h2 span{font-size:.75em;background:#edf4f9;border-radius:999px;padding:3px 9px;margin-left:6px}
.central-secao-titulo p{margin:5px 0 0;color:#5f6f7c}
.central-valor{display:block;min-width:90px;max-width:220px;white-space:normal;overflow-wrap:anywhere}
.central-data-editavel{min-width:138px;background:#fffdf1!important;border:1px solid #e0b94e!important}
.central-acoes{min-width:210px;position:sticky;right:0;background:#fff;z-index:1}
.linha-status-erro .central-acoes{background:#fff5f5}.linha-status-marcada .central-acoes{background:#f4fff7}.linha-status-sem_ferias .central-acoes{background:#fff}
.validar-linha{margin-top:7px;background:#218838!important;color:#fff!important;border:0!important;padding:8px 13px!important;border-radius:8px!important;font-weight:700;cursor:pointer}
.validado-manual{display:block;margin-top:8px;font-size:12px;font-weight:700;color:#19733c}
.central-vazia.pequena{padding:16px;margin-top:8px}

/* CORRECAO: a tabela larga da Central nao pode definir a largura da pagina inteira */
.pagina.pagina-central {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 32px 18px;
    overflow-x: hidden;
}

.pagina-central .central-card {
    display: block;
    width: min(1600px, 100%);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
}

.pagina-central .central-secao-status,
.pagina-central .central-tabela-wrap {
    min-width: 0;
    max-width: 100%;
}

.pagina-central .central-tabela-wrap {
    display: block;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}


/* Central de Férias - validação/classificação manual */
.abrir-validacao{margin-top:0!important;background:#1267a5!important;white-space:nowrap}
.modal-validacao{border:0;border-radius:16px;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;box-shadow:0 24px 70px #08243f55}
.modal-validacao::backdrop{background:rgba(10,31,49,.48);backdrop-filter:blur(2px)}
.modal-validacao-card{position:relative;padding:26px;background:#fff;color:#17344c}
.modal-validacao-card h2{margin:0 38px 6px 0;font-size:22px;color:#0d3f66}
.modal-validacao-card p{margin:0 0 20px;color:#667b8d}
.modal-fechar{position:absolute;right:14px;top:12px;width:36px!important;height:36px;padding:0!important;margin:0!important;border:0;border-radius:50%;background:#eef4f8!important;color:#31536c!important;font-size:24px;line-height:1;cursor:pointer}
.opcoes-validacao{display:grid;gap:10px}
.opcao-validacao{width:100%!important;margin:0!important;padding:14px 16px!important;border-radius:10px!important;border:1px solid transparent!important;text-align:left;font-weight:800!important;cursor:pointer}
.opcao-validacao.marcada{background:#e5f6ea!important;color:#1f6d3c!important;border-color:#bce2c8!important}
.opcao-validacao.erro{background:#fff3d7!important;color:#815b0e!important;border-color:#efd598!important}
.opcao-validacao.sem-ferias{background:#eef2f5!important;color:#4d6070!important;border-color:#d8e0e6!important}
.opcao-validacao:hover{filter:brightness(.98)}

/* Etapa 4 — instruções, filtros e edição */
.opcoes-planilha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.opcao-config{display:flex;gap:12px;align-items:flex-start;padding:17px;border:1px solid #cbdde9;border-radius:13px;background:#fff;cursor:pointer}.opcao-config input{margin-top:4px;transform:scale(1.18)}.opcao-config span{display:flex;flex-direction:column;gap:5px}.opcao-config strong{color:#234b67}.opcao-config small{color:#687e8e;line-height:1.45}.opcao-config:has(input:checked){border-color:#1267a5;background:#f1f8fd;box-shadow:0 0 0 2px #1267a514}.destaque-edicao:has(input:checked){border-color:#c28b2a;background:#fff9ed;box-shadow:0 0 0 2px #c28b2a18}.aviso-edicao-total{margin-top:14px}.campo-editor-instrucoes textarea{min-height:390px}@media(max-width:800px){.opcoes-planilha{grid-template-columns:1fr}}


/* Ferramenta — liberação total de Excel já processado */
.ferramenta-liberacao-total{border:1px solid #d6e2ea;border-radius:16px;padding:22px;background:#fbfdff}
.cabecalho-ferramenta-liberacao{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cabecalho-ferramenta-liberacao h2{margin-top:0}
.selo-liberacao{font-size:11px;font-weight:900;letter-spacing:.06em;padding:7px 10px;border-radius:999px;background:#eef3f6;color:#38566b;white-space:nowrap}
.aviso-liberacao-total{display:flex;flex-direction:column;gap:5px;margin:16px 0;padding:14px 16px;border-radius:10px;background:#f2f7fa;color:#36556a}
.aviso-liberacao-total span{font-size:13px;line-height:1.45}
@media(max-width:700px){.cabecalho-ferramenta-liberacao{flex-direction:column}}

/* ==========================================================
   Visual Portal LiderBPO — camada de apresentação
   Mantém a lógica existente e reorganiza apenas a interface.
   ========================================================== */
:root{
  --portal-azul:#063b70;
  --portal-azul-2:#07579a;
  --portal-azul-claro:#0b8de3;
  --portal-fundo:#f4f7fb;
  --portal-texto:#173b5d;
  --portal-muted:#6d8295;
  --portal-borda:#dce6ef;
  --portal-card:#ffffff;
  --portal-shadow:0 8px 24px rgba(25,62,91,.08);
}
body{background:var(--portal-fundo);color:var(--portal-texto)}
.portal-shell{min-height:100vh;display:flex;background:var(--portal-fundo)}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:linear-gradient(180deg,#063b70 0%,#075a96 55%,#063560 100%);color:#fff;z-index:100;display:flex;flex-direction:column;box-shadow:4px 0 20px rgba(4,42,77,.12)}
.portal-brand{height:92px;display:flex;align-items:center;justify-content:center;padding:18px;background:#fff;border-bottom:1px solid #dbe5ed}
.portal-brand img{width:185px;height:auto;display:block}
.sidebar-grupo{padding:24px 14px;display:flex;flex-direction:column;gap:7px}
.sidebar-titulo{font-size:11px;font-weight:800;letter-spacing:.12em;color:#acd7f4;padding:0 12px 8px}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#eaf6ff;text-decoration:none;border-radius:9px;font-size:14px;font-weight:700;transition:.18s ease}
.sidebar-link:hover{background:rgba(255,255,255,.10);color:#fff}
.sidebar-link.ativo{background:linear-gradient(90deg,#0a8fe7,#0b71c6);color:#fff;box-shadow:0 7px 16px rgba(0,53,102,.18)}
.sidebar-icone{display:grid;place-items:center;width:24px;height:24px;font-size:17px;color:#fff}
.sidebar-ajuda{margin-top:auto;padding:20px 24px 26px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:4px}
.sidebar-ajuda strong{font-size:13px}.sidebar-ajuda span{font-size:11px;color:#b7d5e9}
.portal-main{width:calc(100% - 244px);margin-left:244px;min-height:100vh;min-width:0}
.portal-topbar{height:76px;position:sticky;top:0;z-index:70;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #e1e8ef;box-shadow:0 2px 10px rgba(19,56,85,.04)}
.topbar-titulo{display:flex;align-items:center;gap:14px}.topbar-titulo>div,.topbar-usuario>div{display:flex;flex-direction:column}.topbar-titulo strong{font-size:18px;color:#123b63}.topbar-titulo span,.topbar-usuario span{font-size:11px;color:#8293a1;margin-top:2px}.sidebar-toggle{display:none!important;margin:0!important;padding:8px 10px!important;background:transparent!important;color:#123b63!important;font-size:20px!important}
.topbar-usuario{display:flex;align-items:center;gap:10px}.topbar-usuario strong{font-size:13px;color:#193b5b}.usuario-avatar{width:38px;height:38px;border-radius:50%;background:#0b5591;color:#fff!important;display:grid!important;place-items:center;font-weight:800;font-size:15px!important;margin:0!important}
.pagina{display:block;min-height:calc(100vh - 76px);padding:28px 32px 48px;background:var(--portal-fundo);max-width:none}
.card{width:100%;max-width:1480px;margin:0 auto;background:#fff;border:1px solid #e2e9ef;border-radius:16px;padding:28px 30px;box-shadow:var(--portal-shadow)}
.marca{display:none}
h1{font-size:30px;color:#113e69;margin:8px 0}.subtitulo{color:var(--portal-muted);line-height:1.55}
button,.botao,.botao-link{background:linear-gradient(180deg,#118cea,#0674c7);border-radius:8px;box-shadow:none;padding:11px 18px;font-size:14px;font-weight:750}
button:hover,.botao:hover,.botao-link:hover{background:#066ab5}
.upload{background:#f8fbfe;border:1.5px dashed #9ac3df;border-radius:12px;padding:20px}.upload:hover{border-color:#0b81d5;background:#f4faff}.upload-titulo{font-size:15px;color:#173f61}.upload-ajuda{font-size:13px;margin:5px 0 14px}.lista-arquivos{font-size:12px;color:#6a8193}
.alerta{border-radius:10px;border:1px solid transparent}.alerta.erro{border-color:#f4c8c8}.alerta.aviso{border-color:#eed79e}.alerta.sucesso{background:#e8f7ee;color:#237544;border-color:#c2e7d0}
.abas{grid-template-columns:repeat(5,minmax(100px,1fr));gap:0;background:#fff;border:1px solid var(--portal-borda);border-radius:14px;padding:14px;margin:0 0 24px;overflow:auto}.aba,.aba-concluida{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;background:#f4f6f8!important;color:#718291!important;border:0!important;border-radius:999px;padding:10px 14px;font-weight:800;text-align:center}.aba.ativa{background:#0b82d9!important;color:#fff!important}.aba-concluida{background:#e7f3fb!important;color:#0a6faf!important}.painel-aba{min-height:unset}

/* Dashboard */
.pagina-dashboard{max-width:1500px;margin:0 auto}.dashboard-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:4px 0 22px}.dashboard-cabecalho h1{font-size:28px;margin:3px 0 5px}.dashboard-cabecalho p{margin:0;color:var(--portal-muted);font-size:14px}.eyebrow,.card-kicker{display:block;font-size:10px;font-weight:900;letter-spacing:.11em;color:#1385cf}.acao-topo{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid #acd1eb;border-radius:8px;text-decoration:none;color:#0874bd;background:#fff;font-size:13px;font-weight:800}.painel-principal{margin-top:10px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.dashboard-card{background:#fff;border:1px solid var(--portal-borda);border-radius:14px;padding:22px;box-shadow:0 4px 16px rgba(23,61,91,.05);display:flex;gap:16px;color:inherit;text-decoration:none;min-width:0}.dashboard-card-destaque{grid-row:span 2;padding:26px}.dashboard-card h2{font-size:18px;margin:5px 0 7px;color:#153f66}.dashboard-card p{font-size:13px;line-height:1.55;color:#687e90;margin:0}.card-icone{flex:0 0 48px;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#e9f5fd;color:#0b86da;font-size:25px;font-weight:900}.card-icone.secundario{background:#edf5fb}.card-icone.alerta-icone{background:#fff4e1;color:#b87914}.card-conteudo{min-width:0;flex:1}.card-acao{display:inline-block;margin-top:16px;color:#0a7aca;font-size:12px;font-weight:850}.dashboard-link{transition:transform .16s ease,box-shadow .16s ease}.dashboard-link:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(23,61,91,.09)}.formulario-dashboard{margin-top:18px}.upload-portal{padding:17px}.secao-ferramentas{margin-top:28px}.secao-titulo{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.secao-titulo h2{font-size:20px;margin:3px 0}.secao-titulo p{font-size:12px;color:#7c8e9c;margin:0}.ferramenta-horizontal{align-items:flex-start}.formulario-inline{display:flex;gap:12px;align-items:flex-end;margin-top:16px}.formulario-inline .upload{flex:1}.formulario-inline button{margin:0;white-space:nowrap}.upload-compacto{padding:14px}.upload-compacto .upload-ajuda{margin-bottom:10px}

/* Componentes existentes com aparência do portal */
.central-import-card,.resumo-card,.departamento-item,.fonte-card,.opcao-config,.historico-item{border-color:var(--portal-borda);box-shadow:none}.central-import-card{background:#fff}.central-import-card.retorno{background:#fbfefd}.central-resumo{gap:12px}.resumo-card{box-shadow:0 3px 12px rgba(23,61,91,.04)}.central-filtros{background:#fff;border-color:var(--portal-borda)}.central-tabela-wrap{border-color:#d9e4ec;background:#fff}.central-grupos th{background:#0b5c9d}.central-tabela th{background:#eaf4fb;color:#163f60}.historico-item{background:#fff;margin:10px 0;border:1px solid var(--portal-borda);border-radius:12px;padding:18px}.historico-vazio{border:1px dashed #cfdde8}.resultado .icone-ok{background:#e5f6ed;color:#21834c}.resultado-largo{max-width:1480px}

@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-card-destaque{grid-column:1/-1;grid-row:auto}.portal-sidebar{transform:translateX(-100%);transition:.2s ease}.portal-main{width:100%;margin-left:0}.sidebar-toggle{display:inline-flex!important}.sidebar-aberta .portal-sidebar{transform:translateX(0)}.sidebar-aberta:after{content:"";position:fixed;inset:0;background:#062b4b66;z-index:90}.portal-sidebar{z-index:110}.portal-topbar{padding:0 20px}.pagina{padding:24px 20px}}
@media(max-width:720px){.dashboard-grid{grid-template-columns:1fr}.dashboard-cabecalho,.secao-titulo,.formulario-inline{flex-direction:column;align-items:stretch}.topbar-usuario>div{display:none}.pagina{padding:18px 12px}.card{padding:20px 16px;border-radius:12px}.abas{grid-template-columns:repeat(5,150px)}.dashboard-card{padding:18px}.acao-topo{text-align:center;justify-content:center}}


/* Refinamento visual — dashboard e histórico */
.dashboard-grid-refinado{
    grid-template-columns:minmax(0,1.75fr) minmax(330px,.85fr);
    align-items:stretch;
}
.dashboard-grid-refinado .dashboard-card-destaque{
    grid-row:auto;
    min-height:0;
}
.dashboard-acoes-laterais{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:16px;
    min-width:0;
}
.dashboard-card-compacto{
    padding:20px;
    align-items:flex-start;
}
.dashboard-card-compacto .card-acao{
    margin-top:12px;
}
.secao-ferramentas{
    max-width:100%;
}
.ferramenta-horizontal{
    padding:22px;
}
.ferramenta-horizontal .formulario-inline{
    max-width:980px;
}
.historico-painel{
    max-width:1120px;
}
.historico-item{
    padding:18px 20px;
    margin:12px 0;
    border:1px solid #dbe5ed;
    box-shadow:0 2px 9px rgba(16,59,91,.035);
}
.historico-conteudo>p{
    color:#526b7e;
    line-height:1.5;
    margin:5px 0 8px;
}
.historico-detalhes-amigaveis{
    background:#f8fbfd!important;
    border:1px solid #dbe6ee!important;
    padding:0!important;
    overflow:hidden;
}
.historico-detalhes-amigaveis summary{
    padding:13px 15px;
    color:#194d74!important;
    background:#f4f8fb;
    list-style:none;
}
.historico-detalhes-amigaveis summary::-webkit-details-marker{display:none}
.historico-detalhes-amigaveis summary:before{
    content:"›";
    display:inline-block;
    margin-right:8px;
    font-size:20px;
    line-height:12px;
    transform:rotate(0deg);
    transition:.15s ease;
}
.historico-detalhes-amigaveis[open] summary:before{transform:rotate(90deg)}
.historico-detalhes-lista{
    display:grid;
    gap:0;
    background:#fff;
    border-top:1px solid #e3ebf1;
}
.historico-detalhe-linha{
    display:grid;
    grid-template-columns:30px 1fr;
    gap:10px;
    padding:13px 15px;
    border-bottom:1px solid #edf2f5;
}
.historico-detalhe-linha:last-child{border-bottom:0}
.historico-detalhe-icone{
    width:25px;height:25px;border-radius:50%;
    display:grid;place-items:center;
    background:#e6f3fc;color:#0878c6;
    font-size:12px;font-weight:900;
}
.historico-detalhe-linha strong,
.historico-detalhe-linha span,
.historico-detalhe-linha small{
    display:block;
}
.historico-detalhe-linha strong{
    color:#183f5e;font-size:12px;margin-bottom:3px;
}
.historico-detalhe-linha span{
    color:#334f64;font-size:13px;line-height:1.45;
    overflow-wrap:anywhere;
}
.historico-detalhe-linha small{
    color:#748898;font-size:11px;line-height:1.45;margin-top:4px;
}
.historico-publicar .botao-secundario{
    background:#fff;
    border:1px solid #b9d4e6;
    color:#0b6eaf;
    padding:9px 13px;
    font-size:12px;
}
@media(max-width:1050px){
    .dashboard-grid-refinado{grid-template-columns:1fr}
    .dashboard-acoes-laterais{grid-template-columns:1fr 1fr;grid-template-rows:auto}
}
@media(max-width:720px){
    .dashboard-acoes-laterais{grid-template-columns:1fr}
    .historico-item{padding:16px}
}

/* Central de Férias — leitura, busca e ações refinadas */
.central-topo-acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.central-topo-acoes .botao-secundario,.central-topo-acoes .botao-link{margin:0;width:auto}
.central-busca{display:flex;flex-direction:column;gap:5px;min-width:280px;flex:1}
.central-busca span{font-size:11px;font-weight:900;letter-spacing:.04em;color:#47647a;text-transform:uppercase}
.central-busca input{width:100%;min-width:260px}

/* A coluna AÇÕES acompanha o restante da tabela: não fica mais sobre as informações. */
.central-tabela td:last-child,.central-acoes{position:static!important;right:auto!important;z-index:auto!important}
.central-acoes{min-width:240px!important;background:#fff!important}
.central-acoes-botoes{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.central-acoes-botoes form{margin:0}
.central-acoes-botoes button{margin:0;width:auto;padding:8px 11px;font-size:12px}
.botao-excluir-funcionario{background:#fff!important;color:#a13434!important;border:1px solid #e4baba!important}
.botao-excluir-funcionario:hover{background:#fff2f2!important}

/* Cores sutis por bloco de colunas, mantendo boa legibilidade. */
.central-tabela tbody td:nth-child(-n+4){background:#f7fbfe}
.central-tabela tbody td:nth-child(n+5):nth-child(-n+6){background:#f6f8fd}
.central-tabela tbody td:nth-child(n+7):nth-child(-n+10){background:#f4fbfa}
.central-tabela tbody td:nth-child(n+11):nth-child(-n+13){background:#f8f6fc}
.central-tabela tbody td:nth-child(n+14):nth-child(-n+17){background:#fffaf0}
.central-tabela tbody td:nth-child(n+18):nth-child(-n+21){background:#f5fbf6}
.central-tabela tbody td:nth-child(n+22):nth-child(-n+25){background:#fff7f5}
.central-tabela tbody td:nth-child(n+26):nth-child(-n+27){background:#f7f8fa}
.central-tabela tbody td:nth-child(28){background:#fff7f7}
.central-tabela tbody td:nth-child(29){background:#fff}

.central-tabela thead tr:nth-child(2) th:nth-child(-n+4){background:#dfeff9}
.central-tabela thead tr:nth-child(2) th:nth-child(n+5):nth-child(-n+6){background:#e8eef9}
.central-tabela thead tr:nth-child(2) th:nth-child(n+7):nth-child(-n+10){background:#dff2ef}
.central-tabela thead tr:nth-child(2) th:nth-child(n+11):nth-child(-n+13){background:#ece6f7}
.central-tabela thead tr:nth-child(2) th:nth-child(n+14):nth-child(-n+17){background:#fff0c9}
.central-tabela thead tr:nth-child(2) th:nth-child(n+18):nth-child(-n+21){background:#e2f2e5}
.central-tabela thead tr:nth-child(2) th:nth-child(n+22):nth-child(-n+25){background:#f9e7e1}
.central-tabela thead tr:nth-child(2) th:nth-child(n+26):nth-child(-n+27){background:#e9edf2}
.central-tabela thead tr:nth-child(2) th:nth-child(28){background:#f5dfdf}
.central-tabela thead tr:nth-child(2) th:nth-child(29){background:#d9e8f4}
.central-tabela tr[hidden]{display:none!important}

.formulario-adicionar-funcionario{width:min(820px,94vw)!important;max-width:820px!important}
.grid-adicionar-funcionario{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}
.grid-adicionar-funcionario label{display:flex;flex-direction:column;gap:6px}
.grid-adicionar-funcionario label span{font-size:12px;font-weight:800;color:#3a596f}
.grid-adicionar-funcionario input{width:100%;padding:10px 11px;border:1px solid #c8d8e4;border-radius:8px;box-sizing:border-box}
.grid-adicionar-funcionario .campo-largo{grid-column:span 2}
.modal-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.modal-acoes button{width:auto;margin:0}
@media(max-width:800px){.grid-adicionar-funcionario{grid-template-columns:1fr 1fr}.grid-adicionar-funcionario .campo-largo{grid-column:span 2}}
@media(max-width:520px){.grid-adicionar-funcionario{grid-template-columns:1fr}.grid-adicionar-funcionario .campo-largo{grid-column:auto}.central-topo-acoes{justify-content:flex-start}}


/* Central — arrastar horizontalmente com o mouse */
.central-arraste-dica{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:2px 0 8px;
    padding:7px 10px;
    border-radius:999px;
    background:#edf6fc;
    color:#387297;
    font-size:11px;
    font-weight:800;
    user-select:none;
}
.central-tabela-wrap.central-tabela-arrastavel{
    cursor:grab;
    scrollbar-color:#8aa9be #edf3f7;
    scrollbar-width:auto;
}
.central-tabela-wrap.central-tabela-arrastavel.arrastando{
    cursor:grabbing;
    user-select:none;
}
.central-tabela-wrap.central-tabela-arrastavel input,
.central-tabela-wrap.central-tabela-arrastavel button,
.central-tabela-wrap.central-tabela-arrastavel a{
    cursor:auto;
}

/* Histórico — explicações em linguagem natural */
.historico-detalhes-amigaveis .historico-detalhes-lista{
    padding:4px 0;
}
.historico-detalhes-amigaveis .historico-detalhe-linha{
    grid-template-columns:34px 1fr;
    padding:15px 17px;
}
.historico-detalhes-amigaveis .historico-detalhe-icone{
    background:#eaf4fb;
    color:#0c70ad;
    font-family:Georgia,serif;
    font-size:14px;
    font-weight:800;
}
.historico-detalhes-amigaveis .historico-detalhe-linha strong{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.045em;
    color:#668198;
}
.historico-detalhes-amigaveis .historico-detalhe-linha span{
    margin-top:3px;
    font-size:14px;
    line-height:1.6;
    color:#1f425b;
}



/* =========================================================
   Refinamento final — sidebar recolhível, dashboard e modal
   ========================================================= */

/* Sidebar desktop com botão próprio de recolhimento */
.portal-sidebar{
    width:252px;
    background:linear-gradient(180deg,#073d70 0%,#075993 52%,#06375f 100%);
    border-right:1px solid rgba(255,255,255,.08);
    transition:width .22s ease, transform .22s ease;
    overflow:visible;
}
.portal-main{
    width:calc(100% - 252px);
    margin-left:252px;
    transition:width .22s ease, margin-left .22s ease;
}
.portal-brand{
    height:96px;
    border-radius:0 0 18px 0;
    box-shadow:0 7px 20px rgba(2,42,76,.09);
    transition:padding .22s ease;
}
.portal-brand img{max-width:190px;transition:width .22s ease}
.sidebar-collapse-btn{
    position:absolute;
    top:76px;
    right:-17px;
    z-index:121;
    width:35px!important;
    height:35px!important;
    min-width:35px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    border:2px solid #fff!important;
    background:#0b4d83!important;
    color:#fff!important;
    box-shadow:0 4px 14px rgba(4,42,72,.22)!important;
    display:grid!important;
    place-items:center;
    font-size:25px!important;
    line-height:1!important;
    cursor:pointer;
}
.sidebar-collapse-btn:hover{background:#087bc8!important}
.sidebar-link{min-height:46px;border-radius:11px;padding:11px 13px}
.sidebar-link.ativo{
    background:linear-gradient(90deg,#118fe8 0%,#0973ca 100%);
    box-shadow:0 8px 18px rgba(2,47,83,.22);
}
.sidebar-icone{
    flex:0 0 27px;
    width:27px;
    height:27px;
    border-radius:8px;
    background:rgba(255,255,255,.055);
}
.sidebar-link.ativo .sidebar-icone{background:rgba(255,255,255,.14)}
.sidebar-ajuda{background:rgba(0,30,57,.16)}

/* Estado recolhido no desktop */
.sidebar-recolhida .portal-sidebar{width:78px}
.sidebar-recolhida .portal-main{margin-left:78px;width:calc(100% - 78px)}
.sidebar-recolhida .portal-brand{height:86px;padding:14px 9px}
.sidebar-recolhida .portal-brand img{width:58px;max-width:58px;object-fit:contain}
.sidebar-recolhida .sidebar-grupo{padding:22px 10px}
.sidebar-recolhida .sidebar-titulo,
.sidebar-recolhida .sidebar-link span:not(.sidebar-icone),
.sidebar-recolhida .sidebar-ajuda{display:none}
.sidebar-recolhida .sidebar-link{
    justify-content:center;
    padding:10px;
}
.sidebar-recolhida .sidebar-icone{
    width:36px;height:36px;flex-basis:36px;font-size:18px;
}
.sidebar-recolhida .sidebar-collapse-btn{right:-17px}

/* Topbar mais equilibrada */
.portal-topbar{
    height:78px;
    padding:0 30px;
}
.topbar-titulo strong{font-size:19px}
.topbar-titulo span{font-size:11px}

/* Home: sem título duplicado no meio */
.dashboard-intro-compacto{
    max-width:1500px;
    margin:0 auto 14px;
    padding:0 2px;
}
.dashboard-intro-compacto .eyebrow{margin-bottom:4px}
.dashboard-intro-compacto p{
    margin:0;
    color:#708698;
    font-size:13px;
}
.pagina-dashboard{
    max-width:none;
    padding-top:24px;
}
.dashboard-grid-refinado{
    max-width:1500px;
    margin:0 auto;
}
.dashboard-card{
    border-radius:17px;
    box-shadow:0 5px 18px rgba(22,63,95,.055);
}
.dashboard-card-destaque{padding:28px}
.dashboard-card-compacto{min-height:170px}

/* Modal de cadastro manual realmente responsivo */
#modal-adicionar-funcionario.modal-validacao{
    width:min(820px,calc(100vw - 40px));
    max-width:820px;
    max-height:90vh;
    border-radius:20px;
    overflow:hidden;
}
#modal-adicionar-funcionario .modal-validacao-card{
    width:100%;
    box-sizing:border-box;
    max-height:90vh;
    overflow-y:auto;
    overflow-x:hidden;
    padding:30px 32px 26px;
}
#modal-adicionar-funcionario .modal-validacao-card h2{
    font-size:25px;
    margin-bottom:7px;
}
#modal-adicionar-funcionario .modal-validacao-card>p{
    max-width:680px;
    line-height:1.5;
}
#modal-adicionar-funcionario .grid-adicionar-funcionario{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:22px 0 8px;
}
#modal-adicionar-funcionario .grid-adicionar-funcionario .campo-largo{
    grid-column:1/-1;
}
#modal-adicionar-funcionario .grid-adicionar-funcionario input,
#modal-adicionar-funcionario .grid-adicionar-funcionario select{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    height:44px;
    padding:9px 12px;
    border:1px solid #c8d9e6;
    border-radius:9px;
    background:#fff;
    color:#173b58;
    font:inherit;
}
#modal-adicionar-funcionario .grid-adicionar-funcionario input:focus,
#modal-adicionar-funcionario .grid-adicionar-funcionario select:focus{
    outline:none;
    border-color:#1788d4;
    box-shadow:0 0 0 3px rgba(23,136,212,.11);
}
#modal-adicionar-funcionario .modal-acoes{
    position:sticky;
    bottom:-26px;
    margin:22px -32px -26px;
    padding:16px 32px;
    background:#fff;
    border-top:1px solid #e7edf2;
    z-index:2;
}
#modal-adicionar-funcionario .modal-acoes button{
    min-width:130px;
}
#modal-adicionar-funcionario .modal-fechar{
    top:16px;
    right:18px;
}

/* Evita barra horizontal no modal */
#modal-adicionar-funcionario form,
#modal-adicionar-funcionario .grid-adicionar-funcionario,
#modal-adicionar-funcionario label{min-width:0}

/* Tablet / mobile */
@media(max-width:1100px){
    .sidebar-collapse-btn{display:none!important}
    .sidebar-recolhida .portal-sidebar{width:244px}
    .sidebar-recolhida .portal-main{width:100%;margin-left:0}
    .sidebar-recolhida .sidebar-titulo,
    .sidebar-recolhida .sidebar-link span:not(.sidebar-icone),
    .sidebar-recolhida .sidebar-ajuda{display:initial}
    .sidebar-recolhida .sidebar-link{justify-content:flex-start;padding:12px 13px}
    .sidebar-recolhida .portal-brand{height:92px;padding:18px}
    .sidebar-recolhida .portal-brand img{width:185px;max-width:185px}
}
@media(max-width:680px){
    #modal-adicionar-funcionario.modal-validacao{
        width:calc(100vw - 20px);
        max-height:94vh;
    }
    #modal-adicionar-funcionario .modal-validacao-card{
        padding:24px 18px 18px;
        max-height:94vh;
    }
    #modal-adicionar-funcionario .grid-adicionar-funcionario{
        grid-template-columns:1fr;
        gap:12px;
    }
    #modal-adicionar-funcionario .grid-adicionar-funcionario .campo-largo{grid-column:auto}
    #modal-adicionar-funcionario .modal-acoes{
        margin:18px -18px -18px;
        padding:14px 18px;
        flex-direction:column-reverse;
    }
    #modal-adicionar-funcionario .modal-acoes button{width:100%;min-width:0}
}


/* Separação por gestores — somente digitação de nomes */
.selecao-gestores-somente-texto{
    display:block;
    width:100%;
}
.selecao-gestores-somente-texto .campo-gestor-manual{
    width:100%;
    max-width:none;
}
.selecao-gestores-somente-texto .gestor-manual{
    min-height:105px;
    max-height:220px;
    line-height:1.5;
    box-sizing:border-box;
}
.gestor-card .grupo-topo{
    align-items:flex-start;
}
.gestor-card .remover-gestor{
    flex:0 0 auto;
    min-height:46px;
}
@media(max-width:700px){
    .gestor-card .grupo-topo{
        flex-direction:column;
    }
    .gestor-card .remover-gestor{
        width:100%;
    }
}

/* Central — exportação mensal de férias */
.central-topo-acoes .exportar-mensal{
    display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
    background:#eef7fd;color:#0874bd;border:1px solid #b9d8ed;
}
.central-topo-acoes .exportar-mensal:hover{background:#e2f2fc;color:#075f9b}


/* ============================================================
   Refinamento visual 2026 — sidebar e indicadores da Central
   ============================================================ */
.portal-sidebar{
    width:238px;
    background:
      radial-gradient(circle at 28px 40px,rgba(24,153,232,.20),transparent 120px),
      linear-gradient(180deg,#07375f 0%,#084d80 48%,#062e51 100%);
    border-right:1px solid rgba(207,231,247,.16);
    box-shadow:10px 0 28px rgba(5,37,62,.10);
}
.portal-main{
    width:calc(100% - 238px);
    margin-left:238px;
}
.portal-brand{
    height:92px;
    padding:14px 20px;
    background:#fff;
    border-bottom:0;
    box-shadow:0 8px 22px rgba(0,31,56,.11);
}
.portal-brand img{width:176px}
.sidebar-grupo{
    padding:28px 14px 18px;
    gap:8px;
}
.sidebar-titulo{
    padding:0 13px 7px;
    color:#75bde9;
    font-size:10px;
    letter-spacing:.15em;
}
.sidebar-link{
    position:relative;
    min-height:46px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:12px;
    color:#dbeefa;
    font-size:13px;
}
.sidebar-link:hover{
    background:rgba(255,255,255,.075);
    border-color:rgba(255,255,255,.08);
}
.sidebar-link.ativo{
    background:linear-gradient(100deg,#168fe2,#0c73c2);
    border-color:rgba(255,255,255,.13);
    box-shadow:0 9px 22px rgba(0,30,58,.24);
}
.sidebar-link.ativo:before{
    content:"";
    position:absolute;
    left:-14px;
    top:12px;
    bottom:12px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:#74d3ff;
}
.sidebar-icone{
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:9px;
    background:rgba(255,255,255,.07);
    font-size:15px;
}
.sidebar-link.ativo .sidebar-icone{background:rgba(255,255,255,.14)}
.sidebar-ajuda{
    padding:18px 20px 22px;
    background:rgba(0,20,40,.20);
    border-top:1px solid rgba(255,255,255,.08);
}
.sidebar-collapse-btn{
    top:72px;
    right:-15px;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    background:#0b588f!important;
    box-shadow:0 5px 15px rgba(3,38,64,.25)!important;
}
.sidebar-recolhida .portal-sidebar{width:74px}
.sidebar-recolhida .portal-main{margin-left:74px;width:calc(100% - 74px)}
.sidebar-recolhida .portal-brand{padding:15px 8px;height:82px}
.sidebar-recolhida .portal-brand img{width:55px;max-width:55px}

/* Indicadores da Central mais compactos e informativos */
.central-resumo-refinado{
    gap:16px;
    margin:24px 0 28px;
}
.central-resumo-refinado .resumo-card{
    display:flex;
    align-items:center;
    gap:15px;
    min-height:108px;
    padding:18px 20px;
    border:1px solid #dbe6ee;
    border-left:0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 20px rgba(25,66,96,.055);
    overflow:hidden;
    position:relative;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.central-resumo-refinado a.resumo-card:hover{
    transform:translateY(-2px);
    box-shadow:0 11px 26px rgba(25,66,96,.09);
    border-color:#c9dce9;
}
.central-resumo-refinado .resumo-card:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
}
.central-resumo-refinado .resumo-card.total:before{background:#1687cc}
.central-resumo-refinado .resumo-card.marcada:before{background:#38a267}
.central-resumo-refinado .resumo-card.erro:before{background:#d59a16}
.central-resumo-refinado .resumo-card.pendente:before{background:#889aaa}
.central-resumo-refinado .resumo-icone{
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:13px;
    display:grid;
    place-items:center;
    font-size:20px;
    font-weight:900;
}
.central-resumo-refinado .total .resumo-icone{background:#e9f5fc;color:#147bb9}
.central-resumo-refinado .marcada .resumo-icone{background:#eaf7ef;color:#2e8c55}
.central-resumo-refinado .erro .resumo-icone{background:#fff6df;color:#ad7809}
.central-resumo-refinado .pendente .resumo-icone{background:#f0f3f5;color:#6d7e8c}
.central-resumo-refinado .resumo-card strong{
    font-size:30px;
    line-height:1;
    color:#173e5b;
    margin-bottom:6px;
}
.central-resumo-refinado .resumo-card span:not(.resumo-icone){
    display:block;
    color:#23465f;
    font-size:13px;
    font-weight:850;
}
.central-resumo-refinado .resumo-card small{
    display:block;
    margin-top:4px;
    color:#8697a4;
    font-size:10.5px;
    font-weight:600;
}
@media(max-width:1150px){
    .central-resumo-refinado{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .central-resumo-refinado{grid-template-columns:1fr}
}
