/* Lance · gCRM 4.8 · Gestão: Resultados (4 abas) e Report. Usa os tokens do 4.7; claro e escuro. */
.rs-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.rs-seg button { white-space: nowrap; }
.rs-seg button:focus-visible, .rs-card-sim :focus-visible, .estado-acao:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
.rs-filtro-nome { font-size: .75rem; margin-left: 8px; }
.rs-kpis { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.rs-kpis .card-kpi { padding: 12px 12px 13px; min-width: 0; }
.rs-kpis .card-kpi .valor { font-size: 1.3rem; }
.rs-kpis .card-kpi .rotulo { font-size: .58rem; }
.rs-g > .card { min-width: 0; }
.rs-g .card-header { flex-wrap: wrap; gap: 6px; }
.rs-g .card-header .segmentado button { padding: 2px 8px; font-size: .68rem; }
.rs-sub { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-2); font-weight: 600; margin: 4px 0 8px; }
.rs-nota { font-size: .72rem; color: var(--texto-2); margin: 10px 0 0; }
.rs-vazio { display: flex; flex-direction: column; gap: 4px; align-items: center; text-align: center; padding: 28px 12px; color: var(--texto-2); font-size: .8rem; }
.rs-vazio b { color: var(--titulo); font-size: .9rem; }
.rs-rosca { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.rs-rosca .legenda { flex-direction: column; gap: 6px; }
/* recomendações */
.rs-recs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.rs-rec { display: flex; gap: 10px; padding: 12px 14px; border: 1px solid var(--borda); border-left: 3px solid var(--atencao); border-radius: 10px; background: var(--superficie); }
.rs-rec.neg { border-left-color: var(--negativo); } .rs-rec.pos { border-left-color: var(--positivo); }
.rs-rec-ico { color: var(--atencao); font-size: 1.1rem; flex: none; margin-top: 1px; } .rs-rec.neg .rs-rec-ico { color: var(--negativo); } .rs-rec.pos .rs-rec-ico { color: var(--positivo); }
.rs-rec b { font-size: .82rem; color: var(--titulo); display: block; } .rs-rec p { margin: 3px 0 0; font-size: .78rem; color: var(--texto-2); line-height: 1.45; }
/* forecast */
.rs-fc-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.rs-fc-v { font-size: 1.7rem; font-weight: 700; color: var(--titulo); letter-spacing: -.03em; display: block; line-height: 1.1; } .rs-fc-topo small { color: var(--texto-2); font-size: .72rem; }
.rs-fc-barras { position: relative; display: grid; gap: 9px; margin-bottom: 14px; }
.rs-fc-l { display: grid; grid-template-columns: 84px minmax(0, 1fr) 76px; align-items: center; gap: 8px; font-size: .75rem; }
.rs-fc-l span { color: var(--texto-2); font-weight: 550; } .rs-fc-l b { text-align: right; color: var(--titulo); }
.rs-fc-trilho { position: relative; height: 12px; border-radius: 99px; background: var(--superficie-3); overflow: hidden; }
.rs-fc-trilho i { position: absolute; top: 0; bottom: 0; } .rs-fc-trilho .real { left: 0; background: var(--positivo); }
.rs-fc-trilho .prev { background: color-mix(in srgb, var(--acento) 40%, transparent); } .rs-fc-trilho .prev.base { background: var(--acento); }
.rs-fc-meta { position: absolute; top: -4px; bottom: -4px; left: calc(92px + (100% - 92px - 84px) * var(--meta) / 100); border-left: 1.5px dashed var(--titulo); pointer-events: none; }
.rs-fc-meta em { position: absolute; top: -14px; left: -14px; font-size: .6rem; font-style: normal; color: var(--titulo); font-weight: 650; }
/* simulador */
.rs-sim { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; }
.rs-vol { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.rs-vol li { display: flex; justify-content: space-between; padding: 8px 10px; border-radius: 8px; background: var(--superficie-2, var(--superficie-3)); font-size: .8rem; } .rs-vol b { color: var(--titulo); }
.rs-card-sim { margin-top: 14px; }
/* performance */
.rs-rk { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rs-rk li { display: grid; grid-template-columns: 28px 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 10px; }
.rs-rk li.foco { background: color-mix(in srgb, var(--acento) 10%, transparent); }
.rs-pos { font-weight: 700; color: var(--texto-2); font-size: .8rem; }
.rs-rk-c b { font-size: .82rem; color: var(--titulo); display: block; } .rs-rk-c small { color: var(--texto-2); font-size: .68rem; }
.rs-barra { height: 6px; border-radius: 99px; background: var(--superficie-3); margin-top: 5px; overflow: hidden; } .rs-barra i { display: block; height: 100%; background: var(--acento); border-radius: 99px; }
.rs-inds { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.rs-ind { border: 1px solid var(--borda); border-radius: 12px; padding: 12px 14px; background: var(--superficie); }
.rs-ind-cab { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; } .rs-ind-cab small { display: block; color: var(--texto-2); font-size: .68rem; } .rs-ind-cab b { font-size: .85rem; color: var(--titulo); }
.rs-ind dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 0; } .rs-ind dt { font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-2); } .rs-ind dd { margin: 0; font-size: 1.05rem; font-weight: 700; color: var(--titulo); }
.rs-chips { max-width: 100%; overflow-x: auto; }
@media (max-width: 1399.98px) { .rs-perf { grid-template-columns: minmax(0, 1fr); } .rs-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); } .rs-kpis .card-kpi .valor { font-size: clamp(1rem, 1.6vw, 1.3rem); white-space: nowrap; } }
@media (max-width: 1199.98px) { .rs-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); } .rs-sim { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) {
  .rs-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rs-filtros { justify-content: flex-start; }
  .rs-recs { grid-template-columns: minmax(0, 1fr); } .rs-fc-l { grid-template-columns: 70px minmax(0, 1fr) 64px; }
  .rs-fc-meta { left: calc(78px + (100% - 78px - 72px) * var(--meta) / 100); }
  .rs-seg { max-width: 100%; overflow-x: auto; } .rs-g .card-header .segmentado { max-width: 100%; overflow-x: auto; }
}
@media (prefers-reduced-motion: no-preference) { .rs-rec, .rs-ind { transition: transform .18s ease, box-shadow .18s ease; } .rs-rec:hover, .rs-ind:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(21,24,39,.08); } .rs-fc-trilho i { transition: width .4s ease; } }

/* ---------- Report: prévia na tela e página A4 ---------- */
.rp-aviso { display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 10px; background: color-mix(in srgb, var(--info) 10%, transparent); color: var(--texto); font-size: .8rem; margin-bottom: 14px; }
.rp-cena { background: var(--superficie-3); border-radius: 14px; padding: 20px; overflow-x: auto; }
.rp-folha { --texto: #1b2033; --titulo: #0f1424; --texto-2: #55607a; --superficie: #fff; --superficie-3: #eceef5; --borda: #dfe2ec;
  background: #fff; color: #1b2033; width: 794px; max-width: none; margin: 0 auto; padding: 36px 40px; box-shadow: 0 10px 40px rgba(21,24,39,.18); border-radius: 4px; font-size: 12px; }
.rp-capa { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; border-bottom: 3px solid var(--acento); padding-bottom: 14px; margin-bottom: 18px; }
.rp-capa small { color: #55607a; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; font-weight: 600; } .rp-capa h2 { margin: 4px 0; font-size: 24px; color: #0f1424; letter-spacing: -.02em; } .rp-capa p { margin: 0; color: #55607a; }
.rp-semana { text-align: right; } .rp-semana b { display: block; font-size: 13px; color: #0f1424; } .rp-semana small { text-transform: none; letter-spacing: 0; font-weight: 400; }
.rp-sec { margin-bottom: 16px; break-inside: avoid; page-break-inside: avoid; min-width: 0; }
.rp-sec h3 { display: flex; align-items: center; gap: 8px; font-size: 13px; margin: 0 0 8px; color: #0f1424; border-bottom: 1px solid #dfe2ec; padding-bottom: 5px; }
.rp-sec h3 span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; background: var(--acento); color: #fff; font-size: 11px; }
.rp-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .rp-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rp-col h4 { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #55607a; }
.rp-folha .rs-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; } .rp-folha .card-kpi { box-shadow: none; padding: 8px 10px; border: 1px solid #dfe2ec; transform: none !important; } .rp-folha .card-kpi .valor { font-size: 16px; } .rp-folha .card-kpi .sub { font-size: 9px; }
.rp-folha .rs-recs { grid-template-columns: 1fr; gap: 6px; } .rp-folha .rs-rec { padding: 8px 10px; } .rp-folha .rs-rec b { font-size: 11px; } .rp-folha .rs-rec p { font-size: 10.5px; }
.rp-folha .rs-fc-v { font-size: 22px; } .rp-folha .rs-fc-l { font-size: 10.5px; grid-template-columns: 70px minmax(0, 1fr) 62px; } .rp-folha .rs-fc-meta { left: calc(78px + (100% - 78px - 70px) * var(--meta) / 100); }
.rp-folha .rs-rosca { gap: 8px; } .rp-folha .legenda { font-size: 10px; }
.rp-rodape { margin-top: 18px; padding-top: 8px; border-top: 1px solid #dfe2ec; color: #55607a; font-size: 10px; text-align: center; }
@media (max-width: 860px) { .rp-cena { padding: 8px; } .rp-folha { zoom: .46; } }
@media (max-width: 480px) { .rp-folha { zoom: .4; } }
@page { size: A4; margin: 12mm; }
/* Impressão do Report: só a folha A4 (sem JS de isolamento: vale para o botão e para Ctrl+P). A folha traz o próprio @page (nome relatorio). */
.rp-folha { page: relatorio; }
@media print {
  body:has(#rp-folha) :is(.skip-link, .sidebar, .sidebar-veu, .topbar, .barra-inferior, .faixa-vendo, .toasts, .barra-progresso-topo, .pagina-cabecalho, .abas-mae, .rp-aviso) { display: none !important; }
  body:has(#rp-folha), body:has(#rp-folha) .conteudo { background: #fff !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
  body:has(#rp-folha) .rp-cena { background: none; padding: 0; overflow: visible; border-radius: 0; }
  body:has(#rp-folha) #rp-folha { width: 100% !important; box-shadow: none; border-radius: 0; padding: 0; zoom: 1 !important; font-size: 11px; }
  .rp-folha { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .rp-folha .grafico { max-height: 62mm; }
}
.rs-filtros, .pagina-acoes:has(.rs-filtros) { min-width: 0; max-width: 100%; }
@media (max-width: 767.98px) { .rs-filtros { width: 100%; } .rs-filtros .rs-seg { max-width: 100%; } .rs-chips button { flex: none; } }
