/* Complementos da Visao Geral sobre o gabarito original.
 *
 * Os valores reais sao uma ordem de grandeza maiores que os do mock
 * (R$ 70,43M contra R$ 8,56M), entao os blocos que tinham folga no modelo
 * precisam de ajuste fino para nao quebrar linha.
 */
/* O template traz descricoes de acessibilidade dentro do grafico do card 1.
   Sem a regra visually-hidden elas ocupam altura real e empurram o painel. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* O gabarito reserva a folga inferior da evolucao da carteira; a regra que
   removia esse padding tem seletor mais especifico, entao a resposta iguala. */
.portfolio-body > .subcard:nth-child(2) .portfolio-evolution { padding: 0 8px 8px; }

.area-stat strong {
  white-space: nowrap;
  font-size: 20px;
  letter-spacing: -.2px;
}

.stat-card strong {
  white-space: nowrap;
}

.select-mini.static-label {
  cursor: default;
  user-select: none;
  pointer-events: none;
}

/* Nomes reais de vendedor sao mais longos que os do modelo. */
.team-row .name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Camada de interação: os elementos já clicáveis precisam parecer e se
   comportar como alvos de produto, sem mudar a geometria aprovada. */
.team-row[role="button"],
.alert-row[role="button"],
.viewall[role="button"],
.kpi[role="button"] {
  cursor: pointer;
  border-radius: 6px;
  transition: background-color .16s ease, outline-color .16s ease, box-shadow .16s ease;
}
.team-row[role="button"]:hover,
.alert-row[role="button"]:hover,
.viewall[role="button"]:hover,
.kpi[role="button"]:hover {
  background: color-mix(in srgb, var(--analytics-theme-accent) 7%, transparent);
}
.team-row[role="button"]:focus-visible,
.alert-row[role="button"]:focus-visible,
.viewall[role="button"]:focus-visible,
.kpi[role="button"]:focus-visible {
  outline: 2px solid var(--analytics-theme-focus, var(--cyan2));
  outline-offset: -2px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--analytics-theme-focus, var(--cyan2)) 28%, transparent);
}
.team-row[role="button"]:active,
.alert-row[role="button"]:active,
.viewall[role="button"]:active,
.kpi[role="button"]:active {
  background: color-mix(in srgb, var(--analytics-theme-accent) 13%, transparent);
}

/* Cobertura e confiabilidade dos dados: a cor continua sendo apenas apoio;
   texto/simbolo deixam o estado legivel sem depender de percepcao cromatica. */
.series-coverage {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 15px;
  margin-left: 1px;
  padding: 0 4px;
  border: 1px solid color-mix(in srgb, var(--muted) 38%, transparent);
  border-radius: 999px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1px;
}
.series-coverage.complete { border-color: color-mix(in srgb, var(--green) 45%, transparent); color: var(--green); }
.series-coverage.partial { border-color: color-mix(in srgb, var(--orange) 55%, transparent); color: var(--orange); background: color-mix(in srgb, var(--orange) 8%, transparent); }
.series-coverage.unavailable { border-color: color-mix(in srgb, var(--muted) 32%, transparent); color: var(--muted); }

.stat-card { position: relative; }
.stat-card[data-coverage="partial"] { border-color: color-mix(in srgb, var(--orange) 42%, transparent); }
.stat-card[data-coverage="partial"]::after {
  content: "PARCIAL";
  position: absolute;
  top: 5px;
  right: 6px;
  color: var(--orange);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .5px;
}
.stat-card.is-unavailable { border-style: dashed; }
.stat-card.is-unavailable strong { color: var(--muted); }
.stat-card b.neutral,
.kpi-delta.neutral b,
.area-stat b.neutral { color: var(--muted); }

.chart-empty-title { fill: var(--text); font-size: 11px; font-weight: 650; }
.chart-empty-copy { fill: var(--muted); font-size: 9px; }
.area-chart-wrap { position: relative; min-width: 0; }
.area-tip { min-width: 158px; }

.perf-svg:focus-visible,
.att-svg:focus-visible,
.area-svg:focus-visible {
  outline: 2px solid var(--cyan2);
  outline-offset: -2px;
  border-radius: 5px;
}

.team-row.is-unavailable .team-fill { display: none; }
.team-row.is-unavailable .team-track {
  border: 1px dashed color-mix(in srgb, var(--muted) 42%, transparent);
  background: color-mix(in srgb, var(--muted) 6%, transparent);
}

html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] .stage {
  background: radial-gradient(900px 420px at 47% -10%, color-mix(in srgb, var(--analytics-theme-accent) 10%, transparent), transparent 62%), var(--analytics-theme-surface-0) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.panel,.kpi) {
  color: var(--analytics-theme-text-secondary);
  background: linear-gradient(180deg, var(--analytics-theme-surface-2), var(--analytics-theme-surface-1)) !important;
  border-color: var(--analytics-theme-border) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--analytics-theme-text) 4%, transparent);
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.subcard,.stat-card,.area-stat,.select-mini,.variation) {
  color: var(--analytics-theme-text-secondary) !important;
  background: var(--analytics-theme-surface-2) !important;
  border-color: var(--analytics-theme-border) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.control,.quick-footer) {
  color: var(--analytics-theme-text-secondary) !important;
  background: var(--analytics-theme-surface-1) !important;
  border-color: var(--analytics-theme-border) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.titles h1,.head-copy h2,.bottom-head h2,.kpi-value,.stat-card strong,.subcard-title,.area-stat strong,.quick-item strong,.alert-row p,.team-row .name,.donut-center strong,.chart-tip .tiprow strong,.donut-tip b) {
  color: var(--analytics-theme-text) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.titles p,.head-copy p,.kpi-label,.kpi-delta,.legend,.stat-card small,.axis-text,.legend-name,.area-stat small,.quick-item p,.team-percent,.team-score) {
  color: var(--analytics-theme-muted) !important;
  fill: var(--analytics-theme-axis) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.card-head,.bottom-head,.alert-row) {
  border-color: var(--analytics-theme-border) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.team-track,.progress-track) {
  background: var(--analytics-theme-surface-3) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] .att-bar {
  fill: var(--analytics-chart-series-1) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] .team-fill {
  background: linear-gradient(90deg, var(--analytics-chart-series-1), var(--analytics-theme-accent-strong)) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] :is(.step,.info) {
  color: var(--analytics-theme-text-secondary) !important;
  border-color: var(--analytics-theme-border) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] .kpi-icon {
  color: var(--analytics-theme-accent) !important;
  background: color-mix(in srgb, var(--analytics-theme-accent) 10%, transparent) !important;
}
html:is([data-analytics-theme="executivo-claro"],[data-analytics-theme="alto-contraste"]) body[data-view="visao-geral"] .score {
  color: var(--analytics-theme-success) !important;
  border-color: color-mix(in srgb, var(--analytics-theme-success) 62%, var(--analytics-theme-border)) !important;
  background: color-mix(in srgb, var(--analytics-theme-success) 8%, transparent) !important;
}
html[data-analytics-theme="alto-contraste"] body[data-view="visao-geral"] :is(.panel,.kpi,.subcard,.stat-card,.area-stat,.select-mini,.control,.score) {
  outline: 1px solid color-mix(in srgb, var(--analytics-theme-text) 34%, transparent) !important;
  outline-offset: -1px !important;
}
html[data-analytics-theme="alto-contraste"] body[data-view="visao-geral"] :is(.perf-line.purple,.series-line.purple) { stroke-dasharray: .055 .025; }
html[data-analytics-theme="alto-contraste"] body[data-view="visao-geral"] .perf-line.orange { stroke-dasharray: .012 .02; }

@media print {
  body[data-view="visao-geral"] :is(.panel,.kpi,.subcard,.stat-card,.area-stat,.select-mini,.variation,.control,.quick-footer) {
    color: var(--analytics-theme-text-secondary) !important;
    background: var(--analytics-theme-surface-1) !important;
    border-color: var(--analytics-theme-border) !important;
  }
  body[data-view="visao-geral"] :is(.titles h1,.head-copy h2,.bottom-head h2,.kpi-value,.stat-card strong,.subcard-title,.area-stat strong,.quick-item strong,.alert-row p,.team-row .name,.donut-center strong,.chart-tip .tiprow strong) {
    color: var(--analytics-theme-text) !important;
  }
  body[data-view="visao-geral"] :is(.titles p,.head-copy p,.kpi-label,.kpi-delta,.legend,.stat-card small,.axis-text,.legend-name,.area-stat small,.quick-item p,.team-percent,.team-score) {
    color: var(--analytics-theme-muted) !important;
    fill: var(--analytics-theme-axis) !important;
  }
  body[data-view="visao-geral"] :is(.team-track,.progress-track) { background: var(--analytics-theme-surface-3) !important; }
  body[data-view="visao-geral"] .att-bar { fill: var(--analytics-chart-series-1) !important; }
  body[data-view="visao-geral"] .team-fill { background: var(--analytics-chart-series-1) !important; }
}

@media (forced-colors: active) {
  body[data-view="visao-geral"] :is(.kpi,.panel,.subcard,.stat-card,.area-stat,.team-track,.score,.chart-tip,.donut-tip) {
    border-color: ButtonText !important;
  }
  body[data-view="visao-geral"] .perf-line.cyan { stroke: CanvasText !important; }
  body[data-view="visao-geral"] .perf-line.purple {
    stroke: CanvasText !important;
    stroke-dasharray: .055 .025 !important;
  }
  body[data-view="visao-geral"] .perf-line.orange {
    stroke: CanvasText !important;
    stroke-dasharray: .012 .02 !important;
  }
  body[data-view="visao-geral"] :is(.att-bar,.team-fill) { fill: Highlight !important; background: Highlight !important; }
  body[data-view="visao-geral"] :is(.perf-svg,.att-svg,.area-svg):focus-visible { outline-color: Highlight !important; }
  body[data-view="visao-geral"] .series-coverage { border-color: ButtonText !important; color: CanvasText !important; }
}
