/* rizmo-css:assets/rizmo/tokens.css */
/* RIZMO v2 — tokens semânticos. Um design RIZMO. Cliente varia apenas nome/logo; claro/escuro são modos do produto. */
.rizmo-ui{color-scheme:light;--rz-bg:#f4f5f2;--rz-surface:#fff;--rz-surface-alt:#eceee9;--rz-text:#19221e;--rz-muted:#56605a;--rz-line:#d3d9d2;--rz-accent:#17634e;--rz-accent-text:#fff;--rz-accent-soft:#e0eee7;--rz-danger:#a42e31;--rz-success:#21613d;--rz-warning:#805900;--rz-focus:#17634e;--rz-radius:12px;--rz-radius-small:7px;--rz-space-1:4px;--rz-space-2:8px;--rz-space-3:12px;--rz-space-4:16px;--rz-space-6:24px;--rz-space-8:32px;--rz-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--rz-font-display:var(--rz-font);--rz-shadow:0 16px 50px #172a2414}
[data-theme=dark] .rizmo-ui,.rizmo-ui[data-theme=dark]{color-scheme:dark;--rz-bg:#101714;--rz-surface:#18221d;--rz-surface-alt:#223028;--rz-text:#f1f4ee;--rz-muted:#afbcb2;--rz-line:#405147;--rz-accent:#a8dfbd;--rz-accent-text:#14251a;--rz-accent-soft:#263f31;--rz-danger:#ffaca8;--rz-success:#a8dfbd;--rz-warning:#f1cc7b;--rz-focus:#a8dfbd;--rz-shadow:0 16px 50px #0003}

/* RIZMO identity: opt-in during the six-PR rollout; one source of brand values. */
:where(.rizmo-identity),
:where(#znx-update-banner),
:where(div:has(>div>.card>form #login-company)),
:where(.rl-page),
:where(.empresa360),
:where(.dashboard-v3),
:where(.gp-page),
:where(.regional-v3),
:where(.stat-card,.dashboard-v3 .home-number),
:where(.btn-gold,.btn-outline,.home-link,.home-list-action,.rizmo-action-link){
  --ink-950:#0B1220;
  --ink-900:#111A2C;
  --ink-300:#C9D2E3;
  --ink-400:#8A94A8;
  --copper-600:#A4521E;
  --copper-700:#8C4418;
  --copper-400:#E8955A;
  --copper-50:#FBF1EA;
  --bg:#F7F8FA;
  --surface:#FFFFFF;
  --border:#E4E7EC;
  --text:#0F172A;
  --text-muted:#5B6474;
  --success:#15803D;
  --warning:#B45309;
  --danger:#B91C1C;
  --brand-font:Inter,system-ui,-apple-system,sans-serif;
  --font-12:12px;--font-14:14px;--font-16:16px;--font-20:20px;--font-24:24px;--font-32:32px;
}

/* rizmo-css:assets/rizmo/system.css */
/* RIZMO · sistema comum (docs/MOLDE_VISUAL_RIZMO.md). Só tokens de tokens.css; escopo .rz-page (que também leva .rizmo-identity).
   Componentes: js/components/common/rizmo/*.jsx (PageHeader, StatRow, FilterBar, DataTable, EmptyState, LoadingState, ErrorState)
   + Tabs variant="rizmo". Prefixo rz-; nada aqui colide com rz-sales-* / rz-sale-* (Venda 360, modais) nem com .rizmo-ui. */
.rz-page{font-family:var(--brand-font);color:var(--text);font-size:14px;line-height:1.5;max-width:1440px;margin:0 auto;min-width:0}
.rz-page *{box-sizing:border-box}
.rz-page h1{font-size:var(--font-32);margin:2px 0;letter-spacing:-.02em;line-height:1.15;color:var(--ink-950)}
.rz-page h2{font-size:var(--font-20);margin:0 0 4px;color:var(--ink-950)}
.rz-page h3{font-size:var(--font-16);margin:0 0 8px;color:var(--ink-950)}
.rz-page small{color:var(--text-muted);font-size:12px}
.rz-page button,.rz-page input,.rz-page select{font:inherit;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:8px 12px;max-width:100%;touch-action:manipulation}
.rz-page button{cursor:pointer;font-weight:600;transition:background-color .15s,border-color .15s,transform .15s}
.rz-page button:hover:not(:disabled){border-color:var(--copper-600)}
.rz-page button:active:not(:disabled){transform:scale(.98)}
.rz-page button:disabled{opacity:.45;cursor:not-allowed}
.rz-page :focus-visible{outline:3px solid var(--copper-600);outline-offset:2px}
.rz-page .rz-primary{background:var(--ink-950);color:var(--surface);border-color:var(--ink-950)}
.rz-page .rz-primary:hover:not(:disabled){background:var(--ink-900);border-color:var(--ink-900)}
.rz-page .rz-danger{color:var(--danger);border-color:var(--danger)}
.rz-page .rz-danger:hover:not(:disabled){background:var(--danger);color:var(--surface)}
.rz-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-600)}
.rz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rz-note{display:block;color:var(--text-muted);font-size:12px;line-height:1.4}
.rz-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.rz-page .rz-status[data-tone=success]{color:var(--success)}.rz-page .rz-status[data-tone=warning]{color:var(--warning)}.rz-page .rz-status[data-tone=danger]{color:var(--danger)}.rz-page .rz-status[data-tone=accent]{color:var(--copper-600)}

/* 1. PageHeader */
.rz-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.rz-head>div{min-width:0}
.rz-head p{margin:4px 0 0;color:var(--text-muted)}
.rz-head .rz-count{font-size:var(--font-14);font-weight:500;letter-spacing:0;color:var(--text-muted);margin-left:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rz-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.rz-head-actions button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}

/* 2. StatRow */
.rz-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 8px}
.rz-stats>div,.rz-page .rz-stats>.rz-stat-btn{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;min-width:0}
.rz-page .rz-stats>.rz-stat-btn{display:block;text-align:left;font-weight:inherit;min-height:0}
.rz-page .rz-stats>.rz-stat-btn[aria-pressed=true]{border-color:var(--copper-600);box-shadow:inset 0 0 0 1px var(--copper-600)}
.rz-stats dt{font-size:12px;color:var(--text-muted)}
.rz-stats dd{margin:6px 0 0;font-size:24px;font-weight:750;line-height:1.2;letter-spacing:-.01em;color:var(--ink-950);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rz-stats small{display:block;margin-top:6px}
.rz-stats>[data-tone=success] dd{color:var(--success)}.rz-stats>[data-tone=warning] dd{color:var(--warning)}.rz-stats>[data-tone=danger] dd{color:var(--danger)}.rz-stats>[data-tone=accent] dd{color:var(--copper-600)}
.rz-stats-note{margin:0 0 16px;font-size:12px;color:var(--text-muted)}

/* 3. FilterBar */
.rz-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.rz-filters label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted);min-width:0}
.rz-filters .rz-search{flex:1;min-width:200px}
.rz-filters input,.rz-filters select{width:100%;min-width:0}
.rz-filters input[type=date]{min-width:150px}
.rz-filters .rz-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:500;cursor:pointer}
.rz-filters .rz-check input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--copper-600)}
.rz-filter-group{display:flex;gap:6px;flex-wrap:wrap}
.rz-page .rz-filter-group button[aria-pressed=true],.rz-page .rz-filters .rz-today[aria-pressed=true]{background:var(--ink-950);color:var(--surface);border-color:var(--ink-950)}
.rz-page .rz-filter-group button[data-tone=danger][aria-pressed=true]{background:var(--copper-700);border-color:var(--copper-700)}
.rz-filters .rz-count{display:flex;align-items:center;min-height:44px;font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}

/* 6. Tabs variant="rizmo" (js/components/widgets/Tabs.jsx) */
.rz-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto}
.rz-page .rz-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--text-muted);white-space:nowrap}
.rz-page .rz-tabs button:hover:not(:disabled):not([aria-current]){border-bottom-color:var(--copper-400)}
.rz-page .rz-tabs button[aria-current=page]{color:var(--ink-950);border-bottom-color:var(--copper-600)}
.rz-tabs button span{color:var(--text-muted);font-weight:500;margin-left:4px;font-variant-numeric:tabular-nums}

/* Card */
.rz-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px;min-width:0}

/* Peças genéricas de linha (Vendas e Orçamentos): menu ⋯ (details/summary), preço riscado/líquido/crédito, chip de fidelidade */
.rz-menu{position:relative}
.rz-page .rz-menu summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;list-style:none;font-size:20px;line-height:1;font-weight:700;touch-action:manipulation}
.rz-menu summary::-webkit-details-marker{display:none}
.rz-page .rz-menu summary:hover{border-color:var(--copper-600)}
.rz-menu-items{position:absolute;z-index:30;right:0;top:calc(100% + 4px);min-width:200px;padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink-950) 13%,transparent)}
.rz-page .rz-menu-items button{width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px}
.rz-strike{display:block;text-decoration:line-through;color:var(--text-muted);font-size:11px}
.rz-net{display:block;font-weight:700;color:var(--ink-950)}
.rz-credit{display:block;font-size:11px;font-weight:600;color:var(--success)}
.rz-loyalty{margin-left:5px;font-size:11px;font-weight:700;color:var(--copper-700);white-space:nowrap;cursor:help}

/* 4. DataTable (celular vira cartão em ≤700px) */
.rz-table-wrap{overflow-x:auto;min-width:0}
.rz-table{width:100%;border-collapse:collapse;font-size:13px}
.rz-table th,.rz-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;color:var(--text);font-size:13px;line-height:1.5}
.rz-table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg);white-space:nowrap}
.rz-table tbody tr:hover>td{background:color-mix(in srgb,var(--copper-50) 60%,transparent)}
.rz-page .rz-table thead th button{min-height:32px;padding:2px 4px;border:0;border-radius:4px;background:transparent;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.rz-page .rz-table thead th[aria-sort=ascending] button,.rz-page .rz-table thead th[aria-sort=descending] button{color:var(--ink-950)}
.rz-table thead th button+button{margin-left:6px}
.rz-table .rz-num{text-align:right}
.rz-page .rz-more{display:block;margin:12px auto 0}

/* 5. Estados */
.rz-empty{padding:28px 20px;text-align:center;background:var(--bg);border-radius:10px}
.rz-empty h3{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--text)}
.rz-empty[data-tone=success] h3{color:var(--success)}
.rz-empty p{font-size:13px;color:var(--text-muted);margin:0;overflow-wrap:anywhere}
.rz-empty button{margin-top:14px}
.rz-skeleton{display:grid;gap:16px}
.rz-skeleton i{display:block;height:140px;border-radius:14px;background:linear-gradient(90deg,var(--border),var(--bg),var(--border));background-size:200% 100%;animation:rz-shimmer 1.2s linear infinite}
@keyframes rz-shimmer{to{background-position:-200% 0}}
.rz-error{text-align:center}
.rz-error p{color:var(--danger);overflow-wrap:anywhere}

/* 2b. StatRow clicável (finance.Cards variant="rizmo"): mesmos números, cada cartão é um botão que filtra */
.rz-stats-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 8px}
.rz-page .rz-stats-actions>button{display:grid;gap:6px;align-content:start;text-align:left;padding:14px;border-radius:12px;font-weight:400}
.rz-stats-actions>button>span{font-size:12px;color:var(--text-muted)}
.rz-stats-actions>button>strong{font-size:24px;font-weight:750;line-height:1.2;letter-spacing:-.01em;color:var(--ink-950);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rz-stats-actions>button[data-tone=danger]>strong{color:var(--danger)}.rz-stats-actions>button[data-tone=warning]>strong{color:var(--warning)}
.rz-stats-actions>button[aria-pressed=true]{border-color:var(--copper-600);box-shadow:inset 0 0 0 1px var(--copper-600)}

/* 7. [cc/dash-papeis 14/10] Barra de progresso (.rz-meter), lista de ações clicáveis (.rz-actions) e selo (.rz-badge).
   Peças do kit usadas pelos dashboards por papel; só tokens, cor sempre junto de texto, animação desligada em reduced-motion. */
.rz-meter{position:relative;height:14px;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}
.rz-meter>i{display:block;height:100%;border-radius:inherit;background:var(--copper-600);transform-origin:left center;animation:rz-grow-x .9s cubic-bezier(.2,.7,.2,1) both}
.rz-meter[data-tone=success]>i{background:var(--success)}
@keyframes rz-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rz-actions{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.rz-actions>li{display:flex;gap:8px;align-items:stretch;min-width:0}
.rz-page .rz-action{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;text-align:left;padding:10px 12px;border-radius:12px;background:var(--surface);font-weight:400}
.rz-action>b{font-size:14px;font-weight:650;color:var(--ink-950);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rz-action>span{grid-column:1;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}
.rz-action>.rz-badge{grid-column:2;grid-row:1/span 2}
.rz-actions>li[data-tone=danger]>.rz-action{border-left:4px solid var(--danger)}
.rz-actions>li[data-tone=warning]>.rz-action{border-left:4px solid var(--warning)}
.rz-actions>li[data-tone=success]>.rz-action{border-left:4px solid var(--success)}
.rz-page .rz-action-side{flex:none;border-radius:12px;color:var(--ink-950)}
.rz-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;font-style:normal;letter-spacing:.02em;white-space:nowrap;background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}
.rz-badge[data-tone=success]{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));border-color:color-mix(in srgb,var(--success) 30%,transparent)}
.rz-badge[data-tone=warning]{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--surface));border-color:color-mix(in srgb,var(--warning) 30%,transparent)}
.rz-badge[data-tone=danger]{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-color:color-mix(in srgb,var(--danger) 28%,transparent)}
.rz-badge[data-tone=accent]{color:var(--copper-700);background:var(--copper-50);border-color:color-mix(in srgb,var(--copper-600) 30%,transparent)}
@media(prefers-reduced-motion:reduce){.rz-meter>i{animation:none}}

/* Paginação existente (Anterior · Página N de M · Próxima) quando a página já pagina por conta própria */
.rz-pager{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0;font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}

/* Ponte para modais legados dentro de .rz-page (btn-gold/btn-outline/btn-danger continuam com a identidade) */
.rz-page button.btn-gold{background:var(--copper-600);color:var(--surface);border-color:var(--copper-600)}
.rz-page button.btn-gold:hover:not(:disabled){background:var(--copper-700);border-color:var(--copper-700)}
.rz-page button.btn-gold:disabled{background:var(--border);color:var(--text-muted);border-color:var(--border)}
.rz-page button.rizmo-action-success{background:var(--success);border-color:var(--success)}
.rz-page button.btn-danger{color:var(--danger);border-color:var(--danger)}

@media(max-width:700px){
  .rz-page h1{font-size:var(--font-24)}
  .rz-page input,.rz-page select{font-size:16px}
  .rz-head{align-items:flex-start}
  .rz-head-actions{width:100%}.rz-head-actions button{flex:1;justify-content:center}
  .rz-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rz-stats>div,.rz-page .rz-stats>.rz-stat-btn{padding:10px}.rz-stats dd{font-size:18px}
  .rz-stats-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rz-page .rz-stats-actions>button{padding:10px}.rz-stats-actions>button>strong{font-size:18px}
  .rz-filters>label{flex:1 1 calc(50% - 10px)}.rz-filters .rz-search{flex-basis:100%}
  .rz-card{padding:14px}
  .rz-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .rz-table,.rz-table tbody,.rz-table tr,.rz-table td{display:block;width:100%}
  .rz-table tr{border:1px solid var(--border);border-radius:12px;padding:10px;margin-bottom:10px;background:var(--surface)}
  .rz-table tbody tr:hover>td{background:transparent}
  /* Cartão: rótulo (data-l) à esquerda, conteúdo (texto ou vários filhos empilhados) à direita */
  .rz-table td{border:0;padding:4px 0;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;justify-items:end;text-align:right}
  .rz-table td[data-l]::before{content:attr(data-l);grid-column:1;grid-row:1;justify-self:start;font-size:12px;color:var(--text-muted);text-align:left;white-space:nowrap}
  .rz-table td[data-l=""]::before{content:none}
  .rz-table td>*{grid-column:2;max-width:100%}
  .rz-table td[colspan]{display:block;text-align:left}
}
@media(prefers-reduced-motion:reduce){.rz-skeleton i{animation:none}.rz-page button{transition:none}}

/* rizmo-css:assets/rizmo/charts.css */
/* assets/rizmo/charts.css — biblioteca de gráficos RIZMO (js/components/common/rizmo/charts/*). Só tokens de tokens.css
   (bloco .rizmo-identity): cobre = atual/intensidade, --ink-400 = período anterior (3:1 sobre branco), sem gradiente, sem 3D.
   Animação só em transform/opacity e desligada com prefers-reduced-motion (o componente também marca data-motion="off"). */
.rz-chart{margin:0;min-width:0;font-variant-numeric:tabular-nums}
.rz-chart :focus-visible{outline:3px solid var(--copper-600);outline-offset:2px}
.rz-chart button{min-height:0;font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* ── Entrada: barras crescem escalonadas, linha se desenha, quadrados aparecem ── */
.rz-chart[data-motion=on] .rz-ch-grow{transform-origin:center bottom;animation:rzChGrow .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 35ms)}
@keyframes rzChGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.rz-chart[data-motion=on] .rz-spark-line{stroke-dasharray:1;stroke-dashoffset:1;animation:rzChDraw 1.2s cubic-bezier(.4,0,.2,1) .15s forwards}
@keyframes rzChDraw{to{stroke-dashoffset:0}}
.rz-chart[data-motion=on] .rz-heat-cell{animation:rzChFade .5s ease both;animation-delay:calc(var(--i,0) * 30ms)}
@keyframes rzChFade{from{opacity:0}to{opacity:1}}
.rz-chart[data-motion=on] .rz-ch-tip{animation:rzChFade .15s ease both}
@media (prefers-reduced-motion:reduce){.rz-chart,.rz-chart *{animation:none!important;transition:none!important}}

/* ── Tooltip (role=tooltip): ancorado no item, lado escolhido para não sair da tela ── */
.rz-ch-tip{position:absolute;z-index:5;display:flex;flex-direction:column;gap:2px;width:max-content;max-width:min(240px,72vw);padding:8px 10px;border-radius:8px;
  background:var(--ink-950);color:var(--surface);font-size:12px;line-height:1.4;font-weight:500;text-align:left;box-shadow:0 8px 24px #0002;pointer-events:none;white-space:normal}
.rz-ch-tip b{font-size:12px;font-weight:700}
.rz-ch-tip span{display:flex;align-items:center;gap:6px}
.rz-ch-tip[data-side=center]{transform:translateX(-50%)}
.rz-ch-tip[data-side=start]{transform:translateX(-22px)}
.rz-ch-tip[data-side=end]{transform:translateX(calc(-100% + 22px))}
.rz-ch-tip[data-place=above]{margin-top:-6px;translate:0 -100%}
.rz-ch-tip[data-place=below]{margin-top:6px}
.rz-ch-tip[data-place=in]{margin-top:4px}

/* ── Legenda e rolagem horizontal (celular) ── */
.rz-ch-legend{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0 0 8px;padding:0;font-size:12px;color:var(--text-muted)}
.rz-ch-legend li{display:flex;align-items:center;gap:6px}
.rz-chart i[data-s]{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
.rz-chart i[data-s=a]{background:var(--copper-600)}
.rz-chart i[data-s=b]{background:var(--ink-400)}
.rz-ch-scroll{overflow-x:auto;overflow-y:hidden;max-width:100%;overscroll-behavior-x:contain}
.rz-ch-inner{--slot:0px;min-width:calc(var(--n) * var(--slot))}

/* ── BarPair ── */
.rz-bpair-plot{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:stretch;
  background:repeating-linear-gradient(to top,var(--border) 0 1px,transparent 1px 25%)}
.rz-chart .rz-bpair-slot{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px;min-width:0;min-height:44px;padding:0 1px;border-radius:6px}
.rz-chart .rz-bpair-slot:hover,.rz-chart .rz-bpair-slot[aria-pressed=true]{background:var(--copper-50)}
.rz-bpair-bar{display:block;width:min(34%,14px);min-height:0;border-radius:2px 2px 0 0}
.rz-bpair-bar[data-s=a]{background:var(--copper-600)}
.rz-bpair-bar[data-s=b]{background:var(--ink-400)}
.rz-bpair-slot[aria-pressed=true] .rz-bpair-bar[data-s=a]{background:var(--copper-700)}
.rz-ch-x{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:4px;font-size:10px;color:var(--text-muted);text-align:center}
.rz-ch-x [data-on]{font-weight:800;color:var(--copper-700)}

/* ── LinePair (2 linhas por cima dos dias clicáveis do BarPair) ── */
.rz-lpair-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.rz-lpair-l{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.rz-lpair-l[data-s=a]{stroke:var(--copper-600)}
.rz-lpair-l[data-s=b]{stroke:var(--ink-400)}
.rz-chart .rz-lpair-slot{align-items:stretch}
.rz-lpair-dot{position:absolute;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;opacity:0;pointer-events:none}
.rz-lpair-dot[data-s=a]{background:var(--copper-700)}.rz-lpair-dot[data-s=b]{background:var(--ink-500,var(--ink-400))}
.rz-lpair-slot:hover .rz-lpair-dot,.rz-lpair-slot[aria-pressed=true] .rz-lpair-dot,.rz-lpair-slot:focus-visible .rz-lpair-dot{opacity:1}

/* ── MonthBars ── */
.rz-mbars{color:var(--text)}
.rz-mbars[data-tone=dark]{color:var(--surface)}
.rz-mbars-row{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:10px;align-items:end}
.rz-chart .rz-mbars-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0;min-height:44px;padding:6px 2px;border-radius:10px;text-align:center}
.rz-chart .rz-mbars-col:hover,.rz-chart .rz-mbars-col[aria-pressed=true]{background:var(--copper-50)}
.rz-mbars[data-tone=dark] .rz-mbars-col:hover,.rz-mbars[data-tone=dark] .rz-mbars-col[aria-pressed=true]{background:color-mix(in srgb,var(--copper-400) 14%,transparent)}
.rz-mbars[data-tone=dark] :focus-visible{outline-color:var(--copper-400)}
.rz-mbars[data-tone=dark] .rz-ch-tip{background:var(--surface);color:var(--ink-950)}
.rz-mbars-delta{min-height:16px;font-size:11px;font-weight:700;color:var(--text-muted)}
.rz-mbars-delta[data-good=true]{color:var(--success)}
.rz-mbars-delta[data-good=false]{color:var(--danger)}
.rz-mbars[data-tone=dark] .rz-mbars-delta{color:var(--ink-300)}
.rz-mbars[data-tone=dark] .rz-mbars-delta[data-good=true]{color:color-mix(in srgb,var(--success) 40%,var(--surface))}
.rz-mbars[data-tone=dark] .rz-mbars-delta[data-good=false]{color:color-mix(in srgb,var(--copper-400) 60%,var(--surface))}
.rz-mbars-val{font-size:13px;font-weight:800;white-space:nowrap}
.rz-mbars-track{position:relative;display:flex;align-items:flex-end;width:100%;max-width:54px}
.rz-mbars-bar{position:relative;display:block;width:100%;border-radius:10px 10px 4px 4px;background:var(--copper-600)}
.rz-mbars-col[aria-pressed=true] .rz-mbars-bar{background:var(--copper-700);box-shadow:0 0 0 3px var(--copper-50)}
.rz-mbars[data-tone=dark] .rz-mbars-col[aria-pressed=true] .rz-mbars-bar{background:var(--copper-400);box-shadow:none}
.rz-mbars-proj{position:absolute;left:0;right:0;bottom:0;box-sizing:border-box;border:2px dashed var(--copper-400);border-radius:10px 10px 4px 4px}
.rz-mbars-name{font-size:12px;font-weight:700}
.rz-mbars-col[aria-pressed=true] .rz-mbars-name{color:var(--copper-700)}
.rz-mbars[data-tone=dark] .rz-mbars-col[aria-pressed=true] .rz-mbars-name{color:var(--copper-400)}
.rz-mbars-sub{max-width:100%;font-size:11px;line-height:1.3;color:var(--text-muted);overflow-wrap:anywhere}
.rz-mbars[data-tone=dark] .rz-mbars-sub{color:var(--ink-300)}

/* ── Heatmap ── */
.rz-heat-wrap{position:relative;min-width:520px}
.rz-heat-table{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed}
.rz-heat-table thead th{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center;padding:0}
.rz-heat-table thead td,.rz-heat-table tbody th{width:38px}
.rz-heat-table tbody th{font-size:12px;font-weight:700;color:var(--text);text-align:left;padding:0}
.rz-heat-cell{height:30px;padding:0;border-radius:6px;text-align:center;font-size:10px;font-weight:800;color:var(--surface);cursor:default;
  background:color-mix(in srgb,var(--copper-600) calc(8% + var(--k) * 92%),var(--surface))}
.rz-heat-cell[data-zero]{background:var(--bg)}
.rz-heat-cell:hover{box-shadow:inset 0 0 0 2px var(--ink-950)}

/* ── Spark ── */
.rz-spark{display:inline-block;vertical-align:middle;overflow:visible;color:var(--copper-600)}
.rz-spark-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rz-spark-dot{fill:currentColor}

/* ── Celular: cada dia ganha 44px de alvo e o gráfico rola sozinho (a página não) ── */
@media (max-width:700px){
  .rz-ch-inner{--slot:44px}
  .rz-mbars-row{gap:4px}
  .rz-mbars-val{font-size:12px}
  .rz-mbars-sub,.rz-mbars-delta{font-size:10px}
}

/* rizmo-css:assets/rizmo/sidebar-identity.css */
/* Only the sidebar is opted in; preserve the shell width/position and existing handlers. */
.sidebar.rizmo-identity{background:var(--ink-950);color:var(--ink-300);font-family:var(--brand-font);font-variant-numeric:tabular-nums}
.sidebar.rizmo-identity .sidebar-brand{padding:24px 18px 16px;border-bottom:1px solid var(--ink-900)}
.sidebar.rizmo-identity .sidebar-logo{font-size:var(--font-24);font-weight:700;color:var(--surface);letter-spacing:.08em}
.sidebar.rizmo-identity .sidebar-logo::after{content:".";color:var(--copper-400)}
.sidebar.rizmo-identity .sidebar-tagline{font-size:var(--font-12);font-weight:400;color:var(--ink-400);letter-spacing:2px;margin-top:2px}
.sidebar.rizmo-identity .sidebar-online{font-size:var(--font-12);font-weight:400;color:var(--ink-300);margin-top:4px;display:flex;align-items:center;gap:4px}
.sidebar.rizmo-identity .sidebar-online-dot{width:6px;height:6px;border-radius:50%;background:var(--success);display:inline-block}
.sidebar.rizmo-identity .nav-section{color:var(--ink-400);font-family:var(--brand-font);font-size:var(--font-12);font-weight:700}
.sidebar.rizmo-identity .nav-item{color:var(--ink-300);font-family:var(--brand-font);font-size:var(--font-14);font-weight:600;min-height:44px}
.sidebar.rizmo-identity .nav-item:hover{background:var(--ink-900);color:var(--surface)}
.sidebar.rizmo-identity .nav-item.active{background:var(--ink-900);color:var(--surface);border-left-color:var(--copper-400)}
.sidebar.rizmo-identity .sidebar-badge{margin-left:auto;background:var(--danger);color:var(--surface);font-size:var(--font-12);font-weight:600;padding:2px 7px;border-radius:999px;animation:znx-pulse 2s ease-in-out infinite;min-width:18px;text-align:center}
.sidebar.rizmo-identity .sidebar-lucide{flex-shrink:0}
@media(max-width:700px){.sidebar.rizmo-identity .nav-item{font-size:var(--font-16)}}

