/* Módulo: inicio — V50 enxuto (faturamento, pagamentos e cursos). Substituível junto com index.js.
   O mapa (Vendas por estado) e a dica flutuante agora ficam em core/brand.css, seção 25, porque o Dashboard também usa.
   Cores dos gráficos em variáveis próprias (--bi-*), com valores claros e escuros validados:
   pagamentos (categórico): claro #2F6DB0 · #EE5A00 · #62B0E8 | escuro #4B7FD1 · #E06418 · #2B9DC8.
   Mapa (sequencial, um só tom de azul, do claro ao escuro; no tema escuro "mais" fica mais claro). */

#appView{
  --bi-real:#134FD0;--bi-real-area:rgba(19,79,208,.10);--bi-pace:#9AA6B4;--bi-col:#122945;--bi-bar:#2F6DB0;
  --bi-p1:#2F6DB0;--bi-p2:#134FD0;--bi-p3:#62B0E8;--bi-p0:#9AA6B4;
}
html[data-theme="dark"] #appView{
  --bi-real:#3B73ED;--bi-real-area:rgba(59,115,237,.12);--bi-pace:#7F8FA3;--bi-col:#7AB8E6;--bi-bar:#4B7FD1;
  --bi-p1:#4B7FD1;--bi-p2:#275AC6;--bi-p3:#2B9DC8;--bi-p0:#6B7A8E;
}

/* ---------- Cabeçalho ---------- */
#appView .bi-head{align-items:center!important;margin-bottom:12px!important}
#appView .bi-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#appView .bi-pill{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-1);font-size:13px;font-weight:600;white-space:nowrap}
#appView .bi-pill svg{width:15px;height:15px;color:var(--accent-text)}
#appView .bi-go{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border:0;border-radius:10px;background:var(--brand-navy);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
#appView .bi-go:hover{background:#0C1E33}
#appView .bi-go svg{width:15px;height:15px;pointer-events:none}
html[data-theme="dark"] #appView .bi-go{background:var(--orange)}

/* ---------- Cartões ---------- */
#appView .bi-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:8px}
#appView .bi-card-head h3{margin:3px 0 0;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text-1)}
#appView .bi-link{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 8px;margin:0 -8px -4px 0;border:0;border-radius:8px;background:transparent;color:var(--blue);font-size:12.5px;font-weight:600;cursor:pointer}
#appView .bi-link:hover{background:var(--surface-2)}
#appView .bi-link svg{width:14px;height:14px;pointer-events:none}
html[data-theme="dark"] #appView .bi-link{color:#7AB8E6}
#appView .bi-empty{margin:8px 0 0;color:var(--text-3);font-size:13px}

/* ---------- Linhas de cartões ---------- */

#appView .bi-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:11.5px;color:var(--text-3)}
#appView .bi-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#appView .bi-legend .ln{display:inline-block;width:16px;height:0;border-top:2px solid var(--bi-real)}
#appView .bi-legend .ln.proj{border-top-style:dotted;border-top-width:2.5px}
#appView .bi-legend .ln.pace{border-top:2px dashed var(--bi-pace)}

/* ---------- Gráficos SVG ---------- */
#appView .bi-chart{width:100%;min-height:180px}
#appView .bi-chart svg{display:block;max-width:100%;height:auto;overflow:visible}
#appView .bi-grid{stroke:var(--line-soft);stroke-width:1}
#appView .bi-axis{font-size:11px;fill:var(--text-3);font-family:var(--font-primary)}
#appView .bi-axis.strong{fill:var(--text-1);font-weight:700}
#appView .bi-end{font-size:11.5px;font-weight:700;fill:var(--text-1)}
#appView .bi-end.accent{fill:var(--accent-text)}
#appView .bi-end.small{font-size:10.5px}
#appView .bi-line{fill:none;stroke:var(--bi-real);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
#appView .bi-area{fill:var(--bi-real-area)}
#appView .bi-proj{fill:none;stroke:var(--bi-real);stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}
#appView .bi-pace-line{fill:none;stroke:var(--bi-pace);stroke-width:2;stroke-dasharray:5 5}
#appView .bi-today{stroke:var(--text-3);stroke-opacity:.35}
#appView .bi-dot{fill:var(--bi-real);stroke:var(--surface);stroke-width:2}
#appView .bi-hit{fill:transparent;cursor:crosshair}
#appView .bi-hit:hover{fill:var(--text-1);fill-opacity:.05}

#appView .bi-rank{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:5px;background:var(--surface-2);font-size:11px;font-weight:700;color:var(--text-3)}

/* ---------- Pagamentos ---------- */

/* ---------- Top 5 (gestor) e auditoria (vendedor) ---------- */
#appView .bi-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#appView .bi-audit>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:9px 11px;border-radius:10px;background:var(--surface-2)}
#appView .bi-audit-icon{grid-row:span 2;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface);color:var(--text-1)}
#appView .bi-audit-icon svg{width:15px;height:15px}
#appView .bi-audit .ok .bi-audit-icon{background:var(--ok-bg);color:var(--ok-fg)}
#appView .bi-audit .wa .bi-audit-icon{background:var(--warn-bg);color:var(--warn-fg)}
#appView .bi-audit .ba .bi-audit-icon{background:var(--bad-bg);color:var(--bad-fg)}
#appView .bi-audit>div>span:not(.bi-audit-icon){overflow:hidden;font-size:12px;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis}
#appView .bi-audit b{font-family:var(--font-secondary);font-size:18px;font-weight:500;color:var(--text-1)}

/* Barras crescem na entrada da página (mesma regra das transições V46.3) */
@media (prefers-reduced-motion:no-preference){
}

/* ---------- Telas menores ---------- */
@media (max-width:900px){
  #appView .bi-head{flex-direction:column;align-items:stretch!important}
  #appView .bi-tools{justify-content:flex-start}
}
@media (max-width:700px){
  #appView .bi-audit{grid-template-columns:repeat(2,minmax(0,1fr))}
  #appView .bi-card-head{flex-wrap:wrap;align-items:flex-start}
  #appView .bi-legend{justify-content:flex-start}
}
@media (max-width:480px){
  #appView .bi-pill{flex:1 1 100%;justify-content:center}
  #appView .bi-go{flex:1 1 100%;justify-content:center}
}

/* ==========================================================================
   V50 — Início enxuto: bloco de faturamento, pagamentos e cursos
   ========================================================================== */
/* Tabelas do Início (pagamentos e cursos) */
#appView .bi-tbl{width:100%;border-collapse:collapse;font-size:13px}
#appView .bi-tbl th{padding:0 6px 6px;border-bottom:1px solid var(--line-soft);font-family:var(--font-secondary);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--text-3);text-align:left;text-transform:uppercase;white-space:nowrap}
#appView .bi-tbl td{padding:7px 6px;border-bottom:1px solid var(--line-soft);color:var(--text-2);vertical-align:middle;font-variant-numeric:tabular-nums}
#appView .bi-tbl tr:last-child td{border-bottom:0}
#appView .bi-tbl :is(th,td):first-child{padding-left:0}
#appView .bi-tbl :is(th,td):last-child{padding-right:0}
#appView .bi-tbl .r{text-align:right;white-space:nowrap}
#appView .bi-tbl .strong{color:var(--text-1);font-weight:700}
#appView .bi-tbl .muted{color:var(--text-3)}
#appView .bi-courses td:first-child{max-width:0;width:38%}
#appView .bi-course-name{display:inline-block;max-width:calc(100% - 28px);overflow:hidden;color:var(--text-1);font-weight:600;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}
#appView .bi-courses .bar{width:20%;min-width:120px}
#appView .bi-courses td.bar{display:flex;align-items:center;gap:8px}
#appView .bi-courses td.bar .bi-mini{flex:1;margin:0;height:7px}
#appView .bi-courses td.bar .bi-mini i{background:var(--bi-bar)}
#appView .bi-courses td.bar small{width:32px;text-align:right;color:var(--text-3)}
/* Top 5 em lista quando o cartão é estreito */
@media (max-width:1180px){
  #appView :is(.bi-row-main,.bi-row-courses){grid-template-columns:1fr}
}
#appView .bi-course-avg{display:none}
@media (max-width:600px){
  #appView .bi-courses :is(th,td):nth-child(n+4){display:none}
  #appView .bi-courses td:first-child{width:auto;max-width:none}
  #appView .bi-course-name{max-width:calc(100% - 28px);white-space:normal}
  #appView .bi-course-avg{display:block;margin:2px 0 0 25px;font-size:11.5px;color:var(--text-3)}
}
/* Rosca das formas de pagamento */

/* Recorrência: valor da parcela × total de parcelas dos boletos aprovados.
   Discreta de propósito: o faturado continua sendo o número de destaque. */

/* Faturado do mês em destaque por cor (não por tamanho) */
/* Cores de situação no Início */

/* ===== Início: 6 indicadores do mês ===== */
#appView .kpi-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-2);color:var(--navy)}
#appView .kpi-icon svg{width:17px;height:17px}
#appView .kpi-delta{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
#appView .kpi-delta svg{width:13px;height:13px}
#appView .kpi-delta.up{background:var(--ok-bg);color:var(--ok-fg)}
#appView .kpi-delta.down{background:var(--bad-bg);color:var(--bad-fg)}
#appView .kpi-delta.neutral{background:var(--surface-2);color:var(--text-3)}
#appView .kpi-delta.neutral svg{display:none}
#appView .kpi-track{position:relative;height:7px;margin:7px 0 10px;border-radius:99px;background:var(--line)}
#appView .kpi-track>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--tone-fill,var(--tone,var(--navy)))}
#appView .kpi-track>i{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;background:var(--text-1)}
/* Venda do mês: o destaque é por cor, não por tamanho */
#appView .kpi-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 2px 0;font-size:11.5px;color:var(--text-3)}
#appView .kpi-legend>span{display:inline-flex;align-items:center;gap:6px}
#appView .kpi-legend i{display:inline-block;width:16px;height:0;border-top:2px solid var(--navy)}
html[data-theme="dark"] #appView .kpi-icon{color:#BFE0F7}
html[data-theme="dark"] #appView .kpi-legend i{border-top-color:#7AB8E6}

/* ===== Proposta 1: Destaque + placar ===== */
#appView .p1-hero{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:0;border:1px solid rgba(18,72,189,.24);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}
#appView .p1-hero-main{display:flex;flex-direction:column;gap:10px;padding:20px 22px;background:linear-gradient(160deg,rgba(18,72,189,.10),rgba(18,72,189,.025) 65%);box-shadow:inset 4px 0 0 var(--orange);border-right:1px solid var(--line-soft)}
#appView .p1-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-secondary);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--orange)}
#appView .p1-kicker svg{width:17px;height:17px}
#appView .p1-value{font-family:var(--font-secondary);font-size:44px;font-weight:500;line-height:1;letter-spacing:-.025em;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView .p1-compare{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:12.5px;color:var(--text-3)}
#appView .p1-split{display:grid;gap:6px;margin-top:4px}
#appView .p1-split-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--line)}
#appView .p1-split-bar .q{background:var(--navy)}#appView .p1-split-bar .t{background:var(--orange)}
#appView .p1-split-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--text-3)}
#appView .p1-split-legend span{display:inline-flex;align-items:center;gap:6px}
#appView .p1-split-legend b{color:var(--text-1);font-family:var(--font-secondary);font-weight:600}
#appView .p1-split-legend i{width:9px;height:9px;border-radius:3px}#appView .p1-split-legend i.q{background:var(--navy)}#appView .p1-split-legend i.t{background:var(--orange)}
#appView .p1-goal{margin-top:auto;padding-top:12px;border-top:1px solid rgba(18,72,189,.16)}
#appView .p1-goal-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--text-3)}
#appView .p1-goal-top b{font-size:16px;color:var(--tone,var(--text-1))}
#appView .p1-goal-top em{margin-left:auto;font-style:normal;font-weight:700;color:var(--tone,var(--text-3))}
#appView .p1-goal .kpi-track>span{background:var(--tone-fill,var(--tone,var(--navy)))}
#appView .p1-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
#appView .p1-facts dt{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
#appView .p1-facts dd{margin:2px 0 0;font-family:var(--font-secondary);font-size:15px;font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView :is(.p1-goal,.p2-goal):is(.tone-good,.tone-warn,.tone-bad) .tone-text{color:var(--tone);font-weight:600}
#appView .p1-nogoal{margin:auto 0 0;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:12.5px;color:var(--text-3)}
#appView .p1-hero-chart{min-width:0;padding:16px 18px}
#appView .p1-board{display:grid;margin-top:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}
#appView .p1-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(100px,.9fr) minmax(110px,.8fr) minmax(170px,1.3fr) minmax(90px,.8fr) minmax(100px,.8fr) minmax(100px,.9fr);align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--text-2)}
#appView .p1-row:first-child{border-top:0}
#appView .p1-row.p1-head{padding-block:10px;background:var(--surface-2);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
#appView .p1-row .r{text-align:right;justify-self:end}
#appView .p1-name{display:flex;align-items:center;gap:10px;min-width:0}
#appView .p1-name b{display:block;color:var(--text-1);font-size:14px}
#appView .p1-name small{display:block;font-size:11.5px;color:var(--text-3)}
#appView .p1-num{font-family:var(--font-secondary);font-size:18px;font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView .p1-meta{display:flex;align-items:center;gap:10px}
#appView .p1-proj{font-family:var(--font-secondary);font-weight:600;color:var(--text-1)}
#appView .p1-proj:is(.tone-good,.tone-warn,.tone-bad){color:var(--tone)}
#appView .kpi-bar{position:relative;flex:1;height:7px;border-radius:99px;background:var(--line)}
#appView .kpi-bar>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--tone-fill,var(--tone,var(--navy)))}
#appView .kpi-bar>i{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;background:var(--text-1)}
#appView .kpi-pct{min-width:38px;text-align:right;font-size:12.5px;color:var(--tone,var(--text-1))}
#appView .kpi-nogoal{font-size:12px;color:var(--text-3)}
@media (max-width:1100px){
  #appView .p1-hero{grid-template-columns:1fr}
  #appView .p1-hero-main{border-right:0;border-bottom:1px solid var(--line-soft)}
}
@media (max-width:900px){
  #appView .p1-row.p1-head{display:none}
  #appView .p1-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
  #appView .p1-row>.p1-name{grid-column:1/-1}
  #appView .p1-row>.p1-meta{grid-column:1/-1}
  #appView .p1-row .r{justify-self:start;text-align:left}
  #appView .p1-row>[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
  #appView .p1-row>.p1-meta::before{display:none}
  #appView .p1-value{font-size:38px}
}

html[data-theme="dark"] #appView .p1-value{color:#fff}
html[data-theme="dark"] #appView .p1-hero{border-color:rgba(68,122,238,.3)}
html[data-theme="dark"] #appView .p1-hero-main{background:linear-gradient(160deg,rgba(68,122,238,.15),rgba(68,122,238,.035) 65%);box-shadow:inset 4px 0 0 #447AEE}
html[data-theme="dark"] #appView .p1-kicker{color:#6F98F2}
html[data-theme="dark"] #appView .p1-split-bar .q,html[data-theme="dark"] #appView .p1-split-legend i.q{background:#7AB8E6}

/* Alternância Diário / Mensal */
#appView .period-switch{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
#appView .period-switch button{height:32px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
#appView .period-switch button:hover{color:var(--text-1);background:var(--surface-2)}
#appView .period-switch button.active{background:var(--navy);color:#fff}
#appView .period-switch button:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
html[data-theme="dark"] #appView .period-switch button.active{background:var(--orange);color:var(--on-accent,#fff);background-image:var(--accent-grad)}
/* Barras do modo diário */
#appView .bi-dbar{fill:var(--bi-col);opacity:.28}
#appView .bi-dbar.today{fill:var(--bi-real);opacity:1}
#appView .bi-legend .sq{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--bi-col);opacity:.35}
#appView .bi-legend .sq.today{background:var(--bi-real);opacity:1}
@media (max-width:640px){#appView .bi-tools .period-switch{width:100%}#appView .period-switch button{flex:1}}

/* ---------- Início do gestor: indicadores num bloco + quem vendeu / quem não vendeu ---------- */
#appView .g-ind{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}
#appView .g-ind-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid var(--line-soft)}
#appView .g-ind-head h3{margin:2px 0 0;font-size:17px;color:var(--text-1)}
#appView .g-pace{padding:5px 12px;border-radius:99px;background:var(--surface-2);font-size:12.5px;font-weight:700;color:var(--tone,var(--text-2))}
#appView .g-ind-grid{display:grid;grid-template-columns:1.35fr repeat(5,minmax(0,1fr))}
#appView .g-cell{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px 18px;border-left:1px solid var(--line-soft)}
#appView .g-cell:first-child{border-left:0}
#appView .g-hero{background:linear-gradient(160deg,rgba(18,72,189,.10),rgba(18,72,189,.025) 70%);box-shadow:inset 4px 0 0 var(--orange)}
#appView .g-label{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
#appView .g-label svg{width:15px;height:15px;color:var(--navy)}
#appView .g-hero .g-label{color:var(--orange)}#appView .g-hero .g-label svg{color:var(--orange)}
#appView .g-value{font-family:var(--font-secondary);font-size:24px;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView .g-hero .g-value{font-size:32px}
#appView .g-compare{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11.5px;color:var(--text-3)}
#appView .g-goal{display:grid;gap:5px;margin-top:auto;padding-top:6px}
#appView .g-goal>span{font-size:11.5px;color:var(--text-3)}
#appView .g-goal .kpi-pct{min-width:0;text-align:left;font-size:12.5px}
#appView .g-hint{margin-top:auto;padding-top:6px;font-size:11.5px;color:var(--text-3)}
#appView .g-sellers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;align-items:start}
#appView .g-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}
#appView .g-list header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft)}
#appView .g-list header h3{margin:0;font-size:15px;color:var(--text-1)}
#appView .g-list header small{font-size:12px;color:var(--text-3)}
#appView .g-list header div{flex:1;min-width:0}
#appView .g-list-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}
#appView .g-list-icon svg{width:18px;height:18px}
#appView .is-sold .g-list-icon{background:rgba(22,163,74,.12);color:var(--tone-good)}
#appView .is-not .g-list-icon{background:rgba(234,179,8,.16);color:var(--tone-warn)}
#appView .g-count{font-family:var(--font-secondary);font-size:26px;font-weight:600;color:var(--text-1)}
#appView .is-sold .g-count{color:var(--tone-good)}#appView .is-not .g-count{color:var(--tone-warn)}
#appView .g-list :is(ol,ul){list-style:none;margin:0;padding:4px 0;max-height:430px;overflow:auto}
#appView .g-seller{display:flex;align-items:center;gap:12px;padding:9px 18px;border-bottom:1px solid var(--line-soft)}
#appView .g-seller:last-child{border-bottom:0}
#appView .g-rank{width:18px;font-size:12px;font-weight:700;color:var(--text-3);text-align:right}
#appView .g-avatar{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700}
#appView .g-avatar.muted{background:var(--surface-2);color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line)}
#appView .g-who{flex:1;min-width:0;display:grid;gap:2px}
#appView .g-who b{font-size:13.5px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#appView .g-who small{font-size:11.5px;color:var(--text-3)}
#appView .g-mini{display:block;height:4px;margin-top:3px;border-radius:99px;background:var(--line)}
#appView .g-mini>span{display:block;height:100%;border-radius:99px;background:var(--tone-good-fill,#16A34A)}
#appView .g-amount{min-width:86px;text-align:right;font-family:var(--font-secondary);font-size:15px;font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView .g-tag{flex:none;padding:3px 9px;border-radius:99px;background:var(--surface-2);font-size:11px;font-weight:700;color:var(--text-3)}
#appView .g-tag.warn{background:rgba(234,179,8,.16);color:var(--tone-warn)}
#appView .g-empty{padding:22px 18px;font-size:13px;color:var(--text-3);text-align:center}
@media (max-width:1180px){#appView .g-ind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#appView .g-cell:nth-child(n+4){border-top:1px solid var(--line-soft)}#appView .g-cell:nth-child(4){border-left:0}}
@media (max-width:760px){
  #appView .g-ind-head{flex-direction:column;align-items:flex-start}
  #appView .g-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #appView .g-hero{grid-column:1/-1}
  #appView .g-cell{border-left:0;border-top:1px solid var(--line-soft)}
  #appView .g-cell:nth-child(odd):not(.g-hero){border-left:1px solid var(--line-soft)}
  #appView .g-cell:nth-child(n+2){border-top:1px solid var(--line-soft)}
}
html[data-theme="dark"] #appView .g-value{color:#fff}
html[data-theme="dark"] #appView .g-label svg{color:#BFE0F7}
html[data-theme="dark"] #appView .g-hero{background:linear-gradient(160deg,rgba(68,122,238,.15),rgba(68,122,238,.035) 70%);box-shadow:inset 4px 0 0 #447AEE}
html[data-theme="dark"] #appView .g-hero .g-label,html[data-theme="dark"] #appView .g-hero .g-label svg{color:#6F98F2}
html[data-theme="dark"] #appView .g-avatar{background:#303136;color:#fff}

/* Gavetas de vendedores (gestor): clicar no cabeçalho abre/fecha; cada linha com Boleto, Cartão, Taxa, Faturado e Total. */
#appView .g-drawer>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;user-select:none}
#appView .g-drawer>summary::-webkit-details-marker{display:none}
#appView .g-drawer>summary h3{margin:0;font-size:15px;color:var(--text-1)}
#appView .g-drawer>summary small{font-size:12px;color:var(--text-3)}
#appView .g-drawer>summary>div{flex:1;min-width:0}
#appView .g-drawer>summary:hover{background:var(--surface-2)}
#appView .g-drawer>summary:focus-visible{outline:2px solid var(--brand,#0B5CAB);outline-offset:-2px}
#appView .g-drawer[open]>summary{border-bottom:1px solid var(--line-soft)}
#appView .g-chevron{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--text-3);transition:transform .2s ease}
#appView .g-chevron svg{width:18px;height:18px}
#appView .g-drawer[open] .g-chevron{transform:rotate(180deg)}
#appView .g-table{max-height:460px;overflow:auto}
#appView .g-row{display:grid;grid-template-columns:minmax(0,2.1fr) repeat(5,minmax(0,1fr));align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--line-soft)}
#appView .g-drawer .g-col-name{gap:10px}
#appView .g-drawer .g-avatar{width:30px;height:30px;font-size:11px}
#appView .g-drawer .g-rank{width:14px}
#appView .g-drawer .g-who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#appView .g-drawer .g-who small .warn{color:var(--tone-warn);font-weight:700}
#appView .g-row:last-child{border-bottom:0}
#appView .g-thead{position:sticky;top:0;z-index:1;background:var(--surface-2);padding-top:8px;padding-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
#appView .g-col-name{display:flex;align-items:center;gap:12px;min-width:0}
#appView .g-num{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-2);white-space:nowrap}
#appView .g-seller .g-num.is-key{font-family:var(--font-secondary);font-size:13.5px;font-weight:600;color:var(--text-1)}
#appView .is-not .g-seller .g-num{color:var(--text-3)}
#appView .g-tfoot{background:var(--surface-2);font-weight:700}
#appView .g-tfoot .g-col-name{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
#appView .g-tfoot .g-num{color:var(--text-1);font-weight:700}
#appView .g-thead .g-num{font-size:11px;color:var(--text-3)}
@media (max-width:1180px){#appView .g-sellers{grid-template-columns:1fr}}
@media (max-width:760px){
  #appView .g-thead{display:none}
  #appView .g-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:12px 16px}
  #appView .g-col-name{grid-column:1/-1}
  #appView .g-num{text-align:left;display:grid;gap:1px;font-size:13px}
  #appView .g-num::before{content:attr(data-label);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
  #appView .g-seller .g-num.is-key{font-size:14px}
}

/* Gavetas do gestor: top 4 visível, rolagem "de cassino" ao passar o mouse e "Mostrar todos" */
#appView .g-drawer .g-table{max-height:none;overflow:visible}
#appView .g-rows.is-limited{overflow-y:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent)}
#appView .g-rows.is-limited:hover{overflow-y:auto}
#appView .g-rows.is-limited.at-end,#appView .g-rows.is-expanded{-webkit-mask-image:none;mask-image:none}
#appView .g-rows.is-limited>.g-row{scroll-snap-align:start}
#appView .g-rows>.g-row:last-child{border-bottom:0}
#appView .g-rows.is-expanded{overflow:visible}
#appView .g-more{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--accent-text);font:650 12.5px var(--font-primary);cursor:pointer;border-radius:0 0 16px 16px}
#appView .g-more:hover{background:var(--accent-soft,#F6F9FE)}
#appView .g-more svg{width:15px;height:15px;transition:transform .15s ease}
#appView .g-more[aria-expanded="true"] svg{transform:rotate(180deg)}
@media (hover:none){#appView .g-rows.is-limited{overflow-y:auto}}

/* Gavetas fixas (sempre abertas, top 4): cabeçalho fino numa linha só */
#appView .g-fixed-head{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;border-bottom:1px solid var(--line-soft)}
#appView .g-fixed-head .g-list-icon{width:28px;height:28px;border-radius:8px}
#appView .g-fixed-head .g-list-icon svg{width:16px;height:16px}
#appView .g-fixed-head h3{margin:0;font-size:14.5px;font-weight:700;color:var(--text-1);white-space:nowrap}
#appView .g-fixed-head .g-count{min-width:26px;height:22px;display:inline-grid;place-items:center;padding:0 8px;border-radius:999px;font:700 12.5px var(--font-primary)}
#appView .is-sold .g-fixed-head .g-count{background:rgba(22,163,74,.12)}
#appView .is-not .g-fixed-head .g-count{background:rgba(234,179,8,.16)}
#appView .g-fixed-head small{margin-left:auto;font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#appView .g-fixed .g-thead{padding-top:7px;padding-bottom:7px}

/* Top 5 por indicador (Início do gestor) */
#appView .t5{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;margin-top:16px}
#appView .t5 .g-ind-head{align-items:flex-end}
#appView .t5-note{color:var(--text-3);font-size:12.5px}
#appView .t5-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#appView .t5-col{padding:14px 18px 16px;min-width:0}
#appView .t5-col+.t5-col{border-left:1px solid var(--line-soft)}
#appView .t5-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#appView .t5-title b{display:block;font-size:14px;color:var(--text-1)}
#appView .t5-title small{display:block;font-size:11.5px;color:var(--text-3)}
#appView .t5-ico{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--t5);background:color-mix(in srgb,var(--t5) 13%,transparent)}
#appView .t5-ico svg{width:15px;height:15px}
#appView .t5-row{display:grid;grid-template-columns:22px minmax(0,1fr) calc(var(--t5-vw,8ch) + 2px);gap:10px;align-items:center;padding:7px 0}
#appView .t5-row+.t5-row{border-top:1px dashed var(--line-soft)}
#appView .t5-rank{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text-2);background:var(--soft)}
#appView .t5-row.is-lead .t5-rank{background:#ECF1FD;color:#0D368F}
html[data-theme="dark"] #appView .t5-row.is-lead .t5-rank{background:rgba(19,79,208,.18)}
#appView .t5-name{min-width:0}
#appView .t5-name b{display:block;font-size:13.5px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#appView .t5-row.is-lead .t5-name b{font-weight:800}
#appView .t5-bar{display:block;height:4px;border-radius:4px;background:var(--line-soft);margin-top:5px;overflow:hidden}
#appView .t5-bar i{display:block;height:100%;border-radius:4px;background:color-mix(in srgb,var(--t5) 45%,transparent)}
#appView .t5-row.is-lead .t5-bar i{background:var(--t5)}
#appView .t5-val{text-align:right;font-weight:800;font-size:13.5px;color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap}
#appView .t5-empty{margin:10px 0 4px;font-size:13px;color:var(--text-3)}
#appView .g-month-note{margin:16px 2px -6px;font-size:12.5px;color:var(--text-3)}
html[data-theme="dark"] #appView .t5-row.is-lead .t5-rank{color:#6F98F2}
@media (max-width:1180px){#appView .t5-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#appView .t5-col:nth-child(3){border-left:0}#appView .t5-col:nth-child(n+3){border-top:1px solid var(--line-soft)}}
#appView .t5-dots{display:none}
@media (max-width:640px){
  #appView .t5-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #appView .t5-grid::-webkit-scrollbar{display:none}
  #appView .t5-col{flex:0 0 88%;scroll-snap-align:start;border-top:0!important}
  #appView .t5-col+.t5-col{border-left:1px solid var(--line-soft)}
  #appView .t5 .g-ind-head{flex-direction:column;align-items:flex-start}
  #appView .t5-dots{display:flex;justify-content:center;gap:6px;padding:0 0 12px}
  #appView .t5-dots i{width:6px;height:6px;border-radius:6px;background:var(--line);transition:width .2s,background .2s}
  #appView .t5-dots i.on{width:18px;background:var(--orange)}
}
