/* NATEL — sem build. Linguagem visual do protótipo aprovado pelo proprietário, com as cores da logo (ver ADR-012). */
:root {
  color-scheme: light;
  --nav: #010628; --nav-ativo: #141b4f; --nav-borda: rgba(255, 255, 255, .09); --nav-texto: #a3aed0; --nav-sutil: #6d7aa6;
  --fundo: #f4f6fc; --superficie: #ffffff; --texto: #101a3c; --sutil: #66728f; --borda: #e4e8f2;
  --destaque: #3f37c9; --destaque-forte: #2f28a8; --destaque-fundo: #eeedfc;
  --gradiente: linear-gradient(100deg, #2563eb, #7c3aed); --gradiente-marca: linear-gradient(180deg, #00c8ff, #8b35f5);
  --ok: #17785a; --ok-fundo: #e7f7ef; --espera: #8a5a12; --espera-fundo: #fff3e0; --falha: #b42a3a; --falha-fundo: #fdecef;
  --acao: #5b2fc0; --acao-fundo: #f1ebfd; --demo-fundo: #fff1bf; --demo-texto: #5c4800;
  --sombra: 0 8px 24px rgba(16, 26, 60, .05);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 14px/1.5 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: var(--destaque); }
h1 { font-size: 1.65rem; line-height: 1.2; letter-spacing: -.03em; font-weight: 800; margin: 0 0 .3rem; }
h2 { font-size: 1rem; letter-spacing: -.01em; font-weight: 750; margin: 0 0 .6rem; }
h3 { font-size: .95rem; font-weight: 750; margin: 0 0 .3rem; }
h3 a { color: inherit; text-decoration: none; }
h3 a:hover { color: var(--destaque); }
:focus-visible { outline: 2px solid #7c3aed; outline-offset: 2px; }
.faixa-demo { background: var(--demo-fundo); color: var(--demo-texto); padding: .4rem 1rem; text-align: center; font-weight: 650; font-size: .78rem; }
.faixa-sombra { background: var(--acao-fundo); color: var(--acao); padding: .4rem 1rem; text-align: center; font-weight: 700; font-size: .78rem; }
.sutil { color: var(--sutil); font-size: .86rem; }
.vazio { color: var(--sutil); font-style: italic; }
.sem-margem { margin: 0; }
[hidden] { display: none !important; }

/* Estrutura */
.app { display: flex; min-height: 100vh; align-items: stretch; }
.menu-chave { position: absolute; opacity: 0; width: 1px; height: 1px; }
.menu-fundo { display: none; }
.barra-lateral { width: 250px; flex-shrink: 0; background: var(--nav); color: #fff; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 40; }
.barra-marca { height: 82px; padding: 0 24px; display: flex; align-items: center; border-bottom: 1px solid var(--nav-borda); flex-shrink: 0; }
.barra-marca img { width: 138px; height: auto; display: block; }
.legenda-lateral { color: var(--nav-sutil); font-size: .68rem; font-weight: 800; letter-spacing: .11em; margin: 24px 24px 10px; }
.navegacao { padding: 0 12px; display: grid; gap: 4px; }
.navegacao a { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 10px; color: var(--nav-texto); font-weight: 600; font-size: .9rem; text-decoration: none; }
.navegacao a:hover { background: var(--nav-ativo); color: #fff; }
.navegacao a.atual { background: var(--nav-ativo); color: #fff; }
.navegacao a.atual::before { content: ""; position: absolute; left: -12px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--gradiente-marca); }
.navegacao a.atual svg { color: #58c8ff; }
.navegacao .rotulo { flex: 1; }
.contador { min-width: 21px; text-align: center; background: var(--gradiente); color: #fff; border-radius: 7px; padding: 2px 6px; font-size: .7rem; font-weight: 700; }
.lateral-rodape { margin-top: auto; padding: 18px 12px 20px; }
.empresa-caixa { background: #0a1040; border: 1px solid #1d2560; border-radius: 12px; padding: 12px; }
.mini-legenda { font-size: .63rem; color: var(--nav-sutil); letter-spacing: .08em; font-weight: 800; margin-bottom: 8px; }
.empresa-opcao { width: 100%; display: flex; align-items: center; gap: 8px; background: none; border: 1px solid transparent; border-radius: 8px; color: var(--nav-texto); padding: 8px 9px; font: inherit; font-size: .84rem; font-weight: 650; cursor: pointer; text-align: left; }
.empresa-opcao:hover { background: var(--nav-ativo); color: #fff; }
.empresa-opcao.ativa { background: var(--nav-ativo); border-color: #2c3580; color: #fff; cursor: default; }
.empresa-trocar { display: block; margin-top: 8px; padding: 7px 9px; border-radius: 8px; color: #79d3ff; font-size: .78rem; font-weight: 650; text-decoration: none; }
.empresa-trocar:hover { background: var(--nav-ativo); }
.ponto { width: 7px; height: 7px; border-radius: 50%; background: #4a5482; flex-shrink: 0; }
.ativa .ponto { background: #36d399; box-shadow: 0 0 0 3px rgba(54, 211, 153, .2); }

.principal { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.barra-topo { min-height: 76px; background: var(--superficie); border-bottom: 1px solid var(--borda); display: flex; align-items: center; gap: 14px; padding: 12px 32px; position: sticky; top: 0; z-index: 20; }
.hamburguer { display: none; place-items: center; width: 38px; height: 36px; border: 1px solid var(--borda); border-radius: 8px; background: var(--superficie); cursor: pointer; font-size: 1rem; margin: 0; }
.topo-esquerda { flex: 1; min-width: 0; }
.trilha { font-size: .73rem; color: var(--sutil); font-weight: 650; margin-bottom: 2px; }
.topo-titulo { font-size: 1.2rem; letter-spacing: -.02em; font-weight: 800; margin: 0; }
.topo-direita { display: flex; align-items: center; gap: 10px; }
.pilula-periodo { border: 1px solid var(--borda); border-radius: 10px; padding: 9px 11px; color: #47556f; font-size: .76rem; font-weight: 650; white-space: nowrap; display: flex; align-items: center; gap: 7px; }
.botao-icone { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--borda); border-radius: 10px; color: #47556f; background: var(--superficie); }
.botao-icone:hover { border-color: #bcc5dc; }
.selo { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--falha); color: #fff; font-size: .66rem; font-weight: 800; display: grid; place-items: center; }
.menu-usuario { position: relative; }
.menu-usuario summary { list-style: none; width: 38px; height: 38px; border-radius: 50%; background: var(--destaque-fundo); color: var(--destaque); font-weight: 800; font-size: .8rem; display: grid; place-items: center; cursor: pointer; }
.menu-usuario summary::-webkit-details-marker { display: none; }
.menu-usuario-painel { position: absolute; right: 0; top: 46px; width: 230px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 12px; box-shadow: 0 20px 40px rgba(16, 26, 60, .14); padding: 8px; z-index: 30; }
.menu-usuario-painel .quem { padding: 8px 10px 10px; border-bottom: 1px solid var(--borda); margin-bottom: 6px; font-size: .78rem; color: var(--sutil); overflow-wrap: anywhere; }
.menu-usuario-painel .quem strong { display: block; color: var(--texto); font-size: .86rem; }
.menu-usuario-painel a, .menu-usuario-painel button { display: block; width: 100%; text-align: left; padding: 9px 10px; border: 0; border-radius: 8px; background: none; color: var(--texto); font: inherit; font-size: .86rem; font-weight: 600; text-decoration: none; cursor: pointer; margin: 0; }
.menu-usuario-painel a:hover, .menu-usuario-painel button:hover { background: var(--fundo); }

.conteudo { width: 100%; max-width: 1500px; margin: 0 auto; padding: 24px 32px 64px; }
.contexto { color: var(--sutil); font-size: .76rem; margin: 0 0 16px; }
.abas { display: flex; gap: 4px; border-bottom: 1px solid var(--borda); margin-bottom: 20px; overflow-x: auto; }
.abas a { padding: 11px 15px; border-bottom: 2px solid transparent; color: var(--sutil); font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.abas a:hover { color: var(--texto); }
.abas a.atual { color: var(--destaque); border-bottom-color: var(--destaque); }
.bloco { margin: 20px 0; }
.bloco > h2:first-child { font-size: 1.05rem; }

/* Visão executiva */
.sobretitulo { font-size: .69rem; font-weight: 850; color: var(--destaque); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.intro { margin-bottom: 18px; }
.intro-filtro { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.periodo-filtro { display: inline-flex; gap: 2px; padding: 3px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 10px; }
.periodo-filtro a { padding: 7px 12px; border-radius: 7px; color: var(--sutil); font-size: .8rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.periodo-filtro a:hover { color: var(--texto); }
.periodo-filtro a.atual { background: var(--destaque-fundo); color: var(--destaque); }
.periodo-mes { position: relative; }
.periodo-mes summary { list-style: none; cursor: pointer; padding: 7px 12px; border-radius: 7px; color: var(--sutil); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.periodo-mes summary::-webkit-details-marker { display: none; }
.periodo-mes summary::after { content: " ▾"; font-size: .7rem; }
.periodo-mes.atual summary { background: var(--destaque-fundo); color: var(--destaque); }
.periodo-mes-lista { position: absolute; right: 0; top: 40px; z-index: 15; min-width: 190px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 10px; padding: 6px; box-shadow: 0 16px 32px rgba(16, 26, 60, .14); }
.periodo-mes-lista a { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; }
.periodo-mes-lista a:hover { background: var(--fundo); }
.periodo-mes-lista a[aria-current] { color: var(--destaque); }
.periodo-mes-lista span { font-weight: 500; font-size: .72rem; }
.heroi { position: relative; overflow: hidden; display: flex; justify-content: space-between; gap: 20px; background: radial-gradient(circle at 88% 8%, rgba(124, 58, 237, .38), transparent 42%), radial-gradient(circle at 62% 120%, rgba(0, 200, 255, .2), transparent 42%), var(--nav); color: #fff; border-radius: 17px; padding: 28px 30px; margin-bottom: 20px; }
.heroi-rotulo { display: flex; align-items: center; gap: 7px; color: #79d3ff; text-transform: uppercase; font-size: .69rem; letter-spacing: .1em; font-weight: 800; }
.heroi h2 { font-size: 1.55rem; letter-spacing: -.025em; line-height: 1.25; font-weight: 800; margin: 10px 0 8px; }
.heroi p { color: #b8c2e3; font-size: .84rem; line-height: 1.6; max-width: 660px; margin: 0; }
.heroi-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.heroi-numero { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; text-align: right; min-width: 170px; }
.heroi-numero .rotulo { font-size: .76rem; color: #b8c2e3; }
.heroi-numero .valor { font-size: 2.1rem; font-weight: 850; letter-spacing: -.04em; margin: 4px 0; white-space: nowrap; }
.heroi-numero .pe { font-size: .69rem; color: #79d3ff; }
.metricas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.metrica { background: var(--superficie); border: 1px solid var(--borda); border-radius: 13px; padding: 17px 18px; box-shadow: var(--sombra); min-width: 0; color: inherit; text-decoration: none; display: block; }
a.metrica:hover { border-color: #bcb8ee; }
.metrica-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.metrica-rotulo { font-size: .76rem; color: var(--sutil); font-weight: 650; }
.metrica-icone { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--destaque-fundo); color: var(--destaque); }
.metrica-icone.azul { background: #e6f5ff; color: #0877b8; }
.metrica-icone.laranja { background: var(--espera-fundo); color: var(--espera); }
.metrica-icone.roxo { background: var(--acao-fundo); color: var(--acao); }
.metrica-valor { font-size: 1.7rem; letter-spacing: -.03em; font-weight: 850; margin: 10px 0 2px; }
.metrica-pe { font-size: .72rem; color: var(--sutil); }
.metricas.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.metricas.tres .metrica { box-shadow: none; }
.metricas.tres .metrica-pe { margin-top: 10px; }
.op-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 10px; align-items: baseline; padding: 9px 0; border-top: 1px solid var(--borda); margin-top: 8px; color: inherit; text-decoration: none; }
.op-linha:hover .op-canal { color: var(--destaque); text-decoration: underline; }
.op-canal { font-size: .84rem; font-weight: 650; }
.op-secao { margin-top: 12px; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--destaque); }
.op-linha strong { font-size: .86rem; font-weight: 800; }
.op-linha small { grid-column: 1 / -1; color: var(--sutil); font-size: .71rem; }
.colunas { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, 1fr); gap: 18px; }
.pilha { display: grid; gap: 18px; align-content: start; min-width: 0; }
.cartao { background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; padding: 20px; box-shadow: var(--sombra); min-width: 0; }
.cartao-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.cartao-topo h2 { margin: 0; }
.cartao-topo .sutil { margin: 3px 0 0; font-size: .76rem; }
.canais { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.canal { border: 1px solid var(--borda); border-radius: 11px; padding: 14px; min-width: 0; }
.canal-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 9px; font-weight: 750; }
.canal-valor { font-size: 1.3rem; letter-spacing: -.02em; font-weight: 850; }
.canal-linha { display: flex; justify-content: space-between; gap: 8px; font-size: .78rem; color: var(--sutil); padding-top: 5px; }
.canal-linha strong { color: var(--texto); font-weight: 700; }
.canal .sutil { font-size: .74rem; margin: 9px 0 0; }
.canal-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; padding: 14px; border-radius: 11px; background: var(--fundo); margin-bottom: 14px; }
.canal-numeros span { display: block; font-size: .72rem; color: var(--sutil); font-weight: 650; }
.canal-numeros strong { font-size: .98rem; font-weight: 800; }
.canal-detalhes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 4px; }
.canal-detalhes .sutil { margin: 4px 0; }
.atencao { display: flex; gap: 9px; align-items: flex-start; padding: 11px; border-radius: 9px; font-size: .8rem; line-height: 1.5; background: var(--espera-fundo); color: var(--espera); margin-bottom: 9px; }
.atencao.falha { background: var(--falha-fundo); color: var(--falha); }
.atencao svg { flex-shrink: 0; margin-top: 1px; }
.linha-foco { padding: 10px 0; border-top: 1px solid var(--borda); }
.linha-foco:first-of-type { border-top: 0; padding-top: 0; }
.linha-foco strong { display: block; font-size: .84rem; line-height: 1.4; }
.linha-foco .sutil { font-size: .74rem; margin: 3px 0 5px; }
.linha-dupla { display: flex; justify-content: space-between; gap: 8px; padding: 9px 0; border-top: 1px solid var(--borda); font-size: .82rem; }
.linha-dupla span { color: var(--sutil); }
.largo { display: block; width: 100%; text-align: center; margin-top: 12px; }

/* Painel visual */
.oculto { display: none; }
.heroi2 { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); gap: 28px; align-items: center; color: #fff; border-radius: 18px; padding: 28px 30px; margin-bottom: 26px; background: radial-gradient(circle at 92% 0, rgba(124, 58, 237, .55), transparent 45%), var(--nav); }
.heroi2-esq { display: flex; gap: 20px; align-items: center; position: relative; z-index: 1; }
.heroi2-icone { flex-shrink: 0; width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; background: rgba(124, 58, 237, .4); color: #e9e0ff; }
.heroi2-icone.menor { width: 46px; height: 46px; border-radius: 12px; }
.heroi2 h2 { font-size: 1.75rem; letter-spacing: -.03em; font-weight: 800; margin: 4px 0 6px; }
.heroi2 p { color: #c2cbe8; font-size: .86rem; line-height: 1.55; margin: 0; }
.heroi2-dir { display: flex; gap: 16px; align-items: flex-start; position: relative; z-index: 1; padding-left: 28px; border-left: 1px solid rgba(255, 255, 255, .16); }
.heroi2-dir p { margin-top: 8px; }
.heroi2-onda { position: absolute; right: 0; bottom: 0; width: 42%; height: 60%; pointer-events: none; }
.titulo-secao { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.titulo-secao > div { flex: 1; min-width: 220px; }
.titulo-visao { font-size: 1.5rem; margin: 0; }
.titulo-secao .sutil { margin: 2px 0 0; font-size: .8rem; }
.caixa-icone { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--acao-fundo); color: var(--acao); }
.caixa-icone.pequena { width: 36px; height: 36px; border-radius: 10px; }
.caixa-icone.laranja { background: var(--espera-fundo); color: var(--espera); }
.painel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 18px; }
.cartao2 { background: var(--superficie); border: 1px solid var(--borda); border-radius: 16px; padding: 20px; box-shadow: var(--sombra); min-width: 0; }
.cartao2-topo { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.cartao2-topo h2 { font-size: 1.15rem; margin: 0; letter-spacing: -.02em; font-weight: 800; }
.cartao2-topo .sutil { margin: 1px 0 0; font-size: .78rem; }
.tiles { display: grid; gap: 12px; margin-bottom: 12px; }
.tiles.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tiles.duas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tile { border: 1px solid var(--borda); border-radius: 12px; padding: 13px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.tile.destaque { flex-direction: row; align-items: center; gap: 12px; background: #f6f3fe; border-color: #ece6fb; }
.tile-rotulo { display: block; font-size: .76rem; color: var(--sutil); font-weight: 650; }
.tile-valor { display: block; font-size: 1.45rem; font-weight: 850; letter-spacing: -.03em; line-height: 1.2; }
.tile-valor.pequeno { font-size: 1.02rem; letter-spacing: -.01em; }
.pil-var { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px; border-radius: 6px; font-size: .71rem; font-weight: 750; background: #eff2f8; color: #5a6885; }
.pil-var.sobe { background: var(--ok-fundo); color: var(--ok); }
.pil-var.desce { background: var(--falha-fundo); color: var(--falha); }
.caixa-origens { border: 1px solid var(--borda); border-radius: 12px; padding: 4px 14px; margin-bottom: 14px; }
.origem { display: flex; gap: 12px; align-items: center; padding: 10px 0; }
.origem + .origem { border-top: 1px solid var(--borda); }
.origem-icone { color: var(--ok); }
.origem-icone.ads { color: #2563eb; }
.origem-corpo { flex: 1; min-width: 0; }
.origem-linha { display: flex; gap: 12px; align-items: baseline; font-size: .82rem; margin-bottom: 5px; }
.origem-linha strong { flex: 1; font-size: .84rem; }
.origem-pct { min-width: 46px; text-align: right; color: var(--sutil); }
.origem-corpo small { display: block; margin-top: 4px; color: var(--sutil); font-size: .72rem; }
.barra { display: block; width: 100%; height: 8px; }
.barra-fundo { fill: #e6e9f3; }
.barra-valor { fill: #6d4ef0; }
.barra-valor.ads { fill: #2563eb; }
.grafico-topo { display: flex; align-items: center; gap: 8px; font-size: .84rem; margin-bottom: 4px; }
.grafico-topo .sutil { font-size: .76rem; flex: 1; }
.grafico-ultimo { background: var(--acao-fundo); color: var(--acao); border-radius: 8px; padding: 4px 9px; font-size: .7rem; line-height: 1.3; }
.grafico-ultimo strong { display: block; font-size: .78rem; }
.grafico { display: block; width: 100%; height: auto; }
.graf-grade { stroke: #eceff6; stroke-width: 1; }
.graf-eixo { fill: #7a86a2; font-size: 11px; }
.graf-linha { fill: none; stroke: #6d4ef0; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.graf-ponto { fill: #4f35d6; stroke: #fff; stroke-width: 2; }
.selo-conv { margin-left: auto; display: flex; align-items: center; gap: 10px; background: #f6f3fe; border-radius: 12px; padding: 8px 14px; }
.selo-conv span { font-size: .72rem; color: var(--sutil); }
.selo-conv div strong { display: block; font-size: 1.1rem; font-weight: 850; }
.funil2 { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(170px, 1fr); gap: 20px; }
.etapa { margin-bottom: 12px; }
.etapa-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto 62px; gap: 10px; align-items: baseline; font-size: .82rem; margin-bottom: 4px; }
.etapa-valor { font-weight: 800; }
.etapa-pct { text-align: right; color: var(--sutil); font-size: .74rem; }
.funil2-evolucao { border-left: 1px solid var(--borda); padding-left: 18px; font-size: .82rem; }
.funil2-evolucao .sutil { margin: 26px 0; font-size: .78rem; }
.conv-caixa { background: var(--ok-fundo); border-radius: 10px; padding: 10px 12px; margin-top: 10px; }
.conv-caixa strong { display: block; color: var(--ok); font-size: 1.15rem; font-weight: 850; }
.conv-caixa span { font-size: .71rem; color: var(--ok); }
.nota-cartao { margin: 8px 0 0; color: var(--sutil); font-size: .74rem; }
.atencao2 { display: flex; gap: 10px; align-items: center; padding: 11px 12px; border-radius: 10px; background: var(--espera-fundo); color: var(--espera); font-size: .76rem; line-height: 1.45; text-decoration: none; margin-bottom: 8px; }
.atencao2.falha { background: var(--falha-fundo); color: var(--falha); }
.atencao2 svg { flex-shrink: 0; }
.atencao2 span { flex: 1; min-width: 0; }
.atencao2 strong { display: block; font-size: .83rem; }
.iniciativa { display: flex; justify-content: space-between; gap: 10px; align-items: center; border: 1px solid var(--borda); border-radius: 10px; padding: 11px 12px; margin-bottom: 8px; color: inherit; text-decoration: none; }
.iniciativa strong { display: block; font-size: .82rem; margin-bottom: 4px; }
.fonte-linha { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 8px 0; font-size: .82rem; }
.fonte-linha strong { font-weight: 650; }
.faixa-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
.funil2.sem-grafico { grid-template-columns: minmax(0, 1fr); }
.graf-linha.ads { stroke: #2563eb; stroke-dasharray: 5 4; }
.legenda { display: inline-flex; align-items: center; gap: 5px; color: var(--sutil); font-size: .74rem; }
.legenda i { width: 10px; height: 3px; border-radius: 2px; background: #6d4ef0; }
.legenda i.ponto-ads { background: #2563eb; }
.grafico-topo strong { margin-right: auto; }
.cartao2-topo .direita { margin-left: auto; }
.canal .barra { margin-top: 8px; }
.canal-parte { display: block; margin: 3px 0 6px; color: var(--sutil); font-size: .72rem; }
.kpi { display: flex; align-items: center; gap: 12px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; padding: 15px; box-shadow: var(--sombra); min-width: 0; }
.kpi .tile-valor { font-size: 1.2rem; margin: 2px 0 3px; }

/* Painel Blue Sea */
.resumo5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-bottom: 18px; padding: 16px 8px; }
.res-item { display: flex; gap: 10px; align-items: center; padding: 2px 12px; min-width: 0; }
.res-item + .res-item { border-left: 1px solid var(--borda); }
.res-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.res-corpo .tile-valor { font-size: 1.1rem; white-space: nowrap; }
.res-corpo .tile-valor.pequeno { font-size: .92rem; }
.res-corpo small { font-size: .7rem; color: var(--sutil); }
.res-item .caixa-icone { width: 36px; height: 36px; border-radius: 10px; }
.caixa-icone.azul { background: #e6f5ff; color: #0877b8; }
.mini { display: block; width: 100%; height: 22px; margin-top: 2px; }
.anel { flex: 0 0 38px; width: 38px; height: 38px; }
.anel-fundo { fill: none; stroke: #e6e9f3; stroke-width: 6; }
.anel-valor { fill: none; stroke: #17a673; stroke-width: 6; stroke-linecap: round; }
.tile.atend small { font-size: .71rem; color: var(--sutil); }
.tile.atend.ok { background: #f1fbf6; border-color: #d7f2e3; }
.tile.atend.espera { background: #fff9ef; border-color: #f8ead4; }
.tile.atend.falha { background: #fff5f6; border-color: #fbdfe3; }
.colunas-canal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.col-canal { border: 1px solid var(--borda); border-radius: 12px; padding: 12px 10px; min-width: 0; }
.col-canal-topo { display: flex; align-items: center; gap: 5px; margin-bottom: 12px; font-size: .82rem; }
.col-canal-topo .chip { flex-shrink: 0; font-size: .66rem; padding: 2px 6px; }
.col-canal-topo strong { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.selo-canal { flex-shrink: 0; width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; font-size: .52rem; font-weight: 800; background: var(--acao-fundo); color: var(--acao); }
.selo-canal.ml { background: #fff1a8; color: #2d3277; }
.selo-canal.amz { background: #232f3e; color: #ff9f1c; }
.selo-canal.shp { background: #ee4d2d; color: #fff; }
.col-canal-dia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-bottom: 8px; }
.col-canal-dia strong { display: block; font-size: .92rem; font-weight: 850; white-space: nowrap; }
.col-canal-dia > div:last-child { text-align: right; }
.col-canal-dia strong.sem-dado { font-size: .72rem; line-height: 1.9; }
.col-canal-nota { display: block; margin: 4px 0 8px; color: var(--sutil); font-size: .72rem; }
.lin-canal { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 4px; border-top: 1px solid var(--borda); color: inherit; font-size: .77rem; text-decoration: none; }
a.lin-canal:hover span { color: var(--destaque); text-decoration: underline; }
.lin-canal small { grid-column: 2 / -1; color: var(--sutil); font-size: .69rem; margin-top: -3px; }
.lin-canal strong { font-weight: 800; white-space: nowrap; font-size: .74rem; }
.lin-canal strong.sem-dado { grid-column: 2 / -1; font-weight: 600; color: var(--sutil); font-size: .72rem; margin-top: -4px; }
.lin-canal.destaque-falha { background: var(--falha-fundo); color: var(--falha); border-radius: 6px; }
.col-canal-taxa { padding-top: 9px; border-top: 1px solid var(--borda); }
.barra-valor.verde { fill: #17a673; }

/* Kanban */
.kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; align-items: start; }
.kan-coluna { background: #ebeff8; border-radius: 12px; padding: 13px; min-height: 220px; }
.kan-cabeca { display: flex; justify-content: space-between; align-items: center; margin: 3px 2px 12px; font-weight: 800; font-size: .82rem; color: #47556f; }
.kan-cartao { background: var(--superficie); border: 1px solid var(--borda); border-radius: 10px; padding: 14px; margin-bottom: 10px; }
.kan-cartao h3 { line-height: 1.45; margin: 0 0 7px; font-size: .86rem; }
.kan-cartao .sutil { font-size: .78rem; margin: 0 0 9px; }
.kan-pe { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: .72rem; color: var(--sutil); border-top: 1px solid var(--borda); padding-top: 9px; }

/* Componentes */
.grade-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.grade-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.proposta { margin-bottom: 12px; }
.selecao { float: right; display: inline-block; margin: 0; font-size: .8rem; }
.numero { font-size: 1.7rem; letter-spacing: -.03em; font-weight: 850; margin: 0; }
.numero.pequeno { font-size: 1.15rem; }
.chip { display: inline-flex; align-items: center; border-radius: 6px; padding: 3px 8px; font-size: .71rem; font-weight: 750; white-space: nowrap; background: #eff2f8; color: #5a6885; }
.chip-ok { background: var(--ok-fundo); color: var(--ok); }
.chip-espera { background: var(--espera-fundo); color: var(--espera); }
.chip-falha { background: var(--falha-fundo); color: var(--falha); }
.chip-acao { background: var(--acao-fundo); color: var(--acao); }
.tabela-rolavel { overflow-x: auto; background: var(--superficie); border: 1px solid var(--borda); border-radius: 13px; box-shadow: var(--sombra); }
.cartao .tabela-rolavel { box-shadow: none; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th { background: #f8f9fd; color: var(--sutil); text-transform: uppercase; letter-spacing: .04em; font-size: .68rem; font-weight: 800; padding: 13px 16px; border-bottom: 1px solid var(--borda); white-space: nowrap; }
td { font-size: .84rem; padding: 14px 16px; border-bottom: 1px solid #eef1f7; vertical-align: top; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fafbff; }
.funil { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.funil li { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; border: 1px solid var(--borda); border-radius: 9px; padding: 10px 13px; background: var(--superficie); }
.funil-rotulo { font-weight: 700; min-width: 120px; }
.funil-valor { font-weight: 850; }
.definicoes { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: .35rem .75rem; margin: 0; }
.definicoes dt { color: var(--sutil); font-size: .84rem; }
.definicoes dd { margin: 0; min-width: 0; }
.hash { font-family: ui-monospace, Menlo, monospace; font-size: .76rem; word-break: break-all; }
.linha-tempo { list-style: none; padding: 0; }
.linha-tempo li { padding: .5rem 0; border-bottom: 1px solid var(--borda); }
label { display: block; font-size: .84rem; font-weight: 600; margin: .6rem 0 .25rem; }
input[type=text], input[type=email], input[type=password], textarea, select { width: 100%; padding: .6rem .7rem; border-radius: 9px; border: 1px solid var(--borda); background: var(--superficie); color: var(--texto); font: inherit; }
input:focus, textarea:focus, select:focus { border-color: #7c6df0; outline: none; box-shadow: 0 0 0 3px rgba(124, 58, 237, .14); }
.botao { display: inline-block; background: var(--gradiente); color: #fff; border: 1px solid transparent; border-radius: 9px; padding: .55rem .95rem; font: inherit; font-size: .84rem; font-weight: 750; cursor: pointer; text-decoration: none; }
.botao:hover { filter: brightness(1.08); }
.botao.secundario { background: var(--superficie); color: #3d4a66; border-color: var(--borda); }
.botao.secundario:hover { filter: none; border-color: #bcc5dc; }
.botao.fantasma { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); color: #fff; }
.botao.perigo { background: var(--falha); }
.botao[disabled] { background: var(--borda); color: var(--sutil); cursor: not-allowed; filter: none; }
.acoes-lote { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.acoes-lote input, .acoes-lote label { flex: 1 1 100%; }
.dialogo { border: 1px solid var(--borda); border-radius: 14px; background: var(--superficie); color: var(--texto); padding: 1.4rem; width: min(420px, calc(100vw - 2rem)); }
.dialogo::backdrop { background: rgba(1, 6, 40, .5); }
.dialogo .botao { margin-top: .6rem; width: 100%; }
.lista-passkeys { list-style: none; padding: 0; margin: 0 0 .75rem; }
.lista-passkeys li { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .5rem 0; border-bottom: 1px solid var(--borda); }
.codigos { columns: 2; padding-left: 1.2rem; }
.aviso { padding: .6rem .8rem; border-radius: 9px; background: var(--espera-fundo); color: var(--espera); margin: .5rem 0; font-size: .86rem; }
.aviso-erro { background: var(--falha-fundo); color: var(--falha); }
.aviso-ok { background: var(--ok-fundo); color: var(--ok); }

/* Páginas fora da área da empresa */
.pagina-estreita { max-width: 420px; margin: 2.5rem auto; padding: 0 1rem; }
.pagina-media { max-width: 680px; }
.pagina-estreita .cartao { margin-bottom: 1rem; }
.pagina-estreita button { margin-top: .75rem; }
.logo-pagina { display: block; width: 190px; height: auto; margin-bottom: 1.5rem; }
.entrada { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; min-height: 100vh; padding: 40px 20px; background: var(--nav); } /* Cor lisa: a logo escura traz o próprio fundo. */
.entrada-logo { width: min(340px, 100%); height: auto; }
.entrada-caixa { width: min(420px, 100%); background: var(--superficie); border-radius: 16px; padding: 30px; }
.entrada-caixa .botao { width: 100%; margin-top: 1rem; padding: .7rem; }

@media (max-width: 1200px) {
  .conteudo { padding: 22px 24px 56px; }
  .barra-topo { padding: 12px 24px; }
  .metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .barra-lateral { position: fixed; inset: 0 auto 0 0; transform: translateX(-101%); transition: transform .22s ease; }
  .menu-chave:checked ~ .barra-lateral { transform: none; }
  .menu-chave:checked ~ .menu-fundo { display: block; position: fixed; inset: 0; background: rgba(1, 6, 40, .55); z-index: 39; margin: 0; }
  .hamburguer { display: grid; }
  .colunas { grid-template-columns: minmax(0, 1fr); }
  .painel, .heroi2 { grid-template-columns: minmax(0, 1fr); }
  .colunas-canal { grid-template-columns: minmax(0, 1fr); }
  .resumo5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
  .res-item + .res-item { border-left: 0; }
  .coluna-lateral { display: contents; }
  .cartao-atencao { order: -1; }
  .coluna-lateral > .cartao2:not(.cartao-atencao) { order: 1; }
  .heroi2-dir { padding-left: 0; border-left: 0; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .16); }
  .faixa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metricas.tres { grid-template-columns: minmax(0, 1fr); }
  .pilula-periodo { display: none; }
}
@media (max-width: 650px) {
  .conteudo { padding: 16px 14px 48px; }
  .barra-topo { padding: 10px 14px; min-height: 64px; gap: 10px; }
  .topo-titulo { font-size: 1.02rem; }
  .tiles.tres, .tiles.duas, .funil2, .faixa-kpis { grid-template-columns: minmax(0, 1fr); }
  .funil2-evolucao { border-left: 0; padding-left: 0; }
  .selo-conv { margin-left: 0; }
  .cartao2-topo { flex-wrap: wrap; }
  .heroi2 { padding: 22px 20px; }
  .heroi2-esq { align-items: flex-start; }
  .heroi { display: block; padding: 22px 20px; }
  .heroi h2 { font-size: 1.28rem; }
  .heroi-numero { align-items: flex-start; text-align: left; margin-top: 18px; }
  .metricas { gap: 9px; }
  .metrica { padding: 13px; }
  .metrica-valor { font-size: 1.4rem; }
  .cartao { padding: 15px; }
  .definicoes { grid-template-columns: minmax(0, 1fr); }
  .botao { padding: .65rem .95rem; }
  .entrada { gap: 24px; padding: 28px 16px; }
  .entrada-logo { width: 240px; }
  .entrada-caixa { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
