/*
THESIS: LunaOps é um instrumento vivo de decisão; fluxo, resultado e risco precisam ser vistos antes de serem lidos.
OWN-WORLD: Campo orbital adaptável, lua como motor, verde apenas para sinais reais e superfícies de dados precisas.
STORY: Primeiro a operação inteira, depois a causa, então a comparação e por fim a ação de precisão.
FIRST VIEWPORT: Constelação funcional com lojas, faturamento, CPA, margem após mídia, resumo e alertas reais.
FORM: Um cockpit amplo com núcleo radial, nós circulares, conexões animadas e uma coluna analítica; o scroll abre gráficos e comparações.
*/

/* ═══════════════════════ ÓRBITA OPERACIONAL · COCKPIT ═══════════════════════ */
.pag:has(.mapa-vista.on) { width:100%; max-width:none; padding:0; }
.mapa-vista { --campo:#080d0b; --campo-2:#0d1410; --campo-3:#121b16; --campo-linha:rgba(191,223,205,.13); --campo-texto:#eef5f0; --campo-muted:#91a297; --campo-sinal:#20d989; background:#080d0b; }
.mapa-vista.on { display:block; animation:none; }
.mapa-vista .mapa-shell { min-height:100%; overflow:hidden; color:var(--campo-texto); background:radial-gradient(circle at 48% 23%,rgba(25,67,46,.22),transparent 34%),var(--campo); }
.mapa-vista .mapa-cabeca { min-height:190px; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; padding:42px clamp(28px,4vw,72px) 26px; border-bottom:1px solid var(--campo-linha); }
.mapa-vista .mapa-cabeca > div { min-width:0; }
.mapa-vista .mapa-estado { display:flex; align-items:center; gap:9px; color:#7ce7af; font:500 10px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.mapa-vista .mapa-estado i { width:7px; height:7px; border-radius:50%; background:var(--campo-sinal); box-shadow:0 0 0 6px rgba(32,217,137,.09); animation:sv2Pulse 2s ease-in-out infinite; }
.mapa-vista .mapa-cabeca h2 { max-width:760px; margin-top:17px; color:var(--campo-texto); font:500 clamp(2.85rem,5vw,5.6rem)/.9 var(--sans); letter-spacing:-.04em; }
.mapa-vista .mapa-cabeca > p { max-width:430px; margin-bottom:7px; color:var(--campo-muted); font-size:14px; line-height:1.6; }

.mapa-vista .mapa-metricas { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--campo-linha); background:rgba(8,13,11,.83); }
.mapa-vista .mapa-metrica { min-height:118px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:20px clamp(18px,2.2vw,38px); border-right:1px solid var(--campo-linha); position:relative; }
.mapa-vista .mapa-metrica:last-child { border-right:0; }
.mapa-vista .mapa-metrica .rot { color:var(--campo-muted); font:500 9px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.mapa-vista .mapa-metrica strong { color:var(--campo-texto); font:500 clamp(1.55rem,2vw,2.35rem)/1 var(--sans); letter-spacing:-.03em; }
.mapa-vista .mapa-metrica .delta { position:absolute; right:clamp(18px,2vw,34px); bottom:24px; color:#62dfa0; font:500 10px/1 var(--mono); }
.mapa-vista .mapa-metrica .delta.cai { color:#ef8a7f; }
/* aqui sai o `motivo_financeiro` («moeda não identificada…»): é o texto que
   explica por que não há número. Estava a 3,9:1 — abaixo de AA. #7B8980 dá
   4,8:1 mantendo o matiz. */
.mapa-vista .mapa-metrica .pe { color:#7B8980; font-size:10px; }

.mapa-cockpit { display:grid; grid-template-columns:minmax(0,1fr) 340px; min-height:clamp(560px,calc(100svh - 260px),760px); border-bottom:1px solid var(--campo-linha); }
.mapa-vista .mapa-palco { min-width:0; min-height:clamp(560px,calc(100svh - 260px),760px); position:relative; overflow:hidden; border-right:1px solid var(--campo-linha); isolation:isolate; background:radial-gradient(circle at 50% 52%,rgba(29,112,72,.16),transparent 16%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.025),transparent 51%); }
.mapa-estrelas { position:absolute; inset:0; opacity:.62; background-image:radial-gradient(circle,rgba(223,242,230,.42) 0 1px,transparent 1.25px),radial-gradient(circle,rgba(32,217,137,.48) 0 1px,transparent 1.3px); background-position:0 0,33px 18px; background-size:83px 79px,137px 113px; mask-image:radial-gradient(circle at 50% 51%,#000 0 63%,transparent 87%); animation:sv2Drift 32s linear infinite; }
.mapa-vista .mapa-conexoes { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.mapa-vista .mapa-conexoes .trilho { fill:none; stroke:rgba(156,192,171,.16); stroke-width:1.1; vector-effect:non-scaling-stroke; }
.mapa-vista .mapa-conexoes .fluxo { fill:none; stroke:var(--campo-sinal); stroke-width:1.45; stroke-dasharray:2 11; stroke-linecap:round; opacity:.74; vector-effect:non-scaling-stroke; animation:sv2Flow 3.4s linear infinite; }
.mapa-vista .mapa-conexoes .fluxo.atencao { stroke:#d5a74b; }
.mapa-vista .mapa-conexoes .ponto { fill:#a8ffd0; filter:drop-shadow(0 0 5px rgba(32,217,137,.75)); }
.mapa-vista .mapa-aneis { position:absolute; left:50%; top:50%; width:min(68vw,760px); aspect-ratio:1; transform:translate(-50%,-50%); pointer-events:none; }
.mapa-vista .mapa-aneis i { position:absolute; inset:var(--i); border:1px solid rgba(131,168,147,.12); border-radius:50%; }
.mapa-vista .mapa-aneis i:nth-child(1){--i:0}
.mapa-vista .mapa-aneis i:nth-child(2){--i:12%}
.mapa-vista .mapa-aneis i:nth-child(3){--i:24%;border-style:dashed;animation:sv2Spin 26s linear infinite}
.mapa-vista .mapa-aneis i:nth-child(4){--i:36%;border-color:rgba(32,217,137,.24);animation:sv2Spin 18s linear infinite reverse}

.mapa-vista .mapa-nucleo { position:absolute; left:50%; top:50%; width:190px; height:190px; transform:translate(-50%,-50%); display:flex; align-items:center; flex-direction:column; justify-content:center; z-index:8; border:1px solid rgba(113,233,169,.45); border-radius:50%; background:radial-gradient(circle at 50% 38%,rgba(65,120,87,.32),rgba(7,13,10,.96) 68%); color:var(--campo-texto); cursor:pointer; box-shadow:0 18px 70px rgba(0,0,0,.48); }
.mapa-vista .mapa-lua { width:78px; height:78px; border-radius:50%; overflow:hidden; display:block; box-shadow:0 0 0 8px rgba(32,217,137,.06),0 0 36px rgba(32,217,137,.2); }
.mapa-vista .mapa-lua img { width:100%; height:100%; display:block; object-fit:cover; filter:grayscale(1) contrast(1.08) brightness(1.13); }
.mapa-vista .mapa-nucleo-k { margin-top:13px; color:#6edfa5; font:500 7px/1 var(--mono); letter-spacing:.13em; }
.mapa-vista .mapa-nucleo strong { margin-top:6px; font-size:19px; }
.mapa-vista .mapa-nucleo > span:last-child { margin-top:3px; color:#829188; font-size:9px; }
.mapa-radial { position:absolute; inset:-34px; border-radius:50%; pointer-events:none; animation:sv2Spin 35s linear infinite; }
.mapa-radial i { position:absolute; left:50%; top:50%; width:1px; height:13px; transform-origin:0 129px; background:linear-gradient(to bottom,rgba(32,217,137,.72),transparent); opacity:var(--o,.4); }

.mapa-vista .mapa-nos { position:absolute; inset:0; z-index:6; }
.mapa-vista .mapa-no { position:absolute; width:190px; height:190px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:stretch; justify-content:center; padding:24px; overflow:hidden; border:1px solid rgba(139,172,152,.28); border-radius:50%; background:rgba(12,19,15,.94); color:var(--campo-texto); text-align:left; cursor:pointer; box-shadow:0 16px 50px rgba(0,0,0,.22); transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .45s ease,box-shadow .45s ease,background .45s ease; }
.mapa-vista .mapa-no::before { content:''; position:absolute; inset:5px; border:1px solid transparent; border-top-color:rgba(32,217,137,.15); border-radius:50%; transform:rotate(24deg); }
.mapa-vista .mapa-no:hover,.mapa-vista .mapa-no.selecionada { transform:translate(-50%,-50%) scale(1.055); border-color:var(--campo-sinal); background:rgba(13,24,18,.98); box-shadow:0 18px 62px rgba(0,0,0,.42),0 0 28px rgba(32,217,137,.1); }
.mapa-vista .mapa-no.selecionada::before { border-top-color:var(--campo-sinal); animation:sv2Spin 4s linear infinite; }
.mapa-vista .mapa-no-k { color:#5fdc9b; font:500 8px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.mapa-vista .mapa-no h3 { max-width:128px; margin-top:8px; overflow:hidden; color:var(--campo-texto); font:500 17px/1.05 var(--sans); text-overflow:ellipsis; white-space:nowrap; }
.mapa-vista .mapa-no-domain { display:none; }
.mapa-no-dados { display:grid!important; grid-template-columns:1fr 1fr; gap:7px 13px; margin-top:13px; padding-top:11px; border-top:1px solid var(--campo-linha); }
.mapa-no-dados > span { min-width:0; color:#728279; font-size:8px; }
.mapa-no-dados b { display:block; margin-top:4px; overflow:hidden; color:#e8f0eb; font:500 11px/1 var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.mapa-no-pe { display:flex!important; align-items:center; gap:6px; margin-top:10px; color:#728279; font-size:8px; }
.mapa-no-pe i { width:5px; height:5px; border-radius:50%; background:#627069; }
.mapa-no.viva .mapa-no-pe i { background:var(--campo-sinal); box-shadow:0 0 8px rgba(32,217,137,.65); }
.mapa-no.roda .mapa-no-pe i { background:#d5a74b; }
.mapa-vista .mapa-lista { display:none; }

.mapa-vista .mapa-fluxo { min-width:0; display:flex; flex-direction:column; background:#0a100d; }
.mapa-fluxo-topo { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:21px 22px; border-bottom:1px solid var(--campo-linha); }
.mapa-fluxo-topo span { color:#62dfa0; font:500 8px/1 var(--mono); letter-spacing:.13em; }
.mapa-fluxo-topo h3 { margin-top:7px; font-size:15px; }
.mapa-fluxo-topo time { color:#67756d; font:400 9px/1 var(--mono); }
.mapa-resumo { border-bottom:1px solid var(--campo-linha); }
.mapa-resumo-linha { min-height:76px; display:grid; grid-template-columns:32px minmax(0,1fr) 70px; align-items:center; gap:12px; padding:13px 20px; border-bottom:1px solid rgba(191,223,205,.08); }
.mapa-resumo-linha:last-child { border-bottom:0; }
/* por que não há número: ocupa a coluna do sparkline, alinhado à direita, para
   o traço nunca ser lido como zero */
.mapa-resumo-motivo { grid-column:3; justify-self:end; max-width:150px; color:#d5a74b; font:400 9.5px/1.35 var(--sans,inherit); text-align:right; }
@media (max-width:430px) { .mapa-resumo-motivo { max-width:104px; font-size:9px; } }
.mapa-resumo-ic { width:29px; height:29px; display:grid; place-items:center; border:1px solid var(--campo-linha); border-radius:50%; color:#a9bbb0; font-size:12px; }
.mapa-resumo-txt span { color:#738178; font-size:9px; }
.mapa-resumo-txt strong { display:block; margin-top:3px; color:#edf4ef; font-size:16px; font-weight:500; }
.mapa-spark { width:68px; height:26px; overflow:visible; }
.mapa-spark path { fill:none; stroke:#d9e2dc; stroke-width:1.4; vector-effect:non-scaling-stroke; }
.mapa-resumo-linha.alerta .mapa-spark path { stroke:#d5a74b; }
.mapa-resumo-linha.ok .mapa-spark path { stroke:#35d98b; }
.mapa-alerta-titulo { display:flex; align-items:center; justify-content:space-between; padding:19px 20px 10px; }
.mapa-alerta-titulo strong { font-size:12px; }
.mapa-alerta-titulo span { color:#6d7c73; font:400 8px/1 var(--mono); }
.mapa-vista .mapa-eventos { max-height:270px; overflow:auto; }
.mapa-vista .mapa-evento { position:relative; padding:13px 20px 13px 34px; border-bottom:1px solid rgba(191,223,205,.08); }
.mapa-vista .mapa-evento::before { content:''; position:absolute; left:20px; top:20px; width:6px; height:6px; border-radius:50%; background:#86958c; }
.mapa-vista .mapa-evento.ok::before { background:#28d985; box-shadow:0 0 8px rgba(40,217,133,.5); }
.mapa-vista .mapa-evento.atencao::before { background:#d5a74b; }
.mapa-vista .mapa-evento.erro::before { background:#ef776d; }
.mapa-vista .mapa-evento .tipo { color:#718078; font:500 7px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.mapa-vista .mapa-evento strong { display:block; margin-top:6px; color:#dfe8e2; font-size:11px; line-height:1.35; }
.mapa-vista .mapa-evento p { margin-top:4px; color:#718078; font-size:9px; line-height:1.45; }
.mapa-vista .mapa-evento time { display:block; margin-top:5px; color:#5d6a62; font:400 8px/1 var(--mono); }
.mapa-fluxo-acoes { margin-top:auto; }
.mapa-analisar,.mapa-ver-todas { width:100%; height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border:0; border-top:1px solid var(--campo-linha); background:transparent; color:#b8c6bd; cursor:pointer; font-size:10px; text-align:left; }
.mapa-analisar:disabled { opacity:.42; cursor:default; }
.mapa-analisar:not(:disabled):hover,.mapa-ver-todas:hover { color:#70e6a9; background:rgba(32,217,137,.04); }

.mapa-analise { padding:clamp(52px,7vw,96px) clamp(28px,4vw,72px); border-bottom:1px solid var(--campo-linha); }
.mapa-analise-cabeca,.mapa-comparar > header { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:30px; }
.mapa-analise-cabeca span,.mapa-comparar > header span { color:#61dfa0; font:500 8px/1 var(--mono); letter-spacing:.13em; }
.mapa-analise-cabeca h3,.mapa-comparar > header h3 { max-width:670px; margin-top:10px; color:#edf4ef; font:500 clamp(2rem,3.4vw,3.9rem)/.98 var(--sans); letter-spacing:-.035em; }
.mapa-analise-cabeca p,.mapa-comparar > header p { max-width:350px; color:#77867d; font-size:12px; line-height:1.55; }
.mapa-analise-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; border:1px solid var(--campo-linha); border-radius:16px; overflow:hidden; background:#0a100d; }
.mapa-grafico-wrap { min-width:0; min-height:470px; position:relative; padding:22px 22px 10px; border-right:1px solid var(--campo-linha); }
.mapa-grafico-legenda { min-height:48px; display:flex; align-items:flex-start; gap:34px; }
.mapa-grafico-legenda span { display:block; color:#77867d; font-size:9px; }
.mapa-grafico-legenda strong { display:block; margin-top:5px; color:#ecf4ef; font:500 17px/1 var(--mono); }
/* a falta ocupa a linha inteira por baixo dos três números: âmbar de aviso, não o
   cinza da legenda — quem olha o gráfico tem de ver que a linha está incompleta */
.mapa-grafico-legenda { flex-wrap:wrap; }
.mapa-grafico-legenda .parcial { flex-basis:100%; margin-top:3px; color:#d5a74b;
  font-size:10.5px; line-height:1.45; }
.mapa-grafico { width:100%; height:380px; overflow:visible; }
.mapa-grafico .grade { stroke:rgba(191,223,205,.09); stroke-width:1; vector-effect:non-scaling-stroke; }
.mapa-grafico .area { fill:url(#mapaArea); opacity:.7; }
.mapa-grafico .linha { fill:none; stroke:#e7efea; stroke-width:2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 7px 14px rgba(255,255,255,.06)); }
.mapa-grafico .ponto { fill:#20d989; stroke:#0a100d; stroke-width:3; }
.mapa-grafico text { fill:#68766e; font:8px var(--mono); }
.mapa-tooltip { position:absolute; z-index:4; min-width:138px; padding:10px 12px; border:1px solid rgba(198,222,207,.2); border-radius:9px; background:#131c17; color:#e9f1ec; pointer-events:none; box-shadow:0 12px 30px rgba(0,0,0,.35); font-size:10px; }
.mapa-tooltip span { display:block; margin-top:3px; color:#7d8d83; }
.mapa-leitura { min-width:0; padding:25px 22px; }
.mapa-leitura-k { color:#65dda1; font:500 8px/1 var(--mono); letter-spacing:.12em; }
.mapa-leitura h4 { margin-top:13px; color:#e8f0eb; font:500 22px/1.05 var(--sans); letter-spacing:-.025em; }
.mapa-leitura > p { margin-top:12px; color:#819087; font-size:11px; line-height:1.6; }
.mapa-decisao { margin-top:25px; padding-top:18px; border-top:1px solid var(--campo-linha); }
.mapa-decisao div { display:flex; align-items:flex-start; gap:10px; padding:9px 0; color:#a9b7ae; font-size:10px; line-height:1.4; }
.mapa-decisao i { width:6px; height:6px; flex:none; margin-top:4px; border-radius:50%; background:#20d989; }
.mapa-decisao .at i { background:#d5a74b; }

.mapa-comparar { padding:clamp(52px,7vw,90px) 0 clamp(64px,8vw,110px); }
.mapa-comparar > header { padding:0 clamp(28px,4vw,72px); }
.mapa-comparacao { display:flex; gap:13px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px clamp(28px,4vw,72px) 20px; }
.mapa-comparacao::-webkit-scrollbar { height:8px; }
.mapa-comparacao::-webkit-scrollbar-thumb { border:2px solid #080d0b; background:#27352d; }
.mapa-compare-card { flex:0 0 310px; min-height:245px; scroll-snap-align:start; padding:20px; border:1px solid var(--campo-linha); border-radius:14px; background:#0d1410; color:#e8f0eb; cursor:pointer; text-align:left; transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s ease,background .3s ease; }
.mapa-compare-card:hover,.mapa-compare-card.selecionada { transform:translateY(-4px); border-color:rgba(32,217,137,.7); background:#101a14; }
.mapa-compare-topo { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.mapa-compare-topo span { display:flex; align-items:center; gap:7px; color:#6e7d74; font:500 8px/1 var(--mono); }
.mapa-compare-topo span i { width:6px; height:6px; border-radius:50%; background:#20d989; }
.mapa-compare-topo b { display:block; margin-top:6px; max-width:210px; overflow:hidden; color:#eef4f0; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.mapa-compare-receita { margin-top:24px; color:#edf4ef; font:500 25px/1 var(--sans); letter-spacing:-.025em; }
.mapa-compare-delta { margin-left:8px; color:#42d990; font:500 9px var(--mono); }
.mapa-compare-delta.cai { color:#ef8076; }
.mapa-compare-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; padding-top:17px; border-top:1px solid var(--campo-linha); }
.mapa-compare-grid span { color:#6f7d75; font-size:8px; }
.mapa-compare-grid b { display:block; margin-top:5px; color:#dce6df; font:500 11px/1 var(--mono); }
.mapa-compare-spark { width:100%; height:38px; margin-top:15px; }
.mapa-compare-spark path { fill:none; stroke:#35d98b; stroke-width:1.3; vector-effect:non-scaling-stroke; }

/* detalhe de precisão: permanece fora do fluxo, mas traz contexto real */
.mapa-vista .mapa-detalhe { width:min(680px,calc(100vw - var(--nav))); background:#0d1410; color:#eaf1ec; border-left:1px solid rgba(191,223,205,.18); box-shadow:-30px 0 80px rgba(0,0,0,.34); }
.mapa-vista .mapa-detalhe-topo,.mapa-vista .mapa-detalhe-abas { border-color:rgba(191,223,205,.12); }
.mapa-vista .mapa-bloco { border-color:rgba(191,223,205,.13); background:#101813; }
.mapa-vista .mapa-detalhe-grafico { grid-column:1/-1; min-height:210px; padding:18px; border:1px solid rgba(191,223,205,.13); border-radius:12px; }
.mapa-vista .mapa-detalhe-grafico svg { width:100%; height:150px; }

/* ═══════════════════════ TODAS AS OUTRAS ABAS ═══════════════════════ */
.vista:not(.mapa-vista):not(.onboard-vista):not(.conta-vista) { max-width:1880px; margin-inline:auto; }
.sv2-intro { min-height:180px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); align-items:end; gap:44px; margin:-4px 0 28px; padding:34px 0 28px; border-bottom:1px solid var(--borda); }
.sv2-intro-k { display:flex; align-items:center; gap:9px; color:var(--verde-luz); font:500 9px/1 var(--mono); letter-spacing:.11em; text-transform:uppercase; }
.sv2-intro-k::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--verde-vivo); box-shadow:0 0 0 5px var(--verde-veu); }
.sv2-intro h2 { max-width:850px; margin-top:18px; color:var(--texto); font:500 clamp(2.6rem,4.4vw,5rem)/.94 var(--sans); letter-spacing:-.04em; }
.sv2-intro p { max-width:62ch; margin-top:16px; color:var(--texto-2); font-size:14px; line-height:1.6; }
.sv2-contexto { min-height:102px; display:flex; flex-direction:column; justify-content:flex-end; padding:18px 0 4px 24px; border-left:1px solid var(--borda); }
.sv2-contexto > span { color:var(--texto-3); font-size:10px; }
.sv2-contexto > strong { display:block; margin-top:8px; color:var(--texto); font:500 20px/1.15 var(--sans); }
.sv2-contexto > small { margin-top:8px; color:var(--verde-luz); font-size:10px; }

.vista:not(.mapa-vista) > .kpis { border-radius:14px; background:var(--painel); }
.vista:not(.mapa-vista) > .kpis .kpi { min-height:116px; }
.vista:not(.mapa-vista) .colunas { gap:18px; }
.vista:not(.mapa-vista) .cartao,.vista:not(.mapa-vista) .tabbox { border-radius:13px; }
.vista:not(.mapa-vista) .secao { margin-top:42px; }
.vista:not(.mapa-vista) .secao h2 { font-size:.91rem; }
.vista:not(.mapa-vista) table.tab th { height:42px; }
.vista:not(.mapa-vista) table.tab td { height:54px; }

/* relatórios deixam de abrir em uma lista sem contexto */
.vista[data-vista="relatorios"] #relAbas { min-height:44px; margin-bottom:18px!important; border-radius:10px; }
.sv2-report-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; border:1px solid var(--borda); border-radius:13px; overflow:hidden; background:var(--painel); }
.sv2-report-metric { min-height:112px; padding:19px 20px; border-right:1px solid var(--borda); }
.sv2-report-metric:last-child { border-right:0; }
.sv2-report-metric span { color:var(--texto-3); font:500 9px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.sv2-report-metric strong { display:block; margin-top:13px; color:var(--texto); font:500 24px/1 var(--sans); }
.sv2-report-metric p { margin-top:8px; color:var(--texto-3); font-size:10px; }
.sv2-report-metric.acao strong { color:var(--verde-luz); font-size:15px; line-height:1.25; }
.vista[data-vista="relatorios"] #relCorpo > .cartao { overflow:hidden; }
.vista[data-vista="relatorios"] #relCorpo .barra-l { min-height:58px; padding-inline:18px; }

/* Ads e gerenciador: tabela é evidência, resumo é primeiro */
.vista[data-vista="ads"] .tabbox,.vista[data-vista="gerenciador"] .tabbox { background:var(--painel); }
.vista[data-vista="ads"] #adsKpis,.vista[data-vista="gerenciador"] #gerKpis { position:relative; }
.vista[data-vista="gerenciador"] #gerGrafico { min-height:230px; }
.vista[data-vista="gerenciador"] #tabArvore th:first-child { min-width:300px; }

/* Luna: uma estação de atendimento, não um iframe solto */
.vista[data-vista="luna"] #lunaStatus { border-radius:13px!important; background:var(--verde-veu); }
.vista[data-vista="luna"] iframe { border-radius:0 0 13px 13px; }
.vista[data-vista="luna"] .cartao:has(#lunaFrame) { border-radius:14px!important; border-color:var(--borda-viva); box-shadow:var(--sombra); }

/* Clientes e detalhe de loja ganham leitura de workspace */
.vista[data-vista="clientes"] #cliLista { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:14px; }
.vista[data-vista="clientes"] #cliLista > .cartao { min-width:0; }
.vista[data-vista="loja"] .det-hero { border-radius:14px; overflow:hidden; }

@keyframes sv2Pulse { 50% { opacity:.45; transform:scale(.72); } }
@keyframes sv2Spin { to { transform:rotate(360deg); } }
@keyframes sv2Flow { to { stroke-dashoffset:-52; } }
@keyframes sv2Drift { to { background-position:83px 79px,170px 131px; } }

@media (max-width:1280px) {
  .mapa-cockpit { grid-template-columns:minmax(0,1fr) 300px; }
  .mapa-vista .mapa-no { width:168px; height:168px; padding:21px; }
  .mapa-vista .mapa-nucleo { width:170px; height:170px; }
  .mapa-analise-grid { grid-template-columns:minmax(0,1fr) 280px; }
}

@media (max-width:1020px) {
  .mapa-vista .mapa-cabeca { min-height:165px; align-items:flex-start; flex-direction:column; gap:18px; }
  .mapa-vista .mapa-cabeca h2 { font-size:3.6rem; }
  .mapa-vista .mapa-metricas { grid-template-columns:repeat(2,1fr); }
  .mapa-vista .mapa-metrica:nth-child(2) { border-right:0; }
  .mapa-vista .mapa-metrica:nth-child(-n+2) { border-bottom:1px solid var(--campo-linha); }
  .mapa-cockpit { grid-template-columns:1fr; }
  .mapa-vista .mapa-palco { min-height:700px; border-right:0; border-bottom:1px solid var(--campo-linha); }
  .mapa-vista .mapa-eventos { max-height:none; }
  .mapa-vista .mapa-fluxo { min-height:520px; }
  .mapa-analise-grid { grid-template-columns:1fr; }
  .mapa-grafico-wrap { border-right:0; border-bottom:1px solid var(--campo-linha); }
  .sv2-intro { grid-template-columns:1fr; gap:18px; }
  .sv2-contexto { padding-left:0; border-left:0; }
  .sv2-report-summary { grid-template-columns:repeat(2,1fr); }
  .sv2-report-metric:nth-child(2) { border-right:0; }
  .sv2-report-metric:nth-child(-n+2) { border-bottom:1px solid var(--borda); }
}

@media (max-width:760px) {
  .mapa-vista .mapa-cabeca { min-height:auto; padding:28px 18px 24px; }
  .mapa-vista .mapa-cabeca h2 { font-size:2.85rem; }
  .mapa-vista .mapa-cabeca > p { font-size:12px; }
  .mapa-vista .mapa-metrica { min-height:94px; padding:16px; }
  .mapa-vista .mapa-metrica strong { font-size:1.25rem; }
  .mapa-vista .mapa-metrica .delta { position:static; }
  .mapa-vista .mapa-metrica .pe { display:none; }
  .mapa-cockpit { display:flex; flex-direction:column; }
  .mapa-vista .mapa-palco { min-height:auto; padding:16px; }
  .mapa-vista .mapa-estrelas,.mapa-vista .mapa-conexoes,.mapa-vista .mapa-aneis,.mapa-vista .mapa-nucleo { display:none; }
  .mapa-vista .mapa-nos { position:relative; display:grid; grid-template-columns:1fr; gap:9px; }
  .mapa-vista .mapa-no { position:relative!important; inset:auto!important; width:100%; height:auto; min-height:130px; transform:none!important; border-radius:13px; padding:20px; }
  .mapa-vista .mapa-no h3 { max-width:none; }
  .mapa-no-dados { grid-template-columns:repeat(4,1fr); }
  .mapa-vista .mapa-fluxo { min-height:auto; }
  .mapa-analise,.mapa-comparar { padding-top:52px; }
  .mapa-analise { padding-inline:18px; }
  .mapa-analise-cabeca,.mapa-comparar > header { align-items:flex-start; flex-direction:column; gap:15px; }
  .mapa-analise-cabeca h3,.mapa-comparar > header h3 { font-size:2.25rem; }
  .mapa-grafico-wrap { min-height:390px; padding:16px 12px 6px; }
  .mapa-grafico { height:300px; }
  .mapa-comparar > header { padding-inline:18px; }
  .mapa-comparacao { padding-inline:18px; }
  .mapa-compare-card { flex-basis:278px; }
  .mapa-vista .mapa-detalhe { width:100vw; }
  .sv2-intro { min-height:150px; margin-top:0; padding-top:10px; }
  .sv2-intro h2 { font-size:2.65rem; }
  .sv2-report-summary { grid-template-columns:1fr 1fr; }
  .vista[data-vista="clientes"] #cliLista { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .mapa-vista .mapa-cabeca h2 { font-size:2.45rem; }
  .mapa-no-dados { grid-template-columns:1fr 1fr; }
  .mapa-grafico-legenda { gap:17px; }
  .mapa-grafico-legenda strong { font-size:14px; }
  .sv2-report-summary { grid-template-columns:1fr; }
  .sv2-report-metric { border-right:0; border-bottom:1px solid var(--borda); }
}

@media (prefers-reduced-motion:reduce) {
  .mapa-vista .mapa-estado i,.mapa-estrelas,.mapa-vista .mapa-conexoes .fluxo,.mapa-vista .mapa-aneis i,.mapa-radial,.mapa-vista .mapa-no.selecionada::before { animation:none!important; }
  .mapa-vista .mapa-no,.mapa-compare-card { transition-duration:.01ms!important; }
}

/* ═══════════════════════ DECISION WORKBENCH · SECOND PASS ═══════════════════════ */
.nav-new { margin-left:auto; padding:3px 5px; border:1px solid var(--borda); border-radius:4px; color:var(--verde-luz); font:500 7px/1 var(--mono); letter-spacing:.08em; }
.sv2-workbench-head { min-height:108px; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); align-items:center; gap:38px; margin:-4px 0 24px; padding:18px 0 20px; border-bottom:1px solid var(--borda); }
.sv2-workbench-head h2 { margin-top:8px; color:var(--texto); font:550 clamp(1.65rem,2.25vw,2.35rem)/1 var(--sans); letter-spacing:-.03em; }
.sv2-workbench-head p { max-width:68ch; margin-top:8px; color:var(--texto-2); font-size:12px; line-height:1.5; }
.sv2-workbench-head .sv2-contexto { min-height:62px; justify-content:center; padding:0 0 0 22px; }
.sv2-workbench-head .sv2-contexto > span { font:500 8px/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.sv2-workbench-head .sv2-contexto > strong { margin-top:6px; font-size:13px; line-height:1.35; font-weight:500; }
.sv2-workbench-head .sv2-contexto > small { margin-top:5px; font:400 9px/1 var(--mono); }

/* Tema claro completo da Órbita operacional. A lua continua escura; o campo não. */
:root[data-tema="claro"] .mapa-vista { --campo:#f2f5f1; --campo-2:#ffffff; --campo-3:#e9efea; --campo-linha:rgba(23,68,43,.14); --campo-texto:#152019; --campo-muted:#52655a; --campo-sinal:#087a4d; background:var(--campo); }
:root[data-tema="claro"] .mapa-vista .mapa-shell { background:radial-gradient(circle at 48% 23%,rgba(8,122,77,.09),transparent 35%),var(--campo); }
:root[data-tema="claro"] .mapa-vista .mapa-estado,:root[data-tema="claro"] .mapa-fluxo-topo span,:root[data-tema="claro"] .mapa-analise-cabeca span,:root[data-tema="claro"] .mapa-comparar > header span { color:#087a4d; }
:root[data-tema="claro"] .mapa-vista .mapa-metricas { background:rgba(255,255,255,.72); }
:root[data-tema="claro"] .mapa-vista .mapa-metrica .pe,:root[data-tema="claro"] .mapa-vista .mapa-metrica .rot { color:#5b6d62; }
:root[data-tema="claro"] .mapa-vista .mapa-palco { background:radial-gradient(circle at 50% 52%,rgba(8,122,77,.12),transparent 18%),radial-gradient(circle at 50% 50%,rgba(16,43,27,.03),transparent 54%),#f8faf7; }
:root[data-tema="claro"] .mapa-estrelas { opacity:.56; background-image:radial-gradient(circle,rgba(27,91,57,.24) 0 1px,transparent 1.3px),radial-gradient(circle,rgba(8,122,77,.38) 0 1px,transparent 1.3px); }
:root[data-tema="claro"] .mapa-vista .mapa-conexoes .trilho { stroke:rgba(24,75,46,.2); }
:root[data-tema="claro"] .mapa-vista .mapa-conexoes .ponto { fill:#087a4d; filter:drop-shadow(0 0 4px rgba(8,122,77,.4)); }
:root[data-tema="claro"] .mapa-vista .mapa-aneis i { border-color:rgba(29,92,57,.16); }
:root[data-tema="claro"] .mapa-vista .mapa-nucleo { border-color:rgba(8,122,77,.45); background:radial-gradient(circle at 50% 36%,#34463b,#0e1712 70%); color:#eef5f0; box-shadow:0 26px 64px -32px rgba(17,47,29,.55); }
:root[data-tema="claro"] .mapa-vista .mapa-nucleo > span:last-child { color:#a4b3aa; }
:root[data-tema="claro"] .mapa-vista .mapa-no { border-color:rgba(35,83,55,.2); background:rgba(255,255,255,.94); color:#152019; box-shadow:0 24px 60px -42px rgba(20,55,34,.45); }
:root[data-tema="claro"] .mapa-vista .mapa-no:hover,:root[data-tema="claro"] .mapa-vista .mapa-no.selecionada { background:#fff; box-shadow:0 28px 72px -42px rgba(8,87,49,.55); }
:root[data-tema="claro"] .mapa-vista .mapa-no h3,:root[data-tema="claro"] .mapa-no-dados b { color:#152019; }
:root[data-tema="claro"] .mapa-no-dados > span,:root[data-tema="claro"] .mapa-no-pe { color:#607268; }
:root[data-tema="claro"] .mapa-vista .mapa-no-k,:root[data-tema="claro"] .mapa-leitura-k,:root[data-tema="claro"] .mapa-compare-delta { color:#087a4d; }
:root[data-tema="claro"] .mapa-vista .mapa-fluxo,:root[data-tema="claro"] .mapa-analise-grid { background:#fff; }
:root[data-tema="claro"] .mapa-resumo-ic { color:#44594c; }
:root[data-tema="claro"] .mapa-resumo-txt span,:root[data-tema="claro"] .mapa-alerta-titulo span,:root[data-tema="claro"] .mapa-vista .mapa-evento .tipo,:root[data-tema="claro"] .mapa-vista .mapa-evento p,:root[data-tema="claro"] .mapa-vista .mapa-evento time { color:#607268; }
:root[data-tema="claro"] .mapa-resumo-txt strong,:root[data-tema="claro"] .mapa-alerta-titulo strong,:root[data-tema="claro"] .mapa-vista .mapa-evento strong,:root[data-tema="claro"] .mapa-analise-cabeca h3,:root[data-tema="claro"] .mapa-comparar > header h3,:root[data-tema="claro"] .mapa-grafico-legenda strong,:root[data-tema="claro"] .mapa-leitura h4 { color:#16211a; }
:root[data-tema="claro"] .mapa-spark path,:root[data-tema="claro"] .mapa-grafico .linha { stroke:#24332a; }
:root[data-tema="claro"] .mapa-analisar,:root[data-tema="claro"] .mapa-ver-todas { color:#43564b; }
:root[data-tema="claro"] .mapa-analise-cabeca p,:root[data-tema="claro"] .mapa-comparar > header p,:root[data-tema="claro"] .mapa-grafico-legenda span,:root[data-tema="claro"] .mapa-leitura > p,:root[data-tema="claro"] .mapa-decisao div { color:#52655a; }
:root[data-tema="claro"] .mapa-grafico .grade { stroke:rgba(25,67,41,.11); }
:root[data-tema="claro"] .mapa-grafico .ponto { stroke:#fff; }
:root[data-tema="claro"] .mapa-grafico text { fill:#617369; }
:root[data-tema="claro"] .mapa-tooltip { border-color:rgba(29,75,47,.18); background:#fff; color:#152019; box-shadow:0 18px 42px -24px rgba(20,55,34,.45); }
:root[data-tema="claro"] .mapa-tooltip span { color:#607268; }
:root[data-tema="claro"] .mapa-compare-card { border-color:var(--campo-linha); background:#fff; color:#152019; }
:root[data-tema="claro"] .mapa-compare-card:hover,:root[data-tema="claro"] .mapa-compare-card.selecionada { background:#fbfdfb; }
:root[data-tema="claro"] .mapa-compare-topo span,:root[data-tema="claro"] .mapa-compare-grid span { color:#5b6e62; }
:root[data-tema="claro"] .mapa-compare-topo b,:root[data-tema="claro"] .mapa-compare-receita,:root[data-tema="claro"] .mapa-compare-grid b { color:#152019; }
:root[data-tema="claro"] .mapa-comparacao::-webkit-scrollbar-thumb { border-color:#f2f5f1; background:#b8c7bd; }
:root[data-tema="claro"] .mapa-vista .mapa-detalhe { background:#f8faf7; color:#16211a; border-color:rgba(29,75,47,.16); box-shadow:-32px 0 70px -40px rgba(20,55,34,.35); }
:root[data-tema="claro"] .mapa-voltar,:root[data-tema="claro"] .mapa-abrir-completo { color:#405449; }
:root[data-tema="claro"] .mapa-abrir-completo:hover { background:#152019; color:#fff; }
:root[data-tema="claro"] .mapa-detalhe-topo p { color:#627369; }
:root[data-tema="claro"] .mapa-vista .mapa-bloco { border-color:rgba(29,75,47,.14); background:#fff; }
:root[data-tema="claro"] .mapa-bloco .rot,:root[data-tema="claro"] .mapa-bloco .apoio,:root[data-tema="claro"] .mapa-bloco p { color:#5a6c61; }
:root[data-tema="claro"] .mapa-bloco .valor,:root[data-tema="claro"] .mapa-bloco h3 { color:#152019; }

.mapa-proxima { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px 18px; margin-top:18px; padding-top:16px; border-top:1px solid var(--campo-linha); }
.mapa-proxima > span { grid-column:1/-1; color:#55d594; font:500 8px/1 var(--mono); letter-spacing:.11em; }
.mapa-proxima strong { color:var(--campo-texto); font:500 12px/1.4 var(--sans); }
.mapa-proxima button { border:0; background:none; color:#5cdda0; cursor:pointer; font-size:10px; }
:root[data-tema="claro"] .mapa-proxima > span,:root[data-tema="claro"] .mapa-proxima button { color:#087a4d; }
:root[data-tema="claro"] .mapa-proxima strong { color:#152019; }

/* Detalhe da loja: funil e margem no lugar de catálogo. */
.det-secao { margin-top:30px!important; }
.det-funil-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr); gap:14px; }
.det-funil { min-height:330px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:7px; padding:24px; overflow:hidden; }
.det-funil-etapa { width:var(--fw); min-width:190px; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 17px; border:1px solid var(--borda); background:var(--painel-2); clip-path:polygon(4% 0,96% 0,100% 100%,0 100%); transition:width 640ms var(--ease); }
.det-funil-etapa > div { display:flex; align-items:baseline; gap:12px; }
.det-funil-etapa span { color:var(--texto-2); font-size:12px; }
.det-funil-etapa strong { color:var(--texto); font:500 18px/1 var(--mono); }
.det-funil-etapa small { color:var(--verde-luz); font-size:9px; white-space:nowrap; }
.det-gargalo { padding:24px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.det-gargalo > span,.det-resultado-leitura > span { color:var(--ambar); font:500 8px/1 var(--mono); letter-spacing:.12em; }
.det-gargalo > strong { display:block; margin-top:13px; color:var(--texto); font:500 24px/1.05 var(--sans); letter-spacing:-.025em; }
.det-gargalo > p { margin-top:12px; color:var(--texto-2); font-size:12px; line-height:1.55; }
.det-gargalo > div { margin-top:26px; padding-top:17px; border-top:1px solid var(--borda); }
.det-gargalo b { display:block; color:var(--texto-3); font:500 8px/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.det-gargalo small { display:block; margin-top:8px; color:var(--texto); font-size:11px; line-height:1.5; }
.det-resultado { display:grid; grid-template-columns:minmax(0,1fr) 260px; overflow:hidden; }
.det-equacao { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); overflow-x:auto; }
.det-equacao > span { min-height:110px; display:flex; flex-direction:column; justify-content:center; gap:10px; padding:17px; border-right:1px solid var(--borda); color:var(--texto-3); font-size:9px; }
.det-equacao b { color:var(--texto); font:500 13px/1 var(--mono); white-space:nowrap; }
.det-equacao .total { background:var(--painel-2); }
.det-equacao .total b { font-size:16px; }
.det-resultado-leitura { padding:19px 20px; background:var(--painel-2); }
.det-resultado-leitura > span { color:var(--verde-luz); }
.det-resultado-leitura > strong { display:block; margin-top:12px; color:var(--texto); font:500 30px/1 var(--sans); }
.det-resultado-leitura p { margin-top:12px; color:var(--texto-2); font-size:10px; line-height:1.5; }

/* LunaDash */
.ld-toolbar { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:14px; padding:14px 18px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.ld-toolbar > div { display:flex; flex-direction:column; gap:4px; }
.ld-toolbar strong { color:var(--texto); font-size:13px; }
.ld-toolbar span { color:var(--texto-3); font-size:10px; }
.ld-toolbar label { display:flex; align-items:center; gap:10px; color:var(--texto-3); font-size:10px; }
.ld-toolbar select { min-width:220px; }
.ld-estado { min-height:260px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:7px; border:1px solid var(--borda); border-radius:14px; color:var(--texto-3); }
.ld-estado[hidden] { display:none; }
.ld-estado strong { color:var(--texto); }
.ld-resumo { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--borda); border-radius:14px; overflow:hidden; background:var(--painel); }
.ld-resumo article { min-height:116px; display:flex; flex-direction:column; justify-content:center; padding:18px 20px; border-right:1px solid var(--borda); }
.ld-resumo article:last-child { border-right:0; }
.ld-resumo span { color:var(--texto-3); font:500 9px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.ld-resumo strong { margin-top:12px; color:var(--texto); font:500 clamp(1.45rem,2vw,2rem)/1 var(--sans); letter-spacing:-.025em; }
.ld-resumo small { margin-top:8px; color:var(--texto-3); font-size:10px; }
.ld-resumo .sinal strong { color:var(--verde-luz); }
.ld-resumo .ruim strong { color:var(--erro); }
.ld-resumo .atencao strong { color:var(--ambar); }
.ld-equacao { margin-top:16px; padding:24px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.ld-equacao > header,.ld-config > header,.ld-produtos > header { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; }
.ld-equacao h2,.ld-config h2,.ld-produtos h2 { color:var(--texto); font:500 20px/1.05 var(--sans); letter-spacing:-.02em; }
.ld-equacao header p,.ld-config header p,.ld-produtos header p { max-width:66ch; margin-top:7px; color:var(--texto-3); font-size:11px; line-height:1.45; }
.ld-equacao header > span { color:var(--verde-luz); font:500 9px/1 var(--mono); letter-spacing:.1em; }
.ld-cascata { display:grid; grid-template-columns:repeat(7,minmax(112px,1fr)); gap:1px; margin-top:24px; overflow-x:auto; background:var(--borda); border:1px solid var(--borda); }
.ld-cascata article { min-height:126px; display:flex; flex-direction:column; justify-content:space-between; padding:17px; background:var(--painel); }
.ld-cascata article > div { display:flex; flex-direction:column; gap:10px; }
.ld-cascata span { color:var(--texto-3); font-size:10px; }
.ld-cascata strong { color:var(--texto); font:500 13px/1.2 var(--mono); white-space:nowrap; }
.ld-cascata article > i { width:var(--ld-w); height:4px; background:var(--texto-3); transform-origin:left; animation:ldReveal 760ms var(--ease) both; }
.ld-cascata .entrada > i,.ld-cascata .resultado > i { background:var(--verde-vivo); }
.ld-cascata .midia > i { background:var(--ambar); }
.ld-cascata .resultado { background:var(--painel-2); }
.ld-cascata .indefinido { opacity:.58; }
.ld-workspace { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.45fr); gap:16px; margin-top:16px; }
.ld-config { padding:24px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.ld-config header > span { color:var(--verde-luz); font:500 8px/1 var(--mono); letter-spacing:.11em; }
#ldConfig { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.ld-config-grupo h3 { margin-bottom:3px; color:var(--texto); font-size:12px; }
.ld-config-grupo h3 span { margin-left:6px; color:var(--verde-luz); font:500 7px/1 var(--mono); letter-spacing:.08em; }
.ld-reguas { padding:17px; border:1px solid var(--borda); border-radius:12px; background:var(--painel-2); }
.ld-reguas > p { margin:9px 0 5px; color:var(--texto-3); font-size:9px; line-height:1.5; }
.ld-config-copy { margin:10px 0 5px; color:var(--texto-3); font-size:9px; line-height:1.5; }
.ld-fonte { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--borda); }
.ld-fonte > span:first-child { min-width:0; }
.ld-fonte strong { display:block; color:var(--texto-2); font-size:10px; font-weight:500; }
.ld-fonte small { display:block; max-width:25ch; margin-top:4px; overflow:hidden; color:var(--texto-3); font:400 7px/1.3 var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.ld-fonte > span:last-child { display:flex; align-items:flex-end; flex-direction:column; flex:none; }
.ld-fonte b { color:var(--texto); font:500 10px/1 var(--mono); }
.ld-fonte em { margin-top:5px; color:var(--verde-luz); font:400 7px/1 var(--mono); font-style:normal; text-align:right; }
.ld-fonte.estimado b,.ld-fonte.estimado em { color:var(--ambar); }
.ld-campo { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--borda); }
.ld-campo > span:first-child { min-width:0; }
.ld-campo strong { display:block; color:var(--texto-2); font-size:11px; font-weight:500; }
.ld-campo small { display:block; margin-top:4px; color:var(--texto-3); font-size:9px; }
.ld-input { flex:0 0 126px; display:flex; align-items:center; border:1px solid var(--borda); border-radius:9px; background:var(--painel-2); overflow:hidden; }
.ld-input:focus-within { border-color:var(--verde-vivo); box-shadow:0 0 0 3px var(--verde-veu); }
.ld-input input { width:68px; min-width:0; padding:9px 8px 9px 11px; border:0; outline:0; background:none; color:var(--texto); text-align:right; }
.ld-input b { margin-left:auto; padding-right:10px; color:var(--texto-3); font:400 8px/1 var(--mono); white-space:nowrap; }
.ld-diagnostico { overflow:hidden; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.ld-diagnostico > header { padding:21px; border-bottom:1px solid var(--borda); }
.ld-diagnostico > header span { color:var(--verde-luz); font:500 8px/1 var(--mono); letter-spacing:.11em; }
.ld-diagnostico > header strong { display:block; margin-top:8px; color:var(--texto); font-size:15px; }
.ld-diagnostico article { display:flex; gap:12px; padding:17px 20px; border-bottom:1px solid var(--linha); }
.ld-diagnostico article:last-child { border-bottom:0; }
.ld-diagnostico article > i { width:7px; height:7px; flex:none; margin-top:5px; border-radius:50%; background:var(--ambar); }
.ld-diagnostico article.erro > i { background:var(--erro); }
.ld-diagnostico article.ok > i { background:var(--verde-vivo); }
.ld-diagnostico article strong { color:var(--texto); font-size:11px; }
.ld-diagnostico article p { margin-top:5px; color:var(--texto-2); font-size:10px; line-height:1.45; }
.ld-diagnostico article small { display:block; margin-top:8px; color:var(--verde-luz); font-size:9px; line-height:1.4; }
.ld-produtos { min-width:0; margin-top:16px; padding:24px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.ld-produtos header label { display:flex; align-items:center; gap:9px; color:var(--texto-3); font-size:9px; }
.ld-produtos header input { width:220px; padding:9px 11px; border:1px solid var(--borda); border-radius:9px; outline:0; background:var(--painel-2); color:var(--texto); }
.ld-produtos header input:focus { border-color:var(--verde-vivo); box-shadow:0 0 0 3px var(--verde-veu); }
#ldProdutos { max-width:100%; margin-top:20px; overflow-x:auto; border:1px solid var(--borda); overscroll-behavior-inline:contain; }
.ld-prod-head,.ld-prod-row { display:grid; grid-template-columns:minmax(260px,1fr) 110px 140px 180px; align-items:center; gap:14px; min-width:760px; }
.ld-prod-head { min-height:38px; padding:0 15px; background:var(--painel-2); color:var(--texto-3); font:500 8px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.ld-prod-head span:not(:first-child) { text-align:right; }
.ld-prod-row { min-height:64px; padding:8px 15px; border-top:1px solid var(--linha); }
.ld-prod-row > div { display:flex; align-items:center; gap:11px; min-width:0; }
.ld-prod-row > div > i { width:7px; height:7px; flex:none; border-radius:50%; background:var(--erro); }
.ld-prod-row > div > i.direto { background:var(--verde-vivo); }
.ld-prod-row > div > i.padrao { background:var(--ambar); }
.ld-prod-row strong { display:block; overflow:hidden; color:var(--texto); font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.ld-prod-row small { display:block; margin-top:3px; color:var(--texto-3); font-size:9px; }
.ld-prod-row > b { color:var(--texto-2); font:500 10px/1 var(--mono); text-align:right; }
.ld-prod-row label { display:flex; align-items:center; justify-self:end; width:160px; border:1px solid var(--borda); border-radius:9px; overflow:hidden; background:var(--painel-2); }
.ld-prod-row label:focus-within { border-color:var(--verde-vivo); box-shadow:0 0 0 3px var(--verde-veu); }
.ld-prod-row input { width:105px; padding:9px 10px; border:0; outline:0; background:none; color:var(--texto); text-align:right; }
.ld-prod-row label span { margin-left:auto; padding-right:10px; color:var(--texto-3); font:400 8px var(--mono); }
.ld-vazio { padding:34px; color:var(--texto-3); text-align:center; font-size:11px; }
@keyframes ldReveal { from { transform:scaleX(.08); opacity:.4; } }

/* Relatórios: decisão, contexto, evidência. */
.rel-selector { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; padding:12px 16px; border:1px solid var(--borda); border-radius:12px; background:var(--painel); }
.rel-selector > div { display:flex; flex-direction:column; gap:4px; }
.rel-selector strong { color:var(--texto); font-size:12px; }
.rel-selector span { color:var(--texto-3); font-size:9px; }
.rel-selector label { display:flex; align-items:center; gap:9px; color:var(--texto-3); font-size:9px; }
.rel-selector select { min-width:190px; }
.rel-stable { min-height:270px; display:flex; align-items:center; justify-content:center; gap:24px; padding:40px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.rel-stable > i { width:54px; height:54px; flex:none; border:1px solid var(--verde-vivo); border-radius:50%; box-shadow:inset 0 0 0 16px var(--verde-veu); }
.rel-stable span,.rel-diagnostic-head > div > span { color:var(--verde-luz); font:500 8px/1 var(--mono); letter-spacing:.11em; }
.rel-stable h3 { margin-top:11px; color:var(--texto); font:500 25px/1.05 var(--sans); letter-spacing:-.025em; }
.rel-stable p { max-width:68ch; margin-top:10px; color:var(--texto-2); font-size:12px; line-height:1.55; }
.rel-diagnostic-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); gap:36px; align-items:center; margin-bottom:16px; padding:26px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.rel-diagnostic-head h2 { margin-top:12px; color:var(--texto); font:500 clamp(1.9rem,3vw,3.25rem)/.98 var(--sans); letter-spacing:-.035em; }
.rel-diagnostic-head p { max-width:62ch; margin-top:12px; color:var(--texto-2); font-size:12px; line-height:1.55; }
.rel-signal-chart { display:flex; flex-direction:column; gap:13px; }
.rel-signal-chart article { display:grid; grid-template-columns:88px minmax(80px,1fr) 25px; align-items:center; gap:12px; }
.rel-signal-chart span { color:var(--texto-3); font-size:9px; }
.rel-signal-chart i { height:5px; overflow:hidden; background:var(--painel-2); }
.rel-signal-chart b { display:block; width:var(--w); height:100%; background:var(--verde-vivo); }
.rel-signal-chart article:first-child b { background:var(--erro); }
.rel-signal-chart article:last-child b { background:var(--ambar); }
.rel-signal-chart strong { color:var(--texto); font:500 11px var(--mono); text-align:right; }
.rel-insights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rel-insight { min-height:300px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.rel-insight header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.rel-insight header span { color:var(--ambar); font:500 8px/1 var(--mono); letter-spacing:.1em; }
.rel-insight.risco header span { color:var(--erro); }
.rel-insight.oportunidade header span { color:var(--verde-luz); }
.rel-insight time { color:var(--texto-3); font:400 8px/1 var(--mono); }
.rel-insight h3 { margin-top:19px; color:var(--texto); font:500 20px/1.15 var(--sans); letter-spacing:-.02em; }
.rel-insight > p { margin-top:10px; color:var(--texto-2); font-size:11px; line-height:1.5; }
.rel-insight dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px; padding-top:17px; border-top:1px solid var(--borda); }
.rel-insight dt { color:var(--texto-3); font:500 8px/1 var(--mono); text-transform:uppercase; }
.rel-insight dd { margin-top:7px; color:var(--texto-2); font-size:10px; line-height:1.45; }
.rel-insight footer { margin-top:auto; padding-top:19px; }
.rel-insight footer span { color:var(--verde-luz); font:500 8px/1 var(--mono); letter-spacing:.08em; }
.rel-insight footer strong { display:block; margin-top:7px; color:var(--texto); font-size:11px; line-height:1.45; }
.rel-market-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:16px; border:1px solid var(--borda); border-radius:14px; overflow:hidden; background:var(--painel); }
.rel-market-summary article { min-height:108px; padding:19px; border-right:1px solid var(--borda); }
.rel-market-summary article:last-child { border-right:0; }
.rel-market-summary span { color:var(--texto-3); font:500 8px/1 var(--mono); letter-spacing:.08em; }
.rel-market-summary strong { display:block; margin-top:12px; color:var(--texto); font:500 20px/1 var(--sans); }
.rel-market-summary small { display:block; margin-top:7px; color:var(--texto-3); font-size:9px; }
.rel-market-summary .alerta strong { color:var(--erro); }
.rel-market-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:16px; }
.rel-market-chart { overflow:hidden; }
.rel-market-chart article { min-height:64px; display:grid; grid-template-columns:150px minmax(100px,1fr) 100px 95px; align-items:center; gap:14px; padding:10px 17px; border-bottom:1px solid var(--linha); }
.rel-market-chart article:last-child { border-bottom:0; }
.rel-market-chart strong { color:var(--texto); font-size:11px; }
.rel-market-chart small { display:block; margin-top:4px; color:var(--texto-3); font-size:9px; }
.rel-market-chart article > span { height:5px; overflow:hidden; background:var(--painel-2); }
.rel-market-chart i { display:block; width:var(--w); height:100%; background:var(--verde-vivo); }
.rel-market-chart article > b { color:var(--texto); font:500 10px var(--mono); text-align:right; }
.rel-market-chart em { color:var(--texto-3); font:400 8px var(--mono); text-align:right; }
.rel-market-reading { padding:24px; border:1px solid var(--borda); border-radius:14px; background:var(--painel); }
.rel-market-reading > span { color:var(--verde-luz); font:500 8px/1 var(--mono); letter-spacing:.1em; }
.rel-market-reading h3 { margin-top:14px; color:var(--texto); font:500 26px/1.05 var(--sans); }
.rel-market-reading > p { margin-top:12px; color:var(--texto-2); font-size:11px; line-height:1.55; }
.rel-market-reading dl { margin-top:25px; border-top:1px solid var(--borda); }
.rel-market-reading dl div { padding:15px 0; border-bottom:1px solid var(--linha); }
.rel-market-reading dt { color:var(--texto-3); font:500 8px var(--mono); text-transform:uppercase; }
.rel-market-reading dd { margin-top:6px; color:var(--texto); font-size:10px; line-height:1.45; }
.rel-history-tools { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; padding:12px 16px; border:1px solid var(--borda); border-radius:12px; background:var(--painel); }
.rel-history-tools > div { display:flex; flex-direction:column; gap:4px; }
.rel-history-tools strong { color:var(--texto); font-size:12px; }
.rel-history-tools span { color:var(--texto-3); font-size:9px; }
.rel-history-tools label { display:flex; align-items:center; gap:9px; color:var(--texto-3); font-size:9px; }
.rel-history-list { border:1px solid var(--borda); border-radius:13px; overflow:hidden; background:var(--painel); }
.rel-history-list article { min-height:58px; display:grid; grid-template-columns:100px minmax(0,1fr) 110px; align-items:center; gap:15px; padding:9px 16px; border-bottom:1px solid var(--linha); }
.rel-history-list article:last-child { border-bottom:0; }
.rel-history-list strong { display:block; overflow:hidden; color:var(--texto); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.rel-history-list small { display:block; margin-top:4px; overflow:hidden; color:var(--texto-3); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.rel-history-list time { color:var(--texto-3); font:400 8px var(--mono); text-align:right; }

@media (max-width:1100px) {
  .sv2-workbench-head,.rel-diagnostic-head { grid-template-columns:1fr; gap:16px; }
  .sv2-workbench-head .sv2-contexto { padding:12px 0 0; border-left:0; border-top:1px solid var(--borda); }
  .ld-workspace,.rel-market-layout { grid-template-columns:1fr; }
  #ldConfig { grid-template-columns:1fr; gap:20px; }
  .det-funil-layout,.det-resultado { grid-template-columns:1fr; }
  .rel-market-summary,.ld-resumo { grid-template-columns:repeat(2,1fr); }
  .rel-market-summary article:nth-child(2),.ld-resumo article:nth-child(2) { border-right:0; }
  .rel-market-summary article:nth-child(-n+2),.ld-resumo article:nth-child(-n+2) { border-bottom:1px solid var(--borda); }
}

@media (max-width:760px) {
  .sv2-workbench-head { min-height:auto; padding-top:7px; }
  .sv2-workbench-head h2 { font-size:1.55rem; }
  .ld-toolbar,.ld-equacao > header,.ld-config > header,.ld-produtos > header { align-items:flex-start; flex-direction:column; }
  .rel-selector { align-items:flex-start; flex-direction:column; }
  .rel-selector label,.rel-selector select { width:100%; }
  .ld-toolbar label,.ld-toolbar select,.ld-produtos header label,.ld-produtos header input { width:100%; }
  .ld-resumo,.rel-market-summary { grid-template-columns:1fr 1fr; }
  .ld-resumo article,.rel-market-summary article { min-height:96px; padding:15px; }
  .ld-equacao,.ld-config,.ld-produtos { padding:17px; }
  .rel-insights { grid-template-columns:1fr; }
  .rel-diagnostic-head { padding:20px; }
  .rel-market-chart article { grid-template-columns:110px minmax(70px,1fr) 80px; }
  .rel-market-chart em { display:none; }
  .det-funil { align-items:stretch; padding:16px; }
  .det-funil-etapa { width:100%!important; min-width:0; }
  .det-equacao { grid-template-columns:repeat(6,135px); }
  .mapa-proxima { grid-template-columns:1fr; }
  .mapa-proxima > span { grid-column:auto; }
}

@media (max-width:480px) {
  .ld-resumo,.rel-market-summary { grid-template-columns:1fr; }
  .ld-resumo article,.rel-market-summary article { border-right:0; border-bottom:1px solid var(--borda); }
  .rel-insight dl { grid-template-columns:1fr; }
  .rel-history-list article { grid-template-columns:82px minmax(0,1fr); }
  .rel-history-list time { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .det-funil-etapa { transition:none; }
  .ld-cascata article > i { animation:none; }
}
