:root{--azul:#0d2247;--marinho:#031a39;--ouro:#c29a5b;--ouroEscuro:#9a7438;--ouroClaro:#f7efe2;--cinza:#f4f6f8;--borda:#d9dee3;--verde:#1e7b4a;--amarelo:#a86b00;--vermelho:#b42318}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--cinza);color:#1d2939}
header{background:var(--marinho);color:#fff;border-bottom:3px solid var(--ouro);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
header a{color:#fff;margin-left:16px;text-decoration:none}header b{font-size:17px}
main{max-width:1240px;margin:24px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:20px;margin-bottom:20px}
h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:0 0 12px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--borda);vertical-align:top}
th{font-size:13px;color:#475467;font-weight:600}
label{display:block;font-size:13px;color:#475467;margin-bottom:4px}
input,select,textarea{width:100%;padding:8px;border:1px solid var(--borda);border-radius:6px;font:inherit;background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
button,.btn{background:var(--azul);color:#fff;border:0;border-radius:6px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.btn.sec{background:#fff;color:var(--azul);border:1px solid var(--azul)}button.verde{background:var(--verde)}button.amarelo{background:var(--amarelo)}
.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}
.tag.autorizada,.tag.aprovada{background:#dcfae6;color:var(--verde)}.tag.pendente{background:#fef0c7;color:#8a5300}
.tag.rejeitada,.tag.erro,.tag.apontamento{background:#fee4e2;color:var(--vermelho)}.tag.amb{background:#e0eaff;color:#2e4fa3}
.alerta{padding:12px 16px;border-radius:6px;margin-bottom:16px}.alerta.ok{background:#dcfae6}.alerta.err{background:#fee4e2}
.muted{color:#586174;font-size:13px}.direita{text-align:right}
pre{background:#0f172a;color:#e2e8f0;padding:12px;border-radius:6px;overflow:auto;max-height:300px;font-size:12px}
button:disabled{opacity:.6;cursor:wait}
.estreito{max-width:400px;margin:60px auto}.rolar{overflow-x:auto}.topo{margin-top:16px}.largo{grid-column:span 2}.fim{align-self:end}
tr.inativo{opacity:.45}nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}header a{margin-left:0}
@media(max-width:600px){.largo{grid-column:auto}main{margin:12px auto}}

.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.abas a{padding:6px 12px;border:1px solid var(--borda);border-radius:16px;color:var(--azul);text-decoration:none;font-size:14px}.abas a.ativa{background:var(--azul);color:#fff;border-color:var(--azul)}
.acoes{white-space:nowrap}.acoes .btn{padding:5px 10px}
.trilha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-size:15px}.trilha a{color:var(--azul)}
.pastas{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.pasta{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--borda);border-radius:8px;color:inherit;text-decoration:none;background:#fff}
.pasta:hover{border-color:var(--azul);box-shadow:0 1px 4px rgba(31,78,121,.15)}.pasta .icone{font-size:26px;line-height:1}.pasta b{font-size:16px}.pasta.vazia{opacity:.55}
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.caixa{border:1px solid var(--borda);border-radius:8px;padding:12px;display:flex;flex-direction:column}.caixa b{font-size:22px}.caixa.alerta-caixa{background:#fee4e2;border-color:#fda29b}.linha{font-family:monospace;word-break:break-all}
.check{display:flex;gap:8px;align-items:center;font-size:15px;color:inherit}.check input{width:auto}.btn.vermelho{color:var(--vermelho);border-color:var(--vermelho)}
#faixa{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:50;background:#1d2939;color:#fff;padding:10px 14px;border-radius:8px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);max-width:calc(100% - 32px)}#faixa button{background:#fff;color:#1d2939;padding:6px 12px}
tr.filial td:first-child{padding-left:22px}
header nav a.ativo{font-weight:700;color:var(--ouro);box-shadow:inset 0 -2px 0 var(--ouro);padding-bottom:3px}
.cabTopo{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.cabTopo h1{margin-bottom:4px}.cabTopo p{margin:4px 0}
.cabEmpresa{padding-bottom:12px}.cabEmpresa .abas{margin-bottom:0}.cabEmpresa .abas a{font-weight:600}.atalhos{display:flex;gap:6px;flex-wrap:wrap}
h2.secao{font-size:15px;color:var(--azul);border-bottom:1px solid var(--borda);padding-bottom:6px;margin:22px 0 12px}form>h2.secao:first-child{margin-top:0}
a.caixa{color:inherit;text-decoration:none}a.caixa:hover{border-color:var(--azul)}
tr.clicavel{cursor:pointer}tr.clicavel:hover td{background:#f8fafc}
.nowrap{white-space:nowrap}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:8px}.form2 .inteiro{grid-column:1/-1}
.ajuda{font-size:12px;color:#667085;margin-top:4px;line-height:1.35}
.cabEmpresa{position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(16,24,40,.08)}
.abas .qtd{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:rgba(31,78,121,.12);font-size:12px;text-align:center}.abas a.ativa .qtd{background:rgba(255,255,255,.25)}
.naoSalvo{color:var(--amarelo);font-weight:600}
tr.sub td{background:#f8fafc;font-size:14px}tr.sub td:first-child{padding-left:26px}
@media(max-width:700px){.form2{grid-template-columns:1fr}.cabEmpresa{position:static}.cabTopo .atalhos .btn{padding:6px 10px}}
.card>.cabTopo:first-child{margin-bottom:16px;align-items:center}.card>.cabTopo:first-child h1{margin:0}
button.verFiliais{background:#eef1f7;color:var(--azul);border:1px solid #cdd5e4;border-radius:14px;padding:3px 10px;font-size:13px;white-space:nowrap;font-weight:600}
button.verFiliais:hover,button.verFiliais.aberto{background:var(--azul);color:#fff;border-color:var(--azul)}
.tag.importada{background:#eef0f3;color:#475467}
.pendencias{list-style:none;padding:0;margin:0}.pendencias li{padding:8px 12px;border-left:4px solid #f5c26b;background:#fffaf0;margin-bottom:6px;border-radius:4px}.pendencias li.urgente{border-left-color:var(--vermelho);background:#fef3f2}.pendencias a{color:inherit;text-decoration:none;display:block}.pendencias a:hover{text-decoration:underline}
.grafico{display:flex;align-items:flex-end;gap:6px;height:190px;padding:8px 0 0;border-bottom:1px solid var(--borda);margin-bottom:8px}
.grafico .barra{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.grafico .coluna{width:70%;background:var(--azul);border-radius:4px 4px 0 0}.grafico .barra.atual .coluna{background:var(--ouro)}
.grafico .valor{font-size:11px;color:#475467;white-space:nowrap}.grafico .mes{font-size:11px;color:#667085;margin-top:4px;white-space:nowrap}
.alerta.aviso{background:#fef0c7}
.instalar{background:#eef1f7;border-color:#cdd5e4}
td.detalhe{font-size:13px;word-break:break-word;max-width:520px}
.periodo{display:flex;flex-wrap:wrap;gap:6px}.periodo .btn{padding:6px 10px;font-size:13px}
/* logos e painel da empresa */
.marcaTopo{display:flex;align-items:center;gap:10px}.logoTopo{height:34px;max-width:190px;object-fit:contain;background:#fff;border-radius:6px;padding:3px 6px}
.logoLogin{display:block;max-height:120px;max-width:100%;margin:0 auto 12px}.logoEmpresa{height:44px;max-width:170px;object-fit:contain;vertical-align:middle;margin-right:12px}
.logoLinha{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.logoPrevia{width:240px;height:80px;border:1px dashed var(--borda);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff}
.logoPrevia img{max-width:100%;max-height:100%}
.painelDuplo{display:grid;grid-template-columns:3fr 2fr;gap:20px}@media (max-width:900px){.painelDuplo{grid-template-columns:1fr}}
.rank{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;margin:10px 0}.rank .trilho{grid-column:1/-1}.rank .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .trilho{background:#eef2f6;border-radius:4px;height:14px}.rank .enchido{background:var(--azul);height:100%;border-radius:4px}
.clicavel .barra{cursor:pointer}.clicavel .barra:hover .coluna{opacity:.8}.grafico .barra.sel .coluna{background:var(--ouroEscuro)}
.logoTopo.semMoldura{background:none;padding:0;height:46px}
.caixaPix{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;padding:8px 0}.caixaPix>div{flex:1;min-width:240px}.codigoPix{width:100%;font-family:monospace;font-size:12px;word-break:break-all}
/* cores do logo: azul-marinho e dourado */
h1{color:var(--azul)}h2.secao{border-color:var(--ouro)}
button:hover,.btn:hover{filter:brightness(1.15)}.btn.sec:hover{filter:none;background:var(--ouroClaro);border-color:var(--ouroEscuro);color:var(--azul)}
a{color:var(--azul)}.abas a.ativa{border-color:var(--ouro);color:#fff}
#faixa a{color:#fff}
.caixa b{color:var(--azul)}.rank .enchido{background:linear-gradient(90deg,var(--azul),#2a4378)}.rank:first-of-type .enchido{background:linear-gradient(90deg,var(--ouroEscuro),var(--ouro))}
.estreito h1{text-align:center}
.cabFin{padding-bottom:10px}.cabFin .abas{margin-bottom:0}.cabFin h1{margin-bottom:10px}
/* agenda: calendário (mês / semana / dia) */
.calLayout{display:grid;grid-template-columns:1fr 280px;gap:20px}@media (max-width:1000px){.calLayout{grid-template-columns:1fr}}
.calTopo{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.calTopo b{font-size:17px;margin:0 8px;display:inline-block}.calTopo b::first-letter{text-transform:uppercase}.calTopo .visoes{margin-left:auto}.calTopo select{width:auto}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--borda);border-left:1px solid var(--borda)}
.calCab{text-align:center;font-weight:600;font-size:13px;padding:6px;border-right:1px solid var(--borda);border-bottom:1px solid var(--borda);color:var(--azul)}
.calDia{min-height:96px;padding:4px 6px;border-right:1px solid var(--borda);border-bottom:1px solid var(--borda);overflow:hidden}.cal.semana .calDia{min-height:300px}
.calDia .num{display:block;text-align:center;font-weight:600;font-size:13px;color:var(--azul);text-decoration:none;margin-bottom:2px}
.calDia.fora{background:#f8fafc}.calDia.fora .num{color:#98a2b3}.calDia.hoje .num{background:var(--ouro);color:#fff;border-radius:6px;width:26px;margin:0 auto 2px}
.ev{display:block;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d2939;text-decoration:none;padding:1px 0}
.ev i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:#98a2b3;vertical-align:middle}
.ev.atraso i{background:var(--vermelho)}.ev.hoje i{background:#e8913a}.ev.pend i{background:#2e78c7}.ev.ok i{background:var(--verde)}.ev.tarefa i{background:var(--ouro)}
.calDia .mais{font-size:12px;color:#586174}.legenda .ev{display:inline-block;margin-right:12px}
.calLado .mini{border:1px solid var(--borda);border-radius:8px;padding:8px}.miniTopo{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.miniTopo b{color:var(--ouroEscuro);display:inline-block}.miniTopo b::first-letter{text-transform:uppercase}.miniTopo a{text-decoration:none;padding:0 6px}
.miniGrade{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:12px}.miniGrade a{padding:4px 0;border-radius:6px;text-decoration:none;color:#1d2939}
.miniGrade a.fora{color:#98a2b3}.miniGrade a.hoje{background:var(--ouro);color:#fff}.miniGrade a.sel{outline:2px solid var(--azul)}.miniGrade a.temAtraso{box-shadow:inset 0 -2px 0 var(--vermelho)}
.itemLado{font-size:13px;padding:6px 0;border-bottom:1px solid var(--borda)}

/* escolha de destinatários e seleção de documentos para e-mail */
.paraLista{margin:.4rem 0}.paraLista .check{display:flex;gap:.4rem;align-items:center;margin:.2rem 0}
.envioSel{border-top:1px solid var(--borda,#d9dee3);padding-top:.6rem}
.envioSel textarea{width:100%}

/* tela de entrada dividida (formulário + painel da TS) */
.loginDividido{display:grid;grid-template-columns:minmax(320px,440px) 1fr;min-height:calc(100vh - 140px);margin:-8px 0 0;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(3,26,57,.12);background:#fff}
.loginForm{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.loginForm h1{text-align:center;margin:4px 0 22px}
.loginAcoes{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.loginNovo{text-align:center;margin-top:34px;color:#5b6474}
.senhaBox{position:relative;display:block}.senhaBox input{padding-right:44px}
.olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none!important;border:0!important;color:#5b6474!important;padding:4px 8px!important;font-size:16px;cursor:pointer}
.loginPainel{position:relative;overflow:hidden;color:#fff;padding:56px 52px;display:flex;align-items:center;
  background:radial-gradient(900px 420px at 85% 0%,#1b4a8a 0,transparent 60%),linear-gradient(155deg,#031a39 0,#062550 70%,#0b2f63 100%)}
.loginPainelTexto{position:relative;z-index:1;max-width:520px}
.loginPainel h2{font-size:40px;line-height:1.15;margin:14px 0 22px;color:#fff}.loginPainel h2 em{font-style:normal;color:#e3c58f}
.loginPainel ul{list-style:none;padding:0;margin:0 0 30px}.loginPainel li{padding:7px 0 7px 32px;position:relative;color:#dbe2ee;font-size:17px}
.loginPainel li::before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:#c29a5b;color:#031a39;font-weight:800;display:grid;place-items:center;font-size:12px}
.loginSelo{display:inline-block;border:1px solid #c29a5b;color:#e3c58f;border-radius:20px;padding:5px 14px;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.btnOuro{background:#c29a5b!important;color:#031a39!important;border:0!important;border-radius:30px!important;padding:13px 26px!important;font-weight:700;font-size:16px}
.btnOuro:hover{background:#e3c58f!important}
.loginMarca{position:absolute;right:-90px;bottom:-90px;width:420px;opacity:.13;border-radius:50%;pointer-events:none}
#propostaBox{background:rgba(255,255,255,.07);border:1px solid rgba(227,197,143,.4);border-radius:14px;padding:18px 20px;margin-bottom:10px}
#propostaBox h3{margin:0 0 10px;color:#e3c58f}#propostaBox p{color:#dbe2ee}
#fProposta{display:grid;grid-template-columns:1fr 1fr;gap:10px}#fProposta input,#fProposta select,#fProposta textarea{margin:0;background:#fff;color:#1d2939}
#fProposta textarea,#fProposta select,#fProposta button{grid-column:1/-1}#fProposta textarea{min-height:70px}
.isca{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
@media (max-width:900px){.loginDividido{grid-template-columns:1fr}.loginPainel{padding:36px 26px}.loginPainel h2{font-size:28px}.loginForm{padding:34px 24px}#fProposta{grid-template-columns:1fr}}
.loginRedes{margin-top:22px;font-size:14px;color:#c8d1e0}.loginRedes a{color:#e3c58f}
