/* Diagnóstico de Lucro · AI Voltage. Manual da marca, direção Circuito. */
@font-face { font-family: 'Clash Display'; src: url('fontes/ClashDisplay-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('fontes/ClashDisplay-Semibold.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('fontes/ClashDisplay-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fontes/Satoshi-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fontes/Satoshi-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fontes/Satoshi-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fontes/Satoshi-Black.woff2') format('woff2'); font-weight: 900; font-display: swap; }

:root {
  --grafite: #0B0F14; --gelo: #F2F5F7; --ardosia: #5C6773; --nevoa: #B9C2CC;
  --verde: #00A96E; --azul: #00AFEF; --faisca: #FF7722; --branco: #FFFFFF;
  --corrente: linear-gradient(90deg, var(--verde), var(--azul));
  --grafite-2: color-mix(in srgb, var(--gelo) 6%, var(--grafite));
  --grafite-3: color-mix(in srgb, var(--gelo) 12%, var(--grafite));
  --linha-escura: color-mix(in srgb, var(--gelo) 14%, transparent);
  --linha-clara: color-mix(in srgb, var(--grafite) 12%, transparent);
  --fundo-vivo: color-mix(in srgb, var(--azul) 10%, var(--branco));
  --titulo: 'Clash Display', system-ui, sans-serif;
  --texto: 'Satoshi', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ez: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: var(--gelo); color: var(--grafite); font-family: var(--texto); font-size: 16px; line-height: 1.5; min-height: 100vh; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: none; }
:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
h1:focus { outline: none; }
.oculto { display: none !important; }
.tabular { font-variant-numeric: tabular-nums; }
.so-celular { display: none; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 30; height: 64px; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: color-mix(in srgb, var(--grafite) 94%, transparent); backdrop-filter: blur(12px); color: var(--gelo); }
.topo-marca { display: flex; align-items: center; gap: 14px; min-width: 0; }
.topo-logo { width: 140px; height: auto; display: block; }
.topo-nome { font: 600 14px/1 var(--titulo); letter-spacing: 0.02em; text-transform: uppercase; color: color-mix(in srgb, var(--gelo) 72%, transparent); white-space: nowrap; }
.topo-acoes { display: flex; align-items: center; gap: 8px; }
.pilula { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border-radius: 999px; font: 700 11px var(--texto); letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }
.pilula-escura { background: var(--grafite-3); color: var(--gelo); }
.pilula-destaque { background: var(--corrente); color: var(--grafite); }
.pilula-clara { background: var(--gelo); color: var(--grafite); }
.ponto { width: 7px; height: 7px; border-radius: 999px; background: var(--verde); }
.ponto.salvando { background: var(--nevoa); }

/* Botões e links */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 26px; border-radius: 999px; font: 700 16px var(--texto); transition: transform 120ms var(--ez), filter 180ms var(--ez); }
.botao:active { transform: scale(0.98); }
.botao-principal { background: var(--corrente); color: var(--grafite); }
.botao-principal:hover { filter: brightness(1.06); }
.botao-principal[aria-disabled="true"] { background: var(--nevoa); color: var(--ardosia); }
.botao-contorno-claro { border: 1.5px solid color-mix(in srgb, var(--gelo) 55%, transparent); color: var(--gelo); }
.botao-contorno { border: 1.5px solid var(--linha-clara); color: var(--grafite); background: var(--branco); }
.botao-pequeno { height: 36px; padding: 0 14px; font-size: 13px; }
.link { color: var(--grafite); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; padding: 4px 0; }
.link-claro { color: var(--gelo); }
.selo { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 999px; font: 700 12px var(--texto); letter-spacing: 0.14em; text-transform: uppercase; background: var(--grafite-3); color: var(--gelo); align-self: flex-start; }
.selo-claro { background: var(--gelo); color: var(--grafite); }

/* Capa */
.capa { background: var(--grafite); color: var(--gelo); padding: 72px 72px 88px; min-height: calc(100vh - 64px); }
.capa-grade { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 64px; align-items: center; }
.capa h1 { margin-top: 28px; font: 700 76px/0.98 var(--titulo); letter-spacing: -0.005em; }
.capa h1 .faisca { color: var(--faisca); }
.capa-texto { margin-top: 24px; font-size: 20px; color: color-mix(in srgb, var(--gelo) 80%, transparent); max-width: 34ch; }
.capa-botoes { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; margin-top: 36px; }
.capa-nota { margin-top: 16px; font-size: 14px; color: color-mix(in srgb, var(--gelo) 64%, transparent); }
.lista-blocos { background: var(--grafite-2); border: 1px solid var(--linha-escura); border-radius: 24px; padding: 20px 32px; }
.item-bloco { display: flex; gap: 18px; padding: 16px 0; border-top: 1px solid var(--linha-escura); }
.item-bloco:first-child { border-top: none; }
.item-bloco-n { flex: none; min-width: 40px; font: 700 28px/1 var(--titulo); font-variant-numeric: tabular-nums; background: var(--corrente); -webkit-background-clip: text; background-clip: text; color: transparent; }
.item-bloco-nome { font: 600 20px/1.1 var(--titulo); }
.item-bloco-desc { font-size: 14px; color: color-mix(in srgb, var(--gelo) 72%, transparent); margin-top: 4px; }

/* Abertura de bloco */
.abertura { position: relative; overflow: hidden; background: var(--grafite); color: var(--gelo); padding: 72px; min-height: calc(100vh - 64px); display: flex; }
.abertura-fantasma { position: absolute; right: -16px; bottom: -80px; font: 700 520px/1 var(--titulo); color: color-mix(in srgb, var(--gelo) 5%, transparent); pointer-events: none; }
.abertura-conteudo { position: relative; max-width: 1200px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }
.abertura h1 { font: 700 120px/0.92 var(--titulo); }
.abertura h1 .numero { display: block; background: var(--corrente); -webkit-background-clip: text; background-clip: text; color: transparent; }
.abertura-desc { font-size: 21px; max-width: 40ch; color: color-mix(in srgb, var(--gelo) 80%, transparent); }
.abertura-botoes { display: flex; gap: 18px; align-items: center; margin-top: auto; }

/* Trilha dos 6 blocos (sempre sobre Grafite) */
.trilha { display: grid; grid-template-columns: 1fr; gap: 14px; max-width: 360px; }
.trilha-item { display: flex; flex-direction: column; gap: 8px; text-align: left; color: color-mix(in srgb, var(--gelo) 50%, transparent); }
.trilha-item[disabled] { cursor: default; }
.trilha-item[data-estado="feito"] { color: color-mix(in srgb, var(--gelo) 76%, transparent); }
.trilha-item[data-estado="agora"] { color: var(--gelo); }
.trilha-rotulo { display: flex; align-items: baseline; gap: 10px; font: 700 11px var(--texto); letter-spacing: 0.14em; text-transform: uppercase; }
.trilha-n { font: 700 18px/1 var(--titulo); font-variant-numeric: tabular-nums; }
.trilha-item[data-estado="agora"] .trilha-n { color: var(--faisca); }
.trilha-barra { height: 3px; border-radius: 999px; background: var(--grafite-3); }
.trilha-item[data-estado="feito"] .trilha-barra, .trilha-item[data-estado="agora"] .trilha-barra { background: var(--corrente); }

/* Assistente */
.assistente { display: grid; grid-template-columns: minmax(320px, 32%) minmax(0, 1fr); align-items: start; min-height: calc(100vh - 64px); }
.lateral { position: sticky; top: 64px; height: calc(100vh - 64px); background: var(--grafite); color: var(--gelo); padding: 44px 40px 36px 48px; display: flex; flex-direction: column; gap: 40px; overflow: hidden; }
.lateral-fantasma { position: absolute; right: -16px; top: -24px; font: 700 220px/1 var(--titulo); color: color-mix(in srgb, var(--gelo) 5%, transparent); pointer-events: none; }
.lateral-bloco { position: relative; display: flex; flex-direction: column; gap: 10px; }
.lateral-contador { font: 700 11px var(--texto); letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in srgb, var(--gelo) 60%, transparent); }
.lateral-nome { font: 700 44px/1 var(--titulo); }
.principal { padding: 56px 64px 96px; max-width: 920px; width: 100%; }
.principal h1 { font: 700 44px/1.05 var(--titulo); letter-spacing: -0.005em; }
.etiqueta-tela { font: 700 12px var(--texto); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ardosia); margin-bottom: 12px; }
.ajuda { margin-top: 14px; font-size: 17px; color: var(--ardosia); max-width: 60ch; }
.cartao { margin-top: 32px; background: var(--branco); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; gap: 28px; box-shadow: 0 1px 2px color-mix(in srgb, var(--grafite) 6%, transparent); }
.navegacao-area { margin-top: 24px; }
.navegacao { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.navegacao-direita { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.bloqueio { padding: 12px 16px; border-radius: 12px; background: var(--grafite); color: var(--gelo); font-weight: 700; }
.aviso { padding: 12px 16px; border-radius: 12px; background: var(--fundo-vivo); font-weight: 500; }
.aviso-armazenamento { margin-top: 16px; }

/* Recapitulação do bloco 01 */
.recap { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.recap button { display: inline-flex; gap: 8px; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha-clara); font-size: 13px; }
.recap strong { font-weight: 700; }

/* Campos */
.campo { display: flex; flex-direction: column; gap: 10px; }
.campo-rotulo { font: 600 18px/1.2 var(--titulo); }
.campo-caixa { position: relative; max-width: 440px; width: 100%; }
.campo-caixa input { width: 100%; height: 60px; border-radius: 14px; border: 1.5px solid var(--linha-clara); background: var(--branco); padding: 0 20px; font: 500 22px var(--texto); font-variant-numeric: tabular-nums; }
.campo-caixa input:focus { border-color: var(--azul); outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--azul) 18%, transparent); }
.campo-prefixo, .campo-sufixo { position: absolute; top: 50%; transform: translateY(-50%); color: var(--ardosia); font-size: 18px; pointer-events: none; }
.campo-prefixo { left: 20px; }
.campo-sufixo { right: 20px; }
.campo-caixa.com-prefixo input { padding-left: 58px; }
.campo-caixa.com-sufixo input { padding-right: 104px; }
.campo-ajuda { font-size: 14px; color: var(--ardosia); max-width: 60ch; }
.botao-info { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; border: 1.5px solid var(--linha-clara); font: 700 12px var(--texto); margin-left: 8px; vertical-align: middle; }

/* Linha ao vivo */
.vivo { padding: 16px 18px; border-radius: 14px; background: var(--fundo-vivo); font-size: 16px; }
.vivo p + p { margin-top: 6px; }
.vivo strong { font-weight: 900; }

/* Escolhas, controle segmentado e alternador */
.escolhas { display: grid; gap: 12px; }
.escolha { display: flex; align-items: center; gap: 18px; padding: 20px; border-radius: 18px; border: 1.5px solid var(--linha-clara); background: var(--branco); text-align: left; }
.escolha[aria-pressed="true"] { border-color: var(--grafite); box-shadow: inset 0 0 0 1px var(--grafite); }
.escolha-sigla { flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--grafite); color: var(--gelo); font: 700 16px var(--titulo); }
.escolha[aria-pressed="true"] .escolha-sigla { background: var(--corrente); color: var(--grafite); }
.escolha-titulo { display: block; font: 600 19px/1.2 var(--titulo); }
.escolha-desc { display: block; font-size: 14px; color: var(--ardosia); margin-top: 4px; }
.segmentado { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 22px; background: var(--gelo); align-self: flex-start; }
.segmentado button { min-height: 40px; padding: 0 16px; border-radius: 999px; font: 700 13px var(--texto); color: var(--ardosia); }
.segmentado button[aria-pressed="true"] { background: var(--grafite); color: var(--gelo); }
.alternador { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 14px; border: 1.5px solid var(--linha-clara); text-align: left; width: 100%; }
.alternador-trilho { position: relative; flex: none; width: 40px; height: 24px; border-radius: 999px; background: var(--nevoa); transition: background 180ms; }
.alternador-trilho::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 999px; background: var(--branco); transition: transform 180ms var(--ez); }
.alternador[aria-pressed="true"] .alternador-trilho { background: var(--grafite); }
.alternador[aria-pressed="true"] .alternador-trilho::after { transform: translateX(16px); }

/* Telas de conferência (ticket e imposto) */
.conferencia-rotulo { font: 700 12px var(--texto); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ardosia); }
.conferencia-grande { font: 700 88px/1 var(--titulo); font-variant-numeric: tabular-nums; margin-top: 10px; }
.conferencia-sub { color: var(--ardosia); margin-top: 8px; }
.passos { display: flex; flex-direction: column; border-top: 1px solid var(--linha-clara); margin-top: 20px; }
.passo { display: grid; grid-template-columns: 36px 1fr auto; gap: 14px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--linha-clara); }
.passo-n { font: 700 14px var(--titulo); color: var(--ardosia); }
.passo-v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nota { font-size: 14px; color: var(--ardosia); margin-top: 12px; }

/* Meta de lucro */
.meta-valor { display: flex; align-items: center; gap: 12px; }
.meta-valor strong { font: 700 40px/1 var(--titulo); }
.deslizador { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 999px; background: linear-gradient(to right, var(--nevoa) 0 33.3%, color-mix(in srgb, var(--azul) 40%, var(--branco)) 33.3% 77.8%, var(--nevoa) 77.8% 100%); }
.deslizador::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 999px; background: var(--grafite); border: 3px solid var(--branco); box-shadow: 0 1px 4px color-mix(in srgb, var(--grafite) 40%, transparent); }
.deslizador::-moz-range-thumb { width: 22px; height: 22px; border-radius: 999px; background: var(--grafite); border: 3px solid var(--branco); }
.marcas { position: relative; height: 18px; font-size: 12px; color: var(--ardosia); }
.marcas span { position: absolute; transform: translateX(-50%); }

/* Frentes do dono */
.frentes { display: flex; flex-direction: column; gap: 4px; }
.frentes-barra { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--gelo); margin: 10px 0 6px; }
.frentes-barra span { display: block; height: 100%; }
.frente-operacao { background: var(--verde); }
.frente-vendas { background: var(--azul); }
.frente-gestao { background: var(--ardosia); }
.frente { display: grid; grid-template-columns: 1fr auto; gap: 10px 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--linha-clara); }
.frente-nome { font: 600 18px/1.1 var(--titulo); display: flex; align-items: center; gap: 10px; }
.frente-cor { width: 10px; height: 10px; border-radius: 999px; }
.frente-desc { font-size: 14px; color: var(--ardosia); }
.frente-pct { width: 96px; }
.frente-pct.campo-caixa.com-sufixo input { height: 48px; text-align: right; padding: 0 30px 0 12px; font: 700 20px var(--texto); }
.frente-pct .campo-sufixo { right: 12px; font-size: 15px; }
.frente-faixa { grid-column: 1 / -1; width: 100%; accent-color: var(--grafite); }
.frente-valor { grid-column: 1 / -1; font-size: 14px; }
.soma-ok { font-weight: 700; }
.soma-erro { display: inline-block; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--nevoa) 45%, var(--branco)); font-weight: 700; }

/* Grupos de pessoas e ferramentas */
.grupo { border: 1.5px solid var(--linha-clara); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.grupo-topo { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.grupo-titulo { font: 600 18px/1.2 var(--titulo); }
.grupo-meta { font-size: 14px; color: var(--ardosia); }
.linha-item { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.coluna { display: flex; flex-direction: column; gap: 6px; flex: 1 1 160px; }
.coluna-rotulo { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ardosia); }
.coluna .campo-caixa input { height: 48px; font-size: 17px; }
.coluna .campo-caixa.com-prefixo input { padding-left: 46px; }
.coluna .campo-prefixo { left: 14px; font-size: 15px; }
.remover { height: 48px; padding: 0 14px; border-radius: 12px; font-size: 13px; font-weight: 700; color: var(--ardosia); }
.linha-info { width: 100%; font-size: 13px; color: var(--ardosia); }
.adicionar { align-self: flex-start; height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px dashed var(--nevoa); font: 700 13px var(--texto); }
.travado { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; background: var(--gelo); }
.travado-nome { font-weight: 700; }
.travado-meta { font-size: 14px; color: var(--ardosia); }
.travado-origem { font: 700 11px var(--texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ardosia); }

/* Sócios */
.socios { display: flex; flex-direction: column; gap: 10px; }
.socio-linha { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1.5px solid var(--linha-clara); border-radius: 16px; flex-wrap: wrap; }
.socio-avatar { flex: none; width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center; background: var(--grafite); color: var(--gelo); font: 700 15px var(--titulo); }
.socio-texto { flex: 1; min-width: 0; }
.socio-nome { font: 600 18px/1.1 var(--titulo); }
.socio-meta { font-size: 13px; color: var(--ardosia); margin-top: 4px; }
.socio-acoes { display: flex; gap: 12px; align-items: center; }

/* Perfis: sugestão de horas e tabela de horas */
.sugestao { display: flex; flex-direction: column; gap: 16px; padding-top: 20px; border-top: 1px solid var(--linha-clara); }
.sugestao-grupo { display: flex; flex-direction: column; gap: 8px; }
.sugestao-rotulo { font: 700 12px var(--texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ardosia); }
.horas { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--linha-clara); }
.horas-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.horas-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto 110px; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--linha-clara); border-radius: 14px; }
.horas-nome { font: 600 17px/1.1 var(--titulo); }
.horas-meta { font-size: 13px; color: var(--ardosia); margin-top: 4px; }
.passo-a-passo { display: flex; align-items: center; gap: 6px; }
.passo-a-passo > button { width: 40px; height: 44px; border-radius: 12px; border: 1.5px solid var(--linha-clara); font-weight: 700; }
.passo-a-passo .campo-caixa { width: 130px; }
.passo-a-passo .campo-caixa.com-sufixo input { height: 44px; font-size: 18px; text-align: right; padding: 0 70px 0 10px; }
.passo-a-passo .campo-sufixo { font-size: 12px; right: 10px; }
.horas-custo { text-align: right; font: 700 17px var(--titulo); font-variant-numeric: tabular-nums; }

/* Janela */
.fundo-modal { position: fixed; inset: 0; z-index: 60; background: color-mix(in srgb, var(--grafite) 60%, transparent); display: grid; place-items: center; padding: 16px; }
.modal { width: min(520px, 100%); background: var(--branco); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.modal h2 { font: 700 30px/1.1 var(--titulo); }
.modal .link { align-self: flex-start; }

/* Topo do resultado */
.resultado-topo { background: var(--grafite); color: var(--gelo); padding: 72px 72px 88px; }
.resultado-conteudo { max-width: 1100px; margin: 0 auto; }
.resultado-topo h1 { margin-top: 28px; font: 700 80px/0.98 var(--titulo); letter-spacing: -0.005em; }
.resultado-topo h1 .dinheiro { color: var(--faisca); display: block; }
.resultado-topo h1 .margem { background: var(--corrente); -webkit-background-clip: text; background-clip: text; color: transparent; }
.frase-meta { margin-top: 20px; font-size: 20px; color: color-mix(in srgb, var(--gelo) 82%, transparent); }
.resultado-botoes { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Rodapé */
.rodape { background: var(--grafite); color: color-mix(in srgb, var(--gelo) 70%, transparent); padding: 28px 72px; display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }

/* Celular (só tela: a folha A4 da impressão também tem menos de 960 px) */
@media screen and (max-width: 960px) {
  .so-desktop { display: none; }
  .so-celular { display: inline; }
  .topo { height: auto; min-height: 64px; padding: 8px 16px; flex-wrap: wrap; gap: 6px 12px; }
  .topo-nome { display: none; }
  .topo-marca { flex: none; }
  .topo-logo { width: 112px; }
  .topo-acoes { flex-wrap: wrap; justify-content: flex-end; margin-left: auto; gap: 6px; }
  .pilula { padding: 0 10px; letter-spacing: 0.08em; }
  .capa, .abertura, .resultado-topo { padding: 36px 20px 48px; }
  .capa-grade { grid-template-columns: 1fr; gap: 36px; }
  .capa h1 { font-size: 46px; }
  .lista-blocos { padding: 12px 20px; }
  .abertura h1 { font-size: 64px; }
  .abertura-fantasma { font-size: 280px; }
  .assistente { grid-template-columns: 1fr; }
  .lateral { position: relative; top: 0; height: auto; padding: 18px 20px 22px; gap: 16px; }
  .lateral-fantasma { font-size: 140px; }
  .lateral-nome { font-size: 28px; }
  .trilha { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; max-width: none; }
  .trilha-texto { display: none; }
  .principal { padding: 24px 16px 64px; }
  .principal h1 { font-size: 30px; }
  .cartao { padding: 22px 18px; }
  .conferencia-grande { font-size: 60px; }
  .resultado-topo h1 { font-size: 44px; }
  .horas-linha { grid-template-columns: 1fr; }
  .horas-custo { text-align: left; }
  .rodape { padding: 24px 20px; flex-direction: column; }
}

/* Respeita quem pede menos movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Resultado (tarefa 10) ---------- */
.resultado-agencia { margin-top: 28px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: color-mix(in srgb, var(--gelo) 80%, transparent); font-weight: 700; }
.resultado-agencia input { height: 44px; width: min(380px, 100%); border-radius: 12px; border: 1.5px solid var(--linha-escura); background: var(--grafite-2); color: var(--gelo); padding: 0 14px; font-weight: 500; }
.resultado-corpo { padding: 64px 72px 112px; }
.abas { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha-clara); margin: 12px 0 24px; }
.abas button { height: 44px; padding: 0 22px; border-radius: 999px; font: 700 14px var(--texto); color: var(--ardosia); }
.abas button[aria-pressed="true"] { background: var(--grafite); color: var(--gelo); }
.aviso + .aviso { margin-top: 8px; }
.grade-operacao { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.painel { background: var(--branco); border-radius: 24px; padding: 28px; }
.painel h2 { font: 700 22px/1.1 var(--titulo); }
.painel-escuro { background: var(--grafite); color: var(--gelo); }
.painel-escuro .kpi-rotulo { color: color-mix(in srgb, var(--gelo) 70%, transparent); }
.painel-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.dre-linha { padding: 12px 0; border-top: 1px solid var(--linha-clara); }
.dre-cabecalho { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dre-rotulo { color: var(--ardosia); }
.dre-linha.total .dre-rotulo { font-weight: 700; color: var(--grafite); }
.dre-sub { display: block; font-size: 12px; color: var(--ardosia); }
.dre-valor { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.barra { position: relative; height: 8px; border-radius: 999px; background: var(--gelo); margin-top: 8px; overflow: hidden; }
.barra span { position: absolute; top: 0; bottom: 0; border-radius: 999px; }
.barra .positivo { background: var(--corrente); }
.barra .deducao { background: var(--nevoa); }
.barra .negativo { background: var(--ardosia); }
.prejuizo, .sem-imposto { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; margin-left: 8px; border-radius: 999px; border: 1.5px solid var(--ardosia); font: 700 11px var(--texto); letter-spacing: 0.08em; text-transform: uppercase; color: var(--grafite); vertical-align: middle; }
.painel-escuro .prejuizo, .kpi-escuro .prejuizo, .painel-escuro .sem-imposto, .kpi-escuro .sem-imposto { border-color: var(--nevoa); color: var(--gelo); }
.diagnostico-indisponivel { margin-top: 20px; }
/* Prejuízo no topo: o valor e a margem em Gelo, sem faísca nem degradê, e a etiqueta em contorno Névoa. */
.resultado-topo h1 .dinheiro.neg { color: var(--gelo); }
.resultado-topo h1 .margem.neg { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--gelo); }
.resultado-topo .prejuizo, .resultado-topo .sem-imposto { height: 30px; padding: 0 12px; margin-left: 4px; border-color: var(--nevoa); color: var(--gelo); font-size: 13px; }
.margem-grande { font: 700 80px/1 var(--titulo); margin-top: 12px; font-variant-numeric: tabular-nums; }
.margem-meta { font: 500 16px var(--texto); color: color-mix(in srgb, var(--gelo) 70%, transparent); }
.margem-barra { position: relative; height: 12px; border-radius: 999px; background: var(--grafite-3); margin-top: 18px; }
.margem-barra .preenchido { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; }
.margem-barra .preenchido.positivo { background: var(--corrente); }
.margem-barra .preenchido.abaixo { background: var(--nevoa); }
.margem-barra .meta { position: absolute; top: -6px; bottom: -6px; width: 2px; background: var(--gelo); }
.nota-clara { color: color-mix(in srgb, var(--gelo) 70%, transparent); }
.kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.kpi { background: var(--branco); border-radius: 18px; padding: 18px; }
.kpi-rotulo { font: 700 11px var(--texto); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ardosia); }
.kpi-valor { font: 700 28px/1.1 var(--titulo); margin-top: 8px; font-variant-numeric: tabular-nums; }
.kpi-sub { font-size: 12px; color: var(--ardosia); margin-top: 6px; }
.kpi-gelo { background: var(--gelo); }
.kpi-escuro { background: var(--grafite); color: var(--gelo); }
.kpi-escuro .kpi-rotulo, .kpi-escuro .kpi-sub { color: color-mix(in srgb, var(--gelo) 70%, transparent); }
.diagnostico { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.diagnostico h2 { font: 700 40px/1.05 var(--titulo); margin-top: 18px; }
.diagnostico-frase { margin-top: 12px; font-size: 18px; color: color-mix(in srgb, var(--gelo) 82%, transparent); }
.acoes { list-style: none; }
.acao { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--linha-escura); font-size: 17px; }
.acao-n { flex: none; font: 700 24px/1 var(--titulo); background: var(--corrente); -webkit-background-clip: text; background-clip: text; color: transparent; }
.seu-tempo { margin-top: 20px; }
.tempo-linha { padding: 14px 0; border-top: 1px solid var(--linha-clara); }
.destaque { margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: var(--grafite); color: var(--gelo); font-weight: 700; }
.destaque-claro { margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: var(--fundo-vivo); font-weight: 700; }
.perfis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.perfil-card { background: var(--branco); border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.perfil-nome { font: 700 26px/1 var(--titulo); }
.perfil-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; border-radius: 14px; background: var(--gelo); }
.perfil-campos label { display: flex; flex-direction: column; gap: 6px; font: 700 10px var(--texto); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ardosia); min-width: 0; }
.perfil-campos input { width: 100%; height: 40px; border-radius: 10px; border: 1px solid var(--linha-clara); background: var(--branco); padding: 0 10px; font: 700 16px var(--texto); color: var(--grafite); letter-spacing: 0; text-transform: none; }
.perfil-card [data-vivo] > * + * { margin-top: 14px; }
.perfil-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.perfil-numeros .kpi-valor { font-size: 24px; }
.dre-colunas { display: grid; grid-template-columns: minmax(0, 1fr) 82px 96px; gap: 8px; align-items: baseline; font-size: 13px; }
.dre-colunas > span:not(:first-child) { text-align: right; }
.dre-cabecalho-perfil { font: 700 10px var(--texto); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ardosia); padding-bottom: 6px; }
.ltv { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--linha-clara); font-size: 13px; }
.ltv strong { white-space: nowrap; }
.perfil-cac { background: var(--gelo); border-radius: 16px; padding: 16px; }
.cac-linha { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--linha-clara); font-size: 13px; }
.cac-linha.forte { font-weight: 900; }
.cac-linha span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cac-maximo { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 12px; margin-top: 4px; border-top: 2px solid var(--grafite); }
.cac-maximo strong { font: 700 28px var(--titulo); }
.cac-texto { margin-top: 10px; font-weight: 700; }
.cac-acoes { margin: 8px 0 0 18px; font-size: 14px; }
.capacidade { margin-top: 20px; }
.cap-cabecalho, .cap-linha { display: grid; grid-template-columns: minmax(0, 1.2fr) 160px minmax(0, 1fr) 120px; gap: 14px; align-items: center; }
.cap-cabecalho { margin-top: 16px; font: 700 10px var(--texto); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ardosia); }
.cap-linha { padding: 12px 0; border-top: 1px solid var(--linha-clara); }
.cap-nome { font-weight: 700; }
.situacao { display: inline-flex; justify-content: center; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; font: 700 11px var(--texto); letter-spacing: 0.08em; text-transform: uppercase; }
.situacao-folga { background: color-mix(in srgb, var(--nevoa) 45%, var(--branco)); color: var(--grafite); }
.situacao-limite { background: color-mix(in srgb, var(--azul) 22%, var(--branco)); color: var(--grafite); }
.situacao-sobrecarga { background: var(--grafite); color: var(--gelo); }
.cabecalho-impressao { display: none; }

@media screen and (max-width: 960px) {
  .resultado-corpo { padding: 32px 16px 72px; }
  .grade-operacao, .diagnostico, .perfis { grid-template-columns: 1fr; }
  .margem-grande { font-size: 56px; }
  .diagnostico h2 { font-size: 30px; }
  .cap-cabecalho { display: none; }
  .cap-linha { grid-template-columns: 1fr 1fr; }
}

/* ---------- Impressão / PDF: fundo claro, sem botões, as duas abas em sequência ---------- */
@media print {
  @page { size: A4; margin: 12mm; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body { background: var(--branco); font-size: 12px; }
  .topo, .rodape, .abas, .resultado-botoes, .resultado-agencia, .nao-imprimir, .fundo-modal { display: none !important; }
  .cabecalho-impressao { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid var(--linha-clara); font-size: 11px; color: var(--ardosia); }
  .cabecalho-impressao img { width: 130px; }
  .resultado-topo { background: var(--branco); color: var(--grafite); padding: 0 0 10px; }
  .resultado-topo .selo { background: var(--gelo); color: var(--grafite); }
  .resultado-topo h1 { font-size: 30px; margin-top: 10px; }
  .resultado-topo h1 .dinheiro, .resultado-topo h1 .margem, .acao-n { background: none; color: var(--grafite); }
  .resultado-topo h1 .dinheiro.neg, .resultado-topo h1 .margem.neg { color: var(--grafite); }
  .resultado-topo .prejuizo, .resultado-topo .sem-imposto { height: 22px; margin-left: 2px; border-color: var(--ardosia); color: var(--grafite); font-size: 11px; }
  .frase-meta { color: var(--ardosia); font-size: 13px; margin-top: 6px; }
  .resultado-corpo { padding: 0; }
  .resultado-corpo .aba-conteudo.oculto { display: block !important; }
  .secao-impressao { margin-top: 16px; }
  .painel { padding: 16px; box-shadow: none; border: 1px solid var(--linha-clara); }
  .painel h2 { font-size: 16px; }
  .painel-escuro, .kpi-escuro { background: var(--gelo); color: var(--grafite); }
  .painel-escuro .kpi-rotulo, .painel-escuro .margem-meta, .painel-escuro .nota-clara, .painel-escuro .diagnostico-frase, .kpi-escuro .kpi-rotulo, .kpi-escuro .kpi-sub { color: var(--ardosia); }
  .painel-escuro .selo { background: var(--branco); color: var(--grafite); }
  .painel-escuro .acao { border-color: var(--linha-clara); }
  .painel-escuro .prejuizo, .kpi-escuro .prejuizo, .painel-escuro .sem-imposto, .kpi-escuro .sem-imposto { border-color: var(--ardosia); color: var(--grafite); }
  .margem-grande { font-size: 44px; }
  .margem-barra { background: var(--nevoa); }
  .margem-barra .meta { background: var(--grafite); }
  .kpi { padding: 10px; border: 1px solid var(--linha-clara); break-inside: avoid; }
  .kpi-valor { font-size: 18px; }
  .diagnostico { gap: 16px; break-inside: avoid; }
  .diagnostico h2 { font-size: 24px; }
  .acao { font-size: 12px; padding: 8px 0; }
  .acao-n { font-size: 16px; }
  .perfis { grid-template-columns: 1fr 1fr; gap: 10px; }
  .perfil-card { padding: 14px; gap: 10px; border: 1px solid var(--linha-clara); break-inside: avoid; }
  .perfil-nome { font-size: 20px; }
  .dre-colunas { grid-template-columns: minmax(0, 1fr) 70px 80px; font-size: 11px; }
  .capacidade, .seu-tempo { break-inside: avoid; }
  .perfil-card .barra { display: none; }
  .perfil-card .dre-linha { padding: 5px 0; }
  .perfil-card .dre-sub { font-size: 10px; }
  .perfil-campos { padding: 8px; }
  .perfil-campos input { height: 30px; font-size: 13px; }
  .perfil-cac { padding: 10px; }
  .cac-linha { padding: 4px 0; font-size: 11px; }
  .cac-maximo strong { font-size: 20px; }
}
