:root{
  --laranja:#F0400E; --laranja-escuro:#C93409; --laranja-claro:#FFE9E0; --laranja-suave:rgba(240,64,14,.14);
  --roxo:#8B5CF6; --rosa:#EC4899;
  --fundo:#0B0A12; --card:#15131F; --card-2:#1C1A29; --borda:#28253A;
  --texto:#F3F1F8; --texto-suave:#A9A4BF; --cinza:#6B6B6B; --cinza-claro:#E9E6E3;
  --ok:#22C55E; --atencao:#F59E0B; --urgente:#EF4444;
  --sombra:0 6px 24px rgba(0,0,0,.35);
}
/* Tema claro: mesmas variáveis, paleta do site (fundo creme, cartões brancos, laranja) */
html[data-theme="light"]{
  --fundo:#FFF8F4; --card:#FFFFFF; --card-2:#F5F0EC; --borda:#E9E6E3;
  --texto:#151515; --texto-suave:#6B6B6B; --laranja-suave:rgba(240,64,14,.10);
  --ok:#1E9E5A; --atencao:#C98A00; --urgente:#D62828;
  --sombra:0 6px 20px rgba(60,40,20,.08);
  --topo:#FFFFFF; --link:#C93409;
}
html{--topo:#07060D; --link:#FF7A45}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:Inter,system-ui,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;margin:0 0 .3em;color:var(--texto)}
h1{font-size:1.7rem} h2{font-size:1.1rem} h3{font-size:1rem}
a{color:var(--link)}
.topo{display:flex;align-items:center;gap:28px;padding:10px 28px;background:var(--topo);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:5}
.topo .marca img{height:46px;display:block}
.topo .marca .logo-claro{display:none} html[data-theme="light"] .topo .marca .logo-escuro{display:none} html[data-theme="light"] .topo .marca .logo-claro{display:block}
.topo nav{display:flex;gap:4px}
.topo nav a{color:var(--texto);text-decoration:none;padding:8px 14px;border-radius:10px;font-weight:500}
.topo nav a.ativo{background:linear-gradient(135deg,var(--laranja),#FF7A2F);color:#fff}
.topo nav a:hover:not(.ativo){background:var(--card-2)}
.topo nav a.modulo-externo{border:1px solid var(--borda);color:var(--texto-suave);margin-left:6px}
.topo-info{margin-left:auto;color:var(--texto-suave);font-size:.85rem;display:flex;align-items:center;gap:8px}
.topo-info a{color:var(--texto);text-decoration:none} .topo-info a:hover{text-decoration:underline}
.tema-btn{border:1px solid var(--borda);background:var(--card);color:var(--texto);border-radius:999px;padding:5px 10px;cursor:pointer;font:inherit;font-size:.85rem;line-height:1}
.tema-btn:hover{border-color:var(--laranja)}
.conteudo{max-width:none;margin:0 auto;padding:24px 32px 48px}
.rodape{display:flex;gap:16px;align-items:center;padding:20px 28px;border-top:1px solid var(--borda);background:var(--topo);color:var(--texto-suave);font-size:.82rem}
.rodape-logo{height:54px;opacity:.95}
.logo-claro{display:none} html[data-theme="light"] .logo-escuro{display:none} html[data-theme="light"] .logo-claro{display:block}
.cabecalho-pagina{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.sub{color:var(--texto-suave);margin:0}
.info{margin:.4em 0 0;max-width:640px;color:var(--texto-suave)}
.contas{color:var(--texto-suave);font-size:.85rem;margin:.2em 0 0}
.kpis{display:flex;gap:10px;flex-wrap:wrap}
.kpi{background:var(--card);border:1px solid var(--borda);border-radius:14px;padding:10px 16px;min-width:130px;box-shadow:var(--sombra)}
.kpi .num{display:block;font-family:Poppins,sans-serif;font-weight:600;font-size:1.3rem}
.kpi .rot{color:var(--texto-suave);font-size:.78rem}
.kpi.urgente .num{color:var(--urgente)} .kpi.atencao .num{color:var(--atencao)} .kpi.ok .num{color:var(--ok)}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 20px}
.filtros.compacto{margin:8px 0 0}
.filtros input,.filtros select{padding:9px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--card);color:var(--texto);font:inherit}
.filtros button,.barra-relatorio button,.login button{padding:9px 18px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--laranja),#FF7A2F);color:#fff;font-weight:600;cursor:pointer;font:inherit}
.filtros button:hover{filter:brightness(1.08)}
.filtros .limpar{font-size:.9rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:28px}
.grupo-titulo{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-size:1.15rem;padding-bottom:8px;border-bottom:1px solid var(--borda)}
.grupo-titulo small{color:var(--texto-suave);font-weight:400;font-size:.85rem}
.card{display:block;background:var(--card);border-radius:16px;padding:16px 18px;text-decoration:none;color:inherit;border:1px solid var(--borda);border-top:5px solid var(--cinza);box-shadow:var(--sombra);transition:transform .12s,border-color .12s}
.card:hover{transform:translateY(-2px);border-color:var(--roxo)}
.card.status-vermelho{border-top-color:var(--urgente)} .card.status-amarelo{border-top-color:var(--atencao)} .card.status-verde{border-top-color:var(--ok)}
.card-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.badge{font-size:.8rem;background:var(--laranja-suave);color:var(--link);padding:3px 9px;border-radius:999px;font-weight:600}
.plat{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--card-2);color:var(--texto-suave)}
.plat-meta{background:rgba(24,119,242,.18);color:#7FB3FF} .plat-google{background:rgba(52,168,83,.18);color:#6FD98F}
.card h2{margin:0}
.ramo{color:var(--texto-suave);font-size:.88rem;margin:0 0 10px;min-height:1.3em}
.metricas{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}
.metricas dt{font-size:.7rem;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.04em}
.metricas dd{margin:0;font-weight:600}
.metricas small{font-weight:400;color:var(--texto-suave)}
.alerta{margin:10px 0 0;padding:8px 10px;background:var(--laranja-suave);border-left:3px solid var(--laranja);border-radius:6px;font-size:.88rem}
.quando{color:var(--texto-suave);font-size:.78rem;margin:10px 0 0}
.vazio{color:var(--texto-suave)}
.voltar{display:inline-block;margin-bottom:10px;text-decoration:none;font-weight:500}
.duas-colunas{display:grid;grid-template-columns:2fr 1fr;gap:18px} .tres-colunas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;margin-bottom:18px}
.grid-graficos.duas{grid-template-columns:2fr 1fr}
@media (max-width:900px){.duas-colunas,.tres-colunas,.grid-graficos.duas{grid-template-columns:1fr}.topo{flex-wrap:wrap}}
.bloco{background:var(--card);border:1px solid var(--borda);border-radius:16px;padding:18px 20px;box-shadow:var(--sombra);margin-bottom:18px}
.tabela{width:100%;border-collapse:collapse;font-size:.9rem}
.tabela th{text-align:left;color:var(--texto-suave);font-weight:600;font-size:.75rem;text-transform:uppercase;padding:6px 8px;border-bottom:2px solid var(--borda)}
.tabela td{padding:8px;border-bottom:1px solid var(--borda)}
.acoes li,.historico li,.alertas li{margin-bottom:6px} .historico,.lista,.alertas{padding-left:18px;font-size:.9rem;color:var(--texto-suave)}
.alertas strong{color:var(--texto)}
details.perfil summary{cursor:pointer;list-style:none} details.perfil summary h2{display:inline}
.md table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.9rem} .md th,.md td{border:1px solid var(--borda);padding:6px 8px;text-align:left} .md th{background:var(--card-2)}
.md h1{font-size:1.5rem;color:var(--link)} .md h2{margin-top:1.2em;border-bottom:2px solid var(--borda);padding-bottom:4px}
.barra-relatorio{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
/* ---------- formulários (conta, usuários) ---------- */
.formulario{display:flex;flex-direction:column;gap:10px;max-width:420px}
.formulario label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--texto-suave)}
.formulario label.check{flex-direction:row;align-items:center;gap:8px}
.formulario input[type=text],.formulario input[type=password]{padding:10px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--fundo);color:var(--texto);font:inherit;font-size:1rem}
.formulario button{align-self:flex-start;padding:9px 18px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--laranja),#FF7A2F);color:#fff;font-weight:600;cursor:pointer;font:inherit}
.formulario.compacto{flex-direction:row;align-items:center;gap:6px;margin-top:6px} .formulario.compacto input{padding:7px 10px;font-size:.9rem}
.formulario.compacto button{padding:7px 12px;font-size:.85rem}
.dica{color:var(--texto-suave);font-size:.82rem;margin:0}
.campo-senha{position:relative;display:flex;align-items:center} .campo-senha input{flex:1;padding-right:40px!important;width:100%}
.olho,.login .campo-senha .olho,.formulario .campo-senha .olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:1.05rem;line-height:1;padding:4px;color:var(--texto-suave);align-self:auto;font-weight:400;border-radius:0} .olho:hover{color:var(--texto)}
.login .campo-senha{width:100%}
.aviso{padding:10px 14px;border-radius:10px;margin:0 0 16px;font-size:.92rem}
.aviso.ok{background:rgba(34,197,94,.14);color:#86EFAC;border-left:3px solid var(--ok)}
.aviso.erro{background:rgba(239,68,68,.14);color:#FCA5A5;border-left:3px solid var(--urgente)}
.acoes-linha{white-space:nowrap} .acoes-linha details{display:inline-block;margin-right:10px} .acoes-linha summary{cursor:pointer;color:var(--link);font-size:.88rem}
form.inline{display:inline} button.link{background:none;border:0;color:var(--link);cursor:pointer;font:inherit;font-size:.88rem;padding:0 6px} button.link.perigo{color:var(--urgente)}
/* ---------- login ---------- */
.tela-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(1200px 600px at 20% -10%,rgba(139,92,246,.25),transparent),radial-gradient(900px 500px at 100% 100%,rgba(240,64,14,.22),transparent),var(--fundo)}
.login{background:var(--card);border:1px solid var(--borda);border-radius:18px;padding:32px 34px;width:min(92vw,400px);box-shadow:var(--sombra);display:flex;flex-direction:column;gap:12px}
.login img{height:56px;align-self:center;margin-bottom:6px}
.login h1{text-align:center;font-size:1.3rem} .login .sub{text-align:center}
.login label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--texto-suave)}
.login input{padding:11px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--fundo);color:var(--texto);font:inherit;font-size:1rem}
.login .erro{background:rgba(239,68,68,.15);color:#FCA5A5;padding:8px 10px;border-radius:8px;margin:0;font-size:.9rem}
/* ---------- documentos (claro, para PDF) ---------- */
.documento{background:#fff;color:#111;border-radius:14px;padding:32px 40px;max-width:900px;margin:0 auto;box-shadow:var(--sombra)}
.documento h1,.documento h2,.documento h3{color:#111}
.documento a{color:var(--laranja-escuro)}
.doc-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:3px solid var(--laranja);padding-bottom:14px;margin-bottom:20px}
.doc-cabecalho img{height:56px} .doc-empresa{text-align:right;font-size:.8rem;color:#666}
.doc-rodape{margin-top:28px;padding-top:12px;border-top:1px solid var(--cinza-claro);color:#777;font-size:.78rem;text-align:center}
.documento .md table th{background:var(--laranja-claro)} .documento .md th,.documento .md td{border-color:var(--cinza-claro)} .documento .md h2{border-color:var(--laranja-claro)}
.doc-mensal .capa{text-align:center;padding:18px 0 26px}
.capa-rotulo{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--laranja-escuro);font-weight:700;margin:0}
.doc-mensal .capa h1{font-size:2.3rem;margin:.1em 0}
.capa-mes{color:#666;margin:0} .capa-frase{max-width:640px;margin:14px auto 0;font-size:1.05rem;color:#333}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.tile{background:#FFF8F4;border:1px solid var(--cinza-claro);border-radius:14px;padding:16px;text-align:center}
.tile.destaque{background:linear-gradient(135deg,var(--laranja),#FF7A2F);color:#fff;border:0}
.tile .ico{font-size:1.4rem;display:block} .tile .num{display:block;font-family:Poppins,sans-serif;font-weight:700;font-size:1.7rem;line-height:1.2}
.tile .rot{font-size:.8rem;opacity:.85}
.doc-graficos{grid-template-columns:1fr 1fr} .bloco-doc{border:1px solid var(--cinza-claro);border-radius:14px;padding:14px 16px} .bloco-doc.largo{grid-column:1/-1}
.bloco-doc h2{font-size:1rem;color:#333;margin-bottom:8px}
.destaques{margin-top:18px;padding:16px 20px;background:#FFF8F4;border-left:4px solid var(--laranja);border-radius:10px}
.destaques h2{font-size:1.05rem} .destaques ul,.destaques ol{margin:0;padding-left:20px} .destaques li{margin-bottom:6px}
.destaques.proximos{background:#F3F0FF;border-left-color:var(--roxo)}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff;color:#111} .topo,.rodape,.no-print{display:none!important} .conteudo{padding:0;max-width:none}
  .documento{border:0;box-shadow:none;padding:0;max-width:none;border-radius:0} a{color:inherit;text-decoration:none}
  .tiles{grid-template-columns:repeat(3,1fr)} .tile.destaque{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .destaques,.tile{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bloco-doc{break-inside:avoid} .destaques{break-inside:avoid}
}
