/* ===== Tokens (public/tokens/*.css) embutidos aqui — eram 3 @import em cadeia, que atrasavam o CSS e as fontes.
   Mudanças de token: editar NESTE bloco (os arquivos em tokens/ ficam só como referência). ===== */
/* GM Promo — Cores */
:root{
  /* Violeta · escala principal (autoridade) */
  --v-25:#F6F4FB;--v-50:#EFE7F0;--v-100:#DECFE0;--v-200:#D2B4D6;--v-300:#A37EB7;
  --v-400:#794D9A;--v-500:#492770;--v-600:#381166;--v-700:#2D2550;--v-800:#231C42;
  /* Neutros · % de preto */
  --n-05:#F2F2F2;--n-30:#B3B3B3;--n-40:#999999;--n-50:#808080;--n-60:#666666;
  --n-70:#4D4D4D;--n-80:#333333;--n-90:#1F1F1F;
  /* Suporte · acentos */
  --rosa-claro:#FFDAF0;--rosa:#F5A8D6;--foco:#C5539B;--conexao:#BDAEFF;--status:#3FB98C;
  /* Gradientes */
  --grad-color:linear-gradient(135deg,#794D9A 0%,#C5539B 100%); /* @kind color */
  --grad-clean:linear-gradient(135deg,#F5A8D6 0%,#FFFFFF 100%); /* @kind color */
  --grad-dark:linear-gradient(135deg,#C5539B 0%,#492770 100%); /* @kind color */
  --grad-fundo:radial-gradient(120% 120% at 20% 15%,#2D2550 0%,#231C42 55%,#1a1433 100%); /* @kind color */
  /* Aliases semânticos */
  --bg:#fff;--text:#1F1F1F;--text-2:#666;--text-3:#999;--brand:#492770;--accent:#C5539B;--border:#E7E1EC;
}
/* GM Promo — Tipografia (Inter, embutida offline) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('tokens/fonts/Inter-Regular.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('tokens/fonts/Inter-Medium.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('tokens/fonts/Inter-SemiBold.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('tokens/fonts/Inter-Bold.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('tokens/fonts/Inter-ExtraBold.woff2') format('woff2')}
:root{
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-sans:'Inter',system-ui,sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,monospace;
}
/* GM Promo — Espaçamento (base 8px), raios e sombras */
:root{
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:80px;--sp-10:120px;
  --r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:28px;--r-pill:980px;
  --shadow-sm:0 1px 3px rgba(35,28,66,.06),0 1px 2px rgba(35,28,66,.04);
  --shadow-md:0 8px 30px rgba(35,28,66,.10);
}
/* ===== fim dos tokens ===== */

/* ===== Tema: escuro é o padrão; o claro entra com <html data-theme="light"> (theme.js + botão no topo) ===== */
:root{
  color-scheme:dark;
  --ink:#fff;--ink-2:#D2B4D6;--ink-3:#A37EB7;--ink-4:#9a8fb5;--ink-bar:#CFC6EC;
  --lav:#BDAEFF;--rosa:#F5A8D6;--ok:#3FB98C;--red:#ff8f8f;--amber:#f7b867;--blue:#9dbbff;
  --bg:#1a1433;--bg-2:#231C42;--bg-3:#2D2550;--bg-th:#2b2353;--bg-menu:#2a2150;--bg-track:#342D55;
  --bg-cs-card:#16112b;--bg-cs-screen:#1d1738;--bg-cs-border:#4a4166;
  --lav-rgb:189,174,255;--fill-rgb:255,255,255;--surface-rgb:35,28,66;
  --card-bg:rgba(255,255,255,.04);--card-dark-bg:#1a1433;
  --grad-page:var(--grad-fundo);
  --grad-text:linear-gradient(135deg,#F5A8D6 0%,#BDAEFF 100%);
  --grad-bar:linear-gradient(90deg,#BDAEFF,#F5A8D6);
  --grad-title:linear-gradient(135deg,#fff 0%,#F5A8D6 55%,#BDAEFF 100%);
  --hero-bg:linear-gradient(90deg,rgba(73,39,112,.55) 0%,rgba(45,37,80,.5) 55%,rgba(35,28,66,.6) 100%);
  --pill-on-bg:#BDAEFF;--pill-on-ink:#231C42;
  --shadow-pop:0 14px 40px rgba(10,6,24,.5);
  --shadow-cs:0 0 #0000004d,0 9px 20px #0000004a,0 37px 37px #00000042,0 84px 50px #00000026,0 149px 60px #0000000a,0 233px 65px #00000003;
}
[data-theme="light"]{
  color-scheme:light;
  --ink:#1F1733;--ink-2:#4A3D63;--ink-3:#7A6B91;--ink-4:#8C7FA3;--ink-bar:#5E5078;
  --lav:#6B52D6;--rosa:#B5438C;--ok:#1C8F64;--red:#C0392B;--amber:#B5651D;--blue:#3B63C9;
  --bg:#F4F1F8;--bg-2:#fff;--bg-3:#EFE7F0;--bg-th:#F1ECF6;--bg-menu:#fff;--bg-track:#E7E1EC;
  --bg-cs-card:#E6DFEE;--bg-cs-screen:#F7F4FB;--bg-cs-border:#D5CBE0;
  --lav-rgb:73,39,112;--fill-rgb:73,39,112;--surface-rgb:255,255,255;
  --card-bg:#fff;--card-dark-bg:#fff;
  --grad-page:radial-gradient(120% 120% at 20% 15%,#FBF9FD 0%,#F4F1F8 55%,#ECE6F2 100%);
  --grad-text:linear-gradient(135deg,#C5539B 0%,#6B52D6 100%);
  --grad-bar:linear-gradient(90deg,#6B52D6,#C5539B);
  --grad-title:linear-gradient(135deg,#2D2550 0%,#C5539B 55%,#6B52D6 100%);
  --hero-bg:linear-gradient(90deg,rgba(73,39,112,.10) 0%,rgba(255,255,255,.7) 55%,#fff 100%);
  --pill-on-bg:#492770;--pill-on-ink:#fff;
  --shadow-pop:0 14px 40px rgba(73,39,112,.18);
  --shadow-cs:0 9px 20px rgba(73,39,112,.08),0 37px 37px rgba(73,39,112,.06),0 84px 50px rgba(73,39,112,.03);
}
/* O rodapé cinematográfico fica escuro nos dois temas */
.cine__footer{color-scheme:dark;--ink:#fff;--ink-2:#D2B4D6;--ink-3:#A37EB7;--lav:#BDAEFF;--rosa:#F5A8D6;--bg:#1a1433;--bg-2:#231C42;--lav-rgb:189,174,255;--fill-rgb:255,255,255;--surface-rgb:35,28,66}
/* Botão de tema (topo) e troca de logos conforme o fundo */
.theme-btn{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 14px;border-radius:12px;border:1px solid rgba(var(--lav-rgb),.3);background:rgba(var(--fill-rgb),.05);color:var(--ink-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.theme-btn:hover{color:var(--ink);border-color:rgba(var(--lav-rgb),.6);background:rgba(var(--fill-rgb),.09)}
.theme-btn:focus-visible{outline:2px solid var(--lav);outline-offset:2px}
.theme-btn svg{width:18px;height:18px;flex:none}
[data-theme="light"] .topbar{background:rgba(255,255,255,.82)} /* topo mais opaco no claro: a barra de meta e os gráficos vazavam atrás */
@media (max-width:720px){.theme-btn{padding:0 10px}.theme-btn__label{display:none}}
.brand__logos img.logo--light{display:none}
[data-theme="light"] .brand__logos img.logo--dark{display:none}
[data-theme="light"] .brand__logos img.logo--light{display:block}


/* ===== Base (fiel ao design "Dashboard Performance Ads" / "Funil de Mídia Paga") ===== */
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;background:var(--bg);font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}
/* Degradê do fundo numa camada fixa própria (composta na GPU). Antes era background-attachment:fixed no body, que faz o Chrome repintar a página inteira a cada rolagem. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--bg) var(--grad-page) no-repeat}
a{color:var(--lav);text-decoration:none}a:hover{color:var(--rosa)}
table{border-collapse:collapse;width:100%}
*{scrollbar-width:thin;scrollbar-color:rgba(var(--lav-rgb),.3) transparent}
button{font-family:inherit}
.page{min-height:100vh;display:flex;flex-direction:column}
.content{flex:1;display:flex;flex-direction:column;gap:20px;padding:24px 32px 32px;max-width:1720px;width:100%;margin:0 auto}
.content[aria-busy="true"]{opacity:.7;transition:opacity .2s}
@media (max-width:720px){.content{padding:16px 16px 24px}.topbar{padding:12px 16px!important}.footer{padding:14px 16px!important}}

/* ===== Top bar ===== */
.topbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 32px;border-bottom:1px solid rgba(var(--lav-rgb),.14);background:rgba(var(--surface-rgb),.55);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__logos{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.brand__logos img{display:block;width:auto}
.divider{width:1px;height:22px;background:rgba(var(--lav-rgb),.25)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.segmented{display:flex;gap:4px;padding:4px;border-radius:980px;background:rgba(var(--fill-rgb),.06);border:1px solid rgba(var(--lav-rgb),.18);align-items:center;flex-wrap:wrap}
.pill{font-size:12.5px;font-weight:600;padding:7px 16px;border-radius:980px;border:0;cursor:pointer;background:transparent;color:var(--ink-2);transition:all .15s;white-space:nowrap;text-decoration:none;line-height:1.2}
.pill:hover{color:var(--ink)}
.pill--on,.pill--on:hover{background:var(--pill-on-bg);color:var(--pill-on-ink)}
.pill--sm{font-size:12px;padding:6px 12px;font-weight:500}
.period{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.period__label{font-size:12px;color:var(--ink-3);padding:0 6px}
.range{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);padding:4px 10px;border-radius:980px;border:1px solid rgba(var(--lav-rgb),.4);background:rgba(var(--lav-rgb),.12)}
.range input[type=date]{background:transparent;border:0;color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:2px 0;width:118px}
.range input[type=date]:focus{outline:none}
.spacer{flex:1}
.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:980px;border:0;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn--primary{background:#C5539B;color:#fff}.btn--primary:hover{background:#d365aa}
.btn--ghost{background:transparent;color:var(--rosa)}.btn--ghost:hover{background:rgba(245,168,214,.1)}
.btn--outline{background:transparent;color:var(--ink-2);border:1px solid rgba(var(--lav-rgb),.3)}.btn--outline:hover{color:var(--ink);border-color:rgba(var(--lav-rgb),.6)}
.btn:disabled{opacity:.5;cursor:default}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--grad-color);display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ok);font-weight:600;white-space:nowrap}
.status__dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}
.status--loading{color:var(--lav)}.status--loading .status__dot{background:var(--lav);animation:pulse 1s infinite}
.status--error{color:var(--rosa)}.status--error .status__dot{background:var(--rosa)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ===== Cards & grids ===== */
.card{padding:26px 28px;border-radius:18px;background:var(--card-bg);border:1px solid rgba(var(--lav-rgb),.14);min-width:0;display:flex;flex-direction:column;gap:6px}
.card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.card__title{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.card__sub{font-size:13px;color:var(--ink-3);margin-top:4px}
.card__note{margin-top:auto;padding-top:14px;font-size:12px;color:var(--ink-3);line-height:1.5}
.card__note--line{border-top:1px solid rgba(var(--lav-rgb),.12);padding-top:18px}
.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:16px}
.grid-2--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}
.grid-2--bottom{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.span-all{grid-column:1 / -1}

/* Hero */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-radius:18px;background:var(--hero-bg);border:1px solid rgba(var(--lav-rgb),.16);border-left:4px solid #C5539B;box-shadow:var(--shadow-md);overflow:hidden}
.hero__main{padding:28px 32px;display:flex;flex-direction:column;gap:10px;min-width:0}
.hero__cell{padding:28px 32px;border-left:1px solid rgba(var(--lav-rgb),.14);display:flex;flex-direction:column;gap:8px;justify-content:center}
.hero__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lav)}
.hero__label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.hero__big{font-size:clamp(40px,4vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.hero__num{font-size:clamp(30px,2.6vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink);white-space:nowrap}
.hero__num--grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.hero__note{font-size:13px;color:var(--lav)}.hero__note--ok{color:var(--ok)}
.hero__tag{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:980px;border:1px solid rgba(63,185,140,.5);background:rgba(63,185,140,.12);font-size:12px;font-weight:600;color:var(--ok);width:fit-content}

/* KPI */
.kpi{padding:22px 24px;border-radius:18px;background:var(--card-bg);border:1px solid rgba(var(--lav-rgb),.14)}
.kpi__label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.kpi__bar{width:3px;height:16px;border-radius:2px;background:var(--lav);flex:none}
.kpi__row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:14px}
.kpi__value{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.kpi__value--grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi__meta{font-size:13px;color:var(--ink-3)}
.kpi__meta--good{color:var(--ok);font-weight:600}.kpi__meta--bad{color:var(--rosa);font-weight:600}
.kpi__foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}

/* Badges / chips / tags */
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:980px;font-size:11.5px;font-weight:600;white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.badge--foco{background:rgba(197,83,155,.2);color:var(--rosa)}
.badge--conexao{background:rgba(var(--lav-rgb),.16);color:var(--lav)}
.badge--status{background:rgba(63,185,140,.16);color:var(--ok)}
.badge--violeta{background:rgba(163,126,183,.22);color:var(--ink-2)}
.tag{display:inline-block;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:980px;white-space:nowrap}
.tag--google{background:rgba(var(--lav-rgb),.16);color:var(--lav)}
.tag--meta{background:rgba(197,83,155,.2);color:var(--rosa)}
.tag--none{background:rgba(163,126,183,.2);color:var(--ink-2)}
.chip{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:980px}
.chip--g{background:rgba(63,185,140,.16);color:var(--ok)}.chip--a{background:rgba(var(--lav-rgb),.16);color:var(--lav)}.chip--r{background:rgba(197,83,155,.2);color:var(--rosa)}

/* Tables */
.tablewrap{overflow:auto hidden;margin-top:18px;scrollbar-width:thin;scrollbar-color:rgba(var(--lav-rgb),.3) transparent}
table.data thead tr{background:rgba(var(--lav-rgb),.08)}
table.data th{text-align:left;padding:12px 16px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
table.data th:first-child{border-radius:10px 0 0 10px}table.data th:last-child{border-radius:0 10px 10px 0}
table.data td{padding:15px 16px;font-size:14px;color:var(--ink-2);border-bottom:1px solid rgba(var(--lav-rgb),.1);vertical-align:middle}
table.data tbody tr:hover td{background:rgba(var(--lav-rgb),.04)}
table.data .num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}
table.data .strong{font-weight:600;color:var(--ink);white-space:nowrap}
table.data .name{font-size:14px;font-weight:600;color:var(--ink);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.data .sub{font-size:12px;color:var(--ink-3);margin-top:2px;font-weight:400}
table.data--tight th{padding:11px 12px;letter-spacing:.08em;white-space:normal;line-height:1.3}table.data--tight td{padding:14px 12px}

/* Legend */
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.legend span{display:flex;align-items:center;gap:6px}
.sw{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.sw--sq{border-radius:3px;width:10px;height:10px}

/* Tiles (horários) */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.tile{padding:18px 20px;border-radius:14px;background:rgba(var(--lav-rgb),.07);border:1px solid rgba(var(--lav-rgb),.12)}
.tile__label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}
.tile__dot{width:7px;height:7px;border-radius:50%;flex:none}
.tile__value{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-top:10px}
.tile__meta{font-size:13px;color:var(--ink-3);margin-top:4px}

/* Heatmap */
.heatwrap{overflow:auto hidden;scrollbar-width:thin}
.heat{min-width:760px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 12px;row-gap:6px;align-items:center}
.heat__day{font-size:13px;color:var(--ink-2)}
.heat__row{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:4px}
.heat__cell{height:30px;border-radius:6px;cursor:default;transition:transform .1s}
.heat__cell:hover{transform:scale(1.08)}
.heat__cell--peak{outline:2px solid var(--lav);outline-offset:-2px}
.heat__totals{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;align-items:end;height:44px}
.heat__hours{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:4px;font-size:12px;color:var(--ink-3)}
.heat__scale{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.heat__scale i{width:36px;height:14px;border-radius:4px;display:inline-block}
.select{font:inherit;font-size:12.5px;color:var(--ink-2);padding:8px 14px;border-radius:980px;border:1px solid rgba(var(--lav-rgb),.3);background:rgba(var(--surface-rgb),.6);cursor:pointer;max-width:240px}
.check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer;user-select:none}
.check input{appearance:none;width:16px;height:16px;border-radius:4px;border:1px solid rgba(var(--lav-rgb),.4);background:transparent;margin:0;display:grid;place-items:center;cursor:pointer}
.check input:checked{background:#C5539B;border-color:#C5539B}
.check input:checked::after{content:"✓";font-size:11px;font-weight:700;color:#fff}
.icon-box{width:48px;height:48px;border-radius:14px;background:var(--grad-color);display:grid;place-items:center;flex:none}

/* Horizontal bars */
.hbar{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:center}
.hbar__name{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar__sub{font-size:12px;color:var(--ink-3)}
.hbar__track{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.hbar__bg{height:26px;border-radius:6px;background:rgba(var(--lav-rgb),.1);position:relative;overflow:hidden}
.hbar__fill{position:absolute;inset:0 auto 0 0;border-radius:6px;min-width:2px}
.hbar__val{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}

/* Funnel (page 2) */
.funnel{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr) minmax(110px,150px);row-gap:8px;column-gap:12px;align-items:center}
.funnel__t{font-size:14px;font-weight:600;color:var(--ink)}.funnel__s{font-size:12.5px;color:var(--ink-3)}
.funnel__bar{height:50px;margin:0 auto;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;clip-path:polygon(0 0,100% 0,calc(100% - 24px) 100%,24px 100%);white-space:nowrap;min-width:150px}
.funnel__r1{font-size:14px;font-weight:600}.funnel__r2{font-size:12.5px}
.channel{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto;gap:16px;align-items:center;padding:22px 0;border-top:1px solid rgba(var(--lav-rgb),.12)}
.channel__bars{display:grid;gap:12px}
.channel__bar{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:14px;align-items:center;font-size:14px;color:var(--ink-bar);font-variant-numeric:tabular-nums}
.channel__bar i{display:block;height:18px;border-radius:6px;background:var(--bg-track);overflow:hidden}
.channel__bar i b{display:block;height:100%;border-radius:6px}
.channel__badge{text-align:center;border-radius:16px;padding:18px 20px;min-width:150px}
.channel__badge b{display:block;font-size:19px;font-weight:600;line-height:1}.channel__badge small{display:block;margin-top:8px;font-size:13px;font-weight:600;opacity:.9}

/* Alerts */
.alert-card{padding:26px 28px;border-radius:18px;background:linear-gradient(160deg,rgba(197,83,155,.16) 0%,rgba(var(--surface-rgb),.4) 60%);border:1px solid rgba(197,83,155,.35);min-width:0;display:flex;flex-direction:column;gap:16px}
.alert{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.alert__n{width:28px;height:28px;border-radius:50%;background:#C5539B;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.alert__n--soft{background:#794D9A}
.alert__t{font-size:14px;font-weight:600;color:var(--ink)}.alert__d{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:2px}
.insight{padding:10px 12px;border-radius:12px;background:rgba(197,83,155,.12);border:1px solid rgba(197,83,155,.35);font-size:12px;color:var(--rosa);line-height:1.45}
.insight--ok{background:rgba(63,185,140,.1);border-color:rgba(63,185,140,.35);color:var(--ok)}
.empty{padding:28px;text-align:center;font-size:13px;color:var(--ink-3);border:1px dashed rgba(var(--lav-rgb),.2);border-radius:14px}

/* Charts */
.chart{width:100%;height:auto;display:block;margin-top:12px}
.chart .hit{fill:transparent;cursor:crosshair}
.chart .hit:hover{fill:rgba(var(--lav-rgb),.06)}
.chart text{font-family:Inter,sans-serif}
.tooltip{position:fixed;z-index:50;pointer-events:none;background:rgba(var(--surface-rgb),.96);border:1px solid rgba(var(--lav-rgb),.3);border-radius:10px;padding:8px 12px;font-size:12px;color:var(--ink);line-height:1.5;box-shadow:var(--shadow-md);max-width:280px;opacity:0;transition:opacity .1s}
.tooltip b{color:var(--ink)}.tooltip small{color:var(--ink-3)}
.tooltip.on{opacity:1}

/* Footer */
.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 32px;border-top:1px solid rgba(var(--lav-rgb),.12);font-size:12px;color:var(--ink-3)}
.footer .caps{letter-spacing:.08em;text-transform:uppercase}

/* Banner de erro de fonte */
.source-errors{display:flex;flex-direction:column;gap:8px}
.source-error{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:rgba(197,83,155,.12);border:1px solid rgba(197,83,155,.4);font-size:12.5px;color:var(--rosa);line-height:1.45}
.source-error b{color:var(--ink)}

/* Print (Exportar PDF) */
@media print{
  @page{size:A3 landscape;margin:10mm}
  html,body{background:var(--bg-2)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body::before{display:none}
  .no-print{display:none!important}
  .topbar{position:static;backdrop-filter:none}
  .card,.kpi,.hero,.alert-card{break-inside:avoid}
  .tablewrap,.heatwrap{overflow:visible}
}

/* ===== Bloco superior "Advanced stats": gráfico principal + objetivo + insight + KPIs com variação ===== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
@media (min-width:1100px){.stats-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}
.card--main{padding:28px 30px 22px;border-radius:24px}
.card--dark{background:var(--card-dark-bg);border-color:rgba(var(--lav-rgb),.22);box-shadow:var(--shadow-md);border-radius:24px;justify-content:space-between}
.side{display:flex;flex-direction:column;gap:16px;min-width:0}
.side>.card{flex:1;border-radius:24px}
.stat-row{display:flex;align-items:flex-end;justify-content:space-between;gap:22px 32px;flex-wrap:wrap;margin-top:16px}
.stat-minis{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end}
.stat-minis .stat-mini:first-child{padding-left:0;border-left:0}
.cmp{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(var(--lav-rgb),.12);font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.cmp .h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cmp .v{color:var(--ink);font-weight:600;text-align:right;white-space:nowrap}
.cmp .p{color:var(--ink-3);text-align:right;white-space:nowrap}
.stat-big{font-size:clamp(36px,3.4vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--ink);white-space:nowrap}
.stat-mini{display:flex;flex-direction:column;gap:6px;padding-left:22px;border-left:1px solid rgba(var(--lav-rgb),.16);min-width:0}
.stat-mini b{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;line-height:1}
.stat-mini b.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-mini span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);white-space:nowrap}
.chg{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3}
.chg--good{color:var(--ok);background:rgba(63,185,140,.14)}
.chg--bad{color:var(--rosa);background:rgba(197,83,155,.2)}
.chg--flat{color:var(--lav);background:rgba(var(--lav-rgb),.14)}
.goal__title{margin:8px 0 0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.goal__value{font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1}
.progress{width:100%;height:6px;border-radius:980px;background:rgba(var(--lav-rgb),.14);position:relative}
.progress>i{display:block;height:100%;width:0;border-radius:980px;background:var(--grad-bar);transition:width .9s cubic-bezier(.2,.7,.2,1)}
.progress>b{position:absolute;top:-4px;width:2px;height:14px;border-radius:1px;background:var(--ink);opacity:.75}
.icon-sq{width:36px;height:36px;border-radius:10px;background:rgba(var(--lav-rgb),.1);border:1px solid rgba(var(--lav-rgb),.18);display:grid;place-items:center;flex:none}
.kpi--stat{border-radius:16px;transition:border-color .2s,background .2s}
.kpi--stat .kpi__row{justify-content:space-between;margin-top:12px}
.kpi--stat .kpi__value{font-size:28px}
.kpi--good:hover{border-color:rgba(63,185,140,.6);background:rgba(63,185,140,.06)}
.kpi--bad:hover{border-color:rgba(197,83,155,.6);background:rgba(197,83,155,.08)}
.kpi--flat:hover{border-color:rgba(var(--lav-rgb),.5);background:rgba(var(--lav-rgb),.06)}
.reveal{animation:reveal .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*.11s)}
@keyframes reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media print,(prefers-reduced-motion:reduce){.reveal{animation:none}.progress>i{transition:none}}

/* ===== Big numbers (estilo StatCard) ===== */
.stat{padding:24px 26px 22px;border-radius:18px;background:var(--card-bg);border:1px solid rgba(var(--lav-rgb),.14);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;min-width:0;transition:border-color .2s,background .2s}
.stat__value{display:flex;align-items:baseline;gap:5px;font-size:clamp(28px,2.2vw,42px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.stat__value--grad span:not(.stat__unit){background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__value--text{font-size:clamp(24px,2vw,30px);letter-spacing:-.02em}
.stat__unit{font-size:.48em;font-weight:600;letter-spacing:0;color:var(--ink-3)}
.stat__title{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.stat__sub{font-size:12px;color:var(--ink-3)}
.stat__foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:10px}
.stat__foot p{margin:0;font-size:12.5px;color:var(--ink-3);line-height:1.35}
.stat__foot b{font-weight:700}
.stat__ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none}
.stat__ico--good{background:rgba(63,185,140,.2);color:var(--ok)}
.stat__ico--bad{background:rgba(197,83,155,.24);color:var(--rosa)}
.stat__ico--flat{background:rgba(var(--lav-rgb),.16);color:var(--lav)}
.stat__chg--good{color:var(--ok)}.stat__chg--bad{color:var(--rosa)}.stat__chg--flat{color:var(--lav)}
.stat--good:hover{border-color:rgba(63,185,140,.6);background:rgba(63,185,140,.06)}
.stat--bad:hover{border-color:rgba(197,83,155,.6);background:rgba(197,83,155,.08)}
.stat--flat:hover{border-color:rgba(var(--lav-rgb),.5);background:rgba(var(--lav-rgb),.06)}
.stat-mini b span{display:inline;font-size:inherit;color:inherit;gap:0;white-space:nowrap}
.grid-kpi .stat__value .stat__unit{font-size:.45em}

/* ===== Gráfico estilo line-charts-1 ===== */
.lc-head{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:22px}
.lc-title{font-size:15px;font-weight:600;color:var(--ink)}.lc-title small{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:6px}
.lc-toolbar{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--ink-2)}
.lc-label{display:flex;align-items:center;gap:7px}
.ring{display:inline-block;width:14px;height:14px;border-radius:50%;border:4px solid var(--lav);background:var(--bg-2);flex:none;box-sizing:border-box}
.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer;transition:all .15s}
.icon-btn:hover,.icon-btn[aria-expanded="true"]{color:var(--ink);background:rgba(var(--lav-rgb),.1);border-color:rgba(var(--lav-rgb),.2)}
.menu{position:relative}
.menu__list{position:absolute;right:0;top:40px;z-index:30;min-width:200px;padding:6px;border-radius:12px;background:var(--bg-2);border:1px solid rgba(var(--lav-rgb),.24);box-shadow:var(--shadow-pop)}
.menu__list[hidden]{display:none}
.menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.menu__item:hover,.menu__item:focus-visible{background:rgba(var(--lav-rgb),.1);color:var(--ink);outline:none}
.menu__item svg{flex:none;opacity:.7}
.menu__sep{height:1px;margin:5px 4px;background:rgba(var(--lav-rgb),.14)}
.chart--lc .lc-cursor{stroke:rgba(var(--lav-rgb),.35);stroke-width:1;opacity:0}
.chart--lc .lc-focus{opacity:0}
.chart--lc .lc-hit:hover .lc-cursor,.chart--lc .lc-hit:hover .lc-focus{opacity:1}
.chart--lc .hit:hover{fill:transparent}
.tooltip:has(.lc-tip){padding:12px 14px;border-radius:12px;min-width:220px}
.lc-tip__label{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:10px;letter-spacing:.02em}
.lc-tip__label small{font-weight:500;color:var(--ink-3)}
.lc-tip__row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);margin-top:7px}
.lc-tip__row b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.lc-tip__row .chg{margin-left:auto;font-size:11px;padding:2px 6px}
.lc-tip__row--muted{padding-top:8px;border-top:1px solid rgba(var(--lav-rgb),.14)}
.lc-tip .ring{width:12px;height:12px;border-width:3px}

/* ===== Etapas do funil — SVG contínuo em camadas (estilo FunnelChart) ===== */
.fz{display:grid;grid-template-columns:minmax(104px,190px) minmax(0,1fr) minmax(92px,170px);gap:8px 16px;align-items:start}
.fz__col{display:grid}
.fz__cell{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.fz__cell .funnel__t{font-size:14px}.fz__cell .funnel__s{font-size:12px;color:var(--ink-4)}
.fz__cell .funnel__r1{font-size:14px}.fz__cell .funnel__r2{font-size:12px}
.fz__mid{position:relative;height:var(--fz-h);min-width:0}
.fz__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fz__labels{position:absolute;inset:0;display:grid}
.fz__lab{display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 2px rgba(20,10,40,.35);cursor:default}
.fz [data-fi]{transition:opacity .2s}
.fz .fz-dim{opacity:.4}
@media (max-width:640px){.fz{grid-template-columns:minmax(90px,120px) minmax(0,1fr) minmax(80px,110px);gap:6px 8px}.fz__lab{font-size:12px}}

/* ===== Rodapé cinematic (adaptação do motion-footer) ===== */
.cine{position:relative;height:100vh;width:100%;clip-path:polygon(0% 0,100% 0%,100% 100%,0 100%);margin-top:24px}
.cine__footer{position:fixed;left:0;bottom:0;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--bg);color:#fff;
  --pill-bg-1:rgba(var(--fill-rgb),.05);--pill-bg-2:rgba(var(--fill-rgb),.015);--pill-border:rgba(var(--lav-rgb),.18);--pill-hl:rgba(var(--fill-rgb),.1)}
.cine__aurora{position:absolute;left:50%;top:50%;width:80vw;height:60vh;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;transform:translate(-50%,-50%);
  background:radial-gradient(circle at 50% 50%,rgba(197,83,155,.28) 0%,rgba(121,77,154,.24) 40%,transparent 70%);animation:cine-breathe 8s ease-in-out infinite alternate}
@keyframes cine-breathe{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}100%{transform:translate(-50%,-50%) scale(1.1);opacity:1}}
.cine__grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:60px 60px;
  background-image:linear-gradient(to right,rgba(var(--lav-rgb),.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(var(--lav-rgb),.05) 1px,transparent 1px);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.cine__giant{position:absolute;left:50%;bottom:-5vh;transform:translateX(-50%);white-space:nowrap;z-index:0;pointer-events:none;user-select:none;
  font-size:22vw;line-height:.75;font-weight:800;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(var(--lav-rgb),.08);
  background:linear-gradient(180deg,rgba(var(--lav-rgb),.16) 0%,transparent 60%);-webkit-background-clip:text;background-clip:text}
.cine__mq{position:absolute;top:calc(var(--tb,0px) + 30px);left:0;width:100%;overflow:hidden;z-index:10;padding:16px 0;transform:rotate(-2deg) scale(1.1);
  border-top:1px solid rgba(var(--lav-rgb),.18);border-bottom:1px solid rgba(var(--lav-rgb),.18);background:rgba(var(--surface-rgb),.6);backdrop-filter:blur(12px);box-shadow:0 25px 50px -12px rgba(10,6,24,.6)}
.cine__mq-track{display:flex;width:max-content;animation:cine-marquee 40s linear infinite;font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3)}
.cine__mq-item{display:flex;align-items:center;gap:48px;padding:0 24px}
.cine__star--a{color:rgba(197,83,155,.7)}.cine__star--b{color:rgba(var(--lav-rgb),.7)}
@keyframes cine-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cine__center{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;margin-top:calc(var(--tb,0px) + 70px);width:100%;max-width:1024px;margin-inline:auto}
.cine__heading{margin:0 0 36px;text-align:center;font-size:clamp(40px,6vw,96px);font-weight:800;letter-spacing:-.045em;line-height:1;
  background:linear-gradient(180deg,#fff 0%,rgba(245,168,214,.55) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 22px rgba(245,168,214,.18))}
.cine__links{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}
.cine__row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.cine__row--sm{gap:12px}
.cine__pill{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:980px;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;text-decoration:none;
  background:linear-gradient(145deg,var(--pill-bg-1),var(--pill-bg-2));border:1px solid var(--pill-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 30px -10px rgba(10,6,24,.6),inset 0 1px 1px var(--pill-hl),inset 0 -1px 2px rgba(10,6,24,.5);transition:background .4s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s,color .2s;will-change:transform}
.cine__pill:hover{color:#fff;border-color:rgba(245,168,214,.45);background:linear-gradient(145deg,rgba(var(--fill-rgb),.1),rgba(var(--fill-rgb),.03));box-shadow:0 20px 40px -10px rgba(10,6,24,.7),inset 0 1px 1px rgba(var(--fill-rgb),.2)}
.cine__pill--lg{padding:18px 38px;font-size:16px;font-weight:700;color:#fff}
.cine__pill.is-on{color:#fff;border-color:rgba(var(--lav-rgb),.5)}
.cine__ico{width:22px;height:22px;color:var(--ink-3);transition:color .2s}.cine__pill:hover .cine__ico{color:var(--rosa)}
.cine__sync{font-size:12px;color:var(--ink-3);text-align:center;max-width:720px;line-height:1.5;margin-top:4px}
.cine__bar{position:relative;z-index:20;width:100%;padding:0 48px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cine__copy{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.cine__badge{cursor:default;gap:8px;padding:10px 22px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.cine__badge b{font-size:13px;font-weight:800;letter-spacing:0;text-transform:none;color:#fff;margin-left:2px}
.cine__heart{font-size:15px;color:var(--rosa);animation:cine-heart 2s cubic-bezier(.25,1,.5,1) infinite;display:inline-block}
@keyframes cine-heart{0%,100%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(197,83,155,.5))}15%,45%{transform:scale(1.2);filter:drop-shadow(0 0 10px rgba(197,83,155,.8))}30%{transform:scale(1)}}
.cine__top{width:48px;height:48px;padding:0;justify-content:center}
.cine__arrow{width:20px;height:20px;transition:transform .3s}.cine__top:hover .cine__arrow{transform:translateY(-6px)}
@media (max-width:720px){.cine__bar{flex-direction:column;padding:0 16px 24px}.cine__badge{order:-1}.cine__pill--lg{padding:14px 26px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.cine__aurora,.cine__mq-track,.cine__heart{animation:none}}
.cine.is-off .cine__aurora,.cine.is-off .cine__mq-track,.cine.is-off .cine__heart{animation-play-state:paused} /* rodapé fora da tela (footer.js): animações pausadas */
@media print{.cine{display:none!important}}

/* ===== ContainerScroll (adaptação do container-scroll-animation) ===== */
.cs{position:relative;display:flex;align-items:center;justify-content:center;padding:72px 0 8px}
.cs__stage{width:100%;position:relative;perspective:1000px}
.cs__head{max-width:1024px;margin:0 auto;text-align:center;will-change:transform}
.cs__title{margin:10px 0 0;font-size:clamp(24px,2.4vw,36px);font-weight:600;letter-spacing:-.02em;color:var(--ink-2);line-height:1.1}
.cs__title span{display:inline-block;margin-top:6px;font-size:clamp(40px,6vw,96px);font-weight:800;letter-spacing:-.045em;line-height:1;
  background:var(--grad-title);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs__card{margin:-8px auto 0;width:100%;padding:18px;border:4px solid var(--bg-cs-border);border-radius:30px;background:var(--bg-cs-card);will-change:transform;
  box-shadow:var(--shadow-cs)}
.cs__screen{border-radius:18px;overflow:hidden;background:var(--bg-cs-screen);padding:12px}
.cs__screen .tiles{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.cs__screen .fz__lab{font-size:13px}
.cs__screen>.card,.cs__screen>section{margin:0}
@media (max-width:768px){.cs{padding-top:40px}.cs__card{padding:8px;border-width:3px;border-radius:22px}.cs__screen{padding:6px;border-radius:14px}}
@media print{.cs__card,.cs__head{transform:none!important;box-shadow:none}.cs__head{display:none}.cs__card{border:0;padding:0;background:none}.cs__screen{padding:0;background:none}}
@media (max-width:900px){.channel{grid-template-columns:1fr}.channel__badge{justify-self:start}}
@media print{.channel__bar i b{transition:none!important}}

/* ===== Comercial (pipeline do CRM) ===== */
[hidden]{display:none!important}
.cfilters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cf{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;background:rgba(var(--fill-rgb),.05);border:1px solid rgba(var(--lav-rgb),.2);color:var(--ink);font-size:13px;font-weight:600}
.cf:focus-within{border-color:rgba(var(--lav-rgb),.6)}
.cf select{appearance:none;background:transparent;border:0;color:var(--ink);font:inherit;padding-right:18px;cursor:pointer;max-width:230px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 7px) 55%,calc(100% - 2px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.cf select:focus{outline:none}.cf select option{background:var(--bg-2);color:var(--ink)}
.cf--range span{color:var(--ink-3);font-weight:500}
.cf--range input{width:78px;background:transparent;border:0;color:var(--ink);font:inherit;font-weight:500}
.cf--range input:focus,.cf--search input:focus{outline:none}
.cf--search{flex:1 1 240px;max-width:360px;color:var(--ink-3)}
.cf--search input{flex:1;background:transparent;border:0;color:var(--ink);font:inherit;font-weight:500;min-width:0}
.cf--stages summary{list-style:none;cursor:pointer}.cf--stages summary::-webkit-details-marker{display:none}
.cf__menu{position:absolute;top:46px;right:0;z-index:30;display:flex;flex-direction:column;gap:4px;min-width:240px;padding:10px;border-radius:14px;background:var(--bg-menu);border:1px solid rgba(var(--lav-rgb),.25);box-shadow:var(--shadow-pop)}
.cf__menu label{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;font-weight:500;color:var(--ink-2);cursor:pointer}
.cf__menu label:hover{background:rgba(var(--lav-rgb),.08);color:var(--ink)}
.cf__menu input{accent-color:#C5539B}
.cf--multi summary{list-style:none;cursor:pointer;padding-right:18px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 7px) 55%,calc(100% - 2px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.cf--multi summary::-webkit-details-marker{display:none}
.cf--multi.is-on{border-color:rgba(229,86,155,.6);background:rgba(197,83,155,.14)}
.cf--multi .cf__menu{left:0;right:auto;max-height:min(420px,60vh);overflow-y:auto;flex-wrap:nowrap}
.cf__all{text-align:left;background:none;border:0;border-bottom:1px solid rgba(var(--lav-rgb),.15);color:var(--rosa);font:inherit;font-weight:600;padding:7px 8px 10px;margin-bottom:2px;cursor:pointer;border-radius:8px 8px 0 0}
.cf__all:hover{color:var(--ink)}

/* análise: etapas e barras por origem/motivo */
.cst,.cor{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.cst__row{display:grid;grid-template-columns:minmax(150px,190px) 1fr 110px 92px;align-items:center;gap:12px}
.cst__name,.cor__name{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cst__bar,.cor__bar{height:12px;border-radius:6px;background:rgba(var(--lav-rgb),.1);overflow:hidden;display:flex}
.cst__bar b,.cor__bar b{display:block;height:100%;border-radius:6px;transition:width .6s cubic-bezier(.22,1,.36,1)}
.cor__bar b{border-radius:0}.cor__bar b:first-child{border-radius:6px 0 0 6px}
.cst__val,.cor__val{font-size:13px;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cst__conv{text-align:right}.cst__muted{font-size:12px;color:var(--ink-3)}
.cor__row{display:grid;grid-template-columns:minmax(130px,200px) 1fr 110px;align-items:center;gap:12px}
@media (max-width:720px){.cst__row{grid-template-columns:1fr 90px;row-gap:6px}.cst__bar{grid-column:1 / -1;grid-row:2}.cst__conv{display:none}.cor__row{grid-template-columns:1fr 90px}.cor__bar{grid-column:1 / -1;grid-row:2}}

/* quadro kanban */
.kb{display:flex;gap:14px;overflow-x:auto;padding:18px 24px 18px;scroll-snap-type:x proximity;align-items:flex-start}
.kb__col{flex:0 0 320px;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:16px;background:rgba(var(--fill-rgb),.035);border:1px solid rgba(var(--lav-rgb),.12);max-height:880px}
.kb__head{padding:16px 16px 12px;border-bottom:1px solid rgba(var(--lav-rgb),.1)}
.kb__title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--ink)}
.kb__dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.kb__count{margin-left:auto;font-size:12px;font-weight:700;padding:2px 10px;border-radius:980px;background:rgba(var(--lav-rgb),.14);color:var(--ink-2)}
.kb__sum{margin:6px 0 0 18px;font-size:14px;font-weight:600;color:var(--ink-2)}.kb__sum small,.kc__val small{font-size:11px;color:var(--ink-3);font-weight:500;margin-left:2px}
.kb__list{display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto}
.kb__empty{font-size:12.5px;color:var(--ink-3);text-align:center;padding:16px 0}
.kb__more{border:1px dashed rgba(var(--lav-rgb),.35);background:transparent;color:var(--lav);border-radius:10px;padding:9px;font-size:12.5px;font-weight:600;cursor:pointer}
.kb__more:hover{background:rgba(var(--lav-rgb),.08);color:var(--ink)}
.kc{position:relative;padding:14px 14px 12px 16px;border-radius:12px;background:rgba(var(--surface-rgb),.85);border:1px solid rgba(var(--lav-rgb),.14);display:flex;flex-direction:column;gap:9px}
.kc::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}
.kc:hover{border-color:rgba(var(--lav-rgb),.35)}
.kc__top{display:flex;justify-content:space-between;gap:10px}
.kc__who{min-width:0}
.kc__name{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25;overflow-wrap:anywhere}
.kc__contact{font-size:12px;color:var(--ink-3);margin-top:3px}
.kc__val{text-align:right;flex:none}.kc__val b{font-size:14px;color:var(--ink);white-space:nowrap}
.kc__prob{font-size:10.5px;color:var(--ink-3);margin-top:2px}
.kc__chips{display:flex;flex-wrap:wrap;gap:5px}
.kc__chip{font-size:11px;font-weight:600;padding:3px 9px;border-radius:980px;background:rgba(var(--lav-rgb),.12);color:var(--ink-2);white-space:nowrap}
.kc__chip--alta{background:rgba(229,86,86,.18);color:var(--red)}.kc__chip--media{background:rgba(240,160,60,.16);color:var(--amber)}
.kc__chip--owner{background:rgba(197,83,155,.2);color:var(--rosa)}.kc__chip--bu{background:rgba(91,141,239,.18);color:var(--blue)}
.kc__chip--line{background:transparent;border:1px solid rgba(var(--lav-rgb),.22)}
.kc__next{padding:9px 11px;border-radius:9px;background:rgba(197,83,155,.12);border-left:3px solid #C5539B;font-size:12.5px;color:var(--ink);line-height:1.4}
.kc__next-h{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rosa);margin-bottom:3px}
.kc__obs{font-size:12px;color:var(--ink-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kc__obs b{color:var(--rosa)}
.kc__foot{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink-3);border-top:1px solid rgba(var(--lav-rgb),.08);padding-top:8px}
@media (max-width:720px){.kb{padding:14px 16px}.kb__col{flex-basis:86vw}}
@media print{.kb{flex-wrap:wrap;overflow:visible}.kb__col{max-height:none}.kb__list{overflow:visible}}
#owners table.data td.num{white-space:nowrap}
/* 3 abas no menu: no celular ele rola na horizontal em vez de alargar a página */
.topbar nav.segmented{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.topbar nav.segmented::-webkit-scrollbar{display:none}
@media (max-width:720px){.cf{flex:1 1 calc(50% - 5px);min-width:0}.cf--multi summary{max-width:none;width:100%}.cf--multi .cf__menu{min-width:min(240px,calc(100vw - 32px))}.cf select{max-width:none;width:100%}.cf--range input{width:100%;min-width:0}.cf--search{max-width:none;flex-basis:100%}}

/* ===== Funil: "Leads de tráfego pago no CRM" (lista de oportunidades do PipeRun) ===== */
.leads{gap:0}
.leads__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.leads__head .card__title{display:flex;align-items:center;gap:10px}
.leads__head .card__title svg{color:var(--ok);flex:none}
.leads__actions{display:flex;gap:8px;flex-wrap:wrap}
.leads__body{display:flex;flex-direction:column;gap:0}
.leads__body[hidden]{display:none}
.leads__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lchip{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:980px;border:1px solid rgba(var(--lav-rgb),.22);background:transparent;color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}
.lchip:hover{color:var(--ink);border-color:rgba(var(--lav-rgb),.5)}
.lchip b{color:var(--ink);font-weight:700}
.lchip small{font-size:11.5px;color:var(--ink-3);font-weight:500}
.lchip--on,.lchip--on:hover{border-color:#C5539B;background:rgba(197,83,155,.18);color:var(--rosa)}
.lchip--on b{color:var(--ink)}.lchip--on small{color:var(--rosa)}
.lchip .sw{width:8px;height:8px}
.leads__bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:14px}
.leads__bar .cf--search{height:38px;flex:1 1 220px;max-width:340px}
.leads__sort{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.leads__sort>span{margin-right:4px}
.leads__sort .pill--sm{padding:6px 12px}
.leads__sort .pill--on{background:#C5539B;color:#fff}
.leads__count{margin-left:auto;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.leads__count b{color:var(--ink)}
.leads__scroll{max-height:640px;overflow:auto;margin-top:14px;border-radius:12px;scrollbar-width:thin;scrollbar-color:rgba(var(--lav-rgb),.3) transparent;border:1px solid rgba(var(--lav-rgb),.1)}
.leads__table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}
.leads__table thead th{position:sticky;top:0;z-index:1;background:var(--bg-th);box-shadow:inset 0 -1px 0 rgba(var(--lav-rgb),.14)}
.leads__table thead th:first-child,.leads__table thead th:last-child{border-radius:0}
.leads__table tbody tr{cursor:pointer}
.leads__table tbody tr:focus-visible td{outline:2px solid var(--lav);outline-offset:-2px}
.leads__table tbody tr:last-child td{border-bottom:0}
.leads__table td{padding:13px 16px}
.leads__table .name{max-width:340px}
.leads__table .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.leads__mail{color:var(--lav)}
.leads__table .badge{height:26px;font-size:12px;padding:0 11px;max-width:100%}
.leads__table .badge+.sub{margin-top:5px}
.leads__table td.when{white-space:nowrap;font-weight:600;color:var(--ink)}
.leads__empty{padding:28px 16px;text-align:center;font-size:13px;color:var(--ink-3)}
.tag--paid{background:rgba(240,160,60,.18);color:var(--amber)}
.stat__sub a,.leads__note a{color:var(--ok);font-weight:600;text-decoration:none}
.stat__sub a:hover,.leads__note a:hover{text-decoration:underline}
.leads__note{margin-top:14px;font-size:12px;color:var(--ink-3);line-height:1.5}
@media (max-width:720px){.leads__count{margin-left:0;flex-basis:100%}.leads__bar .cf--search{max-width:none;flex-basis:100%}.leads__scroll{max-height:70vh}}
@media print{.leads__scroll{max-height:none;overflow:visible;border:0}.leads__table thead th{position:static}.leads__body[hidden]{display:flex!important}}

/* ===== Visão geral (funil Pré vendas do PipeRun, no formato do dashboard do CRM) ===== */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.grid-kpi--5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card__title svg{vertical-align:-4px;margin-right:8px}
.goal__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.goal__right{font-size:13px;color:var(--ink-2)}
.goal__row{display:flex;align-items:center;gap:18px;margin-top:14px}
.goal__num{font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--ink);white-space:nowrap;line-height:1}
.goal__num small{font-size:16px;color:var(--ink-3);font-weight:600}
.goal__bar{flex:1;height:12px;border-radius:6px;background:rgba(var(--lav-rgb),.12);overflow:hidden}
.goal__bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#a855f7,#ec4899 35%,#f97316 60%,#22c55e);transition:width 1s cubic-bezier(.22,1,.36,1)}
.goal__pct{font-size:16px;font-weight:700;color:var(--ink);min-width:44px;text-align:right}
.fun__cols{display:grid;margin-top:18px}
.fun__col{padding:4px 14px 10px 0;min-width:0}
.fun__col+.fun__col{border-left:1px dashed rgba(var(--lav-rgb),.28);padding-left:14px}
.fun__name{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fun__count{font-size:clamp(24px,2.6vw,40px);font-weight:700;letter-spacing:-.03em;color:var(--ink);margin-top:6px;line-height:1;font-variant-numeric:tabular-nums}
.fun__sub{font-size:11.5px;color:var(--ink-3);margin-top:6px;line-height:1.4}
.fun__svg{width:100%;height:auto;display:block;margin-top:4px;overflow:visible}
.fun__pill{fill:var(--bg-th);stroke:rgba(var(--lav-rgb),.4);stroke-width:1.5}
.fun__pilltxt{font-size:14px;font-weight:700;fill:var(--ink);font-family:Inter,system-ui,sans-serif}
.fun__side{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.vg__chartbox{flex:1;display:flex;min-height:300px;margin-top:12px}.vg__chartbox .chart{height:100%;margin:0} /* gráfico mensal preenche a altura do card */
.vg__scroll{max-height:380px;overflow:auto;margin-top:12px;scrollbar-width:thin;scrollbar-color:rgba(var(--lav-rgb),.3) transparent}
.vg__table{width:100%}
.vg__table thead th{position:sticky;top:0;background:var(--bg-th);z-index:1}
.vg__pink{color:var(--rosa);font-weight:700}.vg__green{color:var(--ok);font-weight:700}
.vg__donut{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:12px}
.vg__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1;min-width:180px;max-height:260px;overflow:auto;scrollbar-width:thin}
.vg__legend li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.vg__legend li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg__legend li b{color:var(--ink)}.vg__legend li small{color:var(--ink-3);min-width:34px;text-align:right}
.vg__sdrbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.vg__sdrbar input[type=date]{height:36px;padding:0 10px;border-radius:10px;border:1px solid rgba(var(--lav-rgb),.25);background:rgba(var(--fill-rgb),.05);color:var(--ink);font:inherit;font-size:12.5px}
.vg__sdrbar .btn{height:36px;font-size:12.5px;gap:6px}
.vg__sdr th.num{white-space:normal;line-height:1.25}
@media (max-width:720px){.goal__row{flex-wrap:wrap}.goal__bar{flex-basis:100%;order:3}.fun__name{font-size:11px}.fun__sub{display:none}}
@media print{.vg__scroll,.vg__legend{max-height:none;overflow:visible}}
