@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* =====================================================================
   TEMA "Vendas & Ads" — Painel em cards (claro, organizado, legível)
   Linguagem inspirada no dashboard da Arte&Show: fundo claro, cartões
   brancos com borda superior colorida, hierarquia título → valor → detalhes.
   Fonte única: Plus Jakarta Sans.
   ===================================================================== */
:root{
  --bg-body:#F6F7FB;
  --bg-gradient:radial-gradient(ellipse 120% 80% at 100% -20%, rgba(16,185,129,.08) 0%, transparent 55%),
                radial-gradient(ellipse 100% 70% at 0% 0%, rgba(59,130,246,.05) 0%, transparent 50%), #F6F7FB;
  --bg-panel:#FFFFFF;
  --bg-soft:#F1F5F9;
  --text-main:#0F172A;
  --text-muted:#64748B;
  --text-faint:#94A3B8;
  --border-light:#E2E8F0;

  --accent:#10B981; --accent-deep:#34D399;
  --accent-soft:rgba(16,185,129,.12); --accent-line:rgba(16,185,129,.30);
  --blue:#3B82F6; --blue-soft:rgba(59,130,246,.12);
  --warm:#F59E0B; --warm-soft:rgba(245,158,11,.12);
  --violet:#8B5CF6; --violet-soft:rgba(139,92,246,.12);
  --pos:#10B981; --neg:#EF4444; --neg-soft:rgba(239,68,68,.12);

  --shadow-sm:0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 4px 20px rgba(15,23,42,.06);
  --shadow-lg:0 12px 40px rgba(15,23,42,.10);
  --radius-sm:10px; --radius-md:14px; --radius-lg:20px; --radius-xl:24px;

  /* ----- aliases de compatibilidade (login/header/conta/diagnostico antigos) ----- */
  --surface:#FFFFFF; --surface-2:#FFFFFF; --surface-3:#F1F5F9;
  --ink:#0F172A; --muted:#64748B; --faint:#94A3B8;
  --line:#E2E8F0; --line-soft:#EEF2F6;
  --accent-2:#34D399; --accent-glow:rgba(16,185,129,.28);
  --online:#10B981; --danger:#EF4444; --danger-soft:rgba(239,68,68,.12);
}

*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
  background:var(--bg-gradient); background-attachment:fixed;
  color:var(--text-main); min-height:100vh;
}
::selection{background:var(--accent-soft);color:var(--accent-deep);}
*{scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent;}
*::-webkit-scrollbar{width:9px;height:9px;}
*::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

.wrap{max-width:1240px;margin:0 auto;padding:0 22px 64px;}
.wrap-narrow{max-width:760px;}

/* ============ EYEBROW + TÍTULOS DE SEÇÃO ============ */
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:6px;}
.section-title{font-size:1.25rem;font-weight:800;color:var(--text-main);letter-spacing:-0.02em;
  display:flex;align-items:center;gap:12px;margin:26px 0 16px;flex-wrap:wrap;}
.tab-content>.section-title:first-child{margin-top:6px;}
.section-title::before{content:'';width:5px;height:1.05em;background:var(--accent);border-radius:4px;flex-shrink:0;}
.section-title.t-blue::before{background:var(--blue);}
.section-title.t-warm::before{background:var(--warm);}
.section-title.t-violet::before{background:var(--violet);}
.section-title .st-sub{font-size:.8rem;font-weight:500;color:var(--text-muted);letter-spacing:0;margin-left:2px;}
.section-subtitle{font-size:.95rem;font-weight:700;color:var(--text-main);letter-spacing:-0.01em;margin:22px 0 14px;}
h1,h2,h3,h4{font-family:inherit;}

/* ============ PÁGINA: TÍTULO + META ============ */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:26px 0 22px;}
.page-head h1{font-size:1.75rem;font-weight:800;letter-spacing:-0.03em;line-height:1.2;color:var(--text-main);margin-bottom:5px;}
.page-head p{color:var(--text-muted);font-size:.9rem;font-weight:500;}
.head-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.chip-info{display:inline-flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-light);
  padding:8px 14px;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--text-main);box-shadow:var(--shadow-sm);}
.chip-info i{color:var(--accent-deep);font-size:1rem;}
.chip-info.live i{color:var(--accent);animation:pulse-dot 2s ease-in-out infinite;font-size:.7rem;}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:.4;}}

/* ============ BARRA DE FILTROS / TOOLBAR (card branco) ============ */
.toolbar,.filter-bar{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);
  padding:16px 18px;box-shadow:var(--shadow-md);margin-bottom:24px;}
.barra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.toolbar .barra+.filtros,.toolbar .barra+.barra{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);}
.chip{text-decoration:none;font:600 13px 'Plus Jakarta Sans';padding:9px 15px;border-radius:999px;color:var(--text-muted);
  background:var(--bg-soft);border:1px solid transparent;transition:.18s;line-height:1.25;}
.chip:hover{color:var(--text-main);background:#E9EDF3;}
.chip.on{color:#fff;background:var(--accent);border-color:transparent;box-shadow:0 2px 8px rgba(16,185,129,.30);}
.barra form{display:flex;gap:7px;align-items:center;}
input,select,input[type=date],.input-config{
  background:var(--bg-body);color:var(--text-main);border:1px solid var(--border-light);border-radius:var(--radius-sm);
  padding:9px 12px;font:500 13px 'Plus Jakarta Sans';transition:border-color .18s,box-shadow .18s,background .18s;}
input[type=date]{color-scheme:light;}
select{cursor:pointer;}
input:hover,select:hover{border-color:#CBD5E1;background:#F1F5F9;}
input:focus,select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-soft);outline:none;}
select option{background:#fff;color:var(--text-main);}

.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;text-decoration:none;font:700 13px 'Plus Jakarta Sans';
  padding:10px 16px;border-radius:var(--radius-sm);border:none;transition:transform .15s,filter .2s,box-shadow .2s;}
.btn-primary,.barra .sync{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.28);text-decoration:none;}
.btn-primary:hover,.barra .sync:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 4px 14px rgba(16,185,129,.36);}
.btn-ghost,.barra .ir,.ir{background:var(--bg-soft);color:var(--text-main);border:1px solid var(--border-light);
  font-weight:600;padding:9px 14px;border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans';font-size:13px;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:7px;}
.btn-ghost:hover,.barra .ir:hover,.ir:hover{background:#E9EDF3;border-color:#CBD5E1;}
.barra .sync{margin-left:auto;padding:10px 17px;}

.filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.filtros .grp,.filter-group{display:flex;flex-direction:column;gap:6px;}
.filtros .grp label,.filter-group label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.01em;}
.filtros select{min-width:150px;}

.nota{font-size:12px;color:var(--text-faint);font-weight:500;margin:-12px 0 22px;}

/* ============ GRID DE CARDS DE KPI ============ */
.grid-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:8px;}
.grid-kpis.cols-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}

.kpi-card{background:var(--bg-panel);border:1px solid var(--border-light);border-top:3px solid var(--text-muted);
  border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;
  transition:transform .2s,box-shadow .2s;}
.kpi-card::after{content:'';position:absolute;top:0;right:0;width:120px;height:120px;pointer-events:none;opacity:.6;
  background:radial-gradient(circle at 100% 0%,var(--accent-soft) 0%,transparent 70%);}
.kpi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.kpi-card.c-accent{border-top-color:var(--accent);}
.kpi-card.c-blue{border-top-color:var(--blue);} .kpi-card.c-blue::after{background:radial-gradient(circle at 100% 0%,var(--blue-soft) 0%,transparent 70%);}
.kpi-card.c-warm{border-top-color:var(--warm);} .kpi-card.c-warm::after{background:radial-gradient(circle at 100% 0%,var(--warm-soft) 0%,transparent 70%);}
.kpi-card.c-violet{border-top-color:var(--violet);} .kpi-card.c-violet::after{background:radial-gradient(circle at 100% 0%,var(--violet-soft) 0%,transparent 70%);}

.kpi-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;position:relative;z-index:1;}
.kpi-header h3{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);
  display:flex;align-items:center;gap:7px;}
.kpi-header h3 i{font-size:1.05rem;color:var(--text-faint);}
.kpi-badge{background:var(--bg-soft);color:var(--text-muted);padding:4px 11px;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;}
.kpi-card.c-accent .kpi-header h3 i{color:var(--accent);}
.kpi-card.c-blue .kpi-header h3 i{color:var(--blue);}
.kpi-card.c-warm .kpi-header h3 i{color:var(--warm);}
.kpi-card.c-violet .kpi-header h3 i{color:var(--violet);}

.kpi-value{font-size:clamp(1.35rem,1.02rem + .95vw,1.85rem);font-weight:800;letter-spacing:-0.03em;line-height:1.12;color:var(--text-main);
  margin-bottom:10px;position:relative;z-index:1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.kpi-value>*:first-child{white-space:nowrap;}
.kpi-unit{font-size:.85rem;font-weight:600;color:var(--text-muted);}

.kpi-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:500;color:var(--text-muted);position:relative;z-index:1;}
.kpi-trend{font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.kpi-trend.positive{color:var(--pos);} .kpi-trend.negative{color:var(--neg);} .kpi-trend.flat{color:var(--text-faint);}

.kpi-details{margin-top:15px;padding-top:14px;border-top:1px dashed var(--border-light);display:flex;flex-direction:column;gap:9px;position:relative;z-index:1;}
.kpi-detail-item{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--text-muted);}
.kpi-detail-item>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kpi-sub-value{font-weight:700;color:var(--text-main);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;}

.text-green{color:var(--pos)!important;} .text-red{color:var(--neg)!important;}
.badge-green{background:rgba(16,185,129,.15)!important;color:#34D399!important;}
.badge-red{background:rgba(239,68,68,.15)!important;color:#F87171!important;}
.badge-blue{background:var(--blue-soft)!important;color:#60A5FA!important;}
.badge-warm{background:var(--warm-soft)!important;color:#FBBF24!important;}

/* ============ PAINÉIS DE GRÁFICO / CONTEÚDO (card branco) ============ */
.panel{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);
  padding:22px 24px;box-shadow:var(--shadow-md);margin-bottom:20px;}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;}
.panel-head h3{font-size:1rem;font-weight:700;letter-spacing:-0.02em;color:var(--text-main);}
.panel-head p,.panel-head .ph-sub{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-top:3px;}
.grid-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
@media(max-width:1100px){.grid-charts{grid-template-columns:1fr;}}
.panel canvas{margin-top:4px;}

/* ============ TABELAS (dentro de card branco) ============ */
.tabela{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;}
.panel .tabela,.kpi-card .tabela{background:none;border:none;box-shadow:none;border-radius:0;}
table{width:100%;border-collapse:collapse;font-size:13px;}
thead th{text-align:right;padding:11px 14px;background:var(--bg-soft);color:var(--text-muted);
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border-light);white-space:nowrap;}
th:first-child,td:first-child{text-align:left;}
td{padding:11px 14px;border-top:1px solid var(--border-light);color:var(--text-main);font-weight:500;}
tbody tr:first-child td{border-top:none;}
.mono{font-variant-numeric:tabular-nums;}
td.mono{font-weight:600;}
td.mono.key{color:var(--accent-deep);font-weight:700;}
td.mono.neg{color:var(--neg);font-weight:700;}
tbody tr{transition:background .15s;}
.tabela tbody tr,.tbl-click tbody tr{cursor:pointer;}
tbody tr:hover{background:var(--bg-soft);}
tbody tr:nth-child(even){background:rgba(15,23,42,.012);}
tbody tr:nth-child(even):hover{background:var(--bg-soft);}
tr.tot td,tr.linha-rodape td{font-weight:800;background:var(--bg-soft);border-top:2px solid var(--accent-line);color:var(--text-main);}
.conta-nome{font-weight:700;color:var(--text-main);}
.conta-id{color:var(--text-faint);font-size:11px;margin-left:6px;font-weight:600;}
.vazio{text-align:center;color:var(--text-faint);padding:34px;font-weight:500;}
.table-scroll{overflow-x:auto;}

/* ============ PONTOS / TAGS DE PLATAFORMA ============ */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle;}
.dot.ML{background:var(--blue);} .dot.Shopee{background:var(--warm);} .dot.Externa{background:#06B6D4;} .dot.TikTok{background:#111827;}
.tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.02em;}
.tag.ML{background:var(--blue-soft);color:#60A5FA;} .tag.Shopee{background:var(--warm-soft);color:#FBBF24;} .tag.Externa{background:rgba(6,182,212,.12);color:#22D3EE;}

/* deltas / badges de variação */
.delta{font-size:12px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:3px;}
.delta.up{color:var(--pos);} .delta.down{color:var(--neg);} .delta.flat{color:var(--text-faint);}
.badge{display:inline-block;font:700 11px 'Plus Jakarta Sans';padding:3px 9px;border-radius:7px;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.badge.pos{background:rgba(16,185,129,.15);color:#34D399;} .badge.neg{background:var(--neg-soft);color:#F87171;}
.subt{font-size:12px;color:var(--text-faint);font-weight:500;}

/* ============ RANKING ============ */
.rank{display:flex;flex-direction:column;gap:14px;}
.rank .row{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;}
.rank .nm{font-size:13.5px;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px;}
.rank .vl{font-size:13px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:7px;}
.rank .bar{grid-column:1/-1;height:8px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}
.rank .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-deep));}

/* ============ DIVISÃO POR PLATAFORMA ============ */
.split .leg{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-muted);font-weight:500;margin-bottom:9px;gap:10px;flex-wrap:wrap;}
.split .leg b{color:var(--text-main);font-weight:700;}
.split .bar{height:14px;border-radius:99px;overflow:hidden;display:flex;background:var(--bg-soft);}
.split .bar i.ml{background:var(--blue);} .split .bar i.sh{background:var(--warm);}

/* ============ AVISOS / SETUP ============ */
.setup{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-deep);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;font-size:13px;font-weight:600;}
.divisor{height:1px;background:var(--border-light);margin:18px 0;}
.subhead{font-size:.92rem;font-weight:700;color:var(--text-main);margin:0 0 13px;letter-spacing:-0.01em;}

/* =====================================================================
   COMPATIBILIDADE — páginas que reutilizam classes antigas
   (conta.php, diagnostico.php, backfill.php, login.php)
   ===================================================================== */
/* cartões genéricos */
.card{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:22px 24px;margin-bottom:18px;}
.card h3{font-size:1rem;font-weight:700;margin:0 0 14px;letter-spacing:-0.01em;}

/* detalhe da conta (conta.php) */
.topo-conta{display:flex;align-items:center;gap:12px;margin:24px 0 6px;flex-wrap:wrap;}
.topo-conta h1{font-size:1.6rem;font-weight:800;letter-spacing:-0.02em;margin:0;}
.voltar{font-size:13px;color:var(--text-muted);text-decoration:none;font-weight:600;}
.voltar:hover{color:var(--accent-deep);}
.periodo{font-size:12px;color:var(--text-faint);font-weight:500;margin:0 0 20px;}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}
.kpi{background:var(--bg-panel);border:1px solid var(--border-light);border-top:3px solid var(--text-muted);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.kpi.total{border-top-color:var(--accent);} .kpi.ads{border-top-color:var(--blue);} .kpi.inv{border-top-color:var(--warm);}
.kpi .lab,.mini .lab,.num .lab,.kpi2 .b .lab{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);}
.kpi .val{font-size:1.7rem;font-weight:800;letter-spacing:-0.03em;color:var(--text-main);margin-top:8px;font-variant-numeric:tabular-nums;}
.kpi .sub{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:6px;}
.minis,.numeros{display:grid;gap:16px;margin-bottom:22px;}
.minis{grid-template-columns:repeat(4,1fr);} .numeros{grid-template-columns:repeat(4,1fr);}
.mini,.num{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:15px 17px;box-shadow:var(--shadow-sm);}
.mini .val,.num .val{font-size:1.15rem;font-weight:800;color:var(--text-main);margin-top:5px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}

/* tira de KPIs antiga (.kpi2) — caso ainda exista em alguma página */
.kpi2{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.kpi2 .b{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:15px 17px;box-shadow:var(--shadow-sm);}
.kpi2 .b .val{font-size:1.25rem;font-weight:800;color:var(--text-main);margin-top:6px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.kpi2 .b .val small{font-size:12px;color:var(--text-faint);font-weight:500;}

/* diagnóstico */
.form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.form label{font-size:12px;color:var(--text-muted);font-weight:600;display:block;margin-bottom:6px;}
.destaque td{font-weight:800;color:var(--accent-deep)!important;background:var(--accent-soft)!important;}
pre{background:#0F172A;color:#CBD5E1;padding:15px;border-radius:var(--radius-md);font:12px ui-monospace,'SF Mono',Menlo,monospace;overflow:auto;max-height:320px;border:1px solid var(--border-light);}
.dica{background:var(--warm-soft);border:1px solid rgba(245,158,11,.3);color:#FBBF24;font-size:13px;font-weight:600;border-radius:var(--radius-md);padding:13px 16px;margin-bottom:16px;line-height:1.5;}
.err{color:var(--neg);}
code{background:var(--bg-soft);color:var(--accent-deep);padding:2px 7px;border-radius:6px;font:12px ui-monospace,'SF Mono',Menlo,monospace;font-weight:600;}

/* login (.box / .erro) — caso login.php mantenha a marcação antiga */
.box{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);}
.erro{background:var(--neg-soft);color:#F87171;font-size:13px;font-weight:600;padding:11px 13px;border-radius:var(--radius-sm);margin-bottom:16px;border:1px solid rgba(239,68,68,.3);}
.mk{width:48px;height:48px;border-radius:14px;background:linear-gradient(150deg,var(--accent),var(--accent-deep));display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;margin-bottom:18px;box-shadow:0 8px 20px -6px rgba(16,185,129,.4);}

/* =====================================================================
   DETALHAMENTO POR PLATAFORMA E CONTA (padrão do dashboard Arte&Show)
   ===================================================================== */
.grid-kpis.wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;}
/* (.grid-kpis.contas é definido mais abaixo, na seção dos cards de pessoa) */
/* com muitas contas, a lista de quebra rola dentro do card (mantém os cards alinhados) */
.grid-kpis.wide .kpi-details{max-height:300px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;}
.kpi-detail-item.kpi-detail-divider{border-bottom:1px dashed var(--border-light);padding-bottom:9px;margin-bottom:3px;}
.kpi-plat-ml{color:#60A5FA!important;} .kpi-plat-sh{color:#FBBF24!important;} .kpi-plat-ext{color:#22D3EE!important;} .kpi-plat-tt{color:#111827!important;}

/* ============ CARDS DE PESSOA — design v2 ============ */
.grid-kpis.contas{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:24px;align-items:start;}
@media(max-width:1180px){.grid-kpis.contas{grid-template-columns:1fr;}}
.grid-kpis.contas .kpi-card{padding:26px 28px;}

/* cabeçalho: avatar + nome + total com variação */
.pessoa-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-right:34px;}
.pessoa-avatar{width:50px;height:50px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font:800 1.05rem 'Plus Jakarta Sans';color:#fff;letter-spacing:.02em;flex-shrink:0;box-shadow:var(--shadow-sm);}
.pessoa-avatar.pa-0{background:linear-gradient(135deg,#10B981,#4F46E5);}
.pessoa-avatar.pa-1{background:linear-gradient(135deg,#8B5CF6,#6D28D9);}
.pessoa-avatar.pa-2{background:linear-gradient(135deg,#3B82F6,#1D4ED8);}
.pessoa-avatar.pa-3{background:linear-gradient(135deg,#F59E0B,#D97706);}
.pessoa-id{min-width:0;flex:1;}
.pessoa-id h3{font:800 1.12rem 'Plus Jakarta Sans';color:var(--text-main);letter-spacing:-.01em;margin-bottom:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pessoa-sub{font-size:.76rem;color:var(--text-muted);font-weight:600;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis;}
.pessoa-tot{text-align:right;flex-shrink:0;}
.pessoa-valor{font:800 1.55rem 'Plus Jakarta Sans';color:var(--text-main);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15;}
.pessoa-tot .delta{justify-content:flex-end;width:100%;margin-top:2px;}

/* barra de participação no faturamento */
.pessoa-share{margin-bottom:18px;}
.pessoa-share-bar{height:7px;border-radius:99px;background:var(--bg-soft);overflow:hidden;margin-bottom:6px;}
.pessoa-share-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),#A78BFA);min-width:2%;}
.pessoa-share-leg{font-size:.7rem;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}

/* colunas por plataforma com acento de cor no topo */
.vendedor-card-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;}
.vendedor-plat-col{padding:16px 18px 12px;border:1px solid var(--border-light);border-radius:14px;
  background:var(--bg-panel);min-width:0;border-top:3px solid var(--blue);box-shadow:var(--shadow-sm);}
.vendedor-plat-col.vp-sh{border-top-color:var(--warm);}
.vp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;
  padding-bottom:11px;border-bottom:1px dashed var(--border-light);}
.plat-tag{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border-radius:7px;display:inline-block;}
.plat-tag.ml{background:rgba(59,130,246,.12);color:#60A5FA;} .plat-tag.sh{background:var(--warm-soft);color:#FBBF24;}
.plat-valor{font-size:1.18rem;font-weight:800;color:var(--text-main);letter-spacing:-0.02em;white-space:nowrap;font-variant-numeric:tabular-nums;}

/* métricas em grade 2 colunas, estilo editorial — rótulo em cima, valor embaixo (não colapsa em coluna estreita) */
.vendedor-metric-list{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;}
.vendedor-metric-row{display:flex;flex-direction:column;gap:2px;min-width:0;
  padding:7px 0;border-bottom:1px solid var(--bg-soft);line-height:1.35;}
.vendedor-metric-list .vendedor-metric-row:nth-last-child(-n+2){border-bottom:none;}
.vendedor-metric-row span:first-child{color:var(--text-muted);font-weight:600;font-size:.66rem;text-transform:uppercase;
  letter-spacing:.04em;white-space:nowrap;overflow:visible;}
.vendedor-metric-row span:last-child{color:var(--text-main);font-weight:700;font-size:.88rem;white-space:nowrap;font-variant-numeric:tabular-nums;}
.vendedor-metric-row.destaque span:last-child{color:var(--accent-deep);}
.vp-sh .vendedor-metric-row.destaque span:last-child{color:#FBBF24;}
@media(max-width:680px){.grid-kpis.contas .kpi-card{padding:22px 20px;}
  .pessoa-head{flex-wrap:wrap;}.pessoa-tot{text-align:left;width:100%;margin-left:66px;margin-top:-6px;}}

/* =====================================================================
   SISTEMA DE ABAS (Geral · Plataformas · Pessoas · Ano)
   ===================================================================== */
.tab-link{cursor:pointer;user-select:none;}
.tab-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.tab-content{display:none;animation:fadeIn .35s cubic-bezier(.22,1,.36,1);}
.tab-content.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ============ DROPDOWN (botão Sincronizar do header) ============ */
.dd{position:relative;}
.dd-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:none;
  padding:9px 14px;border-radius:10px;font:700 13px 'Plus Jakarta Sans';cursor:pointer;
  box-shadow:0 2px 8px rgba(16,185,129,.28);transition:filter .2s,transform .15s;white-space:nowrap;}
.dd-btn:hover{filter:brightness(1.06);transform:translateY(-1px);}
.dd-btn .caret{font-size:12px;transition:transform .2s;}
.dd.open .dd-btn .caret{transform:rotate(180deg);}
.dd-menu{position:absolute;right:0;top:calc(100% + 10px);background:var(--bg-panel);border:1px solid var(--border-light);
  border-radius:14px;box-shadow:var(--shadow-lg);min-width:240px;padding:6px;display:none;z-index:9500;}
.dd.open .dd-menu{display:block;animation:fadeIn .2s;}
.dd-menu a{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:9px;text-decoration:none;
  color:var(--text-main);font:600 13px 'Plus Jakarta Sans';white-space:nowrap;}
.dd-menu a:hover{background:var(--bg-soft);}
.dd-menu a i{color:var(--accent-deep);font-size:16px;flex-shrink:0;}
.dd-menu .dd-sep{height:1px;background:var(--border-light);margin:5px 8px;}
.icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;
  color:var(--text-muted);font-size:19px;text-decoration:none;transition:.18s;border:1px solid transparent;}
.icon-btn:hover{background:var(--bg-soft);color:var(--text-main);}
.icon-btn.sair:hover{background:var(--neg-soft);color:#F87171;}

/* ============ MINI-GRÁFICO DENTRO DO CARD DE PESSOA ============ */
.vendedor-chart-wrap{margin-top:18px;border-top:1px dashed var(--border-light);padding-top:30px;height:165px;position:relative;}
.vendedor-chart-wrap canvas{width:100%!important;height:100%!important;}
.vchart-leg{position:absolute;top:10px;left:0;font-size:.66rem;font-weight:700;color:var(--text-faint);
  text-transform:uppercase;letter-spacing:.06em;}

/* ============ VENDAS EXTERNAS (discreto, dentro do painel da meta) ============ */
.meta-acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;margin-top:14px;}
.meta-acoes .meta-form{margin-top:0;flex:0 0 auto;min-width:0;}
.meta-acoes .meta-form[open]{flex:1 1 100%;}
.ext-box{margin-top:14px;padding:16px 18px;background:var(--bg-soft);border:1px solid var(--border-light);border-radius:14px;}
.ext-form{margin-bottom:12px;}
.ext-form .ext-grp-desc{flex:1;min-width:220px;}
.ext-list{display:flex;flex-direction:column;gap:7px;max-height:240px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;}
.ext-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px 14px;align-items:center;
  background:var(--bg-panel);border:1px solid var(--border-light);border-radius:10px;padding:9px 13px;font-size:.82rem;}
.ext-item .ext-dia{color:var(--text-muted);font-weight:600;white-space:nowrap;}
.ext-item .ext-desc{font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.ext-item .ext-val{font-weight:800;color:var(--accent-deep);white-space:nowrap;font-variant-numeric:tabular-nums;}
.ext-item form{display:flex;}
.ext-del{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:13px;font-weight:700;
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.15s;}
.ext-del:hover{background:var(--neg-soft);color:#F87171;}
@media(max-width:600px){.ext-item{grid-template-columns:auto minmax(0,1fr) auto;}.ext-item .ext-dia{grid-column:1;}.ext-item form{grid-row:1;grid-column:3;}}
.kpi-card.clickable{cursor:pointer;}
.kpi-card.clickable .ver-mais{position:absolute;top:18px;right:18px;width:30px;height:30px;display:flex;align-items:center;
  justify-content:center;background:var(--bg-soft);border-radius:9px;color:var(--text-muted);font-size:14px;opacity:0;transition:.2s;z-index:2;}
.kpi-card.clickable:hover .ver-mais{opacity:1;color:var(--accent-deep);background:var(--accent-soft);}

/* ============ MODAL DE DETALHE (pessoa) ============ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(6px);
  z-index:10000;justify-content:center;padding:28px 16px;overflow-y:auto;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:20px;width:100%;max-width:980px;
  box-shadow:var(--shadow-lg);padding:26px 28px;height:fit-content;animation:fadeIn .25s;}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;
  padding-bottom:12px;border-bottom:1px solid var(--border-light);}
.modal-sub{padding-top:10px;}
.modal-head h2{font-size:1.3rem;font-weight:800;letter-spacing:-0.02em;display:flex;align-items:center;gap:10px;margin:0;}
.modal-head h2 i{color:var(--accent-deep);}
.btn-close-modal{background:var(--bg-soft);color:var(--text-main);border:1px solid var(--border-light);width:38px;height:38px;
  border-radius:50%;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0;}
.btn-close-modal:hover{background:var(--border-light);}
.modal-sub{font-size:.85rem;color:var(--text-muted);font-weight:500;margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.modal-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;}
.mk2{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:12px;padding:12px 14px;}
.mk2 .lab{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);}
.mk2 .val{font-size:1.05rem;font-weight:800;color:var(--text-main);margin-top:4px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.modal-chart{height:240px;position:relative;margin-bottom:20px;}
.modal-chart canvas{width:100%!important;height:100%!important;}
.modal-box .table-scroll{max-height:320px;overflow-y:auto;border:1px solid var(--border-light);border-radius:12px;}
.modal-box .table-scroll thead th{position:sticky;top:0;z-index:2;}

/* =====================================================================
   INSIGHTS — cards de leitura automática (portado do dashatt Arte&Show)
   ===================================================================== */
.section-title.t-gold::before{background:#CA8A04;}
.ins-resumo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.ins-chip{display:inline-flex;align-items:center;gap:7px;font:700 12px 'Plus Jakarta Sans';padding:7px 13px;border-radius:999px;}
.ins-chip i{font-size:14px;}
.ins-chip.alerta{background:rgba(239,68,68,.10);color:#F87171;border:1px solid rgba(220,38,38,.25);}
.ins-chip.positivo{background:rgba(16,185,129,.10);color:#34D399;border:1px solid rgba(5,150,105,.25);}
.ins-chip.neutro{background:rgba(100,116,139,.08);color:#64748B;border:1px solid var(--border-light);}

.insights-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
.insight-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:var(--radius-md);
  border:1px solid var(--border-light);border-left:4px solid var(--border-light);background:var(--bg-panel);
  transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;}
.insight-card::before{content:'';position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.04;pointer-events:none;}
.insight-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.insight-card.alerta{border-left-color:#F87171;background:linear-gradient(135deg,rgba(239,68,68,.04) 0%,var(--bg-panel) 60%);}
.insight-card.alerta::before{background:#F87171;}
.insight-card.alerta:hover{border-color:rgba(220,38,38,.35);box-shadow:0 4px 20px rgba(220,38,38,.10);}
.insight-card.positivo{border-left-color:#34D399;background:linear-gradient(135deg,rgba(5,150,105,.04) 0%,var(--bg-panel) 60%);}
.insight-card.positivo::before{background:#34D399;}
.insight-card.positivo:hover{border-color:rgba(5,150,105,.35);box-shadow:0 4px 20px rgba(5,150,105,.10);}
.insight-card.neutro{border-left-color:#94A3B8;}
.insight-card.neutro:hover{border-color:rgba(100,116,139,.35);}
.insight-card-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;flex-shrink:0;position:relative;z-index:1;}
.insight-card.alerta .insight-card-icon{background:rgba(239,68,68,.12);color:#F87171;box-shadow:0 2px 8px rgba(220,38,38,.15);}
.insight-card.positivo .insight-card-icon{background:rgba(16,185,129,.12);color:#34D399;box-shadow:0 2px 8px rgba(5,150,105,.15);}
.insight-card.neutro .insight-card-icon{background:rgba(100,116,139,.10);color:#64748B;}
.insight-card-body{flex:1;position:relative;z-index:1;min-width:0;}
.insight-card-title{font-size:.85rem;font-weight:800;color:var(--text-main);margin:0 0 5px;letter-spacing:-0.02em;line-height:1.3;}
.insight-card.alerta .insight-card-title{color:#FCA5A5;}
.insight-card.positivo .insight-card-title{color:#6EE7B7;}
.insight-card-text{font-size:.8rem;line-height:1.55;color:var(--text-muted);margin:0;font-weight:500;}
.insight-card.alerta .insight-card-text{color:#7F1D1D;opacity:.85;}
.insight-card.positivo .insight-card-text{color:#6EE7B7;opacity:.85;}

/* =====================================================================
   MARGEM / DRE — cascata do faturamento ao lucro líquido
   ===================================================================== */
.dre-panel{margin-bottom:20px;}
.dre-flow{display:flex;flex-direction:column;gap:2px;}
.dre-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:10px;
  font-size:14px;font-variant-numeric:tabular-nums;}
.dre-row span{display:flex;align-items:center;gap:9px;color:var(--text-muted);font-weight:600;min-width:0;}
.dre-row span i{font-size:17px;flex-shrink:0;}
.dre-row span small{font-weight:500;color:var(--text-faint);font-size:11.5px;}
.dre-row b{font-weight:800;color:var(--text-main);white-space:nowrap;}
.dre-row.base{background:var(--accent-soft);}
.dre-row.base span,.dre-row.base b{color:var(--accent-deep);}
.dre-row.neg b{color:#F87171;}
.dre-row.info{background:var(--bg-soft);}
.dre-row.info span{color:var(--text-muted);} .dre-row.info b{color:var(--text-main);}
.dre-row.total{margin-top:6px;padding:15px 16px;border-radius:12px;font-size:15px;border:1px solid var(--border-light);}
.dre-row.total.pos{background:linear-gradient(135deg,rgba(16,185,129,.13) 0%,var(--bg-panel) 60%);border-color:var(--accent-line);}
.dre-row.total.pos span,.dre-row.total.pos b{color:var(--accent-deep);}
.dre-row.total.negv{background:linear-gradient(135deg,rgba(239,68,68,.12) 0%,var(--bg-panel) 60%);border-color:rgba(239,68,68,.28);}
.dre-row.total.negv span,.dre-row.total.negv b{color:#F87171;}
.dre-row.total b{font-size:1.15rem;}
.dre-nota{font-size:11.5px;color:var(--text-muted);line-height:1.55;margin:12px 2px 0;display:flex;align-items:flex-start;gap:7px;}
.dre-nota i{color:var(--text-faint);font-size:14px;margin-top:1px;flex-shrink:0;}
/* de-para de custo (peças sem custo) */
.dre-map{margin-top:14px;border:1px solid var(--warm-soft);border-radius:var(--radius-md);background:var(--warm-soft);overflow:hidden;}
.dre-map>summary{cursor:pointer;list-style:none;padding:12px 15px;font-size:13px;color:#92400E;display:flex;align-items:center;gap:8px;user-select:none;}
.dre-map>summary::-webkit-details-marker{display:none;}
.dre-map>summary i{font-size:16px;} .dre-map>summary .dm-caret{margin-left:auto;transition:.2s;}
.dre-map[open]>summary .dm-caret{transform:rotate(180deg);}
.dre-map-form{background:var(--bg-panel);padding:14px 15px;border-top:1px solid var(--warm-soft);}
.dre-map-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) 120px;gap:12px;padding:0 2px 8px;
  font:700 10.5px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);}
.dre-map-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) 120px;gap:12px;align-items:center;padding:7px 2px;border-top:1px dashed var(--border-light);}
.dm-peca{min-width:0;display:flex;flex-direction:column;}
.dm-peca b{font-size:13px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dm-peca small{font-size:11px;color:var(--text-muted);}
.dm-peca .dm-tit{font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dm-peca .dm-tit i{font-size:10px;vertical-align:-1px;}
.dre-map-row select,.dre-map-row input{width:100%;padding:8px 10px;border:1px solid var(--border-light);border-radius:8px;
  font:500 13px 'Plus Jakarta Sans';background:var(--bg-panel);color:var(--text-main);min-width:0;}
.dre-map-row select:focus,.dre-map-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.dre-map-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;}
@media(max-width:680px){.dre-map-head{display:none;}.dre-map-row{grid-template-columns:1fr;gap:6px;}}
/* editor "ajustar custos das peças" */
.dre-edit-head,.dre-edit-row{grid-template-columns:minmax(0,1.5fr) 120px minmax(0,1.2fr) 120px!important;}
.dre-edit-busca{width:100%;padding:9px 12px;margin-bottom:12px;border:1px solid var(--border-light);border-radius:9px;
  font:500 13px 'Plus Jakarta Sans';background:var(--bg-panel);color:var(--text-main);}
.dre-edit-busca:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.dm-atual{display:flex;flex-direction:column;gap:1px;min-width:0;}
.dm-atual b{font-weight:800;color:var(--text-main);font-size:13px;font-variant-numeric:tabular-nums;}
.dm-src{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.src-catalogo{color:var(--text-faint);} .src-manual{color:var(--accent-deep);} .src-mapeado{color:#22D3EE;}
@media(max-width:680px){.dre-edit-head{display:none;}.dre-edit-row{grid-template-columns:1fr 1fr!important;}.dm-peca{grid-column:1/-1;}}

/* composição do faturamento (doughnut + legenda) */
.dre-pizza{display:flex;gap:22px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px dashed var(--border-light);flex-wrap:wrap;}
.dre-pizza-cv{position:relative;height:200px;width:200px;flex-shrink:0;margin:0 auto;}
.dre-pizza-leg{flex:1;min-width:230px;display:flex;flex-direction:column;gap:1px;}
.dpl-titulo{font:800 11px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:6px;}
.dpl-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;}
.dpl-item:hover{background:var(--bg-soft);}
.dpl-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0;}
.dpl-nome{font-weight:700;font-size:13px;color:var(--text-main);flex:1;min-width:0;}
.dpl-pct{font-weight:800;font-size:13px;color:var(--text-main);font-variant-numeric:tabular-nums;width:52px;text-align:right;}
.dpl-val{font-weight:600;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;width:100px;text-align:right;white-space:nowrap;}

/* resultado por conta (tabela P&L) */
.pnl-scroll{overflow-x:auto;margin:2px -2px 0;}
.pnl-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:780px;}
.pnl-tbl th{font:700 10.5px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);
  text-align:right;padding:8px 12px;border-bottom:1px solid var(--border-light);white-space:nowrap;}
.pnl-tbl th:first-child{text-align:left;}
.pnl-tbl td{padding:10px 12px;border-bottom:1px solid var(--border-light);white-space:nowrap;}
.pnl-tbl tbody tr:hover{background:var(--bg-soft);}
.pnl-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-main);}
.pnl-num.neg{color:#F87171;}
.pnl-num.pos,.pnl-num.pos b{color:var(--accent-deep);}
.pnl-num.negv,.pnl-num.negv b{color:#F87171;}
.pnl-conta{display:flex;align-items:center;gap:8px;color:var(--text-main);}
.pnl-conta b{font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;}
.pnl-tbl tfoot td{font-weight:800;color:var(--text-main);border-top:2px solid var(--border-light);border-bottom:none;background:var(--bg-soft);}

/* composição por conta (grid de pizzas) */
.pnl-pies{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px;}
.pnl-pie-card{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:14px;background:var(--bg-panel);}
.pnl-pie-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;color:var(--text-main);margin-bottom:12px;}
.pnl-pie-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.pnl-pie-body{display:flex;align-items:center;gap:14px;}
.pnl-pie-cv{position:relative;width:108px;height:108px;flex-shrink:0;}
.pnl-pie-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.pnl-pie-center b{font-size:1.05rem;font-weight:800;line-height:1;color:var(--text-main);}
.pnl-pie-center small{font-size:8.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;}
.pnl-pie-center.pos b{color:var(--accent-deep);} .pnl-pie-center.negv b{color:#F87171;}
.pnl-pie-leg{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.ppl{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-muted);}
.ppl-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;}
.ppl-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ppl b{color:var(--text-main);font-weight:700;margin-left:auto;font-variant-numeric:tabular-nums;}
.pnl-pie-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light);font-size:12px;font-weight:700;color:var(--text-muted);white-space:nowrap;}
.pnl-pie-foot .pos{color:var(--accent-deep);} .pnl-pie-foot .negv{color:#F87171;}

/* pedidos individuais por conta (expand row) */
.pnl-conta-row.tem-ped{cursor:pointer;}
.pnl-conta-row.tem-ped:hover{background:var(--bg-soft);}
.pnl-caret{display:inline-block;width:12px;color:var(--text-faint);font-size:10px;transition:transform .2s;}
.pnl-conta-row.open .pnl-caret{transform:rotate(90deg);}
.pnl-det{display:none;}
.pnl-det.open{display:table-row;}
.pnl-det>td{padding:0!important;background:var(--bg-soft);border-bottom:1px solid var(--border-light);}
.pnl-det-inner{max-height:360px;overflow:auto;padding:10px 14px 14px;}
.pnl-det-cab{font-size:12px;color:var(--text-muted);margin-bottom:8px;}
.pnl-ped-tbl{width:100%;border-collapse:collapse;font-size:12.5px;}
.pnl-ped-tbl th{position:sticky;top:0;z-index:1;background:var(--bg-soft);font:700 10px 'Plus Jakarta Sans';
  text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);text-align:right;padding:7px 10px;white-space:nowrap;}
.pnl-ped-tbl th:first-child,.pnl-ped-tbl th:nth-child(2),.pnl-ped-tbl th:nth-child(3),.pnl-ped-tbl th:nth-child(4){text-align:left;}
.pnl-ped-tbl td{padding:7px 10px;border-top:1px solid var(--border-light);white-space:nowrap;}
.pnl-ped-tbl .pp-id{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--text-main);}
.pnl-ped-tbl .pp-anunc{font-family:ui-monospace,monospace;font-size:11px;max-width:150px;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.pp-anunc.ml{color:#7A6200;} .pp-anunc.sh{color:#C2410C;}
.pnl-ped-tbl .pp-prod{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-weight:600;}
.pp-more{color:var(--text-muted);font-size:11px;font-weight:500;margin-left:4px;}
.pp-flag{color:var(--warm);font-weight:800;cursor:help;}
.pnl-det-nota{font-size:11px;color:var(--text-muted);padding:8px 2px 0;}

/* cards de composição clicáveis (abrem o modal ampliado) */
.pnl-pie-card.comp-click{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;}
.pnl-pie-card.comp-click:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.comp-zoom{margin-left:auto;color:var(--text-faint);font-size:15px;flex-shrink:0;}
.pnl-pie-card.comp-click:hover .comp-zoom{color:var(--accent);}

/* modal de composição ampliada */
.modal-comp{max-width:640px;}
.mc-body{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.mc-chart{position:relative;width:236px;height:236px;flex-shrink:0;margin:0 auto;}
.mc-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.mc-center b{font-size:1.8rem;font-weight:800;color:var(--text-main);line-height:1;}
.mc-center small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:3px;}
.mc-leg{flex:1;min-width:230px;display:flex;flex-direction:column;gap:3px;}
.mcl{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;}
.mcl:hover{background:var(--bg-soft);}
.mcl-dot{width:12px;height:12px;border-radius:4px;flex-shrink:0;}
.mcl-nm{flex:1;font-weight:700;font-size:13.5px;color:var(--text-main);min-width:0;}
.mcl b{font-weight:800;font-size:14px;color:var(--text-main);font-variant-numeric:tabular-nums;width:56px;text-align:right;}
.mcl-val{font-size:12px;color:var(--text-muted);width:112px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.mc-foot{border-top:1px solid var(--border-light);padding-top:14px;font-size:14px;color:var(--text-muted);font-weight:600;}
.mc-foot b{color:var(--text-main);} .mc-foot b.pos{color:var(--accent-deep);} .mc-foot b.neg{color:#F87171;}

/* =====================================================================
   ABA COMPARAÇÃO — hero + cartões de variação + diagnóstico por IA
   ===================================================================== */
/* ----- HERO ----- */
.cmp-hero{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:stretch;
  background:linear-gradient(135deg,rgba(16,185,129,.12) 0%,var(--bg-panel) 46%);
  border:1px solid var(--accent-line);border-radius:var(--radius-lg);padding:22px 26px;
  box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:18px;}
.cmp-hero.bad{background:linear-gradient(135deg,rgba(239,68,68,.11) 0%,var(--bg-panel) 46%);border-color:rgba(239,68,68,.28);}
.cmp-hero.flat{background:linear-gradient(135deg,rgba(100,116,139,.08) 0%,var(--bg-panel) 46%);border-color:var(--border-light);}
.cmp-hero::after{content:'';position:absolute;top:-60px;right:-40px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(16,185,129,.16) 0%,transparent 70%);pointer-events:none;}
.cmp-hero.bad::after{background:radial-gradient(circle,rgba(239,68,68,.13) 0%,transparent 70%);}
.cmp-hero.flat::after{opacity:0;}
.cmp-hero-l{position:relative;z-index:1;display:flex;flex-direction:column;}
.cmp-eyebrow{display:inline-flex;align-items:center;gap:6px;font:700 11px 'Plus Jakarta Sans';
  letter-spacing:.07em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:8px;}
.cmp-hero.bad .cmp-eyebrow{color:#F87171;} .cmp-hero.flat .cmp-eyebrow{color:var(--text-muted);}
.cmp-hero-big{font:800 2.5rem 'Plus Jakarta Sans';letter-spacing:-0.03em;color:var(--text-main);
  font-variant-numeric:tabular-nums;line-height:1.02;}
.cmp-hero-cap{font-size:13px;color:var(--text-muted);font-weight:600;margin-top:2px;}
.cmp-hero-row{display:flex;align-items:center;gap:11px;margin-top:14px;flex-wrap:wrap;}
.cmp-hero-vs{font-size:12.5px;color:var(--text-muted);}
.cmp-hero-vs b{color:var(--text-main);font-weight:700;}
.cmp-hero-r{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px;justify-content:center;
  padding-left:22px;border-left:1px solid var(--border-light);}
.cmp-proj-lbl{display:inline-flex;align-items:center;gap:6px;font:700 10.5px 'Plus Jakarta Sans';
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.cmp-proj-lbl i{color:var(--accent-deep);font-size:14px;}
.cmp-proj-big{font:800 1.75rem 'Plus Jakarta Sans';letter-spacing:-0.02em;color:var(--accent-deep);
  font-variant-numeric:tabular-nums;line-height:1.08;}
.cmp-proj-sub{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cmp-proj-sub b{color:var(--text-main);font-weight:700;}
.cmp-proj-bar{display:flex;height:9px;border-radius:999px;background:var(--bg-soft);overflow:hidden;margin-top:9px;}
.cmp-proj-bar i{display:block;height:100%;}
.cmp-proj-bar .now{background:linear-gradient(90deg,var(--accent),var(--accent-deep));}
.cmp-proj-bar .proj{background:repeating-linear-gradient(45deg,var(--accent-line) 0 5px,transparent 5px 10px);}
.cmp-proj-foot{font-size:11px;color:var(--text-faint);display:flex;align-items:center;gap:6px;margin-top:6px;}
.cmp-proj-foot .dot-now,.cmp-proj-foot .dot-proj{width:9px;height:9px;border-radius:3px;display:inline-block;flex-shrink:0;}
.cmp-proj-foot .dot-now{background:var(--accent);} .cmp-proj-foot .dot-proj{background:var(--accent-line);}

/* ----- PÍLULA DE VARIAÇÃO ----- */
.cmp-delta{display:inline-flex;align-items:center;gap:4px;font:800 12px 'Plus Jakarta Sans';
  padding:4px 9px;border-radius:8px;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;}
.cmp-delta i{font-size:12px;}
.cmp-delta.good{background:var(--accent-soft);color:var(--accent-deep);}
.cmp-delta.bad{background:var(--neg-soft);color:#F87171;}
.cmp-delta.flat{background:var(--bg-soft);color:var(--text-muted);}
.cmp-delta.new{background:var(--blue-soft);color:#60A5FA;}
.cmp-delta.lg{font-size:15px;padding:7px 14px;border-radius:11px;box-shadow:var(--shadow-sm);}
.cmp-delta.lg i{font-size:16px;}

/* ----- CARTÕES DE MÉTRICA ----- */
.cmp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.cmp-card{position:relative;background:var(--bg-panel);border:1px solid var(--border-light);
  border-top:3px solid var(--text-faint);border-radius:var(--radius-md);padding:16px 17px 14px;
  box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;}
.cmp-card::after{content:'';position:absolute;top:0;right:0;width:96px;height:96px;border-radius:50%;
  opacity:.55;pointer-events:none;background:radial-gradient(circle at 100% 0%,var(--accent-soft) 0%,transparent 72%);}
.cmp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.cmp-card.good{border-top-color:var(--accent);}
.cmp-card.bad{border-top-color:var(--neg);}
.cmp-card.bad::after{background:radial-gradient(circle at 100% 0%,var(--neg-soft) 0%,transparent 72%);}
.cmp-card.flat{border-top-color:var(--text-faint);} .cmp-card.flat::after{opacity:0;}
.cmp-card-top{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.cmp-ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:17px;flex-shrink:0;background:var(--bg-soft);color:var(--text-muted);}
.cmp-card.good .cmp-ico{background:var(--accent-soft);color:var(--accent-deep);}
.cmp-card.bad .cmp-ico{background:var(--neg-soft);color:#F87171;}
.cmp-lbl{font:700 .8rem 'Plus Jakarta Sans';color:var(--text-muted);letter-spacing:-0.01em;}
.cmp-val{position:relative;z-index:1;font:800 1.32rem 'Plus Jakarta Sans';color:var(--text-main);
  letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1.12;}
.cmp-foot{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:9px;flex-wrap:wrap;}
.cmp-prev{font-size:11.5px;color:var(--text-faint);font-weight:600;font-variant-numeric:tabular-nums;}
.cmp-mini{position:relative;height:96px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--border-light);}

/* painel da IA */
.cmp-ia{margin-top:16px;border:1px solid rgba(124,58,237,.18);
  background:linear-gradient(135deg,rgba(167,139,250,.06) 0%,var(--bg-panel) 55%);}
.cmp-ia .panel-head h3 i{color:#A78BFA;}
.btn-ia{display:inline-flex;align-items:center;gap:7px;border:none;cursor:pointer;
  font:700 13px 'Plus Jakarta Sans';color:#fff;padding:9px 16px;border-radius:10px;
  background:linear-gradient(135deg,#8B5CF6,#A78BFA);box-shadow:0 4px 12px -4px rgba(124,58,237,.5);transition:.18s;}
.btn-ia:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-ia:disabled{opacity:.65;cursor:default;transform:none;}
.btn-ia i{font-size:15px;}
.cmp-ia-out{margin-top:12px;}
.cmp-ia-hint{font-size:13px;color:var(--text-muted);line-height:1.55;margin:0;}
.cmp-ia-txt{font-size:13.5px;line-height:1.65;color:var(--text-main);
  background:var(--bg-soft);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:14px 16px;}
.cmp-ia-erro{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#F87171;
  background:rgba(239,68,68,.07);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);padding:12px 14px;margin:0;}
.cmp-ia-txt b{color:var(--text-main);} .cmp-ia-txt ul,.cmp-ia-txt ol{margin:6px 0 0 18px;}
@media(max-width:860px){
  .cmp-hero{grid-template-columns:1fr;gap:14px;padding:20px;}
  .cmp-hero-r{padding-left:0;border-left:none;border-top:1px solid var(--border-light);padding-top:14px;}
}
@media(max-width:680px){
  .cmp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  .cmp-hero-big{font-size:2rem;}
}

/* =====================================================================
   ANOMALIA · METAS · HEATMAP · PRODUTOS (ABC)
   ===================================================================== */
/* banner de anomalia do dia */
.anomalia{display:flex;gap:13px;align-items:flex-start;padding:14px 18px;border-radius:var(--radius-md);
  font-size:13.5px;line-height:1.5;margin-bottom:20px;border:1px solid;}
.anomalia i{font-size:22px;flex-shrink:0;margin-top:1px;}
.anomalia b{font-weight:800;}
.anomalia.down{background:linear-gradient(135deg,rgba(239,68,68,.07),rgba(239,68,68,.02));border-color:rgba(220,38,38,.30);color:#7F1D1D;}
.anomalia.down i{color:#F87171;}
.anomalia.up{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(16,185,129,.02));border-color:rgba(5,150,105,.30);color:#6EE7B7;}
.anomalia.up i{color:#34D399;}

/* card vermelho (cancelamentos) */
.kpi-card.c-red{border-top-color:#EF4444;}
.kpi-card.c-red::after{background:radial-gradient(circle at 100% 0%,rgba(239,68,68,.10) 0%,transparent 70%);}
.kpi-card.c-red .kpi-header h3 i{color:#EF4444;}

/* ============ painel de metas (redesenho) ============ */
/* mega card de meta + projeção — mesmo estilo do hero da Comparação (gradiente tonal + brilho) */
.meta-panel{margin-bottom:20px;position:relative;overflow:hidden;border-radius:var(--radius-lg);
  border:1px solid var(--accent-line);background:linear-gradient(135deg,rgba(16,185,129,.12) 0%,var(--bg-panel) 46%);}
.meta-panel::after{content:'';position:absolute;top:-60px;right:-40px;width:260px;height:260px;border-radius:50%;
  pointer-events:none;background:radial-gradient(circle,rgba(16,185,129,.16) 0%,transparent 70%);}
.meta-ontrack{border-color:rgba(59,130,246,.28);background:linear-gradient(135deg,rgba(59,130,246,.11) 0%,var(--bg-panel) 46%);}
.meta-ontrack::after{background:radial-gradient(circle,rgba(59,130,246,.14) 0%,transparent 70%);}
.meta-behind{border-color:rgba(245,158,11,.30);background:linear-gradient(135deg,rgba(245,158,11,.13) 0%,var(--bg-panel) 46%);}
.meta-behind::after{background:radial-gradient(circle,rgba(245,158,11,.14) 0%,transparent 70%);}
.meta-none{border-color:var(--border-light);background:linear-gradient(135deg,rgba(100,116,139,.08) 0%,var(--bg-panel) 46%);}
.meta-none::after{opacity:0;}

.meta-hero{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch;}
.meta-hero-empty{grid-template-columns:1fr;}
.meta-hero-l{display:flex;flex-direction:column;min-width:0;}
.meta-eyebrow{display:inline-flex;align-items:center;gap:7px;font:700 11px 'Plus Jakarta Sans';
  text-transform:uppercase;letter-spacing:.07em;color:var(--accent-deep);margin-bottom:11px;}
.meta-eyebrow i{font-size:15px;}
.meta-ontrack .meta-eyebrow{color:#60A5FA;} .meta-behind .meta-eyebrow{color:#FBBF24;} .meta-none .meta-eyebrow{color:var(--text-muted);}
.meta-hero-headline{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:13px;}
.meta-hero-big{font:800 2.6rem 'Plus Jakarta Sans';letter-spacing:-.03em;line-height:1;color:#34D399;font-variant-numeric:tabular-nums;}
.meta-ontrack .meta-hero-big{color:#60A5FA;} .meta-behind .meta-hero-big{color:#FBBF24;}
.meta-hero-vals{display:flex;justify-content:space-between;gap:14px;margin-top:4px;font-size:13px;
  color:var(--text-muted);flex-wrap:wrap;font-variant-numeric:tabular-nums;}
.meta-hero-vals b{color:var(--text-main);font-weight:800;}
.meta-hero-vals .good,.meta-hero-vals .good b{color:#34D399;}

.meta-tag{display:inline-flex;align-items:center;gap:5px;font:800 12px 'Plus Jakarta Sans';
  padding:5px 11px;border-radius:9px;white-space:nowrap;line-height:1;}
.meta-tag i{font-size:13px;}
.meta-tag-hit{background:var(--accent-soft);color:var(--accent-deep);}
.meta-tag-ontrack{background:var(--blue-soft);color:#60A5FA;}
.meta-tag-behind{background:var(--warm-soft);color:#FBBF24;}

.meta-hero-r{display:flex;flex-direction:column;gap:6px;justify-content:center;
  padding-left:22px;border-left:1px solid var(--border-light);}
.meta-proj-lbl{display:inline-flex;align-items:center;gap:6px;font:700 10.5px 'Plus Jakarta Sans';
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.meta-proj-lbl i{color:var(--accent-deep);font-size:14px;}
.meta-proj-big{font:800 1.9rem 'Plus Jakarta Sans';letter-spacing:-.02em;color:var(--text-main);
  font-variant-numeric:tabular-nums;line-height:1.05;}
.meta-proj-big.good{color:#34D399;}
.meta-proj-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px;}
.meta-proj-foot{font-size:11.5px;color:var(--text-muted);display:flex;align-items:flex-start;gap:6px;line-height:1.5;margin-top:4px;}
.meta-proj-foot i{color:var(--text-faint);font-size:13px;margin-top:1px;flex-shrink:0;}
.meta-proj-foot b{color:var(--text-main);font-weight:700;white-space:nowrap;}
@media(max-width:860px){
  .meta-hero{grid-template-columns:1fr;gap:16px;}
  .meta-hero-r{padding-left:0;border-left:none;border-top:1px solid var(--border-light);padding-top:14px;}
  .meta-hero-big{font-size:2.2rem;}
}

.meta-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.meta-title{display:flex;align-items:center;gap:13px;}
.meta-ico{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:23px;color:#fff;
  background:linear-gradient(150deg,var(--accent),var(--accent-deep));box-shadow:0 9px 20px -8px rgba(16,185,129,.6);}
.meta-ontrack .meta-ico{background:linear-gradient(150deg,var(--blue),#60A5FA);box-shadow:0 9px 20px -8px rgba(59,130,246,.5);}
.meta-behind .meta-ico{background:linear-gradient(150deg,var(--warm),#D97706);box-shadow:0 9px 20px -8px rgba(245,158,11,.5);}
.meta-none .meta-ico{background:linear-gradient(150deg,#94A3B8,#64748B);box-shadow:none;}
.meta-title h3{font-size:1.18rem;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.02em;}
.meta-title p{font-size:12.5px;color:var(--text-muted);font-weight:500;margin:2px 0 0;}
.meta-pct{text-align:right;line-height:1;}
.meta-pct-num{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;color:var(--accent-deep);font-variant-numeric:tabular-nums;}
.meta-ontrack .meta-pct-num{color:#60A5FA;} .meta-behind .meta-pct-num{color:#FBBF24;} .meta-hit .meta-pct-num{color:#34D399;}
.meta-pct-lab{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-top:4px;}

.meta-bar{position:relative;height:16px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}
.meta-bar.big{height:22px;margin-bottom:18px;}
.meta-bar.slim{height:9px;}
.meta-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-deep));transition:width .5s cubic-bezier(.22,.61,.36,1);}
.meta-bar i.ok{background:linear-gradient(90deg,#34D399,#10B981);box-shadow:0 0 12px rgba(16,185,129,.5);}
.meta-ontrack .meta-bar.big i{background:linear-gradient(90deg,var(--blue),#60A5FA);}
.meta-behind .meta-bar.big i{background:linear-gradient(90deg,var(--warm),#D97706);}
.meta-hit .meta-bar.big i{background:linear-gradient(90deg,#10B981,#34D399);box-shadow:0 0 16px rgba(16,185,129,.55);}
.meta-bar .meta-ritmo{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--text-main);opacity:.5;border-radius:2px;}

.meta-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:11px;}
.ms{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.ms span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);}
.ms b{font-size:16px;font-weight:800;color:var(--text-main);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ms b.good{color:#34D399;}
.ms b small{font-size:.76em;font-weight:700;color:var(--text-muted);}
.ms b small.good{color:#34D399;} .ms b small.warn{color:#FBBF24;}
.ms.proj{background:var(--accent-soft);border-color:var(--accent-line);}
.meta-nota{font-size:11.5px;color:var(--text-muted);font-weight:500;margin:13px 0 0;display:flex;align-items:flex-start;gap:7px;line-height:1.5;}
.meta-nota i{color:var(--text-faint);font-size:14px;margin-top:1px;flex-shrink:0;}
.meta-empty{background:var(--bg-soft);border:1px dashed var(--border-light);border-radius:12px;padding:16px 18px;color:var(--text-muted);font-weight:600;font-size:13px;display:flex;align-items:center;gap:10px;}
.meta-empty i{font-size:20px;color:var(--text-faint);}

.meta-pessoas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--border-light);}
.meta-mini{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:12px;padding:13px 15px;}
.mm-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;}
.mm-nome{font-size:13.5px;font-weight:800;color:var(--text-main);}
.mm-pc{font-size:13px;font-weight:800;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.mm-pc.good{color:#34D399;}
.mm-vals{font-size:11.5px;color:var(--text-muted);font-weight:600;margin-top:8px;font-variant-numeric:tabular-nums;}
.meta-form{margin-top:14px;}
.meta-form summary{cursor:pointer;font:600 12.5px 'Plus Jakarta Sans';color:var(--text-muted);display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;border-radius:999px;background:var(--bg-soft);user-select:none;list-style:none;}
.meta-form summary::-webkit-details-marker{display:none;}
.meta-form summary:hover{color:var(--text-main);background:#E9EDF3;}
.meta-form .filtros input{min-width:130px;}

/* heatmap de calendário */
.hm-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;}
.hm-titulo{font-size:.8rem;font-weight:800;margin-bottom:9px;color:var(--text-main);letter-spacing:-0.01em;}
.hm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.hm-wd{font-size:.6rem;font-weight:700;color:var(--text-faint);text-align:center;text-transform:uppercase;padding-bottom:2px;}
.hm-dia{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:.68rem;font-weight:600;
  color:var(--text-muted);background:var(--bg-soft);cursor:default;font-variant-numeric:tabular-nums;transition:transform .12s;}
.hm-dia:hover{transform:scale(1.12);}
.hm-dia.forte{color:#fff;font-weight:800;}
.hm-dia.fora{opacity:.30;background:transparent;border:1px dashed var(--border-light);}
.hm-dia.vazio2{background:transparent;border:none;cursor:default;}
.hm-dia.vazio2:hover{transform:none;}

/* produtos: título e badge ABC */
.prod-tit{font-weight:700;color:var(--text-main);display:inline-block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;}
.abc{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font:800 12px 'Plus Jakarta Sans';}
.abc-a{background:rgba(16,185,129,.14);color:#34D399;}
.abc-b{background:rgba(245,158,11,.14);color:#FBBF24;}
.abc-c{background:rgba(100,116,139,.10);color:#64748B;}

/* ============ PEÇAS UNIFICADAS — linhas expansíveis (anúncios agrupados) ============ */
.peca-row{cursor:pointer;}
.peca-caret{display:inline-block;width:16px;color:var(--text-faint);font-size:11px;transition:transform .18s;vertical-align:middle;}
.peca-row.open .peca-caret{transform:rotate(90deg);color:var(--accent-deep);}
.peca-row.open td{background:var(--accent-soft)!important;}
.tag-via{display:inline-block;background:var(--violet-soft);color:#A78BFA;font:700 10px 'Plus Jakarta Sans';
  padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle;white-space:nowrap;}
tr.peca-det{display:none;}
tr.peca-det.open{display:table-row;}
tr.peca-det>td{padding:0 14px 12px!important;background:var(--bg-soft)!important;border-bottom:2px solid var(--accent-line);}
.peca-det-inner{display:flex;flex-direction:column;gap:6px;padding:12px 6px 4px;}
.peca-det-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;gap:6px 14px;align-items:center;
  background:var(--bg-panel);border:1px solid var(--border-light);border-radius:10px;padding:8px 12px;font-size:.8rem;}
.peca-det-row .pd-tit{font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-align:left;}
.peca-det-row .pd-sku{color:var(--text-muted);font-size:.74rem;white-space:nowrap;}
.peca-det-row .pd-num{color:var(--text-muted);white-space:nowrap;}
.peca-det-row .pd-val{font-weight:800;color:var(--text-main);white-space:nowrap;}
.peca-det-row .pd-conta{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:.72rem;font-weight:700;
  color:var(--accent-deep);background:var(--accent-soft);padding:2px 8px;border-radius:7px;max-width:160px;overflow:hidden;text-overflow:ellipsis;}
.peca-det-row .pd-conta i{font-size:13px;flex-shrink:0;}
@media(max-width:760px){.peca-det-row{grid-template-columns:auto auto minmax(0,1fr) auto;}.peca-det-row .pd-sku,.peca-det-row .pd-num{display:none;}}

/* ============ VENDAS EXTERNAS — aba + mapa de calor ============ */
.panel-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text-main);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.panel-title i{color:#22D3EE;font-size:18px;}
.pag-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
@media(max-width:520px){.pag-wrap{justify-content:center;}}
/* card de margem clicável + popover de opções */
#mgCard #mgBadge{cursor:pointer;}
.calc-pop{position:absolute;top:calc(100% - 8px);left:12px;right:12px;z-index:140;cursor:default;
  background:var(--bg-panel);border:1px solid var(--border-light);border-radius:14px;box-shadow:var(--shadow-lg);padding:14px;display:none;}
.calc-pop.open{display:block;animation:tabIn .18s;}
.cp-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-bottom:11px;}
.cp-title i{color:#34D399;font-size:15px;}
.cp-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cp-opt{display:flex;align-items:center;gap:9px;border:1.5px solid var(--border-light);background:var(--bg-body);border-radius:10px;
  padding:10px 12px;font:700 12.5px 'Plus Jakarta Sans';color:var(--text-muted);cursor:pointer;transition:.15s;}
.cp-opt:hover{border-color:var(--accent-line);}
.cp-opt .cp-ck{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--border-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.15s;}
.cp-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep);}
.cp-opt.on .cp-ck{background:var(--accent);border-color:var(--accent);}
.cp-opt.on .cp-ck::after{content:'✓';color:#fff;font-size:11px;font-weight:900;line-height:1;}
.cp-note{font-size:10.5px;color:var(--text-faint);font-weight:500;margin-top:11px;line-height:1.5;}
.cp-note b{color:var(--text-muted);font-weight:700;}
.br-map-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start;}
@media(max-width:860px){.br-map-wrap{grid-template-columns:1fr;}}
.br-map{min-width:0;}
.br-map svg{width:100%;height:auto;display:block;stroke:var(--bg-panel);stroke-width:.7;stroke-linejoin:round;}
.br-map path{transition:filter .12s;cursor:default;}
.br-map path.has{cursor:pointer;}
.br-map path:hover{filter:brightness(.88) saturate(1.4);stroke:#22D3EE;stroke-width:1.4;}
.br-map path.sel{stroke:#0f172a;stroke-width:1.8;filter:brightness(.92);}
.map-loading{padding:40px 10px;text-align:center;color:var(--text-faint);font-size:13px;font-weight:600;}
/* painel de detalhe ao clicar num estado */
.map-detail{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:12px;padding:13px 15px;}
.map-detail .md-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.map-detail .md-head b{font-size:15px;font-weight:800;color:var(--text-main);letter-spacing:-.01em;}
.map-detail .md-uf{font:800 10px 'Plus Jakarta Sans';background:var(--accent-soft);color:var(--accent-deep);padding:2px 7px;border-radius:6px;}
.map-detail .md-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;}
.map-detail .md-grid>div{display:flex;flex-direction:column;gap:1px;}
.map-detail .md-grid span{font-size:10.5px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.map-detail .md-grid b{font-size:14px;font-weight:800;color:var(--text-main);font-variant-numeric:tabular-nums;}
.map-detail .md-cities{margin-top:11px;padding-top:10px;border-top:1px dashed var(--border-light);}
.map-detail .md-cities .md-lbl{font-size:10.5px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:6px;}
.map-detail .md-cities>div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:2px 0;}
.map-detail .md-cities>div b{font-weight:700;color:var(--text-main);}
.map-detail .md-empty{font-size:13px;color:var(--text-muted);font-weight:600;padding:6px 0;}
.reg-bar.blue i{background:linear-gradient(90deg,var(--blue),#60A5FA);}
.br-side{display:flex;flex-direction:column;}
.reg-row{margin-bottom:11px;}
.reg-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:5px;}
.reg-bar{height:9px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}
.reg-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#06B6D4,#22D3EE);}
.reg-bar.warm i{background:linear-gradient(90deg,var(--warm),#D97706);}
.br-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;color:var(--text-muted);font-weight:600;}
.br-legend .grad{flex:1;height:8px;border-radius:99px;background:linear-gradient(90deg,rgba(6,182,212,.15),#22D3EE);}

/* ============ RESPONSIVO ============ */
@media(max-width:760px){
  .wrap{padding:0 14px 48px;}
  .grid-kpis,.grid-kpis.cols-4,.grid-kpis.wide,.grid-kpis.contas{grid-template-columns:1fr;}
  .kpis,.minis,.numeros{grid-template-columns:1fr;}
  .page-head{margin:18px 0 16px;}
  .page-head h1{font-size:1.4rem;}
  .barra .sync{margin-left:0;}
  .section-title{font-size:1.1rem;margin:20px 0 14px;}
  .modal-box{padding:18px 14px;}
  .modal-overlay{padding:14px 8px;}
  .insights-list{grid-template-columns:1fr;}
  .modal-kpis{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:9px;}
  .mk2{padding:10px 11px;}
  .modal-chart{height:200px;}
  thead th,td{padding:9px 10px;}
}

/* ============================================================
   POLISH PASS — refinamentos visuais (só estética; aditivo)
   ============================================================ */
/* transições suaves nos elementos interativos */
.kpi-card,.panel,.chip,.ir,.btn,.btn-primary,.kpi-badge,.tab-link,.rank-item,
.peca-row,.dd-btn,.icon-btn,.vendedor-card{transition:transform .18s ease, box-shadow .22s ease,
  background-color .2s ease, border-color .2s ease, color .2s ease;}

/* cartões de KPI: leve elevação + sombra mais rica no hover */
.kpi-card{box-shadow:0 1px 2px rgba(15,23,42,.04), 0 10px 26px -20px rgba(15,23,42,.16);}
.kpi-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(15,23,42,.05), 0 18px 38px -18px rgba(15,23,42,.22);}

/* painéis: sombra um pouco mais presente no hover */
.panel{box-shadow:0 1px 2px rgba(15,23,42,.04), 0 10px 30px -24px rgba(15,23,42,.16);}
.panel:hover{box-shadow:0 1px 2px rgba(15,23,42,.05), 0 16px 36px -22px rgba(15,23,42,.2);}

/* animação de entrada ao trocar de aba */
.tab-content.active{animation:tabIn .34s cubic-bezier(.22,.61,.36,1);}
@keyframes tabIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* aba ativa no header: traço de destaque sob o rótulo */
#tabsNav .tab-link{position:relative;}
#tabsNav .tab-link.active::after{content:'';position:absolute;left:14px;right:14px;bottom:3px;height:2px;
  border-radius:2px;background:var(--accent);opacity:.9;}

/* chips de período: hover mais vivo + leve subida no ativo */
.chip:hover{border-color:var(--accent-line);color:var(--accent-deep);}
.chip.on{transform:translateY(-1px);}

/* botões primários e "ir": leve elevação no hover */
.btn-primary:hover,.ir:hover{transform:translateY(-1px);}

/* linhas de tabela: hover mais perceptível */
tbody tr:hover>td{background:var(--accent-soft);}

/* título de seção: barra com leve gradiente */
.section-title::before{background:linear-gradient(180deg,var(--accent),var(--accent-deep));}

/* foco acessível mais suave nos campos */
input:focus,select:focus{box-shadow:0 0 0 4px var(--accent-soft);}

/* respeita quem prefere menos movimento */
@media(prefers-reduced-motion:reduce){
  .tab-content.active{animation:none;}
  .kpi-card:hover,.panel:hover,.chip.on,.btn-primary:hover,.ir:hover{transform:none;}
}

/* =====================================================================
   TEMA "GRAFITE" (2026-07) — dark, acento índigo. Substituiu o claro/verde.
   Fica no FIM de propósito: sobrescreve o tema base por TOKEN, então quase
   todo componente vira escuro sozinho. Apagar deste comentário pra baixo
   devolve o tema claro antigo.
   ===================================================================== */
:root{
  /* ---- superfícies ---- */
  --bg-body:#0B0D11;
  --bg-panel:#14171E;          /* card / painel */
  --bg-soft:#1C212B;           /* chip, th, input, hover */
  --bg-gradient:
     radial-gradient(ellipse 90% 55% at 100% -10%, rgba(99,102,241,.10) 0%, transparent 60%),
     radial-gradient(ellipse 70% 45% at 0% 0%, rgba(168,85,247,.06) 0%, transparent 55%), #0B0D11;

  /* ---- texto ---- */
  --text-main:#E9ECF2; --text-muted:#98A2B3; --text-faint:#6B7383;
  --ink:#E9ECF2; --muted:#98A2B3; --faint:#6B7383;

  /* ---- linhas ---- */
  --border-light:#242A35; --line:#242A35; --line-soft:#1E2430;

  /* ---- acento índigo (referência Linear) ---- */
  --accent:#6366F1;            /* preenchimento de botão */
  --accent-deep:#A5B4FC;       /* TEXTO/ícone de acento — precisa ser CLARO no escuro */
  --accent-2:#A5B4FC;
  --accent-soft:rgba(99,102,241,.17); --accent-line:rgba(129,140,248,.40);
  --accent-glow:rgba(99,102,241,.35);

  /* ---- dados (tons abertos p/ ler sobre grafite) ---- */
  --blue:#60A5FA;   --blue-soft:rgba(96,165,250,.16);
  --warm:#FBBF24;   --warm-soft:rgba(251,191,36,.16);
  --violet:#C084FC; --violet-soft:rgba(192,132,252,.16);
  --pos:#34D399; --neg:#F87171; --neg-soft:rgba(248,113,113,.16);
  --online:#34D399; --danger:#F87171; --danger-soft:rgba(248,113,113,.16);

  --surface:#14171E; --surface-2:#191D25; --surface-3:#1C212B;
  /* tokens que algumas páginas usam como fallback (var(--card-bg,#fff)); sem eles o
     branco do fallback vencia e virava bloco claro no escuro */
  --card-bg:#14171E; --linha:#242A35; --ext-deep:#22D3EE;

  /* ---- raio + sombra (no escuro a sombra é mais profunda e o brilho vem da borda) ---- */
  --radius-sm:9px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --shadow-md:0 1px 2px rgba(0,0,0,.35), 0 10px 28px -20px rgba(0,0,0,.85);
  --shadow-lg:0 16px 44px -24px rgba(0,0,0,.95);
}

/* faz o navegador desenhar os controles NATIVOS em escuro: seletor de data,
   dropdown do select, autofill e barras de rolagem. Sem isso o date picker abre branco. */
html{background:#0B0D11;color-scheme:dark;}
body{color:var(--text-main);}
input[type=date],input[type=month],input[type=number],input[type=text],select{color-scheme:dark;}
/* zebra das tabelas: no claro era um preto translúcido (sumia aqui) */
tbody tr:nth-child(even) td{background:rgba(255,255,255,.022);}
::selection{background:rgba(99,102,241,.35);color:#fff;}
*{scrollbar-color:#2B3240 transparent;}
*::-webkit-scrollbar-thumb{background:#2B3240;}

/* área de conteúdo: sem barra flutuante no topo, o respiro vem daqui */
.wrap{max-width:1360px;padding:26px 26px 72px;}
@media(max-width:980px){ .wrap{padding:18px 16px 56px;} }

/* ---------- superfícies escuras ---------- */
.kpi-card,.panel,.toolbar,.filter-bar,.dd-menu{background:var(--bg-panel);border-color:var(--border-light);}
.kpi-card{border-top-color:var(--border-light);}
.kpi-card.c-accent{border-top-color:var(--accent);}

/* formulários */
input,select,textarea{background:var(--bg-soft)!important;color:var(--text-main)!important;border-color:var(--border-light)!important;}
input:focus,select:focus,textarea:focus{background:#20263180!important;border-color:var(--accent)!important;box-shadow:0 0 0 4px var(--accent-soft)!important;}
select option{background:#171B23;color:var(--text-main);}
input::placeholder{color:var(--text-faint);}
label{color:var(--text-muted);}

/* tabelas */
table th{background:var(--bg-soft)!important;color:var(--text-muted)!important;border-color:var(--border-light)!important;}
table td{border-color:var(--border-light)!important;color:var(--text-main);}
tbody tr:hover td{background:rgba(255,255,255,.028);}
tfoot td,tfoot th{background:var(--bg-soft)!important;}

/* chips / badges */
.chip{background:var(--bg-soft);color:var(--text-muted);border-color:transparent;}
.chip:hover{background:#242B37;color:var(--text-main);}
.chip.on{background:var(--accent);color:#fff;box-shadow:0 2px 10px rgba(99,102,241,.45);}
.kpi-badge{background:var(--bg-soft);color:var(--text-muted);}
.badge-green{background:rgba(52,211,153,.16)!important;color:#34D399!important;}
.badge-red{background:rgba(248,113,113,.16)!important;color:#F87171!important;}
.badge-blue{background:var(--blue-soft)!important;color:#93C5FD!important;}
.badge-warm{background:var(--warm-soft)!important;color:#FCD34D!important;}
.text-green{color:#34D399!important;} .text-red{color:#F87171!important;}

/* plataformas (tons abertos) */
.kpi-plat-ml{color:#93C5FD!important;} .kpi-plat-sh{color:#FCD34D!important;}
.kpi-plat-ext{color:#67E8F9!important;} .kpi-plat-tt{color:#E9ECF2!important;}
.dot.ML{background:#60A5FA;} .dot.Shopee{background:#FBBF24;}
.dot.Externa{background:#22D3EE;} .dot.TikTok{background:#E9ECF2;}

/* ---------- refino slim (mantido) ---------- */
.kpi-card{border-top-width:2px;padding:17px 18px;box-shadow:var(--shadow-md);}
.kpi-card::after{opacity:.5;width:96px;height:96px;
  background:radial-gradient(circle at 100% 0%,var(--accent-soft) 0%,transparent 70%);}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#2E3542;}
.kpi-header{margin-bottom:11px;}
.kpi-header h3{font-size:.66rem;letter-spacing:.07em;}
.kpi-value{font-size:clamp(1.28rem,1rem + .82vw,1.7rem);margin-bottom:8px;}
.kpi-details{margin-top:12px;padding-top:11px;gap:7.5px;border-top-color:var(--border-light);}
.kpi-detail-item{font-size:12.5px;}
.kpi-badge{padding:3px 9px;font-size:.62rem;}

/* -------- cards de KPI: acento fino, menos sombra, hover discreto -------- */
.kpi-card{border-top-width:2px;padding:17px 18px;box-shadow:var(--shadow-md);}
.kpi-card::after{opacity:.42;width:96px;height:96px;}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.kpi-header{margin-bottom:11px;}
.kpi-header h3{font-size:.66rem;letter-spacing:.07em;}
.kpi-value{font-size:clamp(1.28rem,1rem + .82vw,1.7rem);margin-bottom:8px;}
.kpi-details{margin-top:12px;padding-top:11px;gap:7.5px;}
.kpi-detail-item{font-size:12.5px;}
.kpi-badge{padding:3px 9px;font-size:.62rem;}

/* -------- painéis -------- */
.panel{padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-md);}
.panel-head{margin-bottom:15px;}
.panel-head h3{font-size:.95rem;}
.panel-head p,.panel-head .ph-sub{font-size:.775rem;}
.grid-charts{gap:16px;margin-bottom:16px;}

/* -------- títulos de seção mais enxutos -------- */
.section-title{font-size:1.12rem;}
.section-title::before{width:4px;border-radius:3px;}
.page-head h1{font-size:1.5rem;}

/* -------- filtros / toolbar -------- */
.toolbar,.filter-bar{padding:13px 15px;box-shadow:var(--shadow-sm);}
.chip{padding:7px 12px;}

/* -------- tabelas: linhas mais baixas, cabeçalho discreto -------- */
table th{font-size:10.5px!important;letter-spacing:.05em;}
.pnl-tbl td,.tbl td{padding-top:9px;padding-bottom:9px;}

/* -------- grids um pouco mais densos (cabe mais sem apertar) -------- */
.grid-kpis{gap:14px;}
.grid-kpis.cols-4{grid-template-columns:repeat(auto-fit,minmax(218px,1fr));}

/* ---- último resquício do acento VERDE antigo: brilhos/gradientes de MARCA ----
   (o verde SEMÂNTICO — lucro, badge positivo, meta batida, ABC-A — continua verde
   de propósito: ali a cor é significado do dado, não identidade visual.) */
.btn-primary,.barra .sync{box-shadow:0 2px 10px rgba(99,102,241,.40);color:#fff;}
.btn-primary:hover,.barra .sync:hover{box-shadow:0 4px 16px rgba(99,102,241,.50);}
.mk{box-shadow:0 8px 20px -6px rgba(99,102,241,.45);}
.dd-btn{box-shadow:0 2px 10px rgba(99,102,241,.40);}
.cmp-hero{background:linear-gradient(135deg,rgba(99,102,241,.13) 0%,var(--bg-panel) 46%);}
.cmp-hero::after{background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);}
.meta-panel{background:linear-gradient(135deg,rgba(99,102,241,.13) 0%,var(--bg-panel) 46%);}
.meta-panel::after{background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);}
.meta-ico{box-shadow:0 9px 20px -8px rgba(99,102,241,.6);}
