/* Conta da Safra · estilos compartilhados por todas as páginas.
   Bancada de cálculo: formulário e painel de resultado lado a lado; abaixo, detalhes e texto explicativo.
   Cores e fontes são tokens; nenhuma regra de componente usa cor literal. */
:root {
  --bg: #eef1ea;
  --surface: #fcfcf9;
  --surface-2: #f2f5ee;
  --ink: #17221a;
  --ink-2: #455347;
  --muted: #6b786d;
  --line: #d6ddd2;
  --line-2: #b6c0b2;
  --accent: #2c5a2f;
  --accent-ink: #ffffff;
  --accent-soft: #e0eadb;
  --grain: #c8961c;
  --c1: #2f6fc4;
  --c2: #e0741f;
  --c3: #169c78;
  --c4: #6a55d0;
  --c5: #a0522d;
  --good: #0ca30c;
  --good-text: #006300;
  --good-soft: #e1f0dc;
  --warn: #fab219;
  --warn-text: #7a5200;
  --warn-soft: #f7ecd0;
  --bad: #d03b3b;
  --bad-text: #b02a2a;
  --bad-soft: #f8e2df;
  --info-text: #2b4f7a;
  --info-soft: #e3eaf3;
  --div-pos: #2a78d6;
  --div-neg: #e34948;
  --div-mid: #eef0ea;
  --papel-linha: #d5dfe8;
  --papel-margem: #e3a39c;
  --xl-entrada: #fff2cc;
  --xl-entrada-ink: #1f3fc4;
  --shadow: 0 1px 2px rgba(23, 34, 26, .06), 0 10px 28px rgba(23, 34, 26, .07);
  --f-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --f-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --r: 10px;
  color-scheme: light;
}
/* Tema sempre claro (decisão do dono, 25/10/2026): o site não segue o modo escuro do celular. As cores do escuro
   ficam guardadas em :root[data-theme="dark"], que nada liga hoje (para um botão de tema, se um dia ele vier). */
:root[data-theme="dark"] {
  --bg: #0f1511; --surface: #1b221d; --surface-2: #222b24; --ink: #e7ede6; --ink-2: #b3bfb5; --muted: #8b988d;
  --line: #2d3830; --line-2: #445147; --accent: #9ccb8f; --accent-ink: #0f1511; --accent-soft: #233320; --grain: #e0b24a;
  --c1: #3a80db; --c2: #de7430; --c3: #19a37e; --c4: #8a7bea; --c5: #c0683a;
  --good: #0ca30c; --good-text: #46c75c; --good-soft: #1c3320; --warn: #fab219; --warn-text: #f0c45c; --warn-soft: #352c15;
  --bad: #d03b3b; --bad-text: #ef7b72; --bad-soft: #3b201e; --info-text: #9dbde6; --info-soft: #1d2836;
  --div-pos: #3987e5; --div-neg: #e66767; --div-mid: #2a322c; --papel-linha: #2b3742; --papel-margem: #6e3a36; --xl-entrada: #3d3519; --xl-entrada-ink: #9db8ff;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .28);
  color-scheme: dark;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
:root { padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
h1, h2, h3, p, figure, dl, dd { margin: 0; }
img, svg { max-width: 100%; }
[hidden] { display: none !important; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.wrap { max-width: 1180px; margin-inline: auto; }

/* ---------- cabeçalho do site ---------- */
.site-topo { border-bottom: 1px solid var(--line); }
.site-topo-in { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 24px; padding-block: 14px; }
.marca { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; font: 800 25px/1 var(--f-display); letter-spacing: .005em; white-space: nowrap; }
.marca i { font-style: normal; font-weight: 700; color: var(--muted); }
.marca-ico { width: 21px; height: 25px; flex: none; }
.marca-ico .m-saco, .marca-ico .m-boca { fill: var(--accent); }
.marca-ico .m-laco { fill: var(--grain); }
.marca-ico .m-sinal { fill: var(--bg); }
.nav { display: flex; flex-wrap: wrap; gap: 0 20px; }
.nav a { font-weight: 600; font-size: 15px; color: var(--ink-2); text-decoration: none; padding-block: 6px; border-bottom: 2px solid transparent; }
.nav a:hover { color: var(--ink); border-bottom-color: var(--line-2); }
.nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--grain); }
.nav a.nav-conta { color: var(--accent); }

/* ---------- abertura da página ---------- */
.topo { padding-block: 40px 28px; }
.topo-in { display: grid; gap: 14px; }
.eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 500 12px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { color: var(--ink); text-decoration: underline; }
.selo { color: var(--ink); border: 1px solid var(--grain); border-radius: 999px; padding: 3px 9px; letter-spacing: .06em; }
h1 { font-family: var(--f-display); font-weight: 800; font-size: clamp(40px, 6.2vw, 72px); line-height: .95; letter-spacing: -.005em; max-width: 16ch; text-wrap: balance; }
.destaque { text-decoration: underline; text-decoration-color: var(--grain); text-decoration-thickness: .11em; text-underline-offset: .1em; }
.lead { max-width: 62ch; font-size: clamp(16px, 1.6vw, 18.5px); color: var(--ink-2); line-height: 1.55; }

/* ---------- bancada: formulário + resultado ---------- */
.bancada { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "resumo" "entradas" "detalhes"; padding-bottom: 28px; }
.resumo { grid-area: resumo; }
.entradas { grid-area: entradas; }
.detalhes { grid-area: detalhes; }
@media (min-width: 980px) {
  .bancada { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); grid-template-areas: "entradas resumo" "detalhes detalhes"; align-items: start; gap: 24px; }
}
/* o painel do resultado fica preso ao lado do formulário; mais alto que a tela, rola por dentro, para o fim dele (a
   chamada da Minha Safra, o WhatsApp e as fontes) não sumir enquanto o formulário segue */
@media (min-width: 980px) and (min-height: 760px) {
  .resumo.fixo { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; scrollbar-width: thin; }
}
.painel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }

/* painel de resultado */
.resumo { box-shadow: var(--shadow); padding: 20px; display: grid; gap: 16px; min-width: 0; align-content: start; }
.resumo-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.resumo h2, .form-topo h2 { font-family: var(--f-display); font-weight: 700; font-size: 26px; line-height: 1; letter-spacing: .01em; }
.resumo-desc { font-size: 14px; color: var(--ink-2); margin-top: -6px; }
.resumo h3, .subtitulo { font-family: var(--f-display); font-weight: 700; font-size: 21px; line-height: 1.1; text-wrap: balance; }
.nota { font-size: 13px; color: var(--muted); }

.seg { display: inline-flex; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 999px; padding: 3px; gap: 2px; position: relative; flex-wrap: wrap; }
.seg input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.seg label { padding: 6px 13px; border-radius: 999px; font-weight: 600; font-size: 14px; line-height: 1.2; color: var(--ink-2); cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.seg label:hover { color: var(--ink); }
.seg input:checked + label { background: var(--accent); color: var(--accent-ink); }
.seg input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }

.kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.kpis.k4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kpi { padding: 14px 10px 14px 0; display: grid; gap: 5px; align-content: start; min-width: 0; }
.kpi + .kpi { padding-left: 12px; border-left: 1px solid var(--line); }
.kpi-rot { font: 500 11px/1.25 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.kpi-val { font-family: var(--f-display); font-weight: 800; font-size: clamp(25px, 3.3vw, 38px); line-height: 1; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 3px; font-variant-numeric: lining-nums; }
.kpi-val .moeda, .barra .moeda { font-size: .55em; font-weight: 700; margin-right: 1px; }
.kpi-un { font-family: var(--f-body); font-weight: 600; font-size: 13px; color: var(--ink-2); }
.kpi-sub { font-size: 13px; color: var(--ink-2); line-height: 1.35; }
.kpi-val.bom { color: var(--good-text); }
.kpi-val.ruim { color: var(--bad-text); }
@media (max-width: 519px) {
  .resumo, .bloco { padding: 16px; }
  .kpis, .kpis.k4 { grid-template-columns: minmax(0, 1fr); }
  .kpi { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "rot val" "sub val"; column-gap: 12px; padding: 11px 0; }
  .kpi + .kpi { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .kpi-rot { grid-area: rot; }
  .kpi-sub { grid-area: sub; }
  .kpi-val { grid-area: val; align-self: center; justify-content: flex-end; flex-wrap: nowrap; font-size: 30px; }
}
@media (min-width: 520px) and (max-width: 640px) {
  .kpis.k4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpis.k4 .kpi:nth-child(3) { padding-left: 0; border-left: 0; }
  .kpis.k4 .kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
}

.folga { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
.status { flex: none; display: inline-flex; align-items: center; gap: 5px; font-weight: 600; font-size: 12.5px; line-height: 1.2; padding: 3px 9px 3px 7px; border-radius: 999px; white-space: nowrap; }
.status svg { width: 13px; height: 13px; fill: currentColor; flex: none; }
.status.bom { background: var(--good-soft); color: var(--good-text); }
.status.alerta { background: var(--warn-soft); color: var(--warn-text); }
.status.ruim { background: var(--bad-soft); color: var(--bad-text); }
.status.info { background: var(--info-soft); color: var(--info-text); }

.acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 4px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface); color: var(--ink); font: 600 14px/1 var(--f-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.btn:hover { border-color: var(--ink-2); }
.btn svg { width: 16px; height: 16px; fill: currentColor; }
.btn-prim { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.btn-prim:hover { border-color: var(--accent); filter: brightness(1.08); }
.btn-fantasma { height: 34px; padding: 0 12px; font-size: 13px; background: transparent; }
/* "Acompanhe sua evolução": o salvar na conta, em destaque, à vista de todos, numa chamada acima do WhatsApp (motor.js) */
.btn-evolucao { background: var(--bad); border-color: var(--bad); color: #ffffff; }
.btn-evolucao:hover { background: var(--bad-text); border-color: var(--bad-text); }
.evolucao { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 14px; background: var(--bad-soft); border: 1px solid var(--bad); border-left-width: 5px; border-radius: var(--r); }
.evolucao-txt { flex: 1 1 240px; display: grid; gap: 3px; margin: 0; }
.evolucao-txt b { font: 700 16px/1.2 var(--f-display); color: var(--ink); }
.evolucao-txt span { font-size: 13.5px; line-height: 1.4; color: var(--ink-2); }
.evolucao .btn-evolucao { height: 42px; padding: 0 16px; font-size: 15px; }
.acoes-msg { font-size: 13px; color: var(--good-text); }
.resumo-texto { width: 100%; min-height: 160px; font: 13px/1.5 var(--f-mono); padding: 10px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface-2); color: var(--ink); resize: vertical; }

/* ---------- formulário ---------- */
.entradas { overflow: hidden; min-width: 0; }
.form-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 8px; }
.form-nota { padding: 0 20px 16px; font-size: 13.5px; color: var(--ink-2); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.chip-ex { font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; background: var(--accent-soft); color: var(--accent); padding: 4px 7px; border-radius: 4px; }
.grupo { padding: 16px 20px 2px; border-top: 1px solid var(--line); min-width: 0; }
.grupo-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 12px; flex-wrap: wrap; margin-bottom: 12px; }
.grupo h3 { display: flex; align-items: center; gap: 8px; font-family: var(--f-display); font-weight: 700; font-size: 20px; line-height: 1.1; }
.grupo h3 .glifo { color: var(--cor); }
.subtotal { font: 500 12.5px/1.3 var(--f-mono); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
@media (min-width: 520px) { .campos.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 519px) { .campos.tres > .campo:nth-child(3) { grid-column: 1 / -1; } .campos .largo { grid-column: 1 / -1; } }
.campo { display: grid; grid-row: span 3; grid-template-rows: subgrid; grid-template-columns: minmax(0, 1fr); row-gap: 6px; margin-bottom: 14px; min-width: 0; }
.campos > .largo { grid-column: 1 / -1; }
.campo > label, .campo > .rot { align-self: end; font-size: 14px; font-weight: 600; line-height: 1.25; color: var(--ink); }
.entrada { display: flex; align-items: center; background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 8px; height: 44px; padding: 0 10px 0 12px; transition: border-color .15s, box-shadow .15s; }
.entrada:hover { border-color: var(--ink-2); }
.entrada:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent); }
.entrada input, .entrada select { flex: 1; min-width: 0; width: 100%; border: 0; background: transparent; font: 600 17px/1 var(--f-body); color: var(--ink); font-variant-numeric: tabular-nums; outline: none; padding: 0; height: 100%; }
.entrada select { cursor: pointer; font-size: 16px; }
.entrada select option { background: var(--surface); color: var(--ink); }
.entrada input::placeholder { color: var(--muted); }
.entrada input[type="date"] { font-size: 16px; }
.un { font: 500 11.5px/1 var(--f-mono); color: var(--muted); white-space: nowrap; padding-left: 6px; }
.dica { font-size: 12.5px; line-height: 1.35; color: var(--muted); }
.dica-erro { color: var(--bad-text); font-weight: 600; }
.campo:not(.erro) .dica-erro, .campo.erro .dica-txt { display: none; }
.campo.erro .entrada { border-color: var(--bad); }
.seg-campo { justify-self: start; flex-wrap: nowrap; }
.par { display: grid; grid-template-columns: minmax(0, 1fr); }
.par .campos { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 560px) {
  .par { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .par > .grupo + .grupo { border-left: 1px solid var(--line); }
}

/* contadores com botões grandes, para usar no campo */
.contadores { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 8px; padding-bottom: 16px; }
.contador { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface-2); overflow: hidden; transition: border-color .15s, background .15s; }
.contador-rot { grid-column: 1 / -1; font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 8px 10px 0; }
.contador button { width: 44px; height: 46px; border: 0; background: transparent; font: 600 24px/1 var(--f-body); color: var(--ink); cursor: pointer; touch-action: manipulation; border-radius: 8px; }
.contador button:hover { background: var(--accent-soft); }
.contador button:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.contador input { width: 100%; min-width: 0; height: 46px; text-align: center; border: 0; background: transparent; font: 700 22px/1 var(--f-body); color: var(--ink); font-variant-numeric: tabular-nums; outline: none; }
.contador input:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; border-radius: 6px; }
.contador.alto { border-color: var(--bad); background: var(--bad-soft); }
.contador.alto .contador-rot { color: var(--bad-text); }

/* ---------- detalhes ---------- */
.detalhes { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); min-width: 0; }
@media (min-width: 1180px) { .detalhes.dois { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; } }
.bloco { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; display: grid; gap: 12px; align-content: start; min-width: 0; }
.bloco h2 { font-family: var(--f-display); font-weight: 700; font-size: 24px; line-height: 1.1; text-wrap: balance; }
.bloco-sub { font-size: 14px; color: var(--ink-2); max-width: 70ch; }
.tabela-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.tabela { width: 100%; border-collapse: collapse; font-size: 14.5px; font-variant-numeric: tabular-nums; }
.tabela th, .tabela td { padding: 9px 8px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tabela thead th { font: 500 10.5px/1.3 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--muted); vertical-align: bottom; white-space: normal; }
.tabela th:first-child, .tabela td:first-child { text-align: left; padding-left: 0; }
.tabela tbody th { font-weight: 600; }
.tabela tfoot th, .tabela tfoot td { font-weight: 700; border-bottom: 0; border-top: 1px solid var(--line-2); }
.tabela .esq { text-align: left; }
.tabela td.bom { color: var(--good-text); font-weight: 700; }
.tabela td.ruim { color: var(--bad-text); font-weight: 700; }
.btn-x { border: 0; background: transparent; color: var(--muted); cursor: pointer; font: 600 13px/1 var(--f-body); padding: 6px 4px; border-radius: 6px; }
.btn-x:hover { color: var(--bad-text); }

/* ---------- gráficos ---------- */
.grafico-caixa { position: relative; min-width: 0; }
.grafico { display: block; width: 100%; height: auto; overflow: visible; touch-action: pan-y; }
.grafico text { font-family: var(--f-mono); font-size: 11px; fill: var(--muted); pointer-events: none; paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; }
.grafico .grade { stroke: var(--line); stroke-width: 1; }
.grafico .eixo { stroke: var(--line-2); stroke-width: 1; }
.grafico .barra { fill: var(--c1); }
.grafico .barra.alta { fill: var(--bad); }
.grafico .barra.fora { fill: var(--line-2); }
.grafico .valor { fill: var(--ink-2); font-weight: 500; }
.grafico .valor.forte { fill: var(--ink); font-weight: 700; }
.grafico .limite { stroke: var(--bad); stroke-width: 1.5; stroke-dasharray: 5 4; pointer-events: none; }
.grafico .limite.neutro { stroke: var(--ink-2); }
.grafico .limite-rot { fill: var(--bad-text); font-weight: 600; }
.grafico .limite-rot.neutro { fill: var(--ink-2); }
.grafico .limite.amostra { stroke-dasharray: 4 3; }
.grafico .area { fill: var(--c1); opacity: .12; }
.grafico .linha { fill: none; stroke: var(--c1); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.grafico .ponto { fill: var(--c1); stroke: var(--surface); stroke-width: 2; }
.grafico .ponto.alto { fill: var(--bad); }
.grafico .marca-atual { fill: var(--ink); stroke: var(--surface); stroke-width: 2; }
.grafico .rot-atual { fill: var(--ink); font-family: var(--f-body); font-size: 13px; font-weight: 700; }
.grafico .guia { stroke: var(--ink-2); stroke-width: 1; stroke-dasharray: 2 3; pointer-events: none; }
.grafico .alvo { fill: transparent; cursor: default; }
.legenda { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.legenda li { display: inline-flex; align-items: center; gap: 6px; }
.legenda i { width: 10px; height: 10px; border-radius: 3px; background: var(--cor); flex: none; }
.legenda b { color: var(--ink); font-weight: 600; }

/* barra empilhada de um ciclo (tempo de cada fase) */
.ciclo { display: grid; gap: 8px; }
.ciclo-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ciclo-topo h3 { font-family: var(--f-display); font-weight: 700; font-size: 19px; line-height: 1.1; }
.ciclo-total { font: 500 12.5px/1.2 var(--f-mono); color: var(--ink-2); }
.ciclo-barra { display: flex; gap: 2px; height: 16px; border-radius: 4px; overflow: hidden; background: var(--surface); }
.ciclo-barra span { min-width: 2px; background: var(--cor); }

/* ---------- texto explicativo ---------- */
.explica { max-width: 70ch; padding-block: 28px 8px; display: grid; gap: 16px; }
.explica h2 { font-family: var(--f-display); font-weight: 700; font-size: clamp(26px, 3vw, 32px); line-height: 1.1; margin-top: 16px; text-wrap: balance; }
.explica h3 { font-family: var(--f-display); font-weight: 700; font-size: 21px; line-height: 1.15; margin-top: 4px; }
.explica p, .explica dd, .explica li { font-size: 16.5px; line-height: 1.65; color: var(--ink-2); }
.explica ul.lista { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.formulas { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.formula { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 12px 14px; display: grid; gap: 4px; }
.formula-def { font: 500 12.5px/1.45 var(--f-mono); color: var(--ink); }
.formula-conta { font-size: 16px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.formula-conta strong { color: var(--ink); }
.formula-nota { font-size: 13px; color: var(--muted); }
.defs { display: grid; gap: 14px; }
.defs dt { font-family: var(--f-display); font-weight: 700; font-size: 20px; color: var(--ink); }
.defs dd { margin: 2px 0 0; }
.faq details { border-bottom: 1px solid var(--line); padding-block: 12px; }
.faq details:first-child { border-top: 1px solid var(--line); }
.faq summary { cursor: pointer; font-weight: 600; font-size: 17px; color: var(--ink); list-style: none; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font: 500 20px/1 var(--f-mono); color: var(--muted); }
.faq details[open] summary::after { content: "−"; }
.faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }
.faq details p { margin-top: 8px; }

/* ---------- chips de escolha (culturas) ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.chips label, .chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink); font-weight: 600; font-size: 14px; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.chips label:hover, .chips a:hover { border-color: var(--ink-2); }
.chips input:checked + label { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.chips input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------- oferta da planilha e cadastro de e-mail ---------- */
.captura { display: grid; gap: 24px 44px; grid-template-columns: minmax(0, 1fr); align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: clamp(18px, 3.6vw, 36px); box-shadow: var(--shadow); }
@media (min-width: 920px) { .captura.com-planilha { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } }
.captura-texto { display: grid; gap: 12px; align-content: start; min-width: 0; }
.captura h2 { font: 800 clamp(30px, 3.8vw, 44px)/1 var(--f-display); text-wrap: balance; }
.captura-texto > p { font-size: 16px; line-height: 1.55; color: var(--ink-2); max-width: 60ch; }
.captura-form { display: grid; gap: 8px; max-width: 520px; }
.captura-form label { font-weight: 600; font-size: 15px; }
.captura-linha { display: flex; flex-wrap: wrap; gap: 8px; }
.captura-linha input { flex: 1 1 220px; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface-2); color: var(--ink); font: 500 16px/1 var(--f-body); }
.captura-linha input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.captura-linha .btn { height: 46px; padding: 0 18px; font-size: 15px; }
/* o botão com o preço ("Comprar a planilha do custo da soja · R$ 69,90") quebra a linha no celular em vez de alargar a página */
.btn[data-link-planilha] { max-width: 100%; white-space: normal; text-align: center; height: auto; min-height: 48px; padding-block: 10px; line-height: 1.2; }
.btn:disabled { opacity: .6; cursor: wait; }
.captura-msg { font-size: 14px; min-height: 1.4em; color: var(--ink-2); }
.captura-msg[data-tipo="ok"] { color: var(--good-text); font-weight: 600; }
.captura-msg[data-tipo="erro"] { color: var(--bad-text); font-weight: 600; }
.captura-lgpd { font-size: 12.5px; color: var(--muted); }

/* trecho de planilha desenhado em HTML, com as cores das células da planilha real */
/* o que a planilha tem a mais: até 6 itens de uma linha (motor.js, montarOferta); o detalhe das abas fica na planilha */
.oferta-itens { display: grid; gap: 14px; align-self: center; padding: 22px 24px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--surface-2); }
.oferta-itens-tit { font: 500 11.5px/1 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.lista-planilha { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 17px; line-height: 1.35; color: var(--ink); }
.lista-planilha li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; }
.lista-planilha li::before { content: ""; width: 10px; height: 5px; margin: 6px 0 0 2px; border-left: 2px solid var(--good-text); border-bottom: 2px solid var(--good-text); transform: rotate(-45deg); }
.mini-planilha { margin: 0; display: grid; gap: 8px; min-width: 0; }
.mini-planilha .tabela-wrap { border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface); }
.mini-planilha table { width: 100%; min-width: 380px; border-collapse: collapse; font: 500 12.5px/1.2 var(--f-mono); font-variant-numeric: tabular-nums; }
.mini-planilha th { background: var(--accent); color: var(--accent-ink); font: 600 11.5px/1.2 var(--f-body); text-align: right; padding: 8px; }
.mini-planilha th:first-child, .mini-planilha td:first-child { text-align: left; font-family: var(--f-body); }
.mini-planilha td { padding: 7px 8px; border-top: 1px solid var(--line); text-align: right; color: var(--ink); }
.mini-planilha td.in { background: var(--xl-entrada); color: var(--xl-entrada-ink); }
.mini-planilha tr.tot td { font-weight: 700; border-top: 2px solid var(--accent); }
.mini-planilha figcaption { font-size: 13px; color: var(--muted); }

/* ---------- estado das ferramentas, mudado no admin (comum.js, aplicarSite) ---------- */
.aviso-site { margin-bottom: 16px; padding: 12px 16px; border: 1px solid var(--warn); border-radius: var(--r); background: var(--warn-soft); color: var(--warn-text); font-size: 15px; line-height: 1.45; }
.aviso-site a { font-weight: 600; }
.pausada { opacity: .4; filter: grayscale(1); user-select: none; }
.selo-site { display: inline-block; vertical-align: .12em; margin-left: 2px; padding: 1px 7px; border-radius: 999px; background: var(--warn-soft); color: var(--warn-text); font: 500 10.5px/1.5 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.selo-site.novo { background: var(--good-soft); color: var(--good-text); }

/* ---------- rodapé ---------- */
.rodape { border-top: 1px solid var(--line); margin-top: 40px; }
.rodape-in { display: grid; gap: 24px 40px; grid-template-columns: minmax(0, 1fr); padding-block: 28px 44px; }
@media (min-width: 760px) { .rodape-in { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); } }
@media (min-width: 960px) { .rodape-in { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); } }
.rodape-marca { display: grid; gap: 8px; align-content: start; }
.rodape-marca p { font-size: 14px; color: var(--ink-2); max-width: 38ch; }
.marca.p { font-size: 21px; }
.marca.p .marca-ico { width: 18px; height: 21px; }
.rodape-nav { display: grid; gap: 6px; align-content: start; font-size: 14.5px; }
.rodape-tit { font: 500 11px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.rodape-nav a { color: var(--ink-2); text-decoration: none; }
.rodape-nav a:hover { color: var(--ink); text-decoration: underline; }
.rodape-nav a[aria-current="page"] { color: var(--ink); font-weight: 600; }
.rodape-nota { grid-column: 1 / -1; font-size: 13px; color: var(--muted); max-width: 90ch; display: grid; gap: 6px; }
.rodape-direitos { font-size: 12px; }

/* ---------- barra fixa no celular ---------- */
.barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; align-items: center; gap: 16px; background: var(--ink); color: var(--surface); padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); box-shadow: 0 -6px 20px rgba(0, 0, 0, .18); }
.barra-num { display: grid; gap: 2px; min-width: 0; }
.barra-rot { font: 500 10px/1.2 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.barra strong { font-family: var(--f-display); font-weight: 800; font-size: 22px; line-height: 1; white-space: nowrap; }
.barra-btn { margin-left: auto; height: 36px; background: var(--surface); color: var(--ink); border-color: var(--surface); }
@media (max-width: 979px) { body.com-barra main { padding-bottom: 72px; } }

.tip { position: fixed; z-index: 30; pointer-events: none; max-width: 260px; background: var(--ink); color: var(--surface); font-size: 13px; line-height: 1.35; padding: 7px 10px; border-radius: 6px; box-shadow: 0 6px 18px rgba(0, 0, 0, .2); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- motor das ferramentas (assets/js/motor.js) ---------- */
.kpis.k2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 519px) { .kpis.k2 { grid-template-columns: minmax(0, 1fr); } }
.cultura-escolha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 18px; }
.cultura-rot { font: 500 11px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.selo-cultura { font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; background: var(--accent-soft); color: var(--accent); padding: 5px 8px; border-radius: 4px; }
.grupo-nota { font-size: 13.5px; color: var(--ink-2); margin: -4px 0 10px; max-width: 62ch; }
.bloco-item { display: grid; gap: 8px; min-width: 0; }
.mini-kpis { display: grid; gap: 16px 24px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.mini-kpi { display: grid; gap: 6px; align-content: start; padding-top: 12px; border-top: 1px solid var(--line); min-width: 0; }
.mini-kpi-val { font-family: var(--f-display); font-weight: 800; font-size: 28px; line-height: 1; color: var(--ink); font-variant-numeric: lining-nums; }
.mini-kpi-val.bom { color: var(--good-text); }
.mini-kpi-val.ruim { color: var(--bad-text); }
.tabela-entrada th, .tabela-entrada td { padding: 4px 6px; }
.tabela-entrada .th-un { display: block; font-size: 10px; letter-spacing: .02em; text-transform: none; color: var(--muted); }
.tabela-entrada input, .tabela-entrada select { width: 100%; min-width: 64px; height: 36px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--surface); color: var(--ink); font: 600 15px/1 var(--f-body); font-variant-numeric: tabular-nums; text-align: right; padding: 0 8px; }
.tabela-entrada input.cel-txt, .tabela-entrada select { text-align: left; min-width: 110px; }
.tabela-entrada input:focus-visible, .tabela-entrada select:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.tabela-entrada td.erro input { border-color: var(--bad); color: var(--bad-text); }
.tabela .destaque-linha th, .tabela .destaque-linha td { font-weight: 700; color: var(--ink); background: var(--surface-2); }
.btn-p { min-height: 34px; padding: 0 12px; font-size: 14px; }
.btn.desligado { opacity: .55; pointer-events: none; }
.grafico .linha.s2 { stroke: var(--c2); } .grafico .linha.s3 { stroke: var(--c3); } .grafico .linha.s4 { stroke: var(--c4); } .grafico .linha.s5 { stroke: var(--c5); }
.grafico .ponto.s1 { fill: var(--c1); } .grafico .ponto.s2 { fill: var(--c2); } .grafico .ponto.s3 { fill: var(--c3); } .grafico .ponto.s4 { fill: var(--c4); } .grafico .ponto.s5 { fill: var(--c5); }
.grafico .barra.s1 { fill: var(--c1); } .grafico .barra.s2 { fill: var(--c2); } .grafico .barra.s3 { fill: var(--c3); } .grafico .barra.s4 { fill: var(--c4); } .grafico .barra.s5 { fill: var(--c5); }
.grafico .barra.neg { fill: var(--bad); }
.grafico .barra.apagada { fill: var(--line-2); }
.grafico .eixo.zero { stroke: var(--ink-2); }
.grafico .guia.fixa { stroke: var(--ink); stroke-dasharray: 3 3; }
.grafico .rot-marca { fill: var(--ink); font-family: var(--f-body); font-size: 12.5px; font-weight: 700; }
.grafico text.forte { fill: var(--ink); font-weight: 700; }
.explica ol.fontes { padding-left: 20px; display: grid; gap: 8px; }
.explica ol.fontes li { font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.explica ol.fontes a { color: var(--accent); overflow-wrap: anywhere; }
.aviso-pagina { font-size: 14px; color: var(--ink-2); background: var(--surface-2); border-left: 3px solid var(--grain); padding: 10px 14px; border-radius: 0 8px 8px 0; max-width: 72ch; }
.tabela-wrap { position: relative; }
@media (max-width: 519px) {
  .tabela-entrada th, .tabela-entrada td { padding: 3px; }
  .tabela-entrada input, .tabela-entrada select { min-width: 56px; padding: 0 6px; }
  .tabela-entrada input.cel-txt, .tabela-entrada select { min-width: 84px; }
}
.alertas { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.alertas li { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
/* campos que não cabem nas 3 linhas do subgrid (tabelas e opções com dica longa) */
.campo.campo-livre { grid-row: auto; grid-template-rows: none; }
/* quadro da oferta da planilha: cabe no celular sem rolar */
@media (max-width: 519px) { .mini-planilha table { min-width: 0; font-size: 11.5px; } .mini-planilha th, .mini-planilha td { padding-inline: 5px; } }
/* número grande que não cabe na coluna do painel */
.kpi-val.longo { font-size: clamp(21px, 2.5vw, 30px); }
@media (max-width: 519px) { .kpi-val.longo { font-size: 24px; } }
/* linha em destaque da tabela: o valor bom ou ruim mantém a cor */
.tabela .destaque-linha td.ruim { color: var(--bad-text); }
.tabela .destaque-linha td.bom { color: var(--good-text); }
@media (max-width: 519px) {
  /* os mini-indicadores não usam as áreas "rot" e "sub" do painel: rótulo e complemento voltam a fluir em coluna */
  .mini-kpi .kpi-rot, .mini-kpi .kpi-sub { grid-area: auto; }
  /* tabelas largas rolam de lado: a sombra na borda mostra que há mais colunas e some quando a rolagem chega ao fim */
  .tabela-wrap, .mini-planilha .tabela-wrap {
    background:
      linear-gradient(to right, var(--surface), var(--surface)) left center / 24px 100% no-repeat local,
      linear-gradient(to left, var(--surface), var(--surface)) right center / 24px 100% no-repeat local,
      linear-gradient(to right, var(--line-2), transparent) left center / 12px 100% no-repeat scroll,
      linear-gradient(to left, var(--line-2), transparent) right center / 12px 100% no-repeat scroll;
  }
}
/* seletor de cultura em links (uma página por cultura) */
.chips a[aria-current="page"] { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
/* link do painel de resultado para o método e as fontes da página */
.fontes-link { font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 10px; }
.fontes-link a { color: var(--accent); font-weight: 600; }

/* ---------- culturas: cor de cada cultura, faixa de abas no topo e página inicial da cultura ---------- */
.cult-soja { --cult: #8e9a1c; --cult-forte: #59610e; --cult-suave: #eef1d2; }
.cult-milho { --cult: #e2a900; --cult-forte: #7a5c00; --cult-suave: #fbf0c8; }
.cult-cafe { --cult: #7a4a2b; --cult-forte: #6a3d22; --cult-suave: #f0e3d8; }
.cult-cana { --cult: #3f9a3f; --cult-forte: #276b27; --cult-suave: #def0da; }
.cult-algodao { --cult: #6c8db0; --cult-forte: #3a5878; --cult-suave: #e3ebf4; }
.cult-trigo { --cult: #c98f2a; --cult-forte: #7f5612; --cult-suave: #f6e8cf; }
.cult-arroz { --cult: #3e9c8a; --cult-forte: #22675a; --cult-suave: #daf0eb; }
.cult-feijao { --cult: #9a3b2e; --cult-forte: #84301f; --cult-suave: #f4e0dc; }
.cult-citros { --cult: #ee7a16; --cult-forte: #a34a00; --cult-suave: #fce7d3; }
.cult-tomate { --cult: #d93a2b; --cult-forte: #a82618; --cult-suave: #fbe0dc; }
:root[data-theme="dark"] .cult-soja { --cult: #b3c03a; --cult-forte: #c9d46a; --cult-suave: #2a2e14; }
:root[data-theme="dark"] .cult-milho { --cult: #f0c21a; --cult-forte: #f3cf55; --cult-suave: #332b0e; }
:root[data-theme="dark"] .cult-cafe { --cult: #b07a55; --cult-forte: #d7a585; --cult-suave: #33241a; }
:root[data-theme="dark"] .cult-cana { --cult: #5dbb5d; --cult-forte: #8ed48e; --cult-suave: #1c3020; }
:root[data-theme="dark"] .cult-algodao { --cult: #8fb0d3; --cult-forte: #afc8e4; --cult-suave: #1e2a37; }
:root[data-theme="dark"] .cult-trigo { --cult: #e0ae55; --cult-forte: #ebc57f; --cult-suave: #352a16; }
:root[data-theme="dark"] .cult-arroz { --cult: #4fc0ab; --cult-forte: #86d6c6; --cult-suave: #15302b; }
:root[data-theme="dark"] .cult-feijao { --cult: #d06a5c; --cult-forte: #e79a8e; --cult-suave: #3a1f1b; }
:root[data-theme="dark"] .cult-citros { --cult: #f59a45; --cult-forte: #f7b479; --cult-suave: #3a2614; }
:root[data-theme="dark"] .cult-tomate { --cult: #ee6a5a; --cult-forte: #f29a8e; --cult-suave: #3b1e1b; }
/* faixa de abas das culturas, logo abaixo do menu (partes/topo.html) */
.culturas-faixa { border-top: 1px solid var(--line); }
.culturas-faixa-in { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.culturas-faixa-in::-webkit-scrollbar { display: none; }
.cult-aba { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px 7px; font-weight: 600; font-size: 14px; color: var(--ink-2); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.cult-aba:first-child { margin-left: -12px; }
.cult-aba:hover { color: var(--ink); border-bottom-color: var(--cult); }
.cult-aba[aria-current="page"] { color: var(--cult-forte); background: var(--cult-suave); border-bottom-color: var(--cult); }
.cult-aba:focus-visible { outline: 2px solid var(--cult); outline-offset: -2px; }
.cult-ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--cult); flex: none; }
@media (max-width: 860px) {
  .culturas-faixa-in { -webkit-mask-image: linear-gradient(to right, #000 88%, transparent); mask-image: linear-gradient(to right, #000 88%, transparent); padding-right: 24px; }
}
/* página inicial de cada cultura (soja.html, milho.html...): gerada por scripts/montar-paginas.mjs */
.cult-topo { background: var(--cult-suave); border-bottom: 3px solid var(--cult); }
.cult-topo .eyebrow a { color: var(--cult-forte); }
.cult-topo h1 { color: var(--ink); }
.cult-selo { display: inline-flex; align-items: center; gap: 8px; }
.cult-selo .cult-ponto { width: 14px; height: 14px; }
.cult-fatos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-top: 28px; }
.cult-fato { background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--cult); border-radius: var(--r); padding: 14px 16px; display: grid; gap: 4px; align-content: start; }
.cult-fato-rot { font: 500 10.5px/1.3 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.cult-fato-val { font: 800 28px/1.05 var(--f-display); color: var(--ink); }
.cult-fato-fonte { font-size: 12.5px; line-height: 1.4; color: var(--muted); }
.cult-ref { font-size: 14px; margin-top: 10px; color: var(--ink-2); }
.cult-ref a, .cult-mods a { color: var(--cult-forte); }
.cult-mods { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); margin-top: 32px; align-items: start; }
@media (min-width: 760px) { .cult-mods { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cult-mod { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 18px 14px; display: grid; gap: 10px; }
.cult-mod h2 { font: 700 24px/1.05 var(--f-display); }
.cult-mod-cont { font: 500 11px/1.2 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.cult-lista { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--line-2); }
.cult-lista li { border-bottom: 1px solid var(--line); }
.cult-lista a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 9px 0; text-decoration: none; }
.cult-lista b { font-weight: 600; font-size: 15.5px; color: var(--ink); }
.cult-lista small { grid-column: 1; font-size: 13.5px; color: var(--ink-2); line-height: 1.35; }
.cult-lista span[aria-hidden] { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--cult-forte); font-weight: 700; }
.cult-lista a:hover b { color: var(--cult-forte); }
.cult-breve { font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.cult-breve b { font: 500 10.5px/1.6 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; }
.cult-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

/* resultado e formulário num par próprio (.bancada.com-par > .bancada-par): o quadro fixo para no fim do formulário */
.bancada.com-par { display: block; }
.bancada.com-par > .detalhes { margin-top: 20px; }
.bancada-par { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "resumo" "entradas"; }
@media (min-width: 980px) {
  .bancada-par { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); grid-template-areas: "entradas resumo"; align-items: start; gap: 24px; }
  .bancada.com-par > .detalhes { margin-top: 24px; }
}
@media (max-width: 519px) {
  .cult-fatos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cult-fato { padding: 12px; }
  .cult-fato-val { font-size: 21px; }
}

/* exportar-site: a Minha conta e o plano Minha Safra ainda não foram lançados (quem entrou na conta, só o admin no
   modo de teste, ganha a classe cs-conta: assets/js/comum.js) */
html:not(.cs-conta) [data-so-conta] { display: none !important; }
