/* Layout: barra de filtros fixa no topo, abas, KPIs em grade, gráficos em 2 colunas que viram 1 no celular */
:root {
  --bg:#eef2ee; --surface:#ffffff; --surface-2:#f1f4f1; --line:#dbe2dc; --fg:#14211b; --muted:#5b6761;
  --accent:#0f5c43; --accent-fg:#ffffff; --accent-soft:#d7ebe1;
  --hero:#0f3b2d; --hero-fg:#eef6f1; --hero-muted:#a6c8b8; --hero-inv:#f2a27d; --hero-custo:#b9c6c0; --hero-lucro:#7fd6ae; --hero-neg:#ffb4ab;
  --s-inv:#eb6834; --s-fat:#2a78d6; --s-org:#1baf7a; --s-ob:#eda100; --s-out:#4a3aa7; --s-ups:#e87ba4; --s-rec:#008300;
  --good:#1d7f45; --good-bg:#e0f2e7; --bad:#bf342d; --bad-bg:#fbe4e2; --warn:#8f5d00; --warn-bg:#fcefd2;
  --f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --f-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --f-num:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --r:14px;
  --fun-1:#1d4f8f; --fun-2:#2463b0; --fun-3:#2a78d6; --fun-4:#4b91e3; --fun-5:#13805c;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#0c110f; --surface:#141b17; --surface-2:#1b231f; --line:#27312c; --fg:#edf2ee; --muted:#98a49d;
  --accent:#4cc79a; --accent-fg:#06140e; --accent-soft:#16342a;
  --hero:#123d2f; --hero-fg:#eef6f1; --hero-muted:#9cc2b1; --hero-inv:#f2a27d; --hero-custo:#a9b8b1; --hero-lucro:#7fd6ae; --hero-neg:#ffb4ab;
  --s-inv:#d95926; --s-fat:#3987e5; --s-org:#199e70; --s-ob:#c98500; --s-out:#9085e9; --s-ups:#d55181; --s-rec:#2a9a2a;
  --good:#5ccb8d; --good-bg:#14301f; --bad:#f0807a; --bad-bg:#3a1918; --warn:#e5b24c; --warn-bg:#33280f;
  color-scheme: dark; } }
:root[data-theme="dark"] {
  --bg:#0c110f; --surface:#141b17; --surface-2:#1b231f; --line:#27312c; --fg:#edf2ee; --muted:#98a49d;
  --accent:#4cc79a; --accent-fg:#06140e; --accent-soft:#16342a;
  --hero:#123d2f; --hero-fg:#eef6f1; --hero-muted:#9cc2b1; --hero-inv:#f2a27d; --hero-custo:#a9b8b1; --hero-lucro:#7fd6ae; --hero-neg:#ffb4ab;
  --s-inv:#d95926; --s-fat:#3987e5; --s-org:#199e70; --s-ob:#c98500; --s-out:#9085e9; --s-ups:#d55181; --s-rec:#2a9a2a;
  --good:#5ccb8d; --good-bg:#14301f; --bad:#f0807a; --bad-bg:#3a1918; --warn:#e5b24c; --warn-bg:#33280f;
  color-scheme: dark; }

/* ===== Tema Neon (padrão): fundo roxo-marinho, destaques ciano/magenta/violeta ===== */
:root[data-theme="neon"] {
  --bg:#110a26; --surface:#1b1338; --surface-2:#241a4a; --line:rgba(167,139,250,.18); --fg:#efeaff; --muted:#a49cc8;
  --accent:#8b5cf6; --accent-fg:#ffffff; --accent-soft:#2a1d57;
  --s-inv:#e04b9e; --s-fat:#2b8fe6; --s-org:#12a17c; --s-ob:#b98000; --s-out:#9466f0; --s-ups:#e2681e; --s-rec:#4f9a2c;
  --good:#34e0b0; --good-bg:rgba(52,224,176,.14); --bad:#ff6b9a; --bad-bg:rgba(255,107,154,.14); --warn:#ffc65c; --warn-bg:rgba(255,198,92,.13);
  --hero:#24125a; --hero-fg:#f6f2ff; --hero-muted:#b9aee6; --hero-inv:#ff5fc8; --hero-custo:#8f86c2; --hero-lucro:#2ee6d6; --hero-neg:#ff8fb1;
  --fun-1:#5b2bd6; --fun-2:#6d3ae6; --fun-3:#7c4ff0; --fun-4:#4f7cf2; --fun-5:#11b8a8;
  --glow-a:#22d3ee; --glow-b:#d946ef; --glow-c:#8b5cf6;
  color-scheme: dark;
}
:root[data-theme="neon"] body {
  background:
    radial-gradient(900px 520px at -5% -10%, rgba(139,92,246,.28), transparent 60%),
    radial-gradient(800px 480px at 105% -5%, rgba(34,211,238,.14), transparent 60%),
    radial-gradient(700px 520px at 50% 110%, rgba(217,70,239,.12), transparent 60%),
    var(--bg);
  background-attachment:fixed;
}
:root[data-theme="neon"] .panel, :root[data-theme="neon"] .kpi {
  background:linear-gradient(180deg, rgba(36,26,80,.85), rgba(25,18,56,.85));
  border-color:var(--line); box-shadow:0 12px 30px rgba(8,2,30,.35);
}
:root[data-theme="neon"] .kpi { position:relative; overflow:hidden; }
:root[data-theme="neon"] .kpi::before { content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg, var(--glow-a), var(--glow-c), var(--glow-b)); opacity:.85; }
:root[data-theme="neon"] .lucro {
  background:linear-gradient(125deg, #2b1170 0%, #3a1a86 40%, #14305f 100%);
  border:1px solid rgba(167,139,250,.35); box-shadow:0 0 0 1px rgba(46,230,214,.08), 0 18px 50px rgba(91,43,214,.35);
}
:root[data-theme="neon"] .lucro .v { background:linear-gradient(90deg, #7ff6ea, #c4b5fd 55%, #ff9ad5); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 18px rgba(46,230,214,.25)); }
:root[data-theme="neon"] .lucro.neg .v { background:linear-gradient(90deg, #ffb4c8, #ff6b9a); -webkit-background-clip:text; background-clip:text; }
:root[data-theme="neon"] .lucro .anel { background:conic-gradient(from 0deg, #22d3ee, #a78bfa calc(var(--p) * .6%), #d946ef calc(var(--p) * 1%), rgba(255,255,255,.08) 0); filter:drop-shadow(0 0 10px rgba(34,211,238,.35)); }
:root[data-theme="neon"] .lucro .anel.neg { background:conic-gradient(#ff6b9a calc(var(--p) * 1%), rgba(255,255,255,.08) 0); }
:root[data-theme="neon"] .lucro .anel > div { background:#1d1145; }
:root[data-theme="neon"] .anel.painel-anel { filter:drop-shadow(0 0 8px var(--cor)); }
:root[data-theme="neon"] .lucro .barra i { box-shadow:0 0 12px currentColor; }
:root[data-theme="neon"] .btn:not(.ghost):not(.danger) { background:linear-gradient(90deg, #7c3aed, #c026d3); box-shadow:0 6px 18px rgba(192,38,211,.28); }
:root[data-theme="neon"] .btn.ghost { border-color:rgba(167,139,250,.3); background:rgba(36,26,80,.5); }
:root[data-theme="neon"] input, :root[data-theme="neon"] select, :root[data-theme="neon"] textarea, :root[data-theme="neon"] .multi > summary { background:#170f33; border-color:rgba(167,139,250,.25); }
:root[data-theme="neon"] .chip { background:#170f33; border-color:rgba(167,139,250,.25); }
:root[data-theme="neon"] .chip[aria-pressed="true"] { border-color:var(--glow-a); color:#e6fbff; box-shadow:0 0 0 1px rgba(34,211,238,.25) inset; }
:root[data-theme="neon"] nav.tabs button[aria-selected="true"] { color:#fff; border-color:var(--glow-a); }
:root[data-theme="neon"] .filters { background:rgba(17,10,38,.85); backdrop-filter:blur(8px); }
:root[data-theme="neon"] tbody tr:hover td { background:rgba(139,92,246,.08); }
:root[data-theme="neon"] h1 { background:linear-gradient(90deg, #ffffff, #c4b5fd); -webkit-background-clip:text; background-clip:text; color:transparent; }
:root[data-theme="neon"] .esp .field label { color:var(--glow-a); }
/* ===== Tema Observatório: azul-noite, verde-água, cantos marcados e legendas em fonte mono ===== */
:root[data-theme="obs"] {
  --bg:#080e19; --surface:#0e1726; --surface-2:#142036; --line:rgba(148,163,184,.14); --fg:#e7edf7; --muted:#8c99af;
  --accent:#5eead4; --accent-fg:#04201b; --accent-soft:rgba(94,234,212,.12);
  --s-inv:#f472b6; --s-fat:#5eead4; --s-org:#a3e635; --s-ob:#fcd34d; --s-out:#a78bfa; --s-ups:#fb923c; --s-rec:#4ade80;
  --good:#4ade80; --good-bg:rgba(74,222,128,.12); --bad:#f87171; --bad-bg:rgba(248,113,113,.12); --warn:#fcd34d; --warn-bg:rgba(252,211,77,.12);
  --hero:#0f1d33; --hero-fg:#eef4fb; --hero-muted:#9fb0c8; --hero-inv:#f472b6; --hero-custo:#8c99af; --hero-lucro:#5eead4; --hero-neg:#fca5a5;
  --fun-1:#1f4f6b; --fun-2:#226a7a; --fun-3:#2b8a8a; --fun-4:#38b2a0; --fun-5:#5eead4;
  --glow-a:#5eead4; --glow-b:#f472b6; --glow-c:#a78bfa;
  --f-display:"Inter", "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --r:14px; color-scheme: dark;
}
:root[data-theme="obs"] body { background:radial-gradient(1100px 600px at 70% -10%, rgba(56,104,160,.18), transparent 60%), radial-gradient(800px 500px at -10% 110%, rgba(94,234,212,.06), transparent 60%), var(--bg); background-attachment:fixed; }
:root[data-theme="obs"] .panel, :root[data-theme="obs"] .kpi { background:linear-gradient(180deg, #0f192a, #0c1422); border:1px solid var(--line); box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 10px 30px rgba(0,0,0,.25); }
/* Cantos marcados nos quadros (canto de cima à direita e de baixo à esquerda) */
:root[data-theme="obs"] .panel { position:relative; }
:root[data-theme="obs"] .panel::before, :root[data-theme="obs"] .panel::after { content:""; position:absolute; width:14px; height:14px; pointer-events:none; border-color:rgba(94,234,212,.45); border-style:solid; }
:root[data-theme="obs"] .panel::before { top:8px; right:8px; border-width:1.5px 1.5px 0 0; border-top-right-radius:3px; }
:root[data-theme="obs"] .panel::after { bottom:8px; left:8px; border-width:0 0 1.5px 1.5px; border-bottom-left-radius:3px; }
:root[data-theme="obs"] .panel header h2, :root[data-theme="obs"] .panel > h2 { font-family:var(--f-display); font-weight:600; letter-spacing:-.01em; }
:root[data-theme="obs"] .panel header .note, :root[data-theme="obs"] .panel > header > .note, :root[data-theme="obs"] .kpi .eyebrow { font-family:var(--f-num); letter-spacing:.01em; }
:root[data-theme="obs"] .kpi .eyebrow { color:var(--muted); text-transform:none; font-size:12px; }
:root[data-theme="obs"] .kpi .v { font-family:var(--f-display); font-weight:700; color:#f4f7fb; }
:root[data-theme="obs"] .kpi { position:relative; overflow:hidden; }
:root[data-theme="obs"] .lucro { background:linear-gradient(135deg, #0f2236 0%, #0d1a2c 60%, #0c1a22 100%); border:1px solid rgba(94,234,212,.22); box-shadow:0 18px 50px rgba(0,0,0,.35); }
:root[data-theme="obs"] .lucro .v { color:#e9fffb; }
:root[data-theme="obs"] .lucro .anel { background:conic-gradient(#5eead4 calc(var(--p) * 1%), rgba(148,163,184,.14) 0); }
:root[data-theme="obs"] .lucro .anel.neg { background:conic-gradient(#f87171 calc(var(--p) * 1%), rgba(148,163,184,.14) 0); }
:root[data-theme="obs"] .lucro .anel > div { background:#0e1a2b; }
:root[data-theme="obs"] .btn:not(.ghost):not(.danger) { background:var(--accent); color:var(--accent-fg); box-shadow:0 0 0 1px rgba(94,234,212,.35), 0 8px 22px rgba(94,234,212,.18); }
:root[data-theme="obs"] .btn.ghost { border-color:rgba(148,163,184,.22); background:rgba(15,25,42,.6); }
:root[data-theme="obs"] input, :root[data-theme="obs"] select, :root[data-theme="obs"] textarea, :root[data-theme="obs"] .multi > summary { background:#0b1322; border-color:rgba(148,163,184,.2); }
:root[data-theme="obs"] .chip { background:#0b1322; border-color:rgba(148,163,184,.2); }
:root[data-theme="obs"] .chip[aria-pressed="true"] { background:rgba(94,234,212,.14); border-color:rgba(94,234,212,.7); color:#c9fbf1; font-weight:600; }
:root[data-theme="obs"] .chips [data-atalho][aria-pressed="true"], :root[data-theme="obs"] [data-ads-per][aria-pressed="true"], :root[data-theme="obs"] [data-lc-temp][aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:var(--accent-fg); box-shadow:0 0 14px rgba(94,234,212,.25); }
:root[data-theme="obs"] nav.tabs button[aria-selected="true"] { color:#fff; border-color:var(--accent); }
:root[data-theme="obs"] .filters { background:rgba(8,14,25,.85); backdrop-filter:blur(8px); }
:root[data-theme="obs"] tbody tr:hover td { background:rgba(94,234,212,.05); }
:root[data-theme="obs"] th { font-family:var(--f-num); font-weight:500; letter-spacing:.01em; }
:root[data-theme="obs"] .pill.good { background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.35); color:#86efac; }
:root[data-theme="obs"] .esp .field label { color:var(--accent); }
:root[data-theme="obs"] .kpi-vis { min-height:132px; }
:root[data-theme="obs"] .kpi-spark { display:block; width:100%; height:34px; margin-top:auto; padding-top:8px; overflow:visible; }
:root[data-theme="obs"] .kpi-d { font-family:var(--f-num); font-size:12.5px; font-weight:500; color:var(--muted); margin-top:2px; }
:root[data-theme="obs"] .kpi-d.bom { color:var(--good); } :root[data-theme="obs"] .kpi-d.ruim { color:var(--bad); }
:root[data-theme="obs"] .kpi-med { align-items:center; text-align:center; }
@media (min-width:821px){ :root[data-theme="obs"] .kpis:has(> .lucro) > .kpi { flex-basis:118px; } }
:root[data-theme="obs"] .kpi-med .eyebrow { align-self:flex-start; }
:root[data-theme="obs"] .medidor { width:100%; max-width:118px; height:auto; margin:2px auto -6px; overflow:visible; }
:root[data-theme="obs"] .med-fundo { fill:none; stroke:rgba(148,163,184,.16); stroke-width:9; stroke-linecap:round; }
:root[data-theme="obs"] .med-valor { fill:none; stroke-width:9; stroke-linecap:round; filter:drop-shadow(0 0 6px rgba(94,234,212,.35)); }
:root[data-theme="obs"] .med-marcas line { stroke:rgba(203,213,225,.55); stroke-width:1.2; stroke-linecap:round; }
:root[data-theme="obs"] .med-ponteiro { stroke:#e7edf7; stroke-width:2.4; stroke-linecap:round; }
:root[data-theme="obs"] .med-eixo { fill:var(--surface); stroke:#e7edf7; stroke-width:2; }
:root[data-theme="obs"] .med-num { font-family:var(--f-display); font-weight:700; font-size:22px; color:#f4f7fb; line-height:1.1; }
.kpi-spark, .kpi-d, .kpi-med { }
@media (min-width:1100px){
  :root[data-theme="obs"] .wrap nav.tabs { background:linear-gradient(180deg, #0f192a, #0b1321); border-color:var(--line); box-shadow:0 10px 30px rgba(0,0,0,.3); }
  :root[data-theme="obs"] .wrap nav.tabs button[aria-selected="true"] { background:linear-gradient(90deg, rgba(94,234,212,.14), rgba(94,234,212,.02)); border-left-color:var(--accent); }
  :root[data-theme="obs"] .wrap nav.tabs button:hover { background:rgba(94,234,212,.06); }
  :root[data-theme="obs"] body.nav-curto .wrap nav.tabs:hover, :root[data-theme="obs"] body.nav-curto .wrap nav.tabs:focus-within { background:linear-gradient(180deg, #0f192a, #0b1321); }
}
/* Menu lateral em telas largas (todos os temas) */
@media (min-width:1100px){
  .wrap { max-width:none; display:grid; grid-template-columns:236px minmax(0,1fr); grid-template-areas:"top top" "side filters" "side main"; grid-template-rows:auto auto 1fr; column-gap:24px; }
  header.top { grid-area:top; } .filters { grid-area:filters; } main { grid-area:main; min-width:0; }
  .wrap nav.tabs { grid-area:side; flex-direction:column; align-self:start; position:sticky; top:16px; border-bottom:0; gap:4px; overflow:visible; margin:0; }
  .wrap nav.tabs button { border-bottom:0; border-left:3px solid transparent; border-radius:10px; padding:11px 14px; margin:0; }
  .wrap nav.tabs button[aria-selected="true"] { background:var(--surface); border-left-color:var(--accent); border-bottom-color:transparent; }
  .wrap nav.tabs { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:10px; }
  .wrap nav.tabs button { display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box; text-align:left; }
  .wrap nav.tabs button[aria-selected="true"] { background:var(--surface-2, rgba(0,0,0,.05)); }
  :root[data-theme="neon"] .wrap nav.tabs { background:linear-gradient(180deg, rgba(36,24,84,.75), rgba(22,14,52,.75)); border-color:rgba(167,139,250,.18); box-shadow:0 10px 30px rgba(0,0,0,.25); }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"] { background:linear-gradient(90deg, rgba(139,92,246,.35), rgba(139,92,246,.05)); border-left-color:var(--glow-a); }
  :root[data-theme="neon"] .wrap nav.tabs button:hover { background:rgba(139,92,246,.12); }
  /* Menu recolhido: só os ícones; passando o mouse (ou com foco do teclado) ele abre por cima do conteúdo */
  .nav-recolher { margin-top:10px !important; color:var(--muted) !important; font-weight:500 !important; font-size:13px !important; }
  body.nav-curto .wrap { grid-template-columns:68px minmax(0,1fr); }
  body.nav-curto .wrap nav.tabs { width:68px; max-width:none; box-sizing:border-box; z-index:40; transition:width .16s ease, box-shadow .16s ease; overflow:hidden; }
  body.nav-curto .wrap nav.tabs:hover, body.nav-curto .wrap nav.tabs:focus-within { width:236px; box-shadow:0 18px 50px rgba(0,0,0,.45); background:var(--surface); }
  :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:hover, :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:focus-within { background:linear-gradient(180deg, #241854, #160e34); }
  body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) button { font-size:0 !important; justify-content:center; padding:11px 0; gap:0; }
  body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) button svg { width:19px; height:19px; }
  body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) .guia-prog, body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) .nav-recolher span { display:none; }
  body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) .nav-grupo { font-size:0; height:0; padding:0; margin:8px 12px; border-top:1px solid var(--line); }
  body.nav-curto .wrap nav.tabs button, body.nav-curto .wrap nav.tabs .nav-grupo { white-space:nowrap; }
  body.nav-curto .nav-recolher svg { transform:scaleX(-1); }
}
.rast-topo { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.rbarra { display:flex; height:14px; border-radius:7px; overflow:hidden; gap:2px; background:var(--line); }
.rbarra i { display:block; height:100%; min-width:3px; }
.anel.painel-anel { --cor:var(--good); } .anel.painel-anel.warn { --cor:var(--warn); } .anel.painel-anel.bad { --cor:var(--bad); }
.anel.painel-anel { background:conic-gradient(var(--cor) calc(var(--p) * 1%), var(--line) 0); }
.anel.painel-anel > div { background:var(--surface); }
.anel.painel-anel span { color:var(--muted); }
.dicas { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:8px; }
.dicas li { padding:10px 12px; border-radius:10px; border-left:3px solid var(--muted); background:var(--surface-2); font-size:13.5px; line-height:1.5; }
.dicas li.warn { border-left-color:var(--warn); } .dicas li.bad { border-left-color:var(--bad); } .dicas li.good { border-left-color:var(--good); }
.tri { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-bottom:12px; }
@media (max-width:900px){ .tri { grid-template-columns:minmax(0,1fr); } }
.panel.mini { margin:0; padding:16px 18px; }
.panel.mini header { margin-bottom:8px; }
.panel.mini h2 { font-size:16px; }
.mini-lista { list-style:none; margin:0; padding:0; max-height:170px; overflow-y:auto; }
.mini-lista li { display:grid; grid-template-columns:minmax(0,1fr) auto 22px 52px; gap:10px; align-items:center; padding:7px 0; font-size:12.5px; }
.mini-lista .nm { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mini-lista b { font-variant-numeric:tabular-nums; text-align:right; }
.mini-lista .pc { text-align:right; color:var(--muted); font-variant-numeric:tabular-nums; }
.mini-anel { width:20px; height:20px; border-radius:50%; background:conic-gradient(var(--cor) calc(var(--p) * 1%), var(--line) 0);
  -webkit-mask:radial-gradient(circle, transparent 52%, #000 54%); mask:radial-gradient(circle, transparent 52%, #000 54%); }
.conta-escolha { display:grid; gap:6px; margin:0 0 10px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.esp-abas { display:flex; gap:4px; overflow-x:auto; margin:0 0 12px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface); scrollbar-width:none; }
.esp-abas button { flex:none; border:0; background:none; color:var(--muted); font:600 14px var(--f-body); padding:9px 16px; border-radius:9px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.esp-abas button:hover { color:var(--fg); background:var(--surface-2); }
.esp-abas button[aria-selected="true"] { color:var(--fg); background:var(--surface-2); box-shadow:inset 0 -2px 0 var(--accent); }
.esp-abas button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.aba-ponto { width:7px; height:7px; border-radius:50%; background:var(--warn); display:inline-block; }
.esp-resumo { display:grid; gap:2px; }
.esp-resumo-linha { display:grid; grid-template-columns:110px auto minmax(0,1fr) auto; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); }
.esp-resumo-linha:last-child { border-bottom:0; }
.esp-resumo-linha .pill { justify-self:start; }
.esp-salvar { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-top:4px; }
.btn.esp-flutua[hidden] { display:none !important; }
.btn.esp-flutua { position:fixed; right:24px; bottom:24px; z-index:30; box-shadow:0 8px 24px rgba(0,0,0,.35); }
@media (max-width:640px){ .btn.esp-flutua { left:16px; right:16px; bottom:16px; } }
@media (max-width:640px){ .esp-resumo-linha { grid-template-columns:auto 1fr auto; } .esp-resumo-linha .note { grid-column:1 / -1; grid-row:2; } }
.ads-periodo { display:flex; gap:10px 12px; align-items:center; flex-wrap:wrap; margin:0 0 12px; }
.ads-periodo-rot { font-size:13px; font-weight:600; color:var(--muted); }
.ads-periodo .ads-datas { margin-top:0; }
.cols-presets { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:10px; } .cols-presets .note { margin:0; font-size:12px; }
.cols-pre { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden; } .cols-pre button { background:none; border:0; color:inherit; font:inherit; font-size:12.5px; padding:4px 10px; cursor:pointer; } .cols-pre .cols-pre-x { padding:4px 8px 4px 2px; opacity:.6; } .cols-pre.ativo { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 16%, transparent); }
.ads-preset { font-size:12.5px; padding:5px 8px; border-radius:8px; max-width:190px; }
dialog.modal.cols-modal { max-width:860px; padding:0; overflow:hidden; }
.cols-cab { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; padding:18px 20px 12px; border-bottom:1px solid var(--line); }
.cols-cab p { margin:2px 0 0 !important; font-size:13px; }
.cols-corpo { display:grid; grid-template-columns:1fr 1fr; min-height:0; height:min(60vh, 520px); }
.cols-esq { display:flex; flex-direction:column; gap:10px; padding:14px 20px; border-right:1px solid var(--line); min-height:0; }
.cols-lista { overflow:auto; display:grid; gap:12px; padding-right:4px; }
.cols-grupo { display:grid; gap:6px; font-size:13.5px; } .cols-grupo b { font-size:12px; color:var(--muted); font-weight:600; }
.cols-grupo[hidden], .cols-grupo .chk[hidden] { display:none !important; }
.cols-dir { display:flex; flex-direction:column; gap:6px; padding:14px 20px; min-height:0; background:color-mix(in srgb, var(--surface-2) 50%, transparent); }
.cols-ordem { list-style:none; margin:0; padding:0; display:grid; gap:6px; overflow:auto; align-content:start; }
.cols-ordem .cols-item { cursor:grab; }
.cols-item { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line); font-size:13.5px; user-select:none; }
.cols-item.fixo { color:var(--muted); padding-left:34px; }
.cols-item .alca { cursor:grab; color:var(--muted); font-size:16px; line-height:1; touch-action:none; padding:2px 2px; }
.cols-item.arrastando { opacity:.85; border-color:var(--accent); box-shadow:0 6px 18px rgba(0,0,0,.35); }
.cols-item.arrastando .alca { cursor:grabbing; }
.cols-nome { flex:1; }
.cols-x { border:0; background:none; color:var(--muted); cursor:pointer; font-size:13px; padding:2px 6px; border-radius:6px; } .cols-x:hover { color:var(--fg); background:var(--surface); }
.cols-rod { display:flex; gap:8px; align-items:center; padding:12px 20px; border-top:1px solid var(--line); }
@media (max-width:640px){ .cols-corpo { grid-template-columns:1fr; height:auto; max-height:70vh; overflow:auto; } .cols-esq { border-right:0; border-bottom:1px solid var(--line); } .cols-lista, .cols-ordem { overflow:visible; } }
.ads-tab .col-nome { width:var(--nome-w, auto); min-width:var(--nome-w, 0px); }
.ads-tab[style*="--nome-w"] .col-nome { max-width:var(--nome-w); overflow-wrap:anywhere; overflow:hidden; }
.ads-tab[style*="--nome-w"] .col-nome * { white-space:normal; max-width:100%; }
.ads-tab[style*="--nome-w"] th.col-nome { overflow:visible; }
.ads-tab[style*="--nome-w"] .ads-nome { min-width:0; }
.ads-tab th.col-nome .redim { position:absolute; top:0; right:-4px; width:9px; height:100%; cursor:col-resize; z-index:6; touch-action:none; }
.ads-tab th.col-nome .redim::after { content:""; position:absolute; top:20%; bottom:20%; left:4px; width:2px; border-radius:2px; background:var(--line); transition:background .15s; }
.ads-tab th.col-nome .redim:hover::after, .ads-tab th.col-nome .redim.ativo::after { background:var(--accent); top:0; bottom:0; }
body.redimensionando, body.redimensionando * { cursor:col-resize !important; user-select:none !important; }
.ads-barra-flut { position:fixed; bottom:14px; border-radius:0 0 10px 10px; z-index:40; height:16px; overflow-x:auto; overflow-y:hidden; background:color-mix(in srgb, var(--surface) 92%, transparent); border-top:1px solid var(--line); backdrop-filter:blur(4px); }
.ads-barra-flut > div { height:1px; }
.ads-barra-flut::-webkit-scrollbar { height:12px; } .ads-barra-flut::-webkit-scrollbar-track { background:transparent; }
.ads-barra-flut::-webkit-scrollbar-thumb { background:color-mix(in srgb, var(--muted) 70%, transparent); border-radius:8px; border:3px solid transparent; background-clip:padding-box; }
.ads-barra-flut[hidden] { display:none; }
.ads-total-flut { position:fixed; z-index:39; overflow:hidden; background:var(--surface); border-top:2px solid var(--line); border-radius:0 0 10px 10px; box-shadow:0 -10px 24px rgba(0,0,0,.28); pointer-events:none; }
.ads-total-flut[hidden] { display:none; }
.ads-total-flut table { margin:0; border-collapse:collapse; } .ads-total-flut td { background:var(--surface-2); font-weight:600; }
.ads-rd-resumo { margin:0 0 10px; font-size:13px; color:var(--muted); } .ads-rd-resumo b { color:var(--fg); }
.lds-dias { display:grid; gap:6px; }
.lds-dia { display:grid; grid-template-columns:44px 1fr 48px; gap:10px; align-items:center; font-size:13px; }
.lds-dia b { text-align:right; font-family:var(--f-num); }
.lds-barra { display:flex; height:14px; border-radius:4px; overflow:hidden; background:var(--surface-2); }
.lds-barra i { display:block; height:100%; } .lds-barra i.novo, .lds-leg.novo { background:var(--accent); } .lds-barra i.base, .lds-leg.base { background:color-mix(in srgb, var(--muted) 60%, transparent); }
.lds-leg { display:inline-block; width:10px; height:10px; border-radius:3px; margin:0 4px 0 10px; vertical-align:-1px; }
.ads-datas { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.ads-datas input[type=date] { width:auto; padding:6px 10px; }
.plat-linha { display:grid; gap:6px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.plat-linha:last-child { border-bottom:0; padding-bottom:0; }
.plat-nome { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ab-veredito { padding:12px 14px; border-radius:10px; border-left:3px solid var(--muted); background:var(--surface-2); font-size:14px; line-height:1.5; }
.ab-veredito.good { border-left-color:var(--good); } .ab-veredito.warn { border-left-color:var(--warn); }
td.ganha b { color:var(--good); }
.ab-vars { display:grid; gap:10px; margin-top:12px; }
.ab-var { display:grid; grid-template-columns:150px minmax(0,1fr) 78px 70px 170px; gap:18px; align-items:center; padding:12px 16px 12px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.ab-var.vence { border-color:var(--good); box-shadow:inset 3px 0 0 var(--good); background:var(--good-bg); }
.ab-cab { display:grid; grid-template-columns:150px minmax(0,1fr) 78px 70px 170px; gap:18px; padding:0 16px 0 12px; font-size:12px; color:var(--muted); }
.ab-cab span:nth-child(n+3), .ab-num { text-align:right; }
.ab-mini { width:150px; aspect-ratio:16/10; border-radius:8px; overflow:hidden; background:var(--surface-2); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--muted); font:600 28px var(--f-display); }
.ab-mini img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.ab-mini.carregando { background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2)); background-size:200% 100%; animation:abBrilho 1.4s linear infinite; }
@keyframes abBrilho { to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .ab-mini.carregando { animation:none; } }
.ab-info { min-width:0; display:grid; gap:3px; }
.ab-info .nome { font-weight:650; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ab-letra { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:6px; background:var(--surface-2); font:700 12px var(--f-body); }
.ab-var.vence .ab-letra { background:var(--good); color:#fff; }
.ab-info a.url { color:var(--muted); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-decoration:none; }
.ab-info a.url:hover { text-decoration:underline; }
.ab-info .hl { font-size:13.5px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ab-cta { justify-self:start; font-size:12px; padding:2px 8px; border-radius:999px; border:1px solid var(--line); background:var(--surface-2); max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ab-num b { font:600 17px var(--f-num); display:block; }
.ab-taxa { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.ab-taxa b { font:700 19px var(--f-num); }
.ab-var.vence .ab-taxa b { color:var(--good); }
.ab-spark { width:76px; height:28px; flex:none; }
.ab-resumo { display:flex; gap:14px; align-items:flex-start; padding:14px 16px; border-radius:12px; background:var(--surface-2); margin-top:12px; font-size:14px; line-height:1.5; }
.ab-resumo .grande { font:700 22px var(--f-num); white-space:nowrap; }
.ab-metricas { display:contents; }
.ab-num small { display:none; }
@media (max-width:820px){
  .ab-cab { display:none; }
  .ab-var { grid-template-columns:96px minmax(0,1fr); gap:10px 12px; }
  .ab-mini { width:96px; font-size:22px; }
  .ab-metricas { grid-column:1 / -1; display:flex !important; justify-content:space-between; align-items:center; gap:12px; }
  .ab-num small { display:block; color:var(--muted); font-size:11.5px; }
}
tr.destaque td { background:var(--accent-soft); }
/* Análise de criativos (Lançamentos): ranking à esquerda, detalhe à direita */
.acr-barra-topo { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:12px; }
.acr-barra-topo input { flex:1; min-width:200px; }
.acr-ord { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); white-space:nowrap; }
.acr { display:grid; grid-template-columns:minmax(0, 440px) minmax(0, 1fr); gap:16px; align-items:start; }
.acr-lista { display:grid; gap:6px; max-height:640px; overflow-y:auto; padding-right:4px; }
.acr-item { all:unset; box-sizing:border-box; cursor:pointer; display:grid; grid-template-columns:22px 46px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; border:1px solid var(--line); background:var(--surface); }
.acr-item:hover { border-color:color-mix(in srgb, var(--accent) 45%, var(--line)); }
.acr-item:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.acr-item.ativo { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, var(--surface)); }
.acr-pos { font-size:12px; font-weight:700; color:var(--muted); text-align:center; }
.acr-thumb { width:46px; height:46px; border-radius:9px; background:var(--surface-2) center/cover no-repeat; }
.acr-thumb.vazio, .acr-thumb.sem { background:linear-gradient(135deg, var(--surface-2), var(--line)); }
.acr-txt { min-width:0; display:grid; gap:3px; } .acr-txt b { font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .acr-txt span { font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.acr-val { display:grid; justify-items:end; gap:2px; } .acr-val small { font-size:10.5px; color:var(--muted); } .acr-val b { font-size:16px; font-variant-numeric:tabular-nums; }
.acr-score.bom { color:var(--good); } .acr-score.medio { color:var(--warn); } .acr-score.ruim { color:var(--bad); }
.acr-det { position:sticky; top:12px; border:1px solid var(--line); border-radius:16px; padding:16px 18px; background:var(--surface); display:grid; grid-template-columns:minmax(0, 1fr); gap:14px; }
.acr-img { width:100%; aspect-ratio:16/10; max-height:280px; border-radius:12px; background:var(--surface-2) center/contain no-repeat; }
.acr-img.sem { display:none; }
.acr-det-cab { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; } .acr-det-cab h3 { margin:0; font-size:17px; overflow-wrap:anywhere; }
.acr-anel { flex:none; width:66px; height:66px; border-radius:50%; display:grid; place-items:center; align-content:center; background:conic-gradient(var(--c, var(--accent)) calc(var(--p) * 1%), var(--line) 0); position:relative; }
.acr-anel::before { content:""; position:absolute; inset:6px; border-radius:50%; background:var(--surface); }
.acr-anel b, .acr-anel span { position:relative; line-height:1.05; } .acr-anel b { font-size:19px; } .acr-anel span { font-size:10px; color:var(--muted); }
.acr-anel.bom { --c:var(--good); } .acr-anel.medio { --c:var(--warn); } .acr-anel.ruim { --c:var(--bad); }
.acr-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(110px, 1fr)); gap:8px; }
.acr-kpis > div { padding:10px 12px; border-radius:10px; background:var(--surface-2); display:grid; gap:2px; } .acr-kpis span { font-size:12px; color:var(--muted); } .acr-kpis b { font-size:17px; font-variant-numeric:tabular-nums; } .acr-kpis small { font-size:11.5px; color:var(--muted); font-weight:500; }
/* Controle diário do lançamento */
.cmp-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px; }
.cmp-cards > div { background:var(--surface-2, rgba(255,255,255,.03)); border:1px solid var(--line); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:4px; }
.cmp-cards span { color:var(--muted); font-size:12.5px; }
.cmp-cards b { font-size:24px; font-variant-numeric:tabular-nums; }
.cmp-cards small { color:var(--muted); font-size:12.5px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.cmp-dia { margin-bottom:12px; }
.lc-hoje { margin-bottom:12px; border-color:color-mix(in srgb, var(--warn) 35%, var(--line)); }
.lc-hoje .alertas { margin-top:6px; }
.dia-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:10px; margin-bottom:12px; }
.dia-card { display:grid; gap:4px; padding:14px 16px; border-radius:14px; border:1px solid var(--line); background:var(--surface); }
.dia-card span { font-size:12.5px; color:var(--muted); } .dia-card b { font-family:var(--f-display); font-size:24px; font-variant-numeric:tabular-nums; } .dia-card small { font-size:12px; color:var(--muted); }
.dia-card b.bom { color:var(--good); } .dia-card b.ruim { color:var(--bad); }
.dia-barra { display:block; height:6px; border-radius:999px; background:var(--line); overflow:hidden; } .dia-barra em { display:block; height:100%; background:var(--good); border-radius:999px; }
.dia-rosca-l { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.dia-rosca { width:150px; height:150px; border-radius:50%; flex:none; display:grid; place-items:center; background:conic-gradient(var(--s-fat) 0 var(--m), var(--warn) var(--m) var(--g), var(--line) var(--g) 100%); position:relative; }
.dia-rosca::before { content:""; position:absolute; inset:18px; border-radius:50%; background:var(--surface); }
.dia-rosca > div { position:relative; display:grid; justify-items:center; } .dia-rosca b { font-size:17px; } .dia-rosca span { font-size:11.5px; color:var(--muted); }
.dia-leg { list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:13.5px; } .dia-leg li { display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .dia-leg i { width:10px; height:10px; border-radius:3px; }
.dia-tab table { font-variant-numeric:tabular-nums; } .dia-tab td.bom { color:var(--good); } .dia-tab td.ruim { color:var(--bad); } .dia-tab td.forte { font-weight:700; }
.dia-tab tr.hoje td { background:color-mix(in srgb, var(--accent) 10%, transparent); } .dia-tab tr.futuro td { opacity:.55; }
.dia-tab tfoot td { font-weight:700; border-top:2px solid var(--line); } .dia-tab tr.dia-meta td { background:color-mix(in srgb, var(--warn) 12%, transparent); font-weight:600; }
.acr-notas { display:flex; gap:10px; flex:none; }
.acr > *, .acr-det, .acr-perfil, .acr-perfil > * { min-width:0; }
.acr-base { margin:0; padding:10px 12px; border-radius:10px; background:var(--surface-2); font-size:13.5px; } .acr-base b { font-variant-numeric:tabular-nums; }
.acr-perfil { display:grid; gap:10px; padding:14px; border-radius:12px; background:color-mix(in srgb, var(--fg, #fff) 4%, transparent); }
.acr-perfil-cab { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 10px; } .acr-perfil-cab .note { font-size:12px; }
.acr-dest { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.acr-dest li { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:13px; padding:7px 10px; border-radius:8px; border-left:3px solid var(--good); background:color-mix(in srgb, var(--good) 9%, transparent); }
.acr-dest li.ruim { border-left-color:var(--bad); background:color-mix(in srgb, var(--bad) 9%, transparent); }
.acr-dest li.neutro { border-left-color:var(--accent); background:color-mix(in srgb, var(--accent) 9%, transparent); }
.acr-dest li .note { display:block; font-size:11.5px; margin:0; } .acr-dest em { font-style:normal; font-weight:700; white-space:nowrap; } .acr-dest em small { font-weight:400; opacity:.7; }
.acr-fx { display:grid; gap:6px; } .acr-fx-linha { display:grid; grid-template-columns:96px 1fr; align-items:center; gap:8px; font-size:12px; }
.acr-fx-barra { display:flex; height:20px; border-radius:6px; overflow:hidden; background:color-mix(in srgb, var(--fg, #fff) 6%, transparent); }
.acr-fx-barra i { display:flex; align-items:center; justify-content:center; font-style:normal; font-size:11px; font-weight:700; color:#fff; min-width:0; overflow:hidden; }
.acr-fx-leg { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:11.5px; opacity:.85; } .acr-fx-leg span { display:inline-flex; align-items:center; gap:5px; } .acr-fx-leg i { width:10px; height:10px; border-radius:3px; display:inline-block; }
.fx-A { background:#22c55e; } .fx-B { background:#84cc16; } .fx-C { background:#f59e0b; } .fx-D { background:#ef4444; }
.acr-perg { display:grid; gap:5px; } .acr-perg-tit { font-size:13px; font-weight:600; }
.acr-op { display:grid; grid-template-columns:minmax(0, 1.3fr) minmax(60px, 1fr) 38px 56px; align-items:center; gap:8px; font-size:12.5px; }
.acr-op-nome { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .acr-op b { text-align:right; } .acr-op small { font-size:11px; text-align:right; white-space:nowrap; }
.acr-op small.neutro { opacity:.8; } .acr-op small.sobe { color:var(--good); } .acr-op small.desce { color:var(--bad); }
.acr-outras summary { cursor:pointer; font-size:13px; padding:4px 0; } .acr-outras[open] { display:grid; gap:10px; }
@media (max-width:560px){ .acr-op { grid-template-columns:minmax(0,1fr) 38px 56px; row-gap:3px; } .acr-op-nome { grid-column:1 / -1; white-space:normal; } .acr-fx-linha { grid-template-columns:78px 1fr; } }
.acr-alerta { margin:0; padding:10px 12px; border-radius:10px; font-size:13px; background:color-mix(in srgb, var(--warn) 14%, transparent); }
.acr-video { display:grid; gap:12px; padding:12px; border-radius:12px; background:color-mix(in srgb, var(--accent) 8%, transparent); }
.acr-video-cab { font-size:12px; font-weight:700; color:var(--muted); }
.acr-barra { display:grid; gap:5px; } .acr-barra-cab { display:flex; justify-content:space-between; gap:8px; font-size:13.5px; } .acr-barra .note { font-size:11.5px; margin:0; }
.acr-trilho { position:relative; height:8px; border-radius:999px; background:var(--line); }
.acr-trilho i { position:absolute; left:0; top:0; bottom:0; border-radius:999px; background:var(--accent); }
.acr-barra.bom .acr-trilho i { background:var(--good); } .acr-barra.ruim .acr-trilho i { background:var(--bad); }
.acr-trilho em { position:absolute; top:-4px; width:2px; height:16px; background:var(--fg); opacity:.7; border-radius:2px; }
@media (max-width:900px){ .acr { grid-template-columns:1fr; } .acr-det { position:static; order:-1; } .acr-lista { max-height:420px; } }
.cri-img { margin:-2px -2px 10px; aspect-ratio:1/1; max-height:220px; border-radius:10px; background:var(--surface-2) center/cover no-repeat; }
.cri-img.sem { display:none; }
.cri-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:10px; }
.cri { border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:var(--surface-2); display:grid; gap:10px; border-top:3px solid var(--line); }
.cri.good { border-top-color:var(--good); } .cri.bad { border-top-color:var(--bad); }
.cri-topo { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; }
.cri-pos { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:700; background:var(--accent-soft); color:var(--fg); }
.cri-nome { font-weight:600; font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cri .note { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11.5px; }
.cri-destaque { display:flex; align-items:baseline; gap:8px; } .cri-destaque span { font-size:12px; color:var(--muted); } .cri-destaque b { font-size:24px; font-variant-numeric:tabular-nums; }
.cri.good .cri-destaque b { color:var(--good); } .cri.bad .cri-destaque b { color:var(--bad); }
.cri-met { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:6px 10px; }
.cri-met div { display:grid; gap:1px; min-width:0; } .cri-met span { font-size:11px; color:var(--muted); } .cri-met b { font-size:12.5px; font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.alertas { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.alerta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; border-radius:10px; background:var(--surface-2); border-left:3px solid var(--warn); }
.alerta.alta { border-left-color:var(--bad); } .alerta.feito { opacity:.55; }
.al-txt { min-width:0; font-size:13.5px; } .al-txt span[title] { overflow-wrap:anywhere; } .al-tit { font-weight:600; margin-top:2px; }
.al-acoes { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:640px){ .alerta { grid-template-columns:minmax(0,1fr); } .al-acoes { justify-content:flex-start; } }
.cart-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:12px; }
.cart-card { margin:0; } .cart-card h3 { font-size:16px; margin:0; }
.cart-met { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:6px 10px; }
.cart-met div { display:grid; min-width:0; } .cart-met span { font-size:11px; color:var(--muted); } .cart-met b { font-size:13.5px; font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .cart-met b.neg { color:var(--bad); }
.login { min-height:100vh; display:grid; place-items:center; padding:24px 16px; }
.login-caixa { box-sizing:border-box; width:100%; max-width:380px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:28px 24px; display:grid; }
.login-caixa h1 { font-size:24px; display:flex; gap:10px; align-items:center; margin-bottom:6px; }
.login-caixa input, .login-caixa .btn { width:100%; box-sizing:border-box; }
.login-caixa .btn { justify-content:center; text-align:center; }
.aviso-push { margin:0 0 8px; padding:10px 12px; border-radius:10px; background:var(--warn-bg); color:var(--fg); font-size:13.5px; }
.ok-push { margin:0 0 8px; color:var(--good); font-weight:600; font-size:13.5px; }
.aparelhos { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:6px; }
.aparelhos li { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; font-size:13px; padding:6px 0; border-top:1px solid var(--line); }
.aparelhos li .btn { margin-left:auto; }
label.chk { display:flex; gap:6px; align-items:center; font-size:13px; }
details.tg { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
details.tg summary { cursor:pointer; font-size:13.5px; margin-bottom:8px; }
.passos-notif { margin:0; padding-left:20px; display:grid; gap:10px; font-size:13.5px; }
.passos-notif select { padding:5px 8px; }
/* Teste A/B visual: anúncio → divisão → duas versões, veredito com confiança */
.abv-chip { display:inline-flex; align-items:center; font-size:11.5px; font-weight:600; padding:2px 9px; border-radius:999px; background:color-mix(in srgb, var(--accent) 18%, transparent); color:var(--fg); }
.abv-hip { margin:4px 0 0; font-size:13px; color:var(--muted); }
.abv { display:grid; justify-items:center; margin:14px 0 4px; }
.abv-origem { display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:14px; border:1px solid var(--line); background:var(--surface-2); }
.abv-origem div { display:grid; line-height:1.15; } .abv-origem b { font-size:18px; font-variant-numeric:tabular-nums; } .abv-origem span { font-size:12px; color:var(--muted); }
.abv-ic { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:color-mix(in srgb, var(--accent) 22%, transparent); color:var(--fg); }
.abv-ramos { width:100%; height:30px; overflow:visible; } .abv-ramos path { fill:none; stroke:var(--line); stroke-width:2; vector-effect:non-scaling-stroke; }
.abv-cards { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:14px; } .abv-cards.tres { grid-template-columns:repeat(3, minmax(0,1fr)); } .abv-cards.tres .abv-taxa b { font-size:26px; }
.abv-card { border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--surface); display:grid; grid-template-rows:auto 1fr; }
.abv-card.vence { border-color:var(--good); box-shadow:0 0 0 1px var(--good) inset, 0 10px 30px color-mix(in srgb, var(--good) 14%, transparent); }
.abv-shot { position:relative; aspect-ratio:16/8; background:linear-gradient(135deg, var(--surface-2), var(--line)); overflow:hidden; }
.abv-shot img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.abv-letra { position:absolute; left:10px; top:10px; width:30px; height:30px; border-radius:9px; display:grid; place-items:center; font-weight:800; background:rgba(10,8,25,.75); color:#fff; }
.abv-card.vence .abv-letra { background:var(--good); color:#06140e; }
.abv-selo { position:absolute; right:10px; top:10px; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--good); color:#06140e; }
.abv-corpo { padding:12px 14px 14px; display:grid; gap:6px; align-content:start; }
.abv-nome { display:flex; justify-content:space-between; gap:8px; } .abv-nome span { font-size:12px; color:var(--muted); }
.abv-url { font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.abv-hl { margin:0; font-size:13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.abv-cta { justify-self:start; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:8px; border:1px solid var(--line); }
.abv-taxa { display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:8px; margin-top:4px; }
.abv-taxa b { font-family:var(--f-display); font-size:30px; line-height:1; font-variant-numeric:tabular-nums; } .abv-card.vence .abv-taxa b { color:var(--good); }
.abv-taxa span { font-size:11.5px; color:var(--muted); padding-bottom:3px; }
.abv-funil { display:grid; gap:5px; margin-top:4px; }
.abv-et { display:grid; grid-template-columns:70px 1fr 56px; align-items:center; gap:8px; font-size:12px; } .abv-et span { color:var(--muted); } .abv-et b { text-align:right; font-variant-numeric:tabular-nums; }
.abv-et i { height:7px; border-radius:999px; background:var(--line); overflow:hidden; } .abv-et em { display:block; height:100%; border-radius:999px; background:var(--accent); }
.abv-card.vence .abv-et em { background:var(--good); }
.abv-ver { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; margin-top:14px; padding:14px 16px; border-radius:14px; background:var(--surface-2); }
.abv-ver.certo { box-shadow:0 0 0 1px var(--good) inset; }
.abv-ver-txt { display:grid; } .abv-ver-txt span { font-size:13px; color:var(--muted); }
.abv-lift { display:grid; font-family:var(--f-display); font-size:30px; font-weight:700; line-height:1; } .abv-lift.bom { color:var(--good); } .abv-lift small { font-family:var(--f-body); font-size:12px; font-weight:500; color:var(--muted); margin-top:4px; }
.abv-conf { display:grid; gap:6px; } .abv-conf-cab { display:flex; justify-content:space-between; font-size:13px; }
.abv-conf-trilho { position:relative; height:10px; border-radius:999px; background:var(--line); }
.abv-conf-trilho i { position:absolute; inset:0 auto 0 0; border-radius:999px; background:linear-gradient(90deg, var(--warn), var(--good)); }
.abv-conf-trilho em { position:absolute; top:-4px; width:2px; height:18px; background:var(--fg); opacity:.75; }
.abv-conf-nota { font-size:12px; color:var(--muted); }
.abv-enc { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--muted); white-space:nowrap; }
.abl-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:10px; }
.abl { all:unset; box-sizing:border-box; cursor:pointer; display:grid; gap:6px; align-content:start; padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:var(--surface); }
.abl:hover, .abl:focus-visible { border-color:var(--accent); outline:none; }
.abl-top { display:flex; justify-content:space-between; gap:8px; align-items:center; } .abl b { font-size:14px; }
.abl-lift { font-size:13px; font-weight:700; color:var(--muted); } .abl-lift.bom { color:var(--good); }
.abl-hip { font-size:12.5px; color:var(--muted); }
@media (max-width:760px){ .abv-cards, .abv-cards.tres { grid-template-columns:1fr; } .abv-ramos { display:none; } .abv-origem { justify-self:stretch; margin-bottom:10px; } .abv-ver { grid-template-columns:1fr; } }
.ab-dominio { margin-top:10px; } .ab-dominio > summary { cursor:pointer; font-weight:600; font-size:13.5px; } .ab-dominio .passos-notif { margin-top:10px; }
nav.tabs svg { width:17px; height:17px; flex:none; opacity:.85; }
@media (max-width:1099px){ nav.tabs svg { display:none; } }
@media (max-width:1099px){ .nav-recolher { display:none !important; } }
.tema select { padding:6px 8px; font-size:12.5px; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--f-body); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; }
.wrap { max-width:none; margin:0 auto; padding:0 16px; padding-block:20px 48px; }
@media (min-width:1100px){ .wrap { padding-inline:24px; } }
h1,h2,h3 { font-family:var(--f-display); margin:0; text-wrap:balance; letter-spacing:-0.01em; }
h1 { font-size:28px; font-weight:700; letter-spacing:-0.02em; }
h2 { font-size:18px; font-weight:600; }
.num { font-variant-numeric:tabular-nums; }
.muted { color:var(--muted); }
.eyebrow { font-size:12.5px; color:var(--muted); font-weight:500; }

header.top { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 20px; margin-bottom:18px; }
header.top h1 { display:flex; align-items:center; gap:10px; }
/* Marca Kivu: o nome usa o degradê claro nos temas escuros e a cor do texto no tema claro */
/* Resultado para print: tela limpa (sem menu nem filtros), números grandes e a marca */
body.modo-print header.top, body.modo-print nav.tabs, body.modo-print .filters { display:none !important; }
body.modo-print .wrap { display:block !important; }
.mp { max-width:520px; margin:0 auto; padding:4px 0 28px; }
.mp-top { display:flex; align-items:center; gap:12px; padding:6px 2px 14px; }
.mp-top .kivu-logo { display:block; }
.mp-per { margin-left:auto; font-size:16px; font-weight:600; color:var(--fg); }
.mp-x { all:unset; cursor:pointer; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:var(--muted); font-size:18px; }
.mp-x:hover, .mp-x:focus-visible { background:var(--surface); color:var(--fg); outline:none; }
.mp-ctrl { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:22px 0 0; padding-top:16px; border-top:1px dashed var(--line); }
.mp-esp { margin:0 2px 12px; font-size:15px; color:var(--muted); }
.mp-card { display:flex; flex-direction:column; gap:6px; padding:22px 26px; margin-bottom:14px; border-radius:18px; background:var(--surface); border:1px solid var(--line); }
.mp-rot { font-size:16.5px; color:var(--fg); opacity:.9; }
.mp-val { font-family:var(--f-display); font-weight:700; font-size:clamp(30px, 9vw, 40px); line-height:1.1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--fg); }
.mp-sub { font-size:13px; color:var(--muted); }
.mp-card.bom .mp-rot, .mp-card.bom .mp-val { color:var(--good); }
.mp-card.ruim .mp-rot, .mp-card.ruim .mp-val { color:var(--bad); }
.mp-par { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .mp-par .mp-card { margin-bottom:0; padding:18px 20px; } .mp-par .mp-val { font-size:clamp(22px, 6.5vw, 28px); }
.mp-rodape { display:flex; justify-content:center; align-items:center; gap:8px; margin:22px 0 0; font-size:12.5px; color:var(--muted); }
:root[data-theme="neon"] .mp-card { background:linear-gradient(180deg, rgba(36,24,84,.75), rgba(22,14,52,.75)); border-color:rgba(167,139,250,.16); }
.kivu-h1 { line-height:0; margin:0; } .kivu-home { display:inline-block; border-radius:10px; cursor:pointer; } .kivu-home:focus-visible { outline:2px solid var(--accent); outline-offset:3px; } .login-caixa h1.kivu-h1 { margin-bottom:14px; }
.kivu-logo { display:block; width:auto; }
.kivu-txt { fill:var(--kw); stroke:var(--kw); stroke-width:3; stroke-linejoin:round; }
:root[data-theme="light"] .kivu-txt { fill:#2A2266; stroke:#2A2266; }
@media (prefers-color-scheme: light){ :root:not([data-theme]) .kivu-txt { fill:#2A2266; stroke:#2A2266; } }
:root[data-theme="neon"] h1.kivu-h1 { background:none; color:inherit; }

.esp { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; }
.esp select { font-weight:600; min-width:220px; }
.esp .field label { color:var(--accent); }
.status { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--muted); }
.dot.on { background:var(--good); }
/* Assistente de anúncios (IA): painel lateral */
.ia-btn { display:inline-flex; align-items:center; gap:6px; margin-left:12px; }
.ia-painel { position:fixed; top:0; right:0; bottom:0; width:min(460px, 100vw); z-index:90; display:flex; flex-direction:column; background:var(--surface); border-left:1px solid var(--line); box-shadow:-18px 0 40px rgba(0,0,0,.35); transform:translateX(105%); transition:transform .2s ease; visibility:hidden; }
.ia-painel.aberto { transform:none; visibility:visible; }
.ia-painel > header { display:flex; align-items:flex-start; gap:8px; padding:16px 16px 12px; border-bottom:1px solid var(--line); }
.ia-painel > header > div { flex:1; min-width:0; } .ia-painel h2 { font-size:17px; } .ia-painel #iaCtx { margin:2px 0 0; }
.ia-msgs { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; }
.ia-msg { max-width:92%; padding:10px 13px; border-radius:12px; font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
.ia-msg.eu { align-self:flex-end; background:var(--accent); color:var(--accent-fg); border-bottom-right-radius:4px; white-space:pre-wrap; }
.ia-msg.ia { align-self:flex-start; background:var(--surface-2); border:1px solid var(--line); border-bottom-left-radius:4px; }
.ia-msg.ia p { margin:0 0 8px; } .ia-msg.ia p:last-child { margin-bottom:0; } .ia-msg.ia ul, .ia-msg.ia ol { margin:4px 0 8px; padding-left:18px; display:grid; gap:4px; } .ia-msg.ia h4 { margin:10px 0 4px; font-size:14px; }
.ia-acoes { display:grid; gap:8px; margin-top:12px; }
.ia-acao { display:flex; gap:10px; align-items:center; justify-content:space-between; padding:10px 12px; border-radius:10px; background:var(--surface); border:1px solid var(--line); }
.ia-acao > div { display:grid; gap:2px; min-width:0; } .ia-acao .nome { font-size:13px; overflow-wrap:anywhere; } .ia-acao .note { font-size:12px; } .ia-acao .btn { flex:none; }
.ia-vazio { margin:auto 0; text-align:center; display:grid; gap:12px; color:var(--fg); } .ia-sug { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; } .ia-sug .chip { white-space:normal; text-align:left; }
.ia-form { display:flex; gap:8px; align-items:flex-end; padding:12px 16px 16px; border-top:1px solid var(--line); } .ia-form textarea { flex:1; resize:none; min-height:44px; max-height:140px; }
@media (prefers-reduced-motion: reduce){ .ia-painel { transition:none; } }
/* Menu lateral em grupos (no celular os títulos somem e fica a faixa de abas) */
.nav-grupo { margin:14px 0 2px; padding:0 14px; font-size:11.5px; font-weight:600; color:var(--muted); opacity:.8; }
nav.tabs > div { display:contents; }
.guia-prog { margin-left:auto; flex:none; font-size:10.5px; font-weight:700; padding:1px 6px; border-radius:999px; background:var(--accent); color:var(--accent-fg); }
@media (max-width:1099px){ .nav-grupo { display:none; } }
/* Menu da conta (avatar): tema, Sua conta e Sair num lugar só */
.conta-menu { position:relative; } .conta-menu > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; color:var(--muted); padding:2px; border-radius:999px; }
.conta-menu > summary::-webkit-details-marker { display:none; }
.conta-menu > summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:14px; color:var(--accent-fg); background:linear-gradient(135deg, var(--accent), var(--glow-b, var(--accent))); }
.conta-pop { position:absolute; right:0; top:calc(100% + 8px); z-index:60; min-width:230px; display:grid; gap:10px; padding:14px; border-radius:12px; background:var(--surface-2); border:1px solid var(--line); box-shadow:0 14px 34px rgba(0,0,0,.35); }
.conta-pop .tema { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.conta-pop .btn { width:100%; box-sizing:border-box; justify-content:center; }
/* Barra do topo: logo, especialista e conta numa faixa só, de ponta a ponta */
header.top { align-items:center; justify-content:flex-start; gap:12px 18px; padding:10px 14px 10px 18px; background:var(--surface); border:1px solid var(--line); border-radius:16px; position:relative; z-index:50; }
header.top h1 { font-size:22px; margin:0; white-space:nowrap; }
header.top .esp { padding-left:18px; border-left:1px solid var(--line); }
header.top .esp .field { flex-direction:row; align-items:center; gap:10px; display:flex; margin:0; }
header.top .esp .field label { margin:0; font-size:12.5px; white-space:nowrap; }
header.top .esp select { padding-top:8px; padding-bottom:8px; }
header.top .status { margin-left:auto; }
:root[data-theme="neon"] header.top { background:linear-gradient(90deg, rgba(36,24,84,.85), rgba(22,14,52,.85)); border-color:rgba(167,139,250,.18); box-shadow:0 10px 30px rgba(0,0,0,.25); }
@media (max-width:640px){
  header.top { padding:10px 12px; }
  header.top .esp { padding-left:0; border-left:0; }
  header.top .esp .field label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
}

nav.tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:16px; overflow-x:auto; max-width:100%; min-width:0; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
nav.tabs::-webkit-scrollbar { display:none; }
.esp-oculto { visibility:hidden; }
@media (max-width:820px){ .esp-oculto { display:none !important; } header.top:has(.esp-oculto) .esp { display:none; } }
@media (max-width:1099px){ nav.tabs { -webkit-mask-image:linear-gradient(90deg, #000 88%, transparent); mask-image:linear-gradient(90deg, #000 88%, transparent); } }
input[type=checkbox], input[type=radio] { flex:none; }
/* Semáforo das campanhas */
.sem{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:1px;flex:none;background:var(--muted);opacity:.5}
.sem.bom{background:var(--good,#22c55e);opacity:1}.sem.atencao{background:var(--warn);opacity:1}.sem.ruim{background:var(--bad);opacity:1}
.sem-legenda{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.sem-legenda .sem{margin:0 2px 0 8px}
/* Visão geral em partes */
.sec-fora{display:none !important}
/* Mapa da página */
/* Panorama do lançamento */
.lc-aba-n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:var(--warn);color:#111;font-size:11px;font-weight:700;vertical-align:1px}
.lc-pano{margin-bottom:12px}
.pano-sinais{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pano-sinal{padding:10px 12px;border-radius:12px;background:var(--surface-2);border-top:3px solid var(--line)}
.pano-sinal.verde{border-top-color:var(--good)}.pano-sinal.amarelo{border-top-color:var(--warn)}.pano-sinal.vermelho{border-top-color:var(--bad)}
.pano-sinal p{margin:6px 0 0;font-size:13.5px}
.pano-h{font-size:15px;margin:16px 0 8px}
.pano-bom{margin:0;padding-left:18px;font-size:14px}.pano-bom li{margin:4px 0}
/* Nota do lead */
.nl-painel{margin-bottom:12px}
.nl-hist{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;height:120px;align-items:end;margin:14px 0 4px}
.nl-hist>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.nl-hist i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:var(--muted)}
.nl-hist i.quente,.nl-tag.quente{background:var(--good)}.nl-hist i.morno,.nl-tag.morno{background:var(--warn)}.nl-hist i.frio,.nl-tag.frio{background:var(--bad)}
.nl-hist span{font-size:11px;color:var(--muted)}
.nl-tag{display:inline-block;padding:2px 10px;border-radius:999px;color:#fff;font-size:12px;font-weight:600;text-transform:capitalize}
.nl-k-quente .v{color:var(--good)}.nl-k-morno .v{color:var(--warn)}.nl-k-frio .v{color:var(--bad)}
.nl-pesos{margin-top:12px}.nl-pesos>summary{cursor:pointer;font-weight:600}
.nl-cal{margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--surface-2)}
.nl-grade{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto}
.nl-perg>b{font-size:13px}.nl-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:6px}
.nl-ops label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:4px 8px;border:1px solid var(--line);border-radius:8px}
.nl-ops label span{min-width:0;overflow:hidden;text-overflow:ellipsis}.nl-ops input{width:70px;flex:none}
.capt-visao{margin:0 0 10px}.nl-bom{color:var(--good)}.nl-ruim{color:var(--bad)}.nl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;margin-top:12px}.nl-grid>.panel{margin:0}
@media (max-width:1000px){.nl-grid{grid-template-columns:1fr}}
.mp-diag{margin-bottom:12px;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.mp-achados{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.mp-achados>li{padding:12px 14px;border-radius:12px;background:var(--surface-2);border-left:4px solid var(--warn)}
.mp-achados>li.alta{border-left-color:var(--bad)}
.mp-ach-tit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:15px}
.mp-achados p{margin:6px 0 0;font-size:14px}
.mp-fazer-t{font-weight:600;color:var(--good)}
.mp-achados ul{margin:4px 0 0;padding-left:18px;font-size:14px}.mp-achados ul li{margin:3px 0}
.mp-filtros{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 12px}
.mp-teste{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.mp-vivo{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--muted);margin-right:8px;vertical-align:2px;opacity:.5}
.mp-vivo.on{background:var(--good);opacity:1;box-shadow:0 0 0 0 var(--good);animation:mpPulso 1.6s infinite}
@keyframes mpPulso{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media (prefers-reduced-motion:reduce){.mp-vivo.on{animation:none}}
.mp-col{display:flex;flex-direction:column;gap:12px;min-width:0}.mp-col>.panel{margin:0}.mp-grid{margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:12px;align-items:start}
@media (max-width:1000px){.mp-grid{grid-template-columns:1fr}}
.mp-funil{display:flex;flex-direction:column;gap:8px}
.mp-et{display:grid;grid-template-columns:minmax(120px,170px) 1fr 64px 56px;gap:10px;align-items:center;font-size:13px}
.mp-et .note{margin:0;text-align:right}
.mp-et-bar{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.mp-et-bar i{display:block;height:100%;border-radius:999px;background:var(--muted);opacity:.55}
.mp-et.prin .mp-et-bar i{background:var(--accent);opacity:1}
.mp-et.prin .mp-et-n{font-weight:600}
.mp-et b{text-align:right}
.mp-pior{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--fg);font-size:14px}
.mp-vis .mp-tela{position:relative;width:100%;max-height:900px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.mp-vis[data-disp="cel"] .mp-tela{max-width:300px;margin:0 auto}
.mp-vis.sem-foto .mp-tela{background:repeating-linear-gradient(180deg,#f4f4f5 0 40px,#ececee 40px 80px)}
.mp-vis img{display:block;width:100%;height:auto}
.mp-vis canvas{position:absolute;inset:0;pointer-events:none}
.mp-linha{position:absolute;left:0;right:0;border-top:2px dashed rgba(17,24,39,.55);pointer-events:none}
.mp-linha span{position:absolute;right:6px;top:2px;font:600 11px/1.2 var(--f-body,system-ui);background:rgba(17,24,39,.8);color:#fff;padding:2px 6px;border-radius:6px}
.mp-inst>summary{cursor:pointer;font-weight:600;margin:4px 0}
.mp-inst .copia{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.mp-inst code{font-size:12px;padding:8px 10px;border-radius:8px;background:var(--surface-2);overflow-wrap:anywhere;flex:1;min-width:200px}
@media (max-width:600px){.mp-et{grid-template-columns:1fr 54px;}.mp-et .mp-et-bar{grid-column:1/-1;order:3}.mp-et .note{display:none}}
.conv-destaque{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;margin:0 0 14px}
.conv-destaque>div{display:flex;flex-direction:column;gap:2px}.conv-destaque span{font-size:12px;color:var(--muted)}.conv-destaque b{font-size:26px;line-height:1.1}
.conv-destaque>i{font-style:normal;font-size:22px;color:var(--muted)}
.conv-var{padding:8px 14px;border-radius:12px;background:var(--surface-2)}.conv-var.neg{background:var(--bad-bg)}.conv-var.neg b{color:var(--bad)}.conv-var.pos{background:var(--good-bg)}.conv-var.pos b{color:var(--good)}.conv-var small{font-size:12px;color:var(--muted)}
.conf-rd{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--surface-2);border-left:4px solid var(--good);font-size:14px}.conf-rd.alerta{border-left-color:var(--warn)}.conv-sub{font-size:15px;margin:22px 0 4px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.conv-sub .note{font-weight:400;margin:0}.conv-leg{margin:0 0 8px;font-size:14px;font-weight:600}.conv-leg .lv{color:#B45309}.conv-leg .lc{color:#0E7490}
:root:is([data-theme="dark"],[data-theme="neon"],[data-theme="obs"]) .conv-leg .lv{color:#F5A524}:root:is([data-theme="dark"],[data-theme="neon"],[data-theme="obs"]) .conv-leg .lc{color:#22D3EE}
@media (prefers-color-scheme:dark){ :root:not([data-theme]) .conv-leg .lv{color:#F5A524} :root:not([data-theme]) .conv-leg .lc{color:#22D3EE} }
@media (max-width:600px){ .conv-destaque{display:grid;grid-template-columns:1fr 1fr} .conv-destaque>i{display:none} .conv-var{grid-column:1/-1;flex-direction:row !important;align-items:baseline;gap:10px !important} }
#tab-geral:has(> .sec-geral) > .min-todos{display:none}
.sec-geral{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:4px 0 14px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface);position:sticky;top:calc(var(--filtros-h,0px) + 6px);z-index:4}
.sec-geral::-webkit-scrollbar{display:none}
.sec-geral button{flex:1 0 auto;border:0;background:transparent;color:var(--muted);font:600 14px/1 var(--f-body,inherit);padding:10px 14px;border-radius:10px;cursor:pointer;white-space:nowrap}
.sec-geral button:hover{color:var(--fg)}
.sec-geral button[aria-pressed="true"]{background:var(--accent);color:var(--accent-fg,#fff)}
@media (max-width:820px){ .filters{position:static !important} .sec-geral{top:6px;border-radius:12px} .sec-geral button{padding:9px 12px;font-size:13px} }
/* Explicações recolhidas */
details.info-nota{margin:10px 0 0}
details.info-nota>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted);padding:4px 8px;border-radius:8px}
details.info-nota>summary::-webkit-details-marker{display:none}
details.info-nota>summary:hover{color:var(--fg);background:var(--surface-2)}
details.info-nota[open]>summary{color:var(--fg)}
details.info-nota>p.note{margin:6px 0 0;padding-left:8px;border-left:2px solid var(--line)}
/* Filtro compacto no celular */
.f-resumo{display:none}
@media (max-width:820px){
  .filters:not(.f-aberto) > :not(.f-resumo){display:none !important}
  .f-resumo{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);font:500 14px/1.3 var(--f-body,inherit);text-align:left;cursor:pointer}
  .f-resumo span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .f-resumo > b{flex:none;color:var(--accent);font-size:13px}
}
label.arquivo{position:relative;cursor:pointer;display:inline-flex;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
label.arquivo input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.menu-acoes{position:relative}
.menu-acoes>summary{list-style:none;cursor:pointer}.menu-acoes>summary::-webkit-details-marker{display:none}
.menu-acoes>summary::after{content:"▾";margin-left:6px;font-size:.8em;opacity:.7}
.menu-acoes .menu-lista{position:absolute;z-index:30;top:calc(100% + 6px);right:0;min-width:250px;width:max-content;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.menu-acoes .menu-lista .btn{justify-content:flex-start;width:100%;box-sizing:border-box;border-color:transparent;background:transparent;box-shadow:none}
.menu-acoes .menu-lista .btn:hover{background:var(--surface-2)}
/* celular: nada pode alargar a página além da tela */
html, body { max-width:100%; overflow-x:hidden; }
@supports (overflow:clip){ html, body { overflow-x:clip; } } /* "hidden" no body impedia as barras fixas (sticky) de ficarem presas ao rolar */
body > div, main, main > section, .panel, .tablebox { min-width:0; max-width:100%; }
.tablebox { overflow-x:auto; }
@media (max-width:820px){ .filters { position:static; } }
.f-mais { display:none; }
@media (max-width:640px){
  .f-mais { display:inline-flex; }
  .filters:not(.aberto) .f-extra { display:none; }
  .status { margin-left:auto; } #dbStatus { display:none; }
  header.top { align-items:center; } header.top > div:first-child { flex:1; }
  .esp { width:100%; order:3; } .esp .field { flex:1; } .esp select { min-width:0; width:100%; }
  h1 { font-size:24px; }
}
@media (max-width:640px){ .multi-menu { position:fixed; left:16px; right:16px; top:auto; width:auto; } .multi > summary { max-width:100%; } }
nav.tabs button { all:unset; cursor:pointer; padding:11px 14px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent; white-space:nowrap; margin-bottom:-1px; }
nav.tabs button:hover { color:var(--fg); }
nav.tabs button[hidden] { display:none !important; }
.sub-abas { margin-top:0; }
nav.tabs button[aria-selected="true"] { color:var(--fg); border-color:var(--accent); }
nav.tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }

.filters { position:sticky; top:env(safe-area-inset-top,0px); z-index:5; background:var(--bg); padding-block:10px; display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; border-bottom:1px solid var(--line); margin-bottom:16px; }
.filters[hidden] { display:none; }
.wrap[hidden], .login[hidden] { display:none !important; }
.field { display:flex; flex-direction:column; gap:4px; min-width:0; }
.field[hidden] { display:none !important; }
.field label { font-size:12.5px; color:var(--muted); font-weight:600; }
input, select, textarea { font:inherit; color:var(--fg); background:var(--surface); border:1px solid var(--line); border-radius:9px; padding:9px 11px; min-width:0; }
/* organizar painel */
.org-bar { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:6px 8px; margin-bottom:6px; border:1px dashed var(--accent); border-radius:8px; background:var(--surface-2); font-size:13px; }
.org-bar b { margin-right:auto; }
.org-sec { position:relative; margin-bottom:12px; }
.org-sec.org-oculto > :not(.org-bar) { opacity:.35; }
/* filtro de produtos com caixas de seleção */
.multi { position:relative; }
.multi > summary { list-style:none; cursor:pointer; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:8px 30px 8px 10px; min-width:200px; max-width:320px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; position:relative; }
.multi > summary::-webkit-details-marker { display:none; }
.multi > summary::after { content:"▾"; position:absolute; right:10px; top:50%; transform:translateY(-50%); color:var(--muted); }
.multi-menu { position:absolute; z-index:30; top:calc(100% + 4px); left:0; background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:8px; width:min(360px, calc(100vw - 32px)); max-height:360px; overflow:auto; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.multi-menu label { display:flex; gap:8px; align-items:flex-start; padding:6px 4px; border-radius:6px; cursor:pointer; font-size:13px; text-transform:none; letter-spacing:0; color:var(--fg); font-weight:400; }
.multi-menu label:hover { background:var(--surface-2); }
.multi-menu .so { margin-left:auto; font-size:11px; color:var(--muted); text-decoration:underline; background:none; border:0; cursor:pointer; padding:0 2px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--accent); outline-offset:0; border-color:var(--accent); }
.chips { display:flex; flex-wrap:wrap; gap:6px; }
.chip { all:unset; cursor:pointer; font-size:12px; padding:6px 10px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.chip i { width:8px; height:8px; border-radius:2px; display:inline-block; }
.chip[aria-pressed="true"] { color:var(--fg); border-color:var(--fg); }
.chip:focus-visible { outline:2px solid var(--accent); }

.btn { all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:8px; font-weight:600; background:var(--accent); color:var(--accent-fg); }
.btn.ghost { background:transparent; color:var(--fg); border:1px solid var(--line); }
.btn.sm { padding:5px 9px; font-size:12px; font-weight:500; }
.btn.danger { background:var(--bad-bg); color:var(--bad); }
.btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.btn[disabled] { opacity:.5; cursor:not-allowed; }
/* Retorno do clique: o botão afunda enquanto está pressionado */
.btn, .chip, .min-btn, .pdf-tog { transition:transform .08s ease, filter .08s ease, box-shadow .08s ease; }
.btn:active:not([disabled]), .chip:active, .pdf-tog:active { transform:translateY(1px) scale(.96); filter:brightness(.88); box-shadow:inset 0 2px 6px rgba(0,0,0,.25); }
.btn.ocupado { cursor:progress; opacity:.75; }
.btn.ocupado::before { content:""; width:12px; height:12px; border-radius:50%; border:2px solid currentColor; border-right-color:transparent; animation:gira .7s linear infinite; }
@keyframes gira { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .btn, .chip, .pdf-tog { transition:none; } .btn.ocupado::before { animation:none; } }
/* Ícone nos quadros: entra ou não no PDF */
.pdf-tog { all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; padding:3px 7px; border-radius:6px; border:1px solid var(--line); color:var(--muted); margin-right:auto; }
.pdf-tog svg { width:14px; height:14px; }
.pdf-tog[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); }
.pdf-tog[aria-pressed="false"] { opacity:.6; text-decoration:line-through; }
.pdf-tog:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(148px, 1fr)); gap:10px; margin-bottom:14px; }
.kpi { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:14px 14px; display:flex; flex-direction:column; gap:3px; min-width:0; container-type:inline-size; }
.kpi .v { font-family:var(--f-display); font-weight:600; font-size:22px; font-size:clamp(15px, 14cqi, 22px); letter-spacing:-0.01em; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kpi .sub { font-size:12px; color:var(--muted); }
.kpi.hero { background:var(--accent-soft); border-color:transparent; }
.kpi.neg .v { color:var(--bad); }
/* Destaque: lucro com a divisão do faturamento (investimento, custos, lucro) */
.lucro { grid-column:1 / -1; background:var(--hero); color:var(--hero-fg); border-radius:18px; padding:20px 22px; display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:6px 32px; align-items:end; }
@media (min-width:821px){ .kpis:has(> .lucro) { display:flex; flex-wrap:wrap; } .kpis:has(> .lucro) > .lucro { flex:1 1 100%; } .kpis:has(> .lucro) > .kpi { flex:1 1 148px; min-width:0; } }
.lucro .rot { font-size:13px; color:var(--hero-muted); font-weight:500; }
.lucro .v { font-family:var(--f-display); font-weight:700; font-size:clamp(34px, 5vw, 52px); line-height:1; letter-spacing:-0.025em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.lucro.neg .v { color:var(--hero-neg); }
.lucro .frase { font-size:13.5px; color:var(--hero-muted); margin-top:8px; }
.lucro .frase b { color:var(--hero-fg); font-weight:600; }
.lucro .fora-nota { display:inline-block; max-width:44ch; margin-top:6px; line-height:1.45; } .lucro .fora-nota .btn { margin-top:6px; }
.lucro .barra { display:flex; height:14px; border-radius:7px; overflow:hidden; gap:2px; background:rgba(255,255,255,.08); }
.lucro .barra i { display:block; height:100%; min-width:3px; }
.lucro .leg { display:flex; flex-wrap:wrap; gap:6px 18px; font-size:13px; color:var(--hero-muted); margin-top:10px; }
.lucro .leg span { display:inline-flex; align-items:center; gap:6px; }
.lucro .leg span::before { content:""; width:9px; height:9px; border-radius:3px; background:var(--c); }
.lucro .leg b { color:var(--hero-fg); font-weight:600; font-variant-numeric:tabular-nums; }
@media (max-width:820px){ .lucro { grid-template-columns:minmax(0,1fr); padding:18px; } }
.lucro.com-anel { grid-template-columns:auto minmax(0,auto) minmax(0,1fr); align-items:center; }
.anel { --p:0; --cor:var(--hero-lucro); width:104px; height:104px; border-radius:50%; display:grid; place-items:center;
  background:conic-gradient(var(--cor) calc(var(--p) * 1%), rgba(255,255,255,.1) 0); }
.anel.neg { --cor:var(--hero-neg); }
.anel > div { width:82px; height:82px; border-radius:50%; background:var(--hero); display:grid; place-content:center; text-align:center; line-height:1.15; }
.anel b { font-size:18px; font-variant-numeric:tabular-nums; }
.anel span { font-size:11.5px; color:var(--hero-muted); }
@media (max-width:820px){ .lucro.com-anel { grid-template-columns:auto minmax(0,1fr); } .lucro.com-anel > :last-child { grid-column:1 / -1; } .anel { width:84px; height:84px; } .anel > div { width:66px; height:66px; } .anel b { font-size:15px; } }

.grid2 { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:12px; margin-bottom:12px; }
.grid2 > .panel { margin-bottom:0 !important; }
@media (max-width:640px){ .contas-tab thead { display:none; } .contas-tab tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; padding:10px 0; border-top:1px solid var(--line); }
  .contas-tab td { border:0 !important; padding:0 !important; } .contas-tab td:nth-child(2) { grid-row:1; grid-column:2; } .contas-tab td:nth-child(3) { text-align:left; } .contas-tab td:nth-child(4) { display:none; }
  .contas-tab td:nth-child(5) { grid-column:1 / -1; } .contas-tab select { width:100%; } }
nav.tabs [hidden] { display:none !important; }
input[type=date], input[type=month] { cursor:pointer; }
.lds-est[aria-pressed="true"] { border-color: var(--accent, #8b5cf6); } .lds-tipos { display:grid; gap:6px; margin-top:8px; } .lds-tipos input { flex:1; min-width:160px; }
.int-filtro { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:12px 16px; } .int-filtro label { font-weight:600; font-size:14px; } .int-filtro select { min-width:240px; max-width:100%; } .int-filtro .note { flex-basis:100%; margin:0; }
@media (max-width:640px){ .int-filtro select { width:100%; min-width:0; } }
@media (max-width:640px){ .contas-tab.contas-g td:nth-child(3) { grid-column:1 / -1; } .contas-tab.contas-g td:nth-child(4) { display:block; grid-column:1 / -1; } }

/* ===== Configuração guiada ===== */
.guia { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
@media (max-width:900px){ .guia { grid-template-columns:minmax(0,1fr); } }
.guia-topo { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.guia-topo h1 { font-size:22px; margin:0; letter-spacing:-.01em; }
.guia-topo .sub { color:var(--muted); font-size:13px; margin:2px 0 0; }
.guia-anel { width:64px; height:64px; flex:none; }
.guia-anel circle { fill:none; stroke-width:7; }
.guia-anel .fundo { stroke:var(--line); }
.guia-anel .frente { stroke:var(--glow-a, var(--accent)); stroke-linecap:round; transform:rotate(-90deg); transform-origin:50% 50%; transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1); }
.guia-anel text { fill:var(--fg); font-size:15px; font-weight:700; text-anchor:middle; dominant-baseline:central; }
.guia-rail { position:relative; list-style:none; margin:0; padding:6px 0; }
.guia-rail::before, .guia-rail .enche { content:""; position:absolute; left:17px; top:22px; width:2px; border-radius:2px; }
.guia-rail::before { bottom:22px; background:var(--line); }
.guia-rail .enche { height:0; background:linear-gradient(var(--glow-a, var(--accent)), var(--glow-b, var(--accent))); transition:height .9s cubic-bezier(.2,.8,.2,1); }
.guia-grupo { font-size:11px; color:var(--muted); margin:12px 0 2px 46px; }
.guia-passo { position:relative; }
.guia-passo button { all:unset; cursor:pointer; display:flex; gap:12px; align-items:center; width:100%; padding:7px 8px 7px 4px; border-radius:10px; font-size:13.5px; color:var(--muted); box-sizing:border-box; }
.guia-passo button:hover { background:var(--surface-2); color:var(--fg); }
.guia-passo button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.guia-passo[aria-current="step"] button { color:var(--fg); font-weight:600; background:var(--surface-2); }
.guia-dot { position:relative; z-index:1; width:28px; height:28px; border-radius:50%; flex:none; display:grid; place-items:center; font-size:12px; font-weight:700; border:2px solid var(--line); background:var(--surface); color:var(--muted); }
.guia-passo.feito .guia-dot { border-color:transparent; background:var(--glow-a, var(--accent)); color:#08131a; }
.guia-passo[aria-current="step"]:not(.feito) .guia-dot { border-color:var(--glow-a, var(--accent)); color:var(--fg); box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-a, var(--accent)) 55%, transparent); animation:guiaPulso 2.2s ease-out infinite; }
.guia-passo.acabou .guia-dot { animation:guiaPop .55s cubic-bezier(.3,1.6,.5,1); }
.guia-dot svg { width:14px; height:14px; }
@keyframes guiaPulso { 0% { box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-a, var(--accent)) 50%, transparent); } 70%,100% { box-shadow:0 0 0 10px transparent; } }
@keyframes guiaPop { 0% { transform:scale(.4); } 60% { transform:scale(1.25); } 100% { transform:scale(1); } }
.guia-card { min-height:320px; }
.guia-card.entra { animation:guiaEntra .38s cubic-bezier(.2,.8,.2,1); }
@keyframes guiaEntra { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.guia-card h2 { font-size:19px; margin:0 0 4px; }
.guia-card .porque { color:var(--muted); margin:0 0 16px; max-width:68ch; }
.guia-feito { display:flex; gap:10px; align-items:center; padding:10px 12px; border-radius:10px; background:var(--good-bg); color:var(--good); font-weight:600; margin-bottom:14px; }
.guia-feito svg { width:18px; height:18px; flex:none; }
.guia-passos { margin:0 0 14px; padding-left:20px; display:grid; gap:6px; max-width:72ch; }
.guia-passos li::marker { color:var(--glow-a, var(--accent)); font-weight:700; }
.guia-nav { display:flex; gap:8px; justify-content:space-between; align-items:center; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); flex-wrap:wrap; }
.guia-copia { display:flex; gap:8px; align-items:stretch; flex-wrap:wrap; margin:6px 0 12px; }
.guia-copia code { flex:1; min-width:0; padding:9px 11px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line); word-break:break-all; font-size:12.5px; }
.guia-opcoes { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:10px; }
.guia-opcao { all:unset; cursor:pointer; box-sizing:border-box; padding:14px; border-radius:12px; border:1.5px solid var(--line); background:var(--surface-2); display:grid; gap:4px; }
.guia-opcao b { font-size:15px; } .guia-opcao span { font-size:12.5px; color:var(--muted); }
.guia-opcao[aria-pressed="true"] { border-color:var(--glow-a, var(--accent)); box-shadow:0 0 0 3px color-mix(in srgb, var(--glow-a, var(--accent)) 22%, transparent); }
.guia-opcao:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.guia-espera { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:13px; }
.guia-espera i { width:9px; height:9px; border-radius:50%; background:var(--warn); animation:guiaPisca 1.4s ease-in-out infinite; }
@keyframes guiaPisca { 50% { opacity:.25; } }
.guia-fim { text-align:center; padding:26px 10px; }
.guia-fim svg { width:84px; height:84px; }
.guia-fim .traco { stroke-dasharray:60; stroke-dashoffset:60; animation:guiaTraco .7s .25s cubic-bezier(.6,0,.3,1) forwards; }
.guia-fim .roda { stroke-dasharray:240; stroke-dashoffset:240; animation:guiaTraco .8s cubic-bezier(.6,0,.3,1) forwards; }
@keyframes guiaTraco { to { stroke-dashoffset:0; } }
.guia-prod { display:grid; grid-template-columns:minmax(0,1fr) 190px 150px; gap:8px; align-items:center; padding:8px 0; border-top:1px solid var(--line); font-size:13px; }
@media (max-width:640px){ .guia-prod { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .guia-prod > :first-child { grid-column:1 / -1; } }
@media (max-width:900px){ .guia-rail { display:flex; gap:6px; overflow-x:auto; padding:4px 2px 10px; scrollbar-width:none; } .guia-rail::before, .guia-rail .enche, .guia-grupo { display:none; }
  .guia-passo button { padding:4px; } .guia-passo button span.rot { display:none; } .guia-passo[aria-current="step"] button span.rot { display:inline; white-space:nowrap; } }
@media (prefers-reduced-motion: reduce){ .guia-card.entra, .guia-passo.acabou .guia-dot, .guia-fim .traco, .guia-fim .roda { animation:none; stroke-dashoffset:0; } .guia-passo[aria-current="step"] .guia-dot { animation:none; } .guia-anel .frente, .guia-rail .enche { transition:none; } }

/* ===== Gerenciar anúncios ===== */
.ads-tab td, .ads-tab th { vertical-align:middle; }
/* Densidade compacta (como a Utmify): linhas baixas, fonte 13px, nome em até 2 linhas mais largas, lápis só ao passar o mouse */
@media (min-width:641px){
  .ads-tab td, .ads-tab th { padding:11px 14px; font-size:13px; }
  .ads-tab thead th { font-size:12px; }
  .ads-tab td.col-nome { position:sticky; }
  .ads-tab:not([style*="--nome-w"]) .ads-nome { min-width:300px; }
  .ads-nome { line-height:1.3; padding-right:22px; }
  .ads-nome .ads-lapis { position:absolute; right:6px; top:50%; transform:translateY(-50%); margin:0; opacity:0; }
  .ads-tab tr:hover .ads-lapis, .ads-lapis:focus-visible { opacity:1; }
  .ads-tab .chave { width:32px; height:18px; }
  .ads-tab .chave::after { width:14px !important; height:14px !important; }
  .ads-tab .chave[aria-checked="true"]::after { transform:translateX(14px); }
  .ads-tab td.col-sel, .ads-tab th.col-sel, .ads-tab td.col-sw, .ads-tab th.col-sw { padding-left:10px; padding-right:10px; }
}
.ads-tab th[draggable=true] { cursor:grab; } .ads-tab th.arrastando { opacity:.45; }
.ads-tab th.solta-aqui { box-shadow:inset 3px 0 0 var(--accent); }
.col-pop .col-grupo.col-ordem { column-span:all; display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:2px 16px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); } .col-ordem > b, .col-ordem > .note { grid-column:1 / -1; } .col-ordem-it { display:flex; align-items:center; gap:6px; padding:2px 0; } .col-ordem-it span { flex:1; font-size:13px; }
.col-ordem-it .btn { padding:2px 8px; min-height:0; }
/* Grade: cada coluna separada por linha, como uma planilha */
.ads-tab table { border:1px solid var(--line); }
.ads-tab th, .ads-tab td { border-right:1px solid var(--line); }
.ads-tab th:last-child, .ads-tab td:last-child { border-right:0; }
.ads-tab tbody td { border-bottom:1px solid var(--line); }
.ads-tab thead th { background:var(--surface-2); }
/* Tabela com altura da tela: a barra de rolagem lateral fica sempre à vista, e o cabeçalho e os totais ficam presos */
@media (min-width:641px){
  .ads-tabela .tablebox { max-height:calc(100vh - 140px); overflow:auto; overscroll-behavior:contain; }
  #tab-ads { padding-bottom:0; }
  .ads-tab thead th { position:sticky; top:0; z-index:3; box-shadow:inset 0 -1px 0 var(--line); }
  .ads-tab thead th.col-nome { z-index:5; background:var(--surface-2); }
  .ads-tab tfoot td { position:sticky; bottom:0; z-index:3; background:var(--surface); box-shadow:inset 0 1px 0 var(--line); }
  .ads-tab tfoot td.col-nome { z-index:5; }
}
.ads-tab tr.nv-conjunto { background:color-mix(in srgb, var(--surface-2) 55%, transparent); } .ads-tab tr.nv-anuncio { background:var(--surface-2); }
.ads-nome { display:flex; gap:8px; align-items:center; min-width:220px; white-space:normal; font-family:var(--f-body); }
.ads-nome img { width:34px; height:34px; border-radius:6px; object-fit:cover; flex:none; background:var(--line); }
.ads-nome img.ads-mini { cursor:zoom-in; transition:box-shadow .15s; } .ads-nome img.ads-mini:hover, .ads-nome img.ads-mini:focus-visible { box-shadow:0 0 0 2px var(--accent); outline:none; }
.ads-prev { position:fixed; z-index:200; width:300px; padding:8px; border-radius:14px; background:var(--surface); border:1px solid var(--line); box-shadow:0 18px 50px rgba(0,0,0,.45); pointer-events:none; }
.ads-prev img { display:block; width:100%; max-height:min(420px, calc(100vh - 90px)); object-fit:contain; border-radius:9px; background:var(--line); }
.ads-prev p { margin:7px 2px 1px; font-size:12.5px; line-height:1.35; color:var(--fg); }
.ads-prev[hidden] { display:none; }
.aviso-flut { position:fixed; left:50%; bottom:22px; transform:translateX(-50%); z-index:300; max-width:min(720px, calc(100vw - 32px)); display:flex; gap:12px; align-items:flex-start;
  padding:12px 14px 12px 16px; border-radius:12px; background:var(--surface); border:1px solid var(--good); box-shadow:0 14px 40px rgba(0,0,0,.45); font-size:14px; line-height:1.4; color:var(--fg); }
.aviso-flut.err { border-color:var(--bad); }
.aviso-flut button { all:unset; cursor:pointer; font-size:18px; line-height:1; color:var(--muted); padding:0 2px; } .aviso-flut button:hover { color:var(--fg); }
.aviso-flut[hidden] { display:none; }
.lk-topo { margin-bottom:12px; }
.px-lista { display:grid; gap:8px; }
.px-linha { display:grid; grid-template-columns:minmax(120px,1fr) minmax(150px,1.2fr) minmax(170px,1.4fr) minmax(170px,1.4fr) auto; gap:8px; align-items:end; padding:10px; border:1px solid var(--line); border-radius:12px; }
.px-linha .field { margin:0; } .px-linha .px-rm { margin-bottom:4px; }
.sp-box { border-color: var(--warn); }
.mon-add { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.mon-auto { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.mon-sw { display:flex; gap:8px; align-items:center; font-size:13px; cursor:pointer; }
.mon-desc { margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.mon-grade { display:grid; gap:12px; align-items:start; grid-template-columns:repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.mon-card { background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--line); border-radius:16px; padding:14px 16px; min-width:0; }
.mon-card.mst-ok { border-left-color:var(--good); } .mon-card.mst-aviso { border-left-color:var(--warn); } .mon-card.mst-alerta { border-left-color:var(--bad); }
.mon-card.pausada { opacity:.65; }
.mon-card header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.mon-card header .pill { white-space:nowrap; flex:none; }
.mon-card h3 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.mon-url { font-size:12px; color:var(--muted); overflow-wrap:anywhere; text-decoration:none; }
.mon-url:hover { text-decoration:underline; }
.mon-lista { list-style:none; margin:6px 0 0; padding:0; display:grid; gap:8px; }
.mon-lista li { display:flex; gap:10px; align-items:flex-start; font-size:13px; }
.mon-lista li span { display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }
.mon-i { flex:none; width:20px; height:20px; border-radius:50%; display:inline-grid; place-items:center; font-size:12px; font-weight:700; }
.mon-i.ok { background:var(--good-bg, rgba(46,204,113,.15)); color:var(--good); } .mon-i.bad { background:var(--bad-bg, rgba(231,76,60,.15)); color:var(--bad); }
.mon-i.warn { background:var(--warn-bg); color:var(--warn); } .mon-i.info { background:var(--surface-2); color:var(--muted); }
.mon-ok summary { cursor:pointer; color:var(--muted); font-size:13px; margin-top:8px; }
.mon-hist { display:inline-flex; gap:3px; vertical-align:middle; } .mon-hist i { width:7px; height:7px; border-radius:50%; background:var(--muted); display:inline-block; }
.mon-hist i.mh-ok { background:var(--good); } .mon-hist i.mh-aviso { background:var(--warn); } .mon-hist i.mh-alerta { background:var(--bad); }
.mon-freq { padding:5px 8px; font-size:13px; }
.mql-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:14px 0 4px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.sp-det summary { cursor:pointer; color:var(--muted); font-size:13px; }
.sp-det ul { margin:6px 0 0; padding-left:18px; font-size:12.5px; }
.sp-det li { margin:2px 0; }
.sp-box select.spP { max-width:260px; }
.rgp { display:flex; flex-direction:column; gap:16px; }
.rgp-bloco { background:var(--surface-2); border:1px solid var(--line); border-radius:16px; padding:16px; }
.rgp-bloco h3 { margin:0 0 10px; font-size:15px; }
.rgp-linha { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; align-items:end; }
.rgp-linha .field, .rgp-bloco .field { margin:0; }
.rgp-conds { display:flex; flex-direction:column; gap:8px; }
.rgp-cond { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.rgp-cond select { flex:1 1 200px; min-width:0; }
.rgp-e { width:28px; font-weight:700; color:var(--muted); font-size:13px; }
.rgp-val { display:flex; align-items:center; gap:6px; flex:0 1 160px; }
.rgp-val input { width:100%; }
.rgp-frase { margin:0; padding:14px 16px; border-radius:14px; background:rgba(46,230,214,.08); border:1px solid rgba(46,230,214,.35); font-weight:600; line-height:1.5; }
.px-prod { display:flex; gap:6px; } .px-prod input { flex:1; min-width:0; }
#pxPop { position:absolute; z-index:60; width:340px; max-width:calc(100vw - 32px); max-height:340px; overflow:auto; background:var(--surface); color:var(--fg); border:1px solid var(--line); border-radius:12px; padding:10px; box-shadow:0 12px 32px rgba(0,0,0,.45); }
#pxPop label { display:flex; gap:8px; align-items:center; padding:6px 4px; cursor:pointer; font-size:13px; border-radius:6px; }
#pxPop label input { flex-shrink:0; }
#pxPop label:hover { background:rgba(255,255,255,.05); }
#pxPop .pp-topo { display:flex; gap:6px; margin-bottom:6px; } #pxPop .pp-topo input { flex:1; }
#pxPop .pp-vendas { margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap; }
@media (max-width:900px){ .px-linha { grid-template-columns:1fr 1fr; } .px-linha .px-rm { grid-column:1 / -1; justify-self:end; } }
.lk-tab td { padding:6px 6px; vertical-align:middle; } .lk-tab th { white-space:nowrap; }
.lk-in { width:100%; min-width:96px; padding:7px 9px; font:inherit; font-size:13px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--fg); }
.lk-in.lk-orig { min-width:170px; font-weight:600; } .lk-in:focus { outline:2px solid var(--accent); outline-offset:0; border-color:transparent; }
.lk-in.lk-var { color:var(--muted); background:transparent; border-style:dashed; font-size:12px; cursor:default; }
.lk-acoes { white-space:nowrap; } .lk-acoes .btn:first-child { min-width:136px; justify-content:center; } .lk-acoes .btn { margin-left:4px; }
.ads-abre { all:unset; cursor:pointer; width:22px; height:22px; display:grid; place-items:center; border-radius:6px; flex:none; color:var(--muted); transition:transform .18s ease; }
.ads-abre[aria-expanded="true"] { transform:rotate(90deg); color:var(--fg); }
.ads-abre:focus-visible, .chave:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.chave { all:unset; cursor:pointer; width:38px; height:22px; border-radius:999px; background:var(--line); position:relative; flex:none; transition:background .2s ease; }
.chave::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s cubic-bezier(.3,1.4,.5,1); box-shadow:0 1px 3px rgba(0,0,0,.3); }
.chave[aria-checked="true"] { background:var(--good); } .chave[aria-checked="true"]::after { transform:translateX(16px); }
.chave[aria-busy="true"] { opacity:.5; cursor:progress; }
.ads-lapis { all:unset; cursor:pointer; display:inline-flex; vertical-align:middle; margin-left:6px; padding:2px; border-radius:4px; color:var(--muted); opacity:.55; } .ads-lapis:hover, .ads-lapis:focus-visible { opacity:1; color:var(--accent); outline:1px solid currentColor; }
tr:hover .ads-lapis { opacity:1; }
.ads-orc { all:unset; cursor:text; border-bottom:1px dashed var(--muted); } .ads-orc:hover { color:var(--accent); }
.ads-orc-in { width:96px; padding:4px 8px; font:inherit; font-variant-numeric:tabular-nums; text-align:right; border:1px solid var(--accent); border-radius:6px; background:var(--surface); color:var(--fg); }
.ads-orc-in[aria-busy="true"] { opacity:.6; }
.ads-st { font-size:11px; color:var(--muted); display:block; }
.ads-hist-dlg { max-width:640px !important; max-height:80vh; overflow:auto; }
dialog.modal { border:1px solid var(--line); border-radius:16px; padding:22px; background:var(--surface); color:var(--fg); max-width:440px; width:calc(100% - 32px); box-shadow:0 20px 60px rgba(0,0,0,.45); }
/* Pesquisa de leads: janela de configuração (perguntas no painel, MQL e respostas ideais) */
dialog.modal.pq-dlg { max-width:640px; padding:0; display:flex; flex-direction:column; max-height:min(86vh, 760px); }
dialog.modal.pq-dlg:not([open]) { display:none; }
.pq-cab { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:18px 20px 10px; }
.pq-passos { list-style:none; display:flex; gap:6px; margin:0; padding:0 20px 12px; border-bottom:1px solid var(--line); }
.pq-passos li { flex:1; display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted); padding-top:8px; border-top:3px solid var(--line); }
.pq-passos li b { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:11px; background:var(--line); color:var(--fg); flex:none; }
.pq-passos li.atual { color:var(--fg); border-top-color:var(--accent); } .pq-passos li.atual b { background:var(--accent); color:var(--accent-fg); }
.pq-passos li.feito { border-top-color:color-mix(in srgb, var(--accent) 45%, transparent); } .pq-passos li.feito b { background:var(--good); color:#fff; }
.pq-corpo { padding:16px 20px 4px; overflow-y:auto; flex:1; min-height:200px; }
.pq-sub { margin:0 0 12px !important; color:var(--fg) !important; font-weight:500; }
.pq-chips { display:flex; flex-wrap:wrap; gap:6px; max-height:110px; overflow-y:auto; }
.pq-chip { display:inline-flex; align-items:center; gap:4px; font-size:12.5px; padding:4px 4px 4px 10px; border-radius:999px; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--fg); max-width:100%; }
.pq-chip button { all:unset; cursor:pointer; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; color:var(--muted); } .pq-chip button:hover { color:var(--fg); background:rgba(255,255,255,.08); }
.pq-lista { display:grid; gap:2px; border:1px solid var(--line); border-radius:10px; padding:4px; max-height:300px; overflow-y:auto; }
.pq-item { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; cursor:pointer; font-size:14px; } .pq-item:hover { background:rgba(127,127,127,.08); }
.pq-item span:first-of-type { flex:1; } .pq-item .note { flex:none; font-size:12px; }
.pq-mql { display:grid; gap:10px; } .pq-mql-l { display:flex; gap:8px; align-items:center; } .pq-mql-l select { flex:1; min-width:0; font-weight:500; }
.pq-x { all:unset; cursor:pointer; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; border:1.5px solid var(--bad); color:var(--bad); font-size:16px; flex:none; }
.pq-x:focus-visible, .pq-tog:focus-visible, .pq-chip button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pq-card { border:1px solid var(--line); border-radius:14px; padding:6px 14px 14px; } .pq-card h4 { text-align:center; margin:10px 0 12px; font-size:16px; }
.pq-op { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; margin-top:8px; font-size:14px; }
.pq-tog { all:unset; cursor:pointer; position:relative; width:112px; height:32px; border-radius:999px; background:var(--bad); color:#fff; font-size:12.5px; font-weight:700; flex:none; transition:background .18s ease; }
.pq-tog span { position:absolute; inset:0 12px 0 38px; display:flex; align-items:center; justify-content:flex-end; }
.pq-tog::after { content:""; position:absolute; top:4px; left:4px; width:24px; height:24px; border-radius:50%; background:#fff; transition:transform .18s ease; }
.pq-tog[aria-pressed="true"] { background:var(--good); } .pq-tog[aria-pressed="true"]::after { transform:translateX(80px); } .pq-tog[aria-pressed="true"] span { inset:0 38px 0 12px; justify-content:flex-start; }
.pq-nav { display:flex; justify-content:space-between; gap:8px; margin-top:12px; }
.pq-rod { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 20px 16px; border-top:1px solid var(--line); }
.pq-perigo { color:var(--bad) !important; border-color:color-mix(in srgb, var(--bad) 55%, transparent) !important; }
.pq-aviso { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-radius:12px; border:1px dashed color-mix(in srgb, var(--accent) 55%, transparent); }
.pq-orig { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.pq-orig-cab { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:10px; }
.pq-selo { display:inline-block; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.pq-selo.bom { background:color-mix(in srgb, var(--good) 18%, transparent); color:var(--good); }
.pq-selo.ruim { background:color-mix(in srgb, var(--bad) 18%, transparent); color:var(--bad); }
.pq-selo.medio { background:rgba(127,127,127,.14); color:var(--fg); }
.pq-selo.poucas { color:var(--muted); font-weight:500; padding-left:0; }
.pq-ideal { font-size:11px; font-weight:700; color:var(--good); margin-left:6px; }
@media (prefers-reduced-motion: reduce){ .pq-tog, .pq-tog::after { transition:none; } }
@media (max-width:640px){ .pq-passos li { font-size:0; gap:0; } .pq-passos li b { font-size:11px; } .pq-op { padding:8px 10px; } .pq-tog { width:104px; } .pq-tog[aria-pressed="true"]::after { transform:translateX(72px); } }
dialog.modal::backdrop { background:rgba(5,5,15,.55); backdrop-filter:blur(2px); }
dialog.modal[open] { animation:modalEntra .22s cubic-bezier(.2,.8,.2,1); }
@keyframes modalEntra { from { opacity:0; transform:translateY(8px) scale(.98); } }
dialog.modal h3 { margin:0 0 6px; font-size:17px; } dialog.modal p { margin:0 0 12px; color:var(--muted); }

.largo .wrap { max-width:none; }
/* Abas Campanhas → Conjuntos → Anúncios em cartões: a seleção de uma aba filtra a seguinte */
.ads-barra { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; margin:0 0 12px; }
.ads-barra input[type=search] { flex:1 1 260px; min-width:200px; }
.ads-barra select { width:auto; max-width:260px; }
.ads-conta-nome { font-weight:600; font-size:14px; padding:0 4px; }
.ads-barra-dir { margin-left:auto; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ads-info { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; border:1px solid var(--line); font-size:12px; font-weight:700; color:var(--muted); cursor:help; }
@media (max-width:760px){ .ads-barra-dir { margin-left:0; } .ads-barra select { max-width:100%; flex:1 1 140px; } }
/* Abas de pasta (Campanhas / Conjuntos / Anúncios) presas no topo do quadro: a ativa se funde com a tabela */
.ads-tabela { padding-top:16px; border-top-left-radius:0; border-top-right-radius:0; }
.ads-niveis { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:6px; margin:0 0 -1px; padding:0; position:relative; z-index:2; }
.ads-nivel { position:relative; display:flex; align-items:center; gap:8px; border:1px solid color-mix(in srgb, var(--line) 70%, transparent); border-bottom:0; border-radius:10px 10px 0 0; background:color-mix(in srgb, var(--surface) 72%, var(--bg)); padding:0 10px 0 0; min-width:0; margin-bottom:-1px; transition:background .15s; }
.ads-nivel:not(.ativo) { margin-top:4px; } .ads-nivel:not(.ativo):hover { background:color-mix(in srgb, var(--surface) 90%, var(--bg)); }
.ads-nivel > button[role="tab"] { all:unset; cursor:pointer; flex:1; min-width:0; display:flex; align-items:center; gap:10px; padding:13px 0 13px 16px; font-size:14.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ads-nivel > button[role="tab"] svg { flex:none; width:18px; height:18px; }
.ads-nivel.ativo { border-color:var(--line); background:var(--surface); box-shadow:inset 0 2px 0 var(--glow-a, var(--accent)); z-index:1; }
.ads-nivel.ativo > button[role="tab"] { color:var(--glow-a, var(--accent)); font-weight:600; }
.ads-nivel > button[role="tab"]:focus-visible, .ord:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:12px; }
.ads-chip { all:unset; cursor:pointer; flex:none; display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600; background:var(--accent); color:var(--accent-fg); }
.ads-chip:hover { filter:brightness(1.1); } .ads-chip:focus-visible { outline:2px solid var(--fg); outline-offset:2px; }
.ads-ir { all:unset; cursor:pointer; } .ads-ir:hover { text-decoration:underline; text-underline-offset:3px; } .ads-ir:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
@media (max-width:760px){ .ads-niveis { grid-template-columns:repeat(3, minmax(118px,1fr)); gap:4px; overflow-x:auto; } }
@media (max-width:640px){ .ads-niveis { margin:0 0 -1px; } .ads-nivel > button[role="tab"] { padding:11px 0 11px 10px; font-size:13px; } }
.ads-filtros { display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(160px,1fr) minmax(max-content,auto) auto; gap:10px 14px; align-items:end; }
@media (max-width:1100px){ .ads-filtros { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .ads-filtros { grid-template-columns:minmax(0,1fr); } }
.ads-acoes { display:flex; gap:8px; align-items:center; justify-content:flex-end; }
.col-menu { position:relative; } .ads-tab td.col-sel, .ads-tab th.col-sel { user-select:none; -webkit-user-select:none; } .col-menu summary { list-style:none; } .col-menu summary::-webkit-details-marker { display:none; }
.col-pop { position:absolute; right:0; top:calc(100% + 6px); z-index:30; width:min(580px, 92vw); columns:3 165px; column-gap:18px; padding:14px; border-radius:12px; background:var(--surface); border:1px solid var(--line); box-shadow:0 14px 40px rgba(0,0,0,.35); }
.col-grupo { display:flex; flex-direction:column; gap:5px; font-size:13px; break-inside:avoid; margin-bottom:14px; } .col-grupo b { font-size:12px; color:var(--muted); font-weight:600; margin-bottom:2px; }
.ord { all:unset; cursor:pointer; white-space:nowrap; } .ord:hover { color:var(--fg); }
.ads-tab th { white-space:nowrap; } .ads-tab td { white-space:nowrap; }
.ads-tab .col-nome { position:sticky; left:0; z-index:2; background:var(--surface); max-width:380px; white-space:normal; }
.ads-tab tr.nv-conjunto .col-nome, .ads-tab tr.nv-anuncio .col-nome { background:var(--surface-2); }
.ads-tab tr.prof-1 td.col-nome { padding-left:26px; } .ads-tab tr.prof-2 td.col-nome { padding-left:52px; }
.ads-tab tr.nv-conjunto td:nth-child(2), .ads-tab tr.nv-anuncio td:nth-child(2) { padding-left:inherit; }
.ads-tab .v-good { color:var(--good); } .ads-tab .v-bad { color:var(--bad); }
.ads-tab tfoot td { font-weight:700; border-top:2px solid var(--line); }

/* Cada campanha (e o que está dentro dela) ganha uma cor; os níveis de dentro entram para a direita */
.ads-tab tr.grp td { background:var(--surface); }
/* Grupo aberto: fundo da própria paleta do tema (sem misturar a cor de destaque, que deixava o tom acinzentado) */
.ads-tab tr.grp.prof-0.aberto td { background:var(--surface-2); }
.ads-tab tr.grp.prof-1 td { background:color-mix(in srgb, var(--surface-2) 88%, var(--accent)); }
.ads-tab tr.grp.prof-2 td { background:color-mix(in srgb, var(--surface-2) 80%, var(--accent)); }
.ads-tab tr.grp.aberto td.col-sel, .ads-tab tr.grp.prof-1 td.col-sel, .ads-tab tr.grp.prof-2 td.col-sel { box-shadow:inset 3px 0 0 var(--grp); }
.ads-tab tr.grp.prof-0 + tr.grp.prof-0 td { border-top:1px solid var(--line); }
.ads-tab tr.grp.prof-0:not(:first-child) td { border-top:2px solid color-mix(in srgb, var(--line) 50%, transparent); }
.ads-tab .col-sel { width:30px; padding-left:10px !important; padding-right:0 !important; }
.ads-tab .col-sel input { width:16px; height:16px; cursor:pointer; accent-color:var(--glow-a, var(--accent)); }
.ads-tab tr.prof-1 td.col-nome { padding-left:40px !important; } .ads-tab tr.prof-2 td.col-nome { padding-left:80px !important; }
.ads-tab tr.prof-1 td.col-nome .ads-nome, .ads-tab tr.prof-2 td.col-nome .ads-nome { position:relative; }
.ads-tab tr.prof-1 td.col-nome .ads-nome::before, .ads-tab tr.prof-2 td.col-nome .ads-nome::before { content:""; position:absolute; left:-18px; top:-10px; bottom:50%; width:12px; border-left:2px solid var(--grp); border-bottom:2px solid var(--grp); border-bottom-left-radius:6px; opacity:.7; }
.ads-tab tr.prof-1 td.col-sw, .ads-tab tr.prof-2 td.col-sw { padding-left:18px; }
.ads-selbar { display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:8px 12px; margin:0 0 12px; border-radius:10px; background:var(--surface-2); border:1px solid var(--line); font-size:13px; }

.acoes-pop { position:absolute; right:0; top:calc(100% + 6px); z-index:30; min-width:240px; display:grid; padding:6px; border-radius:12px; background:var(--surface); border:1px solid var(--line); box-shadow:0 14px 40px rgba(0,0,0,.35); }
.acoes-pop button { all:unset; cursor:pointer; padding:9px 12px; border-radius:8px; font-size:13.5px; }
.acoes-pop button:hover, .acoes-pop button:focus-visible { background:var(--surface-2); outline:none; }
.ads-resumo .kpis { margin-bottom:12px; } .ads-resumo .tri { margin-bottom:0; }

.tx-tab input, .tx-tab select { width:100%; min-width:120px; }
.tx-tab td { vertical-align:middle; white-space:normal; }
.tx-valor { display:flex; align-items:center; gap:6px; max-width:150px; } .tx-valor span { color:var(--muted); font-size:13px; min-width:10px; }
@media (max-width:640px){ .tx-tab thead { display:none; } .tx-tab tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; padding:10px 0; border-top:1px solid var(--line); align-items:center; }
  .tx-tab td { border:0 !important; padding:0 !important; } .tx-tab td:nth-child(1), .tx-tab td:nth-child(2) { grid-column:1 / -1; } .tx-tab td:nth-child(2) { color:var(--muted); font-size:13px; } .tx-valor { max-width:none; } }
.tx-exemplo { margin-top:14px; padding:12px 14px; border-radius:10px; background:var(--surface-2); border:1px solid var(--line); font-size:13.5px; max-width:90ch; }
.ads-hist li .btn { margin-left:auto; }
@media (max-width:640px){ .ads-tab thead { display:none; } .ads-tab tr { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; gap:6px 10px; align-items:center; padding:10px 6px; border-top:1px solid var(--line); }
  .ads-tab td { border:0 !important; padding:0 !important; } .ads-tab td.col-nome { grid-column:3; position:static; } .ads-tab td:last-child { grid-column:4; grid-row:1; } .ads-tab td[data-rot] { grid-column:span 2 !important; } .ads-tab tr.grp { box-shadow:inset 3px 0 0 var(--grp); } .ads-tab tr.grp.aberto, .ads-tab tr.grp.prof-1, .ads-tab tr.grp.prof-2 { background:var(--surface-2); } .ads-tab tr.grp td { background:transparent !important; box-shadow:none !important; } .ads-tab tfoot tr { display:none; }
  .ads-tab td[data-rot] { grid-column:span 1; text-align:left; font-size:12.5px; } .ads-tab td[data-rot]::before { content:attr(data-rot); display:block; font-size:10.5px; color:var(--muted); }
  .ads-tab tr td.col-nome { padding-left:0 !important; } .ads-tab tr.prof-1 { margin-left:14px; } .ads-tab tr.prof-2 { margin-left:28px; } .ads-tab .ads-nome::before { display:none; } .ads-nome { min-width:0; } }
@media (prefers-reduced-motion: reduce){ .chave, .chave::after, .ads-abre, dialog.modal[open] { transition:none; animation:none; } }
.pdf-secoes { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:6px 14px; font-size:13px; }
.grid2.par > .panel.estica { display:flex; flex-direction:column; }
.grid2.par > .panel.estica > .chartbox { flex:1 1 auto; min-height:260px; }
.grid2.par { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
@media (max-width:820px){ .grid2.par { grid-template-columns:minmax(0,1fr); } }
.tri > .panel { margin-bottom:0; display:flex; flex-direction:column; }
.tri > .panel > .chartbox { flex:1 1 auto; min-height:240px; }
.grid2.equilibrado { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
@media (max-width:820px){ .grid2 { grid-template-columns:minmax(0,1fr); } }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; min-width:0; }
.panel header { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
@media (max-width:640px){ .panel { padding:16px; } }
/* ===== Lançamentos ===== */
.lc-abas { display:flex; gap:4px; overflow-x:auto; margin:4px 0 12px; border-bottom:1px solid var(--line); scrollbar-width:none; }
.lc-abas button { all:unset; cursor:pointer; padding:9px 12px; font-size:13.5px; color:var(--muted); border-bottom:2px solid transparent; white-space:nowrap; }
.lc-abas button[aria-selected="true"] { color:var(--fg); border-bottom-color:var(--glow-a, var(--accent)); font-weight:600; }
.lc-abas button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.lc-graf { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:12px; }
.lc-graf > .panel { margin:0 0 12px; }
.lc-aneis { display:grid; gap:12px; } .lc-aneis.dois { grid-template-columns:repeat(2, minmax(0,1fr)); } .lc-anel-tit { margin:0 0 4px; font-size:13px; font-weight:600; text-align:center; } .lc-aneis .note { text-align:center; font-size:12px; margin:4px 0 0; }
.bc-comp { display:flex; height:30px; border-radius:8px; overflow:hidden; background:var(--surface-2); } .bc-comp i { display:flex; align-items:center; justify-content:center; font-style:normal; font-size:12px; font-weight:700; color:#fff; min-width:0; overflow:hidden; white-space:nowrap; }
.bc-leg { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:8px 16px; margin-top:12px; font-size:13px; } .bc-leg div { display:flex; gap:8px; align-items:baseline; } .bc-leg i { width:10px; height:10px; border-radius:3px; flex:none; display:inline-block; } .bc-leg b { font-variant-numeric:tabular-nums; } .bc-leg span.note { margin:0; }
.bc-cli { background:#22c55e; } .bc-pri { background:#a78bfa; } .bc-base { background:#f472b6; } .bc-novo { background:#3b82f6; }
.bc-lista { display:grid; gap:7px; } .bc-lista > div { display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(80px, 1fr) minmax(48px, max-content); gap:10px; align-items:center; font-size:13px; } .bc-lista span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bc-lista .trilho { height:10px; border-radius:5px; background:var(--surface-2); overflow:hidden; } .bc-lista .trilho i { display:block; height:100%; background:var(--accent); border-radius:5px; } .bc-lista b { text-align:right; font-variant-numeric:tabular-nums; }
.kpi .bc-sem { display:inline-block; width:fit-content; margin:2px 0 4px; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; vertical-align:2px; } .bc-sem.verde { background:color-mix(in srgb, var(--good) 18%, transparent); color:var(--good); } .bc-sem.amarelo { background:color-mix(in srgb, var(--warn) 18%, transparent); color:var(--warn); } .bc-sem.vermelho { background:color-mix(in srgb, var(--bad) 18%, transparent); color:var(--bad); }
.kpi .bc-ver { background:none; border:0; padding:0; color:var(--accent); font:inherit; font-size:12px; cursor:pointer; text-decoration:underline; }
@media (max-width:560px){ .lc-aneis.dois { grid-template-columns:1fr; } .bc-lista > div { grid-template-columns:minmax(0,1fr) 60px minmax(40px, max-content); } }
@media (max-width:900px){ .lc-graf { grid-template-columns:minmax(0,1fr); } }
.lc-editor h3 { font-size:14px; margin:18px 0 8px; padding-top:12px; border-top:1px solid var(--line); }
.lc-editor h3:first-of-type { border-top:0; padding-top:0; margin-top:4px; }
.lc-linha { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin-bottom:8px; }
.lc-linha .field { flex:1 1 140px; margin:0; }
.lc-aulas { display:grid; gap:10px; }
.lc-aula { display:grid; grid-template-columns:160px minmax(0,1fr); gap:12px; align-items:start; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.lc-aula img, .lc-thumb { width:160px; aspect-ratio:16/9; object-fit:cover; border-radius:8px; background:var(--surface); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:12px; }
.lc-aula-n { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px; color:var(--muted); }
.lc-aula-n b { color:var(--fg); }
@media (max-width:560px){ .lc-aula { grid-template-columns:minmax(0,1fr); } .lc-aula img, .lc-thumb { width:100%; } }

.pq { border-top:1px solid var(--line); padding:8px 0; }
.pq summary { cursor:pointer; padding:4px 0; }
.pq-pts { width:64px; text-align:right; padding:4px 6px; }
.pq-corte { margin:10px 0; gap:10px; align-items:center; }
.pq-corte label { font-size:13px; font-weight:600; }

.lc-sec { margin:18px 2px 8px; font-size:15px; color:var(--muted); font-weight:600; }
.lt { position:relative; height:58px; margin:14px 4px 6px; }
.lt::before { content:""; position:absolute; left:0; right:0; top:22px; height:2px; background:var(--line); }
.lt-faixa { position:absolute; top:12px; height:22px; border-radius:6px; display:flex; align-items:center; padding:0 8px; box-sizing:border-box; font-size:11.5px; font-weight:600; color:#fff; overflow:hidden; white-space:nowrap; }
.lt-faixa.cap { background:var(--s-fat); }
.lt-faixa.car { background:var(--s-org); }
.lt-marco { position:absolute; top:8px; width:2px; height:30px; background:var(--s-ups); }
.lt-marco span { position:absolute; top:-14px; left:50%; transform:translateX(-50%); font-size:11px; color:var(--s-ups); white-space:nowrap; }
.lt-hoje { position:absolute; top:4px; width:2px; height:38px; background:var(--fg); }
.lt-hoje span { position:absolute; bottom:-16px; left:50%; transform:translateX(-50%); font-size:11px; font-weight:700; white-space:nowrap; }
.lt-datas { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; font-size:11px; color:var(--muted); }
.meta-bar { height:5px; border-radius:3px; background:var(--line); overflow:hidden; margin-top:6px; }
.meta-bar i { display:block; height:100%; border-radius:3px; }
/* ===== Funis ===== */
/* Fundo de quadro (grade de pontos) só nas telas de fluxo: Funis e Teste A/B */
.quadro { --ponto:color-mix(in srgb, var(--fg) 14%, transparent); --brilho:color-mix(in srgb, var(--accent) 14%, transparent);
  background-color:color-mix(in srgb, var(--surface-2) 70%, transparent);
  background-image:radial-gradient(ellipse at 50% 35%, var(--brilho), transparent 65%), radial-gradient(var(--ponto) 1.2px, transparent 1.4px);
  background-size:100% 100%, 22px 22px; background-position:center, 11px 11px;
  border:1px solid var(--line); border-radius:16px; }
:root[data-theme="light"] .quadro { --ponto:color-mix(in srgb, var(--fg) 18%, transparent); --brilho:color-mix(in srgb, var(--accent) 8%, transparent); background-color:color-mix(in srgb, var(--surface-2) 60%, var(--surface)); }
.fx-canvas.quadro { padding:34px 18px 18px; }
.abv.quadro { padding:18px 16px 16px; }
.fx-canvas { display:flex; align-items:flex-start; overflow-x:auto; padding:34px 4px 12px; scrollbar-width:thin; }
.fx-col { display:flex; flex-direction:column; align-items:center; flex:none; }
.fx-node { width:228px; box-sizing:border-box; background:var(--surface-2); border:1px solid var(--line); border-top:3px solid var(--s-fat); border-radius:14px; padding:12px 14px 10px; }
.fx-node.fx-tr { border-top-color:var(--s-inv); }
.fx-node.fx-asc { border-top-color:var(--s-ups); }
.fx-node h3 { margin:0 0 6px; font-size:14px; }
.fx-row { display:flex; justify-content:space-between; gap:8px; align-items:baseline; padding:6px 0; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.fx-row b { color:var(--fg); font-variant-numeric:tabular-nums; text-align:right; }
.fx-row small { font-weight:400; color:var(--muted); }
.fx-camps { margin-top:6px; font-size:12px; color:var(--muted); }
.fx-camps summary { cursor:pointer; padding:2px 0; }
.fx-dica { margin:6px 0 4px; font-size:11.5px; }
.fx-camp { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:6px; align-items:center; padding:5px 0; border-top:1px solid var(--line); cursor:pointer; }
.fx-camp span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fx-camp.pausada span { color:var(--muted); opacity:.75; }
.fx-mais { margin-top:6px; }
.fx-venda { display:grid; grid-template-columns:1fr auto; gap:2px 8px; padding:5px 0; border-top:1px solid var(--line); }
.fx-venda b { color:var(--fg); font-variant-numeric:tabular-nums; }
.fx-venda small { grid-column:1 / -1; color:var(--s-ob); }
.fx-camp b { color:var(--fg); font-variant-numeric:tabular-nums; font-weight:600; }
.fx-foot { margin:6px 0 0; font-size:11.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fx-link { position:relative; flex:1 0 150px; min-width:150px; height:2px; margin-top:62px; align-self:flex-start;
  background:repeating-linear-gradient(90deg, var(--glow-a, var(--accent)) 0 8px, transparent 8px 14px); background-size:14px 2px; animation:fx-fluxo .9s linear infinite; }
.fx-link::after { content:""; position:absolute; right:-1px; top:-4px; border:5px solid transparent; border-left:7px solid var(--glow-a, var(--accent)); border-right:0; }
@keyframes fx-fluxo { to { background-position:14px 0; } }
.fx-pills { position:absolute; left:50%; bottom:8px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:4px; }
.fx-pills.fx-baixo { bottom:auto; top:8px; }
.fx-pill { white-space:nowrap; font-size:11px; color:var(--muted); background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:3px 9px; }
.fx-pill b { color:var(--fg); font-variant-numeric:tabular-nums; }
.fx-pill.bom b { color:var(--good); } .fx-pill.ruim b { color:var(--bad); }
.fx-down { width:2px; height:16px; background:var(--line); }
.fx-bumps { width:228px; display:flex; flex-wrap:wrap; gap:8px; }
.fx-bump { flex:1 1 100px; min-width:0; box-sizing:border-box; display:flex; flex-direction:column; gap:2px; font-size:11.5px; color:var(--muted); background:var(--surface); border:1px dashed var(--line); border-radius:10px; padding:8px 9px; }
.fx-bump b { color:var(--fg); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fx-bump.fx-fora { border-color:var(--warn); }
.fx-bump.fx-fora .btn { align-self:flex-start; margin-top:4px; }
.fx-taxa { align-self:flex-start; font-size:11px; font-weight:700; color:var(--s-ob); }
.fx-edit .fx-campo { display:flex; flex-direction:column; gap:6px; font-size:13px; margin-bottom:12px; max-width:420px; }
.fx-etapa { border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:10px; background:var(--surface-2); }
.fx-etapa h3 { margin:0 0 4px; font-size:14px; }
.fx-enome { font-weight:600; max-width:260px; }
.fx-sub { margin:10px 0 6px; font-size:12.5px; color:var(--muted); }
.fx-chips { flex-wrap:wrap; }
.btn.danger { color:var(--bad); }
@media (max-width:820px){
  .fx-canvas { flex-direction:column; align-items:stretch; overflow:visible; padding-top:6px; }
  .fx-col { align-items:stretch; }
  .fx-node, .fx-bumps { width:auto; }
  .fx-down { margin-left:24px; }
  .fx-link { flex:none; width:2px; min-width:0; height:64px; margin:0 0 0 24px; background:repeating-linear-gradient(180deg, var(--glow-a, var(--accent)) 0 8px, transparent 8px 14px); background-size:2px 14px; animation-name:fx-fluxo-v; }
  .fx-link::after { right:auto; left:-4px; top:auto; bottom:-1px; border:5px solid transparent; border-top:7px solid var(--glow-a, var(--accent)); border-bottom:0; }
  .fx-link { height:auto; min-height:64px; }
  .fx-pillbox { position:static; padding:10px 0 10px 16px; display:flex; flex-direction:column; gap:4px; width:calc(100vw - 110px); max-width:520px; }
  .fx-pills, .fx-pills.fx-baixo { position:static; transform:none; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; }
}
@keyframes fx-fluxo-v { to { background-position:0 14px; } }
@media (prefers-reduced-motion: reduce){ .fx-link { animation:none; } }
/* Minimizar quadros no celular */
.min-btn { display:none; }
@media (max-width:820px){
  .panel:has(> header > .min-btn) { position:relative; } .panel > header:has(> .min-btn) { padding-right:40px; flex-wrap:wrap; }
  .panel > header > .min-btn { position:absolute; top:12px; right:12px; margin:0; }
  :root[data-theme="obs"] .panel:has(> header > .min-btn)::before { display:none; }
  .min-btn { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; margin-left:auto; padding:0; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; flex:none; }
  .min-btn svg { transition:transform .18s ease; }
  .panel.minimizado .min-btn svg { transform:rotate(-90deg); }
  .panel.minimizado > header { margin-bottom:0; }
  .panel.minimizado > header > :not(h2):not(.min-btn) { display:none; }
  .panel.minimizado > :not(header) { display:none !important; }
  .panel > header > h2.minimizavel { cursor:pointer; }
  .min-todos { display:flex; justify-content:flex-end; gap:8px; margin:0 0 8px; }
}
@media (min-width:821px){ .min-todos { display:none; } }
@media (prefers-reduced-motion: reduce){ .min-btn svg { transition:none; } }
.chartbox { position:relative; height:260px; }
.legend { display:flex; gap:14px; font-size:12px; color:var(--muted); flex-wrap:wrap; }
.legend span { display:inline-flex; align-items:center; gap:6px; }
.legend i { width:10px; height:10px; border-radius:2px; display:inline-block; }

.tablebox { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { text-align:left; font-size:12px; color:var(--muted); font-weight:600; padding:8px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
td { padding:9px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
td.r, th.r { text-align:right; }
td.num, td.r { font-variant-numeric:tabular-nums; }
tbody tr:hover td { background:var(--surface-2); }
tr.total td { font-weight:600; border-top:2px solid var(--line); border-bottom:none; }
.pill { display:inline-block; font-family:var(--f-body); font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; }
.pill.good { background:var(--good-bg); color:var(--good); }
.pill.bad { background:var(--bad-bg); color:var(--bad); }
.pill.warn { background:var(--warn-bg); color:var(--warn); }
.pill.neutral { background:var(--surface-2); color:var(--muted); }

.empty { text-align:center; padding:40px 16px; color:var(--muted); }
.empty h2 { color:var(--fg); margin-bottom:6px; }

.form { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.form .full { grid-column:1 / -1; }
.block { border:1px solid var(--line); border-radius:var(--r); padding:12px; display:grid; gap:10px; grid-template-columns:repeat(3, minmax(0,1fr)); background:var(--surface-2); }
.block h3 { grid-column:1 / -1; font-size:14px; font-family:var(--f-body); font-weight:600; display:flex; align-items:center; gap:8px; }
.block h3 i { width:10px; height:10px; border-radius:2px; display:inline-block; }
@media (max-width:820px){ .form, .block { grid-template-columns:minmax(0,1fr); } }
.actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.toast { font-size:13px; color:var(--good); }
.toast.err { color:var(--bad); }

.report { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
@media (max-width:820px){ .report { grid-template-columns:minmax(0,1fr); } }
pre.wa { background:var(--surface-2); border-radius:var(--r); padding:14px; white-space:pre-wrap; word-break:break-word; font-family:var(--f-body); font-size:13px; margin:0; max-height:560px; overflow:auto; }
.note { font-size:12px; color:var(--muted); }
.inline-confirm { display:inline-flex; gap:6px; align-items:center; font-size:12px; }
@media (prefers-reduced-motion: reduce){ * { transition:none !important; animation:none !important; } }
/* Aviso flutuante (Salvo, erro…): aparece embaixo da tela, some sozinho */
#avisoTela { position:fixed; left:50%; bottom:24px; transform:translate(-50%, 16px); z-index:9999; display:flex; align-items:center; gap:10px; max-width:min(92vw, 520px);
  padding:12px 18px; border-radius:12px; background:var(--surface-2); color:var(--fg); border:1px solid var(--line); box-shadow:0 12px 32px rgba(0,0,0,.35); font-size:14px; font-weight:500;
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
#avisoTela.on { opacity:1; transform:translate(-50%, 0); pointer-events:auto; }
#avisoTela::before { content:"✓"; display:grid; place-items:center; flex:none; width:22px; height:22px; border-radius:50%; background:var(--good); color:#06140e; font-weight:700; font-size:13px; }
#avisoTela.err::before { content:"!"; background:var(--bad); color:#fff; }
@media (prefers-reduced-motion: reduce){ #avisoTela { transition:none; } }

/* ===== Visual limpo (22/10): superfícies planas, menos bordas, brilhos e gradientes ===== */
:root[data-theme="neon"] { --bg:#120c26; --surface:#1a1333; --surface-2:#221a42; --line:rgba(167,139,250,.11); --muted:#9d96bf; }
:root[data-theme="neon"] body { background:var(--bg); }
:root[data-theme="neon"] .panel, :root[data-theme="neon"] .kpi, :root[data-theme="neon"] .mp-card { background:var(--surface); box-shadow:none; border-color:transparent; }
:root[data-theme="neon"] .kpi::before { display:none; }
.kpi { padding:14px 16px; gap:4px; box-sizing:border-box; }
.kpi > :first-child:not(.v) { font-size:12.5px; color:var(--muted); }
:root[data-theme="neon"] .lucro { background:var(--surface); border:0; box-shadow:none; }
:root[data-theme="neon"] .lucro .v { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--hero-fg); filter:none; }
:root[data-theme="neon"] .lucro.neg .v { background:none; color:var(--hero-neg); }
:root[data-theme="neon"] .lucro .anel { filter:none; }
:root[data-theme="neon"] .lucro .anel > div { background:var(--surface); }
:root[data-theme="neon"] .anel.painel-anel, :root[data-theme="neon"] .lucro .barra i { filter:none; box-shadow:none; }
:root[data-theme="neon"] .btn:not(.ghost):not(.danger) { background:var(--accent); box-shadow:none; }
:root[data-theme="neon"] .btn:not(.ghost):not(.danger):hover { filter:brightness(1.1); }
:root[data-theme="neon"] .btn.ghost { background:transparent; border-color:rgba(167,139,250,.2); }
:root[data-theme="neon"] .btn.ghost:hover { background:var(--surface-2); }
:root[data-theme="neon"] input, :root[data-theme="neon"] select, :root[data-theme="neon"] textarea, :root[data-theme="neon"] .multi > summary { background:var(--surface); border-color:rgba(167,139,250,.16); }
:root[data-theme="neon"] .chip { background:transparent; border-color:transparent; }
:root[data-theme="neon"] .chip:hover { background:var(--surface); color:var(--fg); }
:root[data-theme="neon"] .chip[aria-pressed="true"] { background:var(--surface-2); border-color:transparent; color:#fff; box-shadow:none; }
:root[data-theme="neon"] h1 { background:none; color:var(--fg); }
:root[data-theme="neon"] .esp .field label { color:var(--muted); }
:root[data-theme="neon"] header.top { background:transparent; border-color:transparent; box-shadow:none; padding-left:4px; padding-right:4px; }
:root[data-theme="neon"] .filters { background:rgba(18,12,38,.92); border-bottom-color:var(--line); }
:root[data-theme="neon"] tbody tr:hover td { background:rgba(139,92,246,.06); }
:root[data-theme="neon"] th { border-bottom-color:rgba(167,139,250,.14); }
:root[data-theme="neon"] td { border-bottom-color:rgba(167,139,250,.07); }
@media (min-width:1100px){
  :root[data-theme="neon"] .wrap nav.tabs { background:transparent; border-color:transparent; box-shadow:none; padding:4px 0; }
  :root[data-theme="neon"] .wrap nav.tabs button { color:var(--muted); }
  :root[data-theme="neon"] .wrap nav.tabs button:hover { background:var(--surface); color:var(--fg); }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"] { background:var(--surface-2); color:#fff; border-left-color:var(--accent); }
  :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:hover, :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:focus-within { background:var(--surface); }
}
:root[data-theme="neon"] .sec-geral { background:transparent; border-color:transparent; padding:0; }
:root[data-theme="neon"] .sec-geral button[aria-pressed="true"] { background:var(--surface-2); color:#fff; }
/* Barra de filtros numa linha só: rótulos escondidos (ficam para leitores de tela); Plataforma e Fonte de receita em "Mais filtros" */
@media (min-width:641px){
  .filters { align-items:center; gap:8px 10px; padding-block:8px; }
  .filters > .field > label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .filters input[type=date] { padding:7px 8px; }
  .filters #fAtalhos { gap:2px; flex-wrap:nowrap; }
  .filters #fAtalhos .chip { padding:7px 9px; }
  .filters #fAtalhos .chip[data-atalho="custom"]:not([aria-pressed="true"]) { display:none; } /* as datas ao lado já fazem o personalizado */
  .filters .multi > summary { padding-top:7px; padding-bottom:7px; min-width:170px; }
  .f-mais { display:inline-flex; margin-left:auto; }
  .filters:not(.aberto) .f-extra { display:none; }
  .filters.aberto .f-extra { flex-basis:auto; }
  .filters.aberto .f-extra > label { position:static; width:auto; height:auto; clip:auto; }
}
.f-mais.ativo::after { content:""; width:7px; height:7px; border-radius:50%; background:var(--warn); }

/* ===== LTV por campanha ===== */
.ltv-barra { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding:10px 14px; margin:0 0 12px; border-radius:10px; background:var(--surface-2); font-size:13px; color:var(--muted); }
.ltv-barra b { color:var(--fg); font-weight:600; }
.ltv-barra .btn { margin-left:auto; }
.ltv-barra.aviso { background:var(--warn-bg); color:var(--fg); }
.ltv-barra.err { background:var(--bad-bg); color:var(--bad); }
.ltv-det-btn { all:unset; cursor:pointer; font-variant-numeric:tabular-nums; border-bottom:1px dashed currentColor; color:var(--fg); }
.ltv-det-btn:hover { color:var(--accent); }
.ltv-det-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.ltv-modal { width:min(720px, calc(100vw - 24px)); max-height:calc(100vh - 40px); overflow:auto; }
.ltv-det { display:grid; gap:16px; }
.ltv-det h3 { font-size:14px; margin:0 0 8px; }
.ltv-det .nota { font-size:12.5px; color:var(--muted); margin:0; line-height:1.5; }
.ltv-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:8px; }
.ltv-kpis > div { background:var(--surface-2); border-radius:10px; padding:10px 12px; display:grid; gap:2px; }
.ltv-kpis span { font-size:12px; color:var(--muted); }
.ltv-kpis b { font-size:18px; font-variant-numeric:tabular-nums; }
.ltv-kpis small { font-size:11.5px; color:var(--muted); }
.ltv-lista { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.ltv-lista li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:7px 10px; border-radius:8px; font-size:13px; }
.ltv-lista li:nth-child(odd) { background:var(--surface-2); }
.ltv-lista li > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ltv-lista li > span:not(:first-child) { font-variant-numeric:tabular-nums; color:var(--muted); text-align:right; }
.ltv-lista li > b { font-variant-numeric:tabular-nums; text-align:right; }
.ltv-tag { display:inline-block; font-size:11px; padding:1px 6px; border-radius:5px; background:var(--accent-soft); color:var(--fg); margin-left:6px; vertical-align:1px; }
@media (min-width:600px){ .ltv-kpis { grid-template-columns:repeat(4, minmax(0,1fr)); } }
.ltv-modal .ltv-det h4 { margin:6px 0 6px; font-size:13.5px; }

/* ===== Assinatura da Kivu (tema Neon): o fio ciano→violeta→magenta só em dois lugares, e os números principais em Sora ===== */
:root[data-theme="neon"] { --assinatura:linear-gradient(90deg, #22d3ee, #8b5cf6 55%, #d946ef); --f-marca:"Sora", "Inter", system-ui, sans-serif; }
:root[data-theme="neon"] .lucro { position:relative; overflow:hidden; }
:root[data-theme="neon"] .lucro::before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--assinatura); }
:root[data-theme="neon"] .lucro .v, :root[data-theme="neon"] .kpi .v, :root[data-theme="neon"] .lucro .anel b,
:root[data-theme="neon"] .dia-card b, :root[data-theme="neon"] .abv-taxa b { font-family:var(--f-marca); letter-spacing:-.03em; }
:root[data-theme="neon"] .kpi .v { font-weight:600; }
:root[data-theme="neon"] .lucro .v { font-weight:700; letter-spacing:-.04em; }
@media (min-width:1100px){
  :root[data-theme="neon"] .wrap nav.tabs button { position:relative; }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"] { border-left-color:transparent; }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"]::before { content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:3px; background:linear-gradient(180deg, #22d3ee, #8b5cf6 55%, #d946ef); }
}
@media (max-width:1099px){
  :root[data-theme="neon"] nav.tabs button[aria-selected="true"] { border-bottom-color:transparent; background:linear-gradient(90deg, #22d3ee, #8b5cf6 55%, #d946ef) bottom / 100% 2px no-repeat; }
}
/* Fio colorido no topo dos indicadores (pedido do Gustavo: é parte da cara da Kivu) */
:root[data-theme="neon"] .kpi { position:relative; overflow:hidden; }
:root[data-theme="neon"] .kpi::before { display:block; content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--assinatura); opacity:.75; }
/* Avisos sobre os dados: uma linha que abre ao clicar */
.avisos-dados { margin:0 0 12px; border-radius:10px; background:var(--warn-bg); color:var(--warn); font-size:13px; }
.avisos-dados > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:9px 14px; font-weight:500; }
.avisos-dados > summary::-webkit-details-marker { display:none; }
.avisos-dados .ad-ico { width:18px; height:18px; border-radius:50%; display:inline-grid; place-items:center; background:var(--warn); color:var(--bg); font-size:12px; font-weight:700; flex:none; }
.avisos-dados .ad-ver { margin-left:auto; font-size:12px; opacity:.8; text-decoration:underline; }
.avisos-dados[open] .ad-ver { font-size:0; } .avisos-dados[open] .ad-ver::after { content:"fechar"; font-size:12px; }
.avisos-dados > p { margin:0; padding:0 14px 8px 42px; line-height:1.45; }
.avisos-dados > p:last-child { padding-bottom:12px; }
.avisos-dados > summary:focus-visible { outline:2px solid var(--warn); outline-offset:2px; border-radius:10px; }
/* Menu lateral (computador): volta a ter uma base própria, sem brilho; o item ativo ganha cor; recolhido, os ícones ficam em "teclas" */
@media (min-width:1100px){
  :root[data-theme="neon"] .wrap nav.tabs { background:var(--surface); border-color:transparent; padding:10px; border-radius:18px; }
  :root[data-theme="neon"] .wrap nav.tabs button svg { color:var(--muted); transition:color .12s ease; }
  :root[data-theme="neon"] .wrap nav.tabs button:hover { background:var(--surface-2); }
  :root[data-theme="neon"] .wrap nav.tabs button:hover svg { color:var(--fg); }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"] { background:linear-gradient(90deg, rgba(139,92,246,.30), rgba(139,92,246,.10)); color:#fff; }
  :root[data-theme="neon"] .wrap nav.tabs button[aria-selected="true"] svg { color:#7ff0f7; }
  :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) button { width:44px; height:44px; padding:0; margin:0 auto; border-radius:12px; }
  :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:not(:hover):not(:focus-within) button[aria-selected="true"]::before { left:-6px; }
}

/* ===== Profundidade (22/10, 18h40): fundo com degradê suave, cartões com luz no topo e sombra macia ===== */
:root[data-theme="neon"] {
  --bg:#100a24;
  --card:linear-gradient(180deg, rgba(43,32,92,.78) 0%, rgba(28,20,60,.78) 100%);
  --card-borda:rgba(167,139,250,.13);
  --card-sombra:inset 0 1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(4,0,16,.35), 0 14px 32px -14px rgba(4,0,16,.75);
}
:root[data-theme="neon"] body {
  background:
    radial-gradient(1100px 620px at 8% -12%, rgba(124,77,255,.22), transparent 62%),
    radial-gradient(900px 560px at 100% 0%, rgba(34,211,238,.08), transparent 60%),
    radial-gradient(1000px 700px at 60% 115%, rgba(217,70,239,.08), transparent 62%),
    linear-gradient(180deg, #130c2b 0%, #0f0a22 100%);
  background-attachment:fixed;
}
:root[data-theme="neon"] .panel, :root[data-theme="neon"] .kpi, :root[data-theme="neon"] .mp-card {
  background:var(--card); border:1px solid var(--card-borda); box-shadow:var(--card-sombra);
}
:root[data-theme="neon"] .kpi .v { color:#fff; }
/* Lucro: o quadro de destaque ganha um brilho suave do lado do anel */
:root[data-theme="neon"] .lucro {
  background:
    radial-gradient(420px 240px at 8% 50%, rgba(34,211,238,.10), transparent 70%),
    radial-gradient(520px 260px at 100% 0%, rgba(217,70,239,.10), transparent 70%),
    linear-gradient(135deg, #2a1a66 0%, #1f1550 45%, #171041 100%);
  border:1px solid rgba(167,139,250,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 20px 44px -18px rgba(76,29,149,.65);
}
:root[data-theme="neon"] .lucro .anel > div { background:#1e1450; }
/* Botões */
:root[data-theme="neon"] .btn:not(.ghost):not(.danger) { background:linear-gradient(180deg, #9466f8, #7c3aed); box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px -8px rgba(139,92,246,.75); }
:root[data-theme="neon"] .btn.ghost { background:rgba(36,26,80,.45); border-color:rgba(167,139,250,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
:root[data-theme="neon"] .btn.ghost:hover { background:rgba(52,38,110,.6); }
/* Campos e chips */
:root[data-theme="neon"] input, :root[data-theme="neon"] select, :root[data-theme="neon"] textarea, :root[data-theme="neon"] .multi > summary { background:rgba(20,13,46,.85); border-color:rgba(167,139,250,.18); box-shadow:inset 0 1px 2px rgba(0,0,0,.25); }
:root[data-theme="neon"] .chip[aria-pressed="true"] { background:linear-gradient(180deg, rgba(139,92,246,.32), rgba(139,92,246,.16)); color:#fff; box-shadow:inset 0 0 0 1px rgba(167,139,250,.30); }
/* Barra de filtros: vidro escuro sobre o fundo */
:root[data-theme="neon"] .filters { background:rgba(16,10,36,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:rgba(167,139,250,.10); }
/* Seções da Visão geral: trilho com a pílula ativa */
:root[data-theme="neon"] .sec-geral { background:rgba(27,19,58,.70); border:1px solid var(--card-borda); padding:4px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
:root[data-theme="neon"] .sec-geral button[aria-pressed="true"] { background:linear-gradient(180deg, #8b5cf6, #6d3ae6); color:#fff; box-shadow:0 6px 16px -8px rgba(139,92,246,.8); }
/* Menu lateral */
@media (min-width:1100px){
  :root[data-theme="neon"] .wrap nav.tabs { background:var(--card); border:1px solid var(--card-borda); box-shadow:var(--card-sombra); }
  :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:hover, :root[data-theme="neon"] body.nav-curto .wrap nav.tabs:focus-within { background:linear-gradient(180deg, #2b2060, #1b1340); box-shadow:0 24px 60px rgba(4,0,16,.6); }
}
/* Tabelas: cabeçalho com leve faixa */
:root[data-theme="neon"] .panel thead th { background:rgba(255,255,255,.025); }
:root[data-theme="neon"] .panel thead th:first-child { border-top-left-radius:8px; } :root[data-theme="neon"] .panel thead th:last-child { border-top-right-radius:8px; }
/* Janelas (modais) */
:root[data-theme="neon"] dialog.modal { background:linear-gradient(180deg, #241a4e, #1a1238); border:1px solid rgba(167,139,250,.18); box-shadow:0 30px 80px rgba(0,0,0,.6); }
/* Avisos: menos chapado */
:root[data-theme="neon"] .avisos-dados { background:linear-gradient(90deg, rgba(255,198,92,.14), rgba(255,198,92,.06)); box-shadow:inset 0 0 0 1px rgba(255,198,92,.16); }
/* Fonte Exo no painel inteiro (tema Neon), a pedido do Gustavo */
:root[data-theme="neon"] { --f-body:"Exo", "Inter", system-ui, sans-serif; --f-display:"Exo", "Inter", system-ui, sans-serif; --f-marca:"Exo", "Inter", system-ui, sans-serif; }
:root[data-theme="neon"] body { font-size:14.5px; }
:root[data-theme="neon"] .lucro .v { letter-spacing:-.02em; }
:root[data-theme="neon"] .kpi .v, :root[data-theme="neon"] .dia-card b, :root[data-theme="neon"] .abv-taxa b { letter-spacing:-.01em; }
/* Número do lucro com cor de resultado (pedido 22/10): azul-claro quando positivo, rosa-claro quando negativo */
:root[data-theme="neon"] .lucro .v { background:linear-gradient(90deg, #7ff6ea, #8fd0ff 70%, #b9c4ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
:root[data-theme="neon"] .lucro.neg .v { background:linear-gradient(90deg, #ffb4c8, #ff7f9f); -webkit-background-clip:text; background-clip:text; color:transparent; }
/* Variação contra o período anterior nos indicadores (todos os temas) */
.kpi-d { display:inline-flex; align-items:baseline; gap:5px; font-size:12px; font-weight:600; color:var(--muted); margin-top:1px; font-variant-numeric:tabular-nums; }
.kpi-d small { font-size:11px; font-weight:400; color:var(--muted); }
.kpi-d.bom { color:var(--good); } .kpi-d.ruim { color:var(--bad); } .kpi-d.neutro { color:var(--muted); font-weight:500; }
/* Celular: as ações do período viram "Baixar PDF" + um botão ••• (compartilhar, atualizar, organizar) */
.so-cel { display:none !important; }
@media (max-width:640px){
  .so-desk { display:none !important; }
  .so-cel { display:inline-flex !important; }
  .acoes-pv > summary::after { display:none; }
  .acoes-pv > summary { padding:9px 14px; letter-spacing:.12em; font-weight:700; }
  #pvAtt, .actions > [data-organizar] { display:none !important; }
  #pvPdf { flex:1 1 auto; justify-content:center; }
  .actions:has(> #pvPdf) { flex-wrap:nowrap; width:100%; }
}
@media (max-width:640px){ .pv-ctx { font-size:12.5px; } .actions:has(> .actions > #pvPdf) { gap:8px; margin-bottom:8px !important; } }
/* Esqueleto de carregamento */
.sk-msg { margin:0 0 10px; font-size:13px; color:var(--muted); }
.sk { display:block; border-radius:7px; background:linear-gradient(90deg, rgba(167,139,250,.08) 0%, rgba(167,139,250,.18) 40%, rgba(167,139,250,.08) 80%); background-size:300% 100%; animation:sk-onda 1.4s ease-in-out infinite; }
:root:not([data-theme="neon"]):not([data-theme="obs"]):not([data-theme="dark"]) .sk { background-image:linear-gradient(90deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.10) 40%, rgba(0,0,0,.05) 80%); }
@keyframes sk-onda { 0% { background-position:100% 0; } 100% { background-position:0 0; } }
@media (prefers-reduced-motion: reduce){ .sk { animation:none; } }
.sk-l { height:11px; width:40%; margin-bottom:12px; } .sk-v { height:22px; width:70%; margin-bottom:10px; } .sk-s { height:10px; width:55%; margin-top:8px; }
.sk-big { height:44px; width:min(320px, 80%); margin:4px 0 6px; } .sk-bar { height:14px; width:100%; margin:12px 0 4px; } .sk-row { height:12px; width:100%; margin-top:14px; }
.sk-card { min-height:96px; } .sk-hero { min-height:150px; align-items:center; }
.sk-wrap .grid2 .panel { min-height:160px; }
/* Configuração guiada: 3 conquistas no topo, cada uma com o resultado que libera */
.guia-etapas { list-style:none; margin:0 0 16px; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.guia-etapa { position:relative; display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }
:root[data-theme="neon"] .guia-etapa { background:var(--card); border-color:var(--card-borda); box-shadow:var(--card-sombra); }
.guia-etapa.ativa { border-color:var(--accent); }
:root[data-theme="neon"] .guia-etapa.ativa { border-color:rgba(139,92,246,.55); box-shadow:0 0 0 1px rgba(139,92,246,.25), var(--card-sombra); }
.ge-ir { all:unset; cursor:pointer; display:flex; gap:12px; align-items:flex-start; }
.ge-ir:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:8px; }
.ge-num { flex:none; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:14px; background:var(--surface-2); color:var(--muted); }
.ge-num svg { width:16px; height:16px; }
.guia-etapa.ativa .ge-num { background:var(--accent); color:#fff; }
.guia-etapa.ok .ge-num { background:var(--good-bg); color:var(--good); }
.ge-txt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.ge-txt b { font-size:14.5px; line-height:1.3; }
.ge-txt small { font-size:12px; color:var(--muted); line-height:1.35; }
.ge-barra { display:block; height:4px; border-radius:4px; background:var(--surface-2); overflow:hidden; }
.ge-barra i { display:block; height:100%; border-radius:4px; background:var(--accent); transition:width .5s ease; }
:root[data-theme="neon"] .ge-barra i { background:linear-gradient(90deg, #22d3ee, #8b5cf6 55%, #d946ef); }
.guia-etapa.ok .ge-barra i { background:var(--good); }
.ge-ver { align-self:flex-start; }
@media (max-width:820px){ .guia-etapas { grid-template-columns:minmax(0,1fr); } .guia-etapa { flex-direction:column; } }
.sk-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) !important; }
:root[data-theme="neon"] .menu-acoes .menu-lista { background:linear-gradient(180deg, #261b52, #1c1440); border:1px solid rgba(167,139,250,.2); box-shadow:0 20px 50px rgba(4,0,16,.6); }
:root[data-theme="neon"] .menu-acoes .menu-lista .btn { background:transparent; border-color:transparent; box-shadow:none; }
:root[data-theme="neon"] .menu-acoes .menu-lista .btn:hover { background:rgba(139,92,246,.16); }
@media (max-width:820px){ .guia-etapa { padding:10px 12px; gap:8px; } .ge-num { width:26px; height:26px; font-size:13px; } .ge-txt b { font-size:14px; } }
/* Saúde dos dados */
.saude { margin-bottom:12px; }
.saude-lista { display:grid; gap:8px; }
.saude-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; padding:12px 14px; border-radius:12px; background:var(--surface-2); }
:root[data-theme="neon"] .saude-item { background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px rgba(167,139,250,.10); }
.sd-ponto { width:10px; height:10px; border-radius:50%; margin-top:5px; background:var(--muted); }
.saude-item.bom .sd-ponto { background:var(--good); } .saude-item.atencao .sd-ponto { background:var(--warn); } .saude-item.ruim .sd-ponto { background:var(--bad); }
.saude-item.carregando .sd-ponto { animation:sk-onda 1.2s ease-in-out infinite; background:var(--accent); }
.sd-txt { display:flex; flex-direction:column; gap:3px; min-width:0; }
.sd-txt b { font-size:14px; } .sd-txt span { font-size:13px; color:var(--muted); line-height:1.45; }
.sd-txt .sd-acao { color:var(--fg); }
.saude-item.ruim .sd-acao { color:var(--bad); } .saude-item.atencao .sd-acao { color:var(--warn); }
.sd-val { font-weight:700; font-size:15px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.saude-item.bom .sd-val { color:var(--good); } .saude-item.ruim .sd-val { color:var(--bad); } .saude-item.atencao .sd-val { color:var(--warn); }
@media (max-width:640px){ .saude-item { grid-template-columns:auto minmax(0,1fr); } .sd-val { grid-column:2; } }
/* Mapa do funil: fontes, etapas de página e checkout, vazamento e previsão */
.fx-link.curto { flex:1 0 132px; min-width:132px; }
.fx-node.fx-etp { width:168px; border-top-color:var(--s-org); }
.fx-node.vaza { border-top-color:var(--bad); box-shadow:0 0 0 1px color-mix(in srgb, var(--bad) 35%, transparent); }
.fx-fontes { margin:0 0 4px; }
.fx-row.fx-fonte span { display:inline-flex; align-items:center; gap:6px; }
.fx-dot { width:8px; height:8px; border-radius:50%; display:inline-block; background:var(--muted); }
.fx-dot.meta { background:#3b82f6; } .fx-dot.google { background:#22c55e; } .fx-dot.org { background:#a78bfa; }
.fx-row.fx-prev { color:var(--muted); font-size:12px; border-top-style:dashed; }
.fx-row.fx-prev b { color:var(--muted); font-weight:600; }
.fx-pill.ruim { border-color:color-mix(in srgb, var(--bad) 45%, transparent); }
.fx-vaz { margin:0 0 12px; padding:10px 14px; border-radius:10px; background:var(--bad-bg); color:var(--fg); font-size:13px; line-height:1.45; }
.fx-vaz b { color:var(--bad); }
.pv-box { margin:0 0 14px; padding:14px; border-radius:12px; background:var(--surface-2); }
:root[data-theme="neon"] .pv-box { background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px rgba(167,139,250,.12); }
.pv-campos { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; }
.pv-campo { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--muted); }
.pv-in { position:relative; display:flex; align-items:center; }
.pv-in input { width:100%; box-sizing:border-box; padding-right:58px; }
.pv-in i { position:absolute; right:10px; font-style:normal; font-size:11.5px; color:var(--muted); pointer-events:none; }
/* ===== Quadro livre do funil ===== */
.fx-quadro { margin-top:4px; }
.mx { display:grid; grid-template-columns:184px minmax(0,1fr); gap:12px; --mx-pg:#eef0f6; --mx-pg-bar:#d9dcea; --mx-pg-txt:#b9bed3; --mx-pg-img:#cdd3e6; --mx-ponto:rgba(120,120,160,.18); }
:root:is([data-theme="neon"],[data-theme="dark"],[data-theme="obs"]) .mx { --mx-pg:#2b2357; --mx-pg-bar:#3a3070; --mx-pg-txt:#5d538f; --mx-pg-img:#463c80; --mx-ponto:rgba(167,139,250,.14); }
@media (prefers-color-scheme: dark){ :root:not([data-theme]) .mx { --mx-pg:#2b2357; --mx-pg-bar:#3a3070; --mx-pg-txt:#5d538f; --mx-pg-img:#463c80; --mx-ponto:rgba(167,139,250,.14); } }
.mx.so-ver { grid-template-columns:minmax(0,1fr); }
.mx-lib { max-height:640px; overflow:auto; padding:4px 6px 4px 0; scrollbar-width:thin; }
.mx-lib-g { margin:10px 0 6px; font-size:11.5px; color:var(--muted); font-weight:600; }
.mx-lib-g:first-child { margin-top:0; }
.mx-lib-l { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.mx-lib-it { all:unset; cursor:grab; display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 4px; border-radius:10px; background:var(--surface-2); font-size:11px; text-align:center; color:var(--fg); line-height:1.2; }
.mx-lib-it:hover { outline:1px solid var(--accent); }
.mx-lib-it:focus-visible { outline:2px solid var(--accent); }
.mx-lib-ico svg { width:30px; height:auto; display:block; }
.mx-lib-ico svg[viewBox="0 0 64 84"] { width:26px; }
.mx-lib-nota { width:30px; height:30px; display:grid; place-items:center; border-radius:6px; background:#fde68a; color:#78350f; font-weight:700; }
.mx-area { min-width:0; display:flex; flex-direction:column; gap:8px; }
.mx-barra { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.mx-zoom { display:inline-flex; gap:4px; }
.mx-status { font-size:12px; color:var(--muted); }
.mx-dica { font-size:11.5px; color:var(--muted); margin-left:auto; }
.mx-menu { position:relative; }
.mx-menu > summary { list-style:none; } .mx-menu > summary::-webkit-details-marker { display:none; }
.mx-menu-l { position:absolute; z-index:20; top:calc(100% + 6px); left:0; display:flex; flex-direction:column; gap:4px; padding:6px; min-width:220px; border-radius:12px; background:var(--surface-2); border:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.mx-menu-l .btn { justify-content:flex-start; }
.mx-view { position:relative; height:620px; overflow:hidden; border-radius:14px; border:1px solid var(--line); cursor:grab; touch-action:none; outline:none;
  background-color:var(--surface); background-image:radial-gradient(var(--mx-ponto) 1.2px, transparent 1.2px); background-size:16px 16px; }
.mx-view.arrastando { cursor:grabbing; }
.mx-view:focus-visible { box-shadow:0 0 0 2px var(--accent); }
.mx-stage { position:absolute; left:0; top:0; transform-origin:0 0; }
.mx-setas { position:absolute; left:0; top:0; overflow:visible; pointer-events:none; }
.mx-setas .mx-seta { pointer-events:auto; cursor:pointer; }
.mx-linha-hit { fill:none; stroke:transparent; stroke-width:14; }
.mx-linha { fill:none; stroke:var(--accent); stroke-width:2; stroke-dasharray:6 5; }
.mx-seta.ruim .mx-linha { stroke:var(--bad); }
.mx-seta.sel .mx-linha { stroke-width:3.2; stroke-dasharray:none; }
.mx-ponta { fill:var(--accent); } .mx-ponta-r { fill:var(--bad); }
.mx-temp { fill:none; stroke:var(--accent); stroke-width:2; stroke-dasharray:4 4; }
.mx-rot { fill:var(--surface-2); stroke:var(--good); stroke-width:1; }
.mx-rot.ruim { stroke:var(--bad); }
.mx-rot-t { font-size:11px; fill:var(--fg); font-weight:600; font-family:var(--f-body); }
.mx-nos { position:absolute; left:0; top:0; }
.mx-no { position:absolute; width:132px; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; gap:6px; padding:10px 8px 10px; border-radius:14px; background:var(--surface-2); border:1px solid var(--line); cursor:grab; user-select:none; text-align:center; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.mx-no.fonte { padding-top:12px; }
.mx-no.sel { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent), 0 6px 18px rgba(0,0,0,.18); }
.mx-ico svg { display:block; }
.mx-pg { fill:var(--mx-pg); } .mx-pg-bar { fill:var(--mx-pg-bar); } .mx-pg-dot { fill:var(--mx-pg-txt); } .mx-pg-txt { fill:var(--mx-pg-txt); }
.mx-pg-img { fill:var(--mx-pg-img); } .mx-pg-in { fill:none; stroke:var(--mx-pg-txt); stroke-width:1; }
.mx-pg-btn { fill:#8b5cf6; } .mx-pg-sim { fill:#22c55e; } .mx-pg-play { fill:#fff; } .mx-pg-ok { fill:#22c55e; } .mx-pg-mais { fill:#8b5cf6; } .mx-pg-menos { fill:#f59e0b; } .mx-pg-bump { fill:#f59e0b; }
.mx-tit { font-size:12.5px; font-weight:600; line-height:1.25; max-width:116px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:var(--fg); }
.mx-tit[contenteditable] { display:block; outline:1px solid var(--accent); border-radius:4px; padding:0 3px; cursor:text; -webkit-line-clamp:unset; }
.mx-met { display:flex; flex-direction:column; gap:1px; font-size:12px; line-height:1.2; }
.mx-met b { font-variant-numeric:tabular-nums; } .mx-met small { color:var(--muted); font-size:11px; }
.mx-porta { position:absolute; right:-7px; top:50%; width:12px; height:12px; margin-top:-6px; border-radius:50%; background:var(--surface); border:2px solid var(--accent); cursor:crosshair; }
.mx-porta:hover { background:var(--accent); transform:scale(1.25); }
.mx-x { all:unset; display:none; position:absolute; top:-9px; right:-9px; width:20px; height:20px; border-radius:50%; background:var(--bad); color:#fff; font-size:13px; line-height:20px; text-align:center; cursor:pointer; }
.mx-no.sel .mx-x { display:block; }
.mx-no.mx-nota { width:180px; min-height:90px; align-items:stretch; text-align:left; background:#fde68a; border-color:#f59e0b; color:#3b2a06; }
.mx-nota-t { font-size:12.5px; line-height:1.4; white-space:pre-wrap; outline:none; cursor:text; min-height:60px; color:#3b2a06; }
.mx-vazio { position:absolute; inset:0; display:grid; place-content:center; text-align:center; color:var(--muted); pointer-events:none; font-size:13px; }
.mx-vazio p { margin:2px 0; } .mx-vazio b { color:var(--fg); }
@media (max-width:820px){ .mx { grid-template-columns:minmax(0,1fr); } .mx-lib { display:none; } .mx-dica { display:none; } .mx-view { height:440px; } }
.mx-rots { position:absolute; left:0; top:0; overflow:visible; pointer-events:none; }
.mx-rot-ref { font-size:10.5px; fill:var(--bad); font-weight:600; font-family:var(--f-body); }
/* Gerenciar anúncios: as três primeiras colunas ficam congeladas (seleção, chave e nome) e todo cabeçalho ordena */
.ads-tab td.col-sel, .ads-tab th.col-sel { position:sticky; left:0; z-index:2; background:var(--surface); }
.ads-tab td.col-sw, .ads-tab th.col-sw { position:sticky; left:var(--l2, 44px); z-index:2; background:var(--surface); }
.ads-tab .col-nome { left:var(--l3, 110px); }
.ads-tab thead th.col-sel, .ads-tab thead th.col-sw, .ads-tab thead th.col-nome { z-index:6; background:var(--surface-2); }
.ads-tab tfoot td.col-sel, .ads-tab tfoot td.col-sw, .ads-tab tfoot td.col-nome { z-index:6; background:var(--surface); }
.ads-tab tr.nv-conjunto td.col-sel, .ads-tab tr.nv-conjunto td.col-sw, .ads-tab tr.nv-anuncio td.col-sel, .ads-tab tr.nv-anuncio td.col-sw { background:var(--surface-2); }
:root[data-theme="neon"] .ads-tab td.col-sel, :root[data-theme="neon"] .ads-tab td.col-sw, :root[data-theme="neon"] .ads-tab td.col-nome { background:#1c1440; }
:root[data-theme="neon"] .ads-tab thead th.col-sel, :root[data-theme="neon"] .ads-tab thead th.col-sw, :root[data-theme="neon"] .ads-tab thead th.col-nome { background:#251b52; }
:root[data-theme="neon"] .ads-tab thead th { background:#251b52; }
:root[data-theme="neon"] .ads-tab tfoot td { background:#1c1440; }
:root[data-theme="neon"] .ads-tab tbody tr:hover td.col-sel, :root[data-theme="neon"] .ads-tab tbody tr:hover td.col-sw, :root[data-theme="neon"] .ads-tab tbody tr:hover td.col-nome { background:#241a4e; }
.ads-tab.rolada td.col-nome, .ads-tab.rolada th.col-nome { box-shadow:6px 0 10px -6px rgba(0,0,0,.55); }
.ads-tab th.th-ord { cursor:pointer; } .ads-tab th.th-ord:hover { color:var(--fg); }
.ads-tab th[aria-sort] , .ads-tab th:has(.ord[aria-sort="ascending"]), .ads-tab th:has(.ord[aria-sort="descending"]) { color:var(--fg); }
.ads-tab td.col-sel, .ads-tab th.col-sel, .ads-tab td.col-sw, .ads-tab th.col-sw { box-shadow:1px 0 0 var(--line); }
/* Quadro livre: painel de configuração do bloco e situação de cada bloco */
.mx-cfg { position:absolute; top:10px; right:10px; bottom:10px; width:300px; z-index:8; display:flex; flex-direction:column; border-radius:14px; background:var(--surface-2); border:1px solid var(--line); box-shadow:0 20px 50px rgba(0,0,0,.45); cursor:default; overflow:hidden; }
:root[data-theme="neon"] .mx-cfg { background:linear-gradient(180deg, #261b52, #1c1440); border-color:rgba(167,139,250,.2); }
.mx-cfg[hidden] { display:none; }
.mx-cfg header { display:flex; align-items:center; gap:10px; padding:12px 12px 10px 14px; border-bottom:1px solid var(--line); }
.mx-cfg header b { flex:1; font-size:14px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mx-cfg-ico svg { width:30px; height:auto; display:block; }
.mx-cfg-ico svg[viewBox="0 0 64 84"] { width:24px; }
.mx-cfg-x { all:unset; cursor:pointer; width:26px; height:26px; border-radius:8px; text-align:center; line-height:26px; font-size:18px; color:var(--muted); }
.mx-cfg-x:hover { background:var(--surface); color:var(--fg); }
.mx-cfg-corpo { padding:12px 14px 16px; overflow:auto; display:flex; flex-direction:column; gap:10px; font-size:13px; }
.mx-cfg-corpo .note { margin:0; }
.mx-cfg-corpo .note.ok { color:var(--good); } .mx-cfg-corpo .note.ruim { color:var(--bad); }
.mx-cfg-rot { margin:4px 0 0; font-size:12px; font-weight:600; color:var(--muted); }
.mx-cfg-st { margin:0; padding:8px 10px; border-radius:9px; font-size:12.5px; }
.mx-cfg-st.ok { background:var(--good-bg); color:var(--good); } .mx-cfg-st.falta { background:var(--bad-bg); color:var(--bad); } .mx-cfg-st.atencao { background:var(--warn-bg); color:var(--warn); }
.mx-cfg-lista { display:flex; flex-direction:column; max-height:260px; overflow:auto; border-radius:9px; background:var(--surface); }
.mx-cfg-lista label { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; padding:7px 10px; border-bottom:1px solid var(--line); cursor:pointer; font-size:12.5px; }
.mx-cfg-lista label:last-child { border-bottom:0; }
.mx-cfg-lista span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .mx-cfg-lista b { font-weight:500; color:var(--muted); font-size:11.5px; }
.mx-cfg-linha { display:flex; gap:6px; } .mx-cfg-linha input { flex:1; min-width:0; }
.mx-cfg-corpo select, .mx-cfg-corpo input { width:100%; box-sizing:border-box; }
.mx-cfg-linha input { width:auto; }
.mx-cfg-cod { display:flex; flex-direction:column; gap:6px; }
.mx-cfg-cod code { display:block; padding:8px 10px; border-radius:8px; background:var(--surface); font-size:11.5px; word-break:break-all; }
.mx-cfg-cod .btn { align-self:flex-start; }
.mx-st { position:absolute; top:8px; left:8px; width:9px; height:9px; border-radius:50%; }
.mx-st.ok { background:var(--good); } .mx-st.falta { background:var(--bad); } .mx-st.atencao { background:var(--warn); }
@media (max-width:820px){ .mx-cfg { left:10px; width:auto; } }
.mx-cfg-nome { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:600; color:var(--muted); }
/* Painel do bloco: itens não encolhem quando o conteúdo é longo (a rolagem fica no painel) */
.mx-cfg-corpo > * { flex-shrink:0; }
.mx-cfg-corpo .tablebox { margin:0; }
.mx-cfg-corpo .tablebox table { font-size:12px; }
.mx-cfg-corpo .tablebox td:first-child { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mx-cfg-lista small { font-size:11px; }
.lc-pano > header .pano-att { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
/* Panorama: faixa "Hoje até agora" (parcial do dia, separada da análise dos dias fechados) */
.pano-hoje { margin:14px 0 4px; padding:12px 14px; border-radius:12px; border:1px dashed var(--line); background:color-mix(in srgb, var(--surface) 70%, transparent); }
.pano-hoje-t { margin:0 0 10px; font-weight:600; font-size:13.5px; }
.pano-hoje-t span { font-weight:400; color:var(--muted); font-size:12px; }
.pano-hoje-l { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:10px; }
.pano-hoje-i { display:flex; flex-direction:column; gap:3px; padding-left:10px; border-left:3px solid var(--line); }
.pano-hoje-i b { font-size:15px; font-weight:600; }
.pano-hoje-i small { color:var(--muted); font-size:12px; line-height:1.35; }
.pano-hoje-i.bom { border-left-color:var(--good); }
.pano-hoje-i.atencao { border-left-color:var(--warn); }
.pano-hoje-i.ruim { border-left-color:var(--bad); }
/* Grupos do WhatsApp (beta) */
.grp-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; }
.grp-kpis > div { padding:10px 12px; border-radius:12px; background:var(--surface); display:flex; flex-direction:column; gap:2px; }
.grp-kpis span { color:var(--muted); font-size:12px; }
.grp-kpis b { font-size:18px; }
.grp-cod { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.grp-cod code { flex:1; min-width:0; padding:8px 10px; border-radius:8px; background:var(--surface); word-break:break-all; font-size:12px; }
.grp-barra { height:8px; border-radius:99px; background:var(--surface); overflow:hidden; min-width:90px; }
.grp-barra i { display:block; height:100%; background:linear-gradient(90deg, #25d366, #8b5cf6); }
.grp-camps summary { cursor:pointer; margin-top:10px; font-size:13px; color:var(--muted); }
.grp-linhas { display:flex; flex-direction:column; gap:6px; }
.grp-linha { display:grid; grid-template-columns:minmax(110px, 1fr) minmax(200px, 2.4fr) 90px 36px; gap:8px; align-items:center; }
.grp-linha input { width:100%; box-sizing:border-box; }
.grp-cab span { font-size:12px; color:var(--muted); }
.grp-slug { display:flex; align-items:center; gap:0; border-radius:10px; overflow:hidden; }
.grp-slug span { padding:0 8px; color:var(--muted); font-size:13px; white-space:nowrap; }
.grp-slug input { flex:1; min-width:0; }
@media (max-width:640px) { .grp-linha { grid-template-columns:1fr 80px 36px; } .grp-linha input[data-g="convite"] { grid-column:1 / -1; order:5; } .grp-cab { display:none; } }
/* Menu: "Gerenciamento de grupos" pode quebrar a linha em vez de cortar (só no menu lateral aberto) */
@media (min-width:1100px) { nav.tabs [data-tab="grp"] { white-space:normal; line-height:1.2; text-align:left; } }
.grp-barra-topo { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin:14px 0 12px; }
.grp-graf { width:100%; height:auto; max-height:170px; margin-top:12px; display:block; }
.grp-graf rect { fill:#25d366; opacity:.85; }
.grp-graf rect:hover { opacity:1; }
.grp-graf text { fill:var(--muted); font-size:11px; }
.grp-ads summary { cursor:pointer; font-size:11.5px; color:var(--muted); margin-top:2px; }
.grp-ads div { display:flex; justify-content:space-between; gap:10px; font-size:12px; color:var(--muted); padding:2px 0; }
/* ===== Gerenciamento de grupos: cartões e editor com prévia ===== */
.grp-cards { display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.grp-card { display:grid; grid-template-columns:52px minmax(0,1.6fr) 74px minmax(90px,.7fr) auto; gap:14px; align-items:center; padding:12px 14px; border-radius:16px;
  background:var(--surface-2); border:1px solid var(--line); position:relative; }
.grp-card.vez { border-color:color-mix(in srgb, #25d366 55%, var(--line)); box-shadow:0 0 0 1px color-mix(in srgb, #25d366 25%, transparent), 0 8px 24px -14px #25d366; }
.grp-card.cheio, .grp-card.limite { opacity:.72; }
.grp-av { width:48px; height:48px; border-radius:50%; overflow:visible; position:relative; background:linear-gradient(135deg, #25d366, var(--accent)); display:grid; place-items:center; flex:none; }
.grp-av img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.grp-av span { color:#fff; font-weight:700; font-size:16px; }
.grp-av.sm { width:40px; height:40px; }
.grp-pulse { position:absolute; right:-1px; bottom:-1px; width:13px; height:13px; border-radius:50%; background:#25d366; border:2px solid var(--surface-2); }
.grp-pulse::after { content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid #25d366; opacity:0; animation:grpPulso 1.8s ease-out infinite; }
@keyframes grpPulso { 0% { transform:scale(.6); opacity:.9; } 100% { transform:scale(1.4); opacity:0; } }
@media (prefers-reduced-motion:reduce) { .grp-pulse::after { animation:none; } }
.grp-card-n { display:flex; flex-direction:column; min-width:0; }
.grp-card-n b { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.grp-card-n small { color:var(--muted); font-size:12px; }
.grp-card.vez .grp-card-n small { color:#25d366; font-weight:600; }
.grp-anel { --p:0; width:66px; height:66px; border-radius:50%; display:grid; place-items:center;
  background:conic-gradient(#25d366 calc(var(--p) * 1%), color-mix(in srgb, var(--fg) 10%, transparent) 0); position:relative; }
.grp-anel::before { content:""; position:absolute; inset:6px; border-radius:50%; background:var(--surface-2); }
.grp-anel span { position:relative; font-weight:700; font-size:13px; line-height:1; text-align:center; display:flex; flex-direction:column; align-items:center; }
.grp-anel small { font-weight:500; font-size:10px; color:var(--muted); margin-top:2px; }
.grp-num { display:flex; flex-direction:column; }
.grp-num b { font-size:18px; }
.grp-num small { color:var(--muted); font-size:11.5px; }
.grp-acoes { display:flex; align-items:center; gap:8px; }
.grp-cheio-sel { display:flex; flex-direction:column; gap:2px; font-size:11px; color:var(--muted); }
.grp-cheio-sel select { padding:6px 8px; border-radius:9px; min-width:72px; }
@media (max-width:760px) {
  .grp-card { grid-template-columns:44px minmax(0,1fr) 66px; row-gap:10px; }
  .grp-num { grid-column:1 / 3; flex-direction:row; gap:6px; align-items:baseline; }
  .grp-acoes { grid-column:1 / -1; justify-content:space-between; }
}
/* Editor */
.grp-ed-grade { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:22px; align-items:start; }
.grp-ed-form { display:flex; flex-direction:column; gap:14px; min-width:0; }
.grp-ed-prev { position:sticky; top:16px; }
.grp-sec { background:var(--surface-2); border:1px solid var(--line); border-radius:18px; padding:16px 16px 18px; }
.grp-sec h3 { margin:0 0 12px; font-size:15px; display:flex; align-items:center; gap:8px; }
.grp-sec h3 small { font-size:11px; font-weight:700; padding:2px 8px; border-radius:99px; background:color-mix(in srgb, #25d366 18%, transparent); color:#25d366; }
.grp-sec label { display:flex; flex-direction:column; gap:5px; min-width:0; }
.grp-sec label > span { font-size:12px; color:var(--muted); }
.grp-sec input[type=text], .grp-sec input:not([type]), .grp-sec input[inputmode] { width:100%; box-sizing:border-box; }
.grp-dois { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.grp-dois.tres { grid-template-columns:1.6fr .7fr auto; align-items:end; margin-top:0; }
.grp-ed-id { display:flex; gap:16px; align-items:center; }
.grp-ed-foto { width:92px; height:92px; border-radius:50%; flex:none; display:grid; place-items:center; overflow:hidden;
  border:2px dashed color-mix(in srgb, var(--fg) 25%, transparent); background:color-mix(in srgb, var(--fg) 5%, transparent); }
.grp-ed-foto img { width:100%; height:100%; object-fit:cover; }
.grp-ed-foto span { font-size:28px; color:var(--muted); }
.grp-ed-id-campos { flex:1; display:flex; flex-direction:column; gap:10px; min-width:0; }
.grp-tog { flex-direction:row !important; align-items:center; gap:10px !important; cursor:pointer; padding-bottom:8px; }
.grp-tog input { position:absolute; opacity:0; width:1px; height:1px; }
.grp-tog i { width:40px; height:22px; border-radius:99px; background:color-mix(in srgb, var(--fg) 18%, transparent); position:relative; transition:background .2s; flex:none; }
.grp-tog i::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s; }
.grp-tog input:checked + i { background:#25d366; }
.grp-tog input:checked + i::after { transform:translateX(18px); }
.grp-tog input:focus-visible + i { outline:2px solid var(--accent); outline-offset:2px; }
.grp-tog span { font-size:13px !important; color:var(--fg) !important; }
.grp-ed-lista { display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.grp-ed-card { display:grid; grid-template-columns:40px minmax(0,1fr) 92px 30px; gap:12px; align-items:center; padding:10px 12px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }
.grp-ed-campos { display:flex; flex-direction:column; gap:6px; min-width:0; }
.grp-ed-campos .grp-ed-nome { font-weight:600; background:transparent; border-color:transparent; padding-left:4px; }
.grp-ed-campos .grp-ed-nome:hover, .grp-ed-campos .grp-ed-nome:focus { border-color:var(--line); }
.grp-ed-lim { gap:3px !important; }
.grp-ed-lim span { font-size:11px !important; }
.grp-ed-x { width:30px; height:30px; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer; font-size:17px; line-height:1; }
.grp-ed-x:hover { color:var(--bad); border-color:var(--bad); }
.grp-breve ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.grp-breve li { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:12px; background:color-mix(in srgb, var(--fg) 4%, transparent); color:var(--muted); font-size:13px; }
.grp-breve li small { display:block; font-size:11.5px; opacity:.85; }
.grp-breve li i { width:30px; height:17px; border-radius:99px; background:color-mix(in srgb, var(--fg) 14%, transparent); position:relative; flex:none; margin-top:1px; }
.grp-breve li i::after { content:""; position:absolute; top:3px; left:3px; width:11px; height:11px; border-radius:50%; background:color-mix(in srgb, var(--fg) 40%, transparent); }
/* Prévia no celular */
.grp-fone { width:260px; margin:0 auto; }
.grp-fone-tela { border-radius:36px; border:9px solid #07060c; background:#f4f5f4; overflow:hidden; box-shadow:0 24px 50px -22px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06); }
.grp-fone-barra { background:#e9ecea; padding:9px 12px 7px; text-align:center; }
.grp-fone-barra span { display:block; font-size:10px; color:#5b6660; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:#fff; border-radius:99px; padding:3px 8px; }
.grp-fone-corpo { min-height:410px; padding:26px 18px 22px; display:flex; flex-direction:column; align-items:center; gap:11px; text-align:center; color:#1f2a24; font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
.grp-fone-logo { width:92px; height:92px; border-radius:50%; object-fit:cover; background:#dfe5e1; box-shadow:0 5px 16px rgba(0,0,0,.08); }
.grp-fone-logo.vazio { display:grid; place-items:center; font-size:11px; color:#7c8781; border:2px dashed #c9d1cc; background:#eef1ef; box-shadow:none; }
.grp-fone-tit { font-size:16px; line-height:1.25; }
.grp-fone-ir { font-size:10.5px; color:#5b6660; display:flex; align-items:center; gap:6px; }
.grp-fone-ir i { width:10px; height:10px; border-radius:50%; border:2px solid #25d36644; border-top-color:#25d366; }
.grp-fone-btn { display:block; width:100%; padding:10px; border-radius:10px; font-size:12.5px; font-weight:650; }
.grp-fone-btn.ent { background:#25d366; color:#08311a; }
.grp-fone-btn.cop { background:#fff; border:1px solid #d5dbd7; }
.grp-fone-corpo small { font-size:9.5px; color:#5b6660; line-height:1.45; }
@media (max-width:980px) { .grp-ed-grade { grid-template-columns:1fr; } .grp-ed-prev { position:static; order:-1; } .grp-fone { transform:scale(.86); transform-origin:top center; margin-bottom:-60px; } }
@media (max-width:560px) { .grp-dois, .grp-dois.tres, .grp-breve ul { grid-template-columns:1fr; } .grp-ed-card { grid-template-columns:34px minmax(0,1fr) 30px; } .grp-ed-lim { grid-column:2; } .grp-ed-x { grid-row:1; grid-column:3; } .grp-av.sm { width:34px; height:34px; } .grp-ed-id { flex-direction:column; align-items:stretch; } .grp-ed-foto { align-self:center; } }
.grp-v { display:inline-flex; align-items:center; gap:5px; font-size:11px; margin-top:3px; color:var(--muted); }
.grp-v::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.grp-v.bom { color:var(--good); } .grp-v.ruim { color:var(--bad); font-weight:600; } .grp-v.aten { color:var(--warn); } .grp-v.neutro { color:var(--muted); }
.grp-card.fora { border-color:color-mix(in srgb, var(--bad) 55%, var(--line)); }
.grp-card.fora .grp-card-n small { color:var(--bad); font-weight:600; }
.grp-seg-grade { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.grp-seg-col { border-radius:16px; padding:14px; background:var(--surface-2); border:1px solid var(--line); }
.grp-seg-col h3 { margin:0 0 10px; font-size:14px; display:flex; align-items:center; gap:8px; }
.grp-seg-col.ja h3::before, .grp-seg-col.fazer h3::before { content:""; width:9px; height:9px; border-radius:50%; background:#25d366; }
.grp-seg-col.fazer h3::before { background:var(--warn); }
.grp-seg-col.breve { opacity:.82; }
.grp-seg-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.grp-seg-col li { display:flex; flex-direction:column; gap:2px; font-size:13px; }
.grp-seg-col li span { color:var(--muted); font-size:12px; line-height:1.45; }
@media (max-width:980px) { .grp-seg-grade { grid-template-columns:1fr; } }
/* Análise de criativos: período (lançamento todo / últimos dias) */
.acr-per { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 12px; }
.acr-per-cpl { font-size:13.5px; }
.acr-per-cpl b { font-size:15px; }
.acr-comp { margin:12px 0; }
.acr-comp td.bom { color:var(--good); font-weight:600; }
.acr-comp td.ruim { color:var(--bad); font-weight:600; }
.met-chips { margin:0 0 12px; flex-wrap:wrap; }
td.met-sel { font-weight:700; color:var(--fg); }
label.grp-ed-foto { cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:6px; width:auto; height:auto; border:0; background:none; overflow:visible; }
.grp-ed-foto-img { width:92px; height:92px; border-radius:50%; display:grid; place-items:center; overflow:hidden; border:2px dashed color-mix(in srgb, var(--fg) 25%, transparent); background:color-mix(in srgb, var(--fg) 5%, transparent); transition:border-color .15s; }
label.grp-ed-foto:hover .grp-ed-foto-img, label.grp-ed-foto:focus-within .grp-ed-foto-img { border-color:#25d366; }
.grp-ed-foto-img img { width:100%; height:100%; object-fit:cover; }
.grp-ed-foto-img span { font-size:28px; color:var(--muted); }
label.grp-ed-foto small { font-size:11.5px; color:var(--muted); text-align:center; max-width:110px; }

/* "O Kivu trabalhando por você" (Visão geral) */
.placar .placar-itens { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px 18px; }
.placar .placar-it { display:flex; flex-direction:column; gap:2px; min-width:0; padding-left:12px; border-left:2px solid color-mix(in srgb, var(--accent) 55%, transparent); }
.placar .placar-v { font-family:var(--f-display); font-weight:600; font-size:26px; line-height:1.1; font-variant-numeric:tabular-nums; color:var(--fg); }
.placar .placar-t { font-weight:600; font-size:13.5px; }
.placar .placar-d { font-size:12px; color:var(--muted); line-height:1.4; }
.placar .placar-mem { margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); font-size:13.5px; line-height:1.55; }
.link-btn { background:none; border:0; padding:0; color:var(--accent); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.link-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:2px; }

/* Membros anotados no card do grupo */
.grp-memb { grid-column:2 / -1; display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px 10px; margin:0; padding-top:10px; border-top:1px dashed var(--line); }
.grp-memb label { display:flex; flex-direction:column; gap:2px; font-size:12px; color:var(--muted); }
.grp-memb input { width:110px; padding:6px 8px; border-radius:8px; border:1px solid var(--line); background:var(--surface); color:var(--fg); font:inherit; font-variant-numeric:tabular-nums; }
.grp-memb small { color:var(--muted); font-size:12px; align-self:center; }
.grp-kpis small.note { font-size:11.5px; }
@media (max-width: 760px) { .grp-memb { grid-column:1 / -1; } }
