/* =====================================================================
   ferramentas.css — só o CSS extra das ferramentas grátis da Ritto (/ferramentas/).

   Carregada DEPOIS de landing-v5.css (em site/: /extras/landing.css, que já inclui
   proposta.css). Reaproveita .nav, .botao, .rodape, .cta-final, .eyebrow, .tx-h1/.tx-h2/
   .tx-lead, .campo/.entrada/.marcar/.enviar/.form-msg (formulário da landing), .premissas
   e os tokens. Os tokens de proposta.css são redeclarados abaixo com os mesmos valores só
   como rede de segurança.
   ===================================================================== */

:root {
  --pagina: #F2F7F8; --card: #FFFFFF; --hairline: #DCE6E9; --grade: #EDF2F3;
  --texto-1: #0B1F26; --texto-2: #4A6670; --texto-3: #7C959E;
  --petroleo: #0C4651; --lima: #DDDC00; --branco: #FFFFFF; --sobre-petroleo-2: #A8BFC7;
  --alerta: #eda100; --bom: #1baf7a;
  --sombra-cor: color-mix(in oklab, var(--texto-1) 10%, transparent);
  --prosa-largura: 68ch;
  --lateral-largura: 288px;
  --raio-card: 20px;
  --lima-tinta: color-mix(in oklab, var(--lima) 18%, var(--card));
}

/* ---------------------------------------------------------------- Base */
body.ferr { background: var(--pagina); color: var(--texto-1); }
.ferr-main { display: block; }
.ferr-main *, .ferr-main *::before, .ferr-main *::after { box-sizing: border-box; }
.ferr .nav__logo { display: inline-flex; align-items: center; min-height: 44px; }
.ferr .nav__links a.is-ativo { color: var(--sobre-1); position: relative; }
.ferr .nav__links a.is-ativo::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--lima); }
.ferr .nav.is-aberta .nav__links a.is-ativo::after { left: 8px; right: auto; width: 24px; bottom: 6px; }
.ferr .num { font-variant-numeric: tabular-nums; }

.chip { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 11px; border-radius: 999px; background: color-mix(in oklab, var(--petroleo) 9%, var(--card)); color: var(--petroleo); font: 600 12px/16px var(--fonte); letter-spacing: .02em; white-space: nowrap; }
.chip--lima { background: var(--lima); color: var(--petroleo); }
.chip--breve { background: var(--grade); color: var(--texto-3); border: 1px dashed color-mix(in oklab, var(--texto-3) 50%, var(--hairline)); }

.migalhas { font: 500 13px/18px var(--fonte); color: var(--texto-3); }
.migalhas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; }
.migalhas li { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; }
.migalhas a { color: var(--texto-2); padding: 4px 2px; border-radius: 6px; }
.migalhas a:hover { color: var(--petroleo); text-decoration: underline; text-underline-offset: 3px; }
.migalhas .ic { width: 14px; height: 14px; color: var(--texto-3); }
.migalhas [aria-current="page"] { color: var(--texto-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60vw; display: inline-block; }
.ferr-hero .migalhas, .ferr-hero .migalhas a, .ferr-hero .migalhas [aria-current="page"] { color: var(--sobre-2); }
.ferr-hero .migalhas a:hover { color: var(--sobre-1); }

/* ---------------------------------------------------------------- Hub: hero */
.ferr-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--petroleo); color: var(--sobre-1); padding: clamp(20px, 3vw, 32px) 0 clamp(56px, 7vw, 88px); }
.ferr-hero.brilho::after { right: -240px; top: -300px; }
.ferr-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(28px, 5vw, 72px); align-items: end; margin-top: clamp(28px, 4vw, 56px); }
.ferr-hero .eyebrow { color: var(--sobre-2); }
.ferr-hero__h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); max-width: 14ch; }
.ferr-hero__h1 em { font-style: normal; }
.ferr-hero .tx-lead { color: var(--sobre-2); max-width: 560px; margin-top: 22px; }
.ferr-hero__provas { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; color: var(--sobre-2); font: 500 13px/18px var(--fonte); }
.ferr-hero__provas li { display: inline-flex; align-items: center; gap: 7px; }
.ferr-hero__provas .ic { width: 15px; height: 15px; color: var(--lima); }
.ferr-hero__contagem { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-radius: 20px; background: var(--petroleo-card, color-mix(in oklab, var(--petroleo) 90%, white)); border: 1px solid rgba(255,255,255,.16); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
.ferr-hero__contagem b { font: 700 clamp(3rem, 5vw, 4.4rem)/1 var(--fonte-titulo); letter-spacing: -.05em; color: var(--lima); font-variant-numeric: tabular-nums; }
.ferr-hero__contagem span { font: 500 14px/20px var(--fonte); color: var(--sobre-2); }
@media (max-width: 899px) { .ferr-hero__grid { grid-template-columns: minmax(0, 1fr); align-items: start; } .ferr-hero__contagem { width: max-content; } }

/* ---------------------------------------------------------------- Hub: grade de cards */
.ferr-lista { padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 6vw, 88px); }
.ferr-lista__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: clamp(20px, 3vw, 32px); }
.ferr-lista__titulo { font: 600 clamp(1.5rem, 2.4vw, 2rem)/1.15 var(--fonte-titulo); letter-spacing: -.03em; }
.ferr-lista__cab p { color: var(--texto-3); font: 500 14px/20px var(--fonte); }
.ferr-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: clamp(14px, 2vw, 22px); }
.fcard { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: var(--raio-card); background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); transition: transform 260ms var(--facil, ease), box-shadow 260ms ease, border-color 260ms ease; }
.fcard:not(.fcard--breve):hover { transform: translateY(-4px); box-shadow: 0 24px 44px -28px color-mix(in oklab, var(--petroleo) 45%, transparent), 0 1px 2px var(--sombra-cor); border-color: color-mix(in oklab, var(--petroleo) 25%, var(--hairline)); }
.fcard__topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fcard__icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: color-mix(in oklab, var(--petroleo) 8%, var(--card)); color: var(--petroleo); }
.fcard__icone .i { width: 24px; height: 24px; }
.fcard__titulo { font: 600 1.15rem/1.28 var(--fonte-titulo); letter-spacing: -.02em; text-wrap: balance; }
.fcard__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fcard__link:hover { color: var(--petroleo); }
.fcard__desc { color: var(--texto-2); font-size: 14.5px; line-height: 1.55; }
.fcard__acao { margin-top: auto; padding-top: 4px; }
.fcard__usar { display: inline-flex; align-items: center; gap: 6px; color: var(--petroleo); font: 600 14px/20px var(--fonte); }
.fcard__usar .ic { width: 16px; height: 16px; transition: transform 200ms var(--facil, ease); }
.fcard:hover .fcard__usar .ic { transform: translateX(3px); }
.fcard--breve { background: color-mix(in oklab, var(--card) 70%, var(--pagina)); border-style: dashed; }
.fcard--breve .fcard__icone { background: var(--grade); color: var(--texto-3); }
.fcard--breve .fcard__titulo { color: var(--texto-2); }
.fcard--breve .fcard__desc { color: var(--texto-3); }
.fcard--breve .chip:not(.chip--breve) { background: var(--grade); color: var(--texto-3); }

.ferr-hub-cta { padding: 0 0 clamp(56px, 7vw, 100px); }

/* ---------------------------------------------------------------- Página de ferramenta: cabeçalho */
.ferr-cab { background: var(--card); border-bottom: 1px solid var(--hairline); padding: clamp(20px, 3vw, 32px) 0 clamp(28px, 4vw, 44px); }
.ferr-cab__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: clamp(20px, 3vw, 32px); }
.ferr-cab__texto { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ferr-h1 { font: 700 clamp(1.9rem, 4vw, 3.2rem)/1.06 var(--fonte-titulo); letter-spacing: -.035em; text-wrap: balance; color: var(--texto-1); }
.ferr-lead { font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.55; color: var(--texto-2); text-wrap: pretty; max-width: 640px; }
.ferr-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--texto-2); font: 500 13.5px/20px var(--fonte); }
.ferr-meta li { display: inline-flex; align-items: center; gap: 6px; }
.ferr-meta .ic { width: 16px; height: 16px; color: var(--petroleo); flex: none; }
.ferr-meta a { color: var(--petroleo); text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--lima) 85%, var(--petroleo)); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ferr-cab__icone { display: grid; place-items: center; width: 132px; height: 132px; border-radius: 36px; background: var(--petroleo); color: var(--lima); box-shadow: 0 30px 60px -36px rgba(12,70,81,.7); }
.ferr-cab__icone .i { width: 62px; height: 62px; stroke-width: 1.5; }
@media (max-width: 899px) { .ferr-cab__grid { grid-template-columns: minmax(0, 1fr); } .ferr-cab__icone { display: none; } }

/* ---------------------------------------------------------------- Página de ferramenta: a ferramenta e as ações */
.ferr-app-secao { padding: clamp(24px, 3vw, 36px) 0 clamp(28px, 4vw, 48px); }
.ferr-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 16px; }
.ferr-acoes .botao { min-height: 46px; }
.ferr-acoes .botao.is-ok { border-color: var(--lima); background: var(--lima-tinta); color: var(--petroleo); }
.ferr-acoes__nota { flex-basis: 100%; color: var(--texto-3); font: 500 13px/18px var(--fonte); }
@media (min-width: 900px) { .ferr-acoes__nota { flex-basis: auto; margin-left: auto; text-align: right; max-width: 360px; } }
.botao--fantasma-claro { border-color: transparent; background: transparent; color: var(--texto-2); }
.botao--fantasma-claro:hover { background: var(--grade); color: var(--texto-1); }
.botao--petroleo-borda { border-color: var(--petroleo); color: var(--petroleo); }
.botao--petroleo-borda:hover { background: color-mix(in oklab, var(--petroleo) 8%, var(--card)); }

/* Bloco de lead: "Receber este resultado por e-mail" */
.lead { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(20px, 3vw, 40px); margin-top: clamp(24px, 3vw, 36px); padding: clamp(22px, 3vw, 32px); border-radius: 24px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); scroll-margin-top: 90px; }
.lead__titulo { font: 600 clamp(1.3rem, 2vw, 1.6rem)/1.2 var(--fonte-titulo); letter-spacing: -.025em; text-wrap: balance; margin-top: -8px; }
.lead__texto > p:not(.eyebrow) { margin-top: 10px; color: var(--texto-2); font-size: 15px; line-height: 1.55; }
.lead__lista { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; color: var(--texto-2); font: 500 14px/20px var(--fonte); }
.lead__lista li { display: flex; align-items: flex-start; gap: 8px; }
.lead__lista .ic { width: 16px; height: 16px; color: var(--bom); flex: none; margin-top: 2px; }
.lead__form { display: flex; flex-direction: column; gap: 14px; }
.lead__form .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lead__form .campo__rotulo small { font-weight: 400; color: var(--texto-3); margin-left: 4px; }
.lead__form .marcar a { color: var(--petroleo); text-decoration: underline; text-underline-offset: 2px; }
.lead__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.lead__acoes .form-msg { flex: 1; min-width: 200px; }
.lead__ok { grid-column: 2; padding: 8px 0; outline: none; }
.lead__ok-selo { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--lima); color: var(--petroleo); box-shadow: 0 0 0 8px var(--lima-tinta); margin-bottom: 16px; }
.lead__ok-selo .i { width: 26px; height: 26px; stroke-width: 2.5; }
.lead__ok h3 { font: 600 1.35rem/1.2 var(--fonte-titulo); letter-spacing: -.02em; }
.lead__ok h3 b { color: var(--petroleo); font-weight: 600; overflow-wrap: anywhere; }
.lead__ok p { margin-top: 8px; color: var(--texto-2); font-size: 15px; line-height: 1.55; }
.lead__ok-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
@media (max-width: 899px) { .lead { grid-template-columns: minmax(0, 1fr); } .lead__ok { grid-column: auto; } }
@media (max-width: 599px) { .lead__form .campos { grid-template-columns: minmax(0, 1fr); } .lead__acoes .enviar { width: 100%; } }

/* ---------------------------------------------------------------- Página de ferramenta: prosa, passos, FAQ, CTA, lateral */
.ferr-grid { display: grid; grid-template-columns: minmax(0, 1fr) var(--lateral-largura); gap: clamp(40px, 6vw, 96px); align-items: start; padding: clamp(8px, 2vw, 24px) 0 clamp(56px, 7vw, 96px); }
.ferr-lateral { align-self: stretch; min-width: 0; }
.ferr-lateral__fixo { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 22px; }
.sumario { border-left: 2px solid var(--hairline); }
.sumario__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); padding-left: 18px; margin-bottom: 12px; }
.sumario ol { display: flex; flex-direction: column; gap: 2px; }
.sumario a { display: block; padding: 7px 12px 7px 18px; margin-left: -2px; border-left: 2px solid transparent; color: var(--texto-2); font: 500 14px/20px var(--fonte); transition: color 120ms ease, border-color 120ms ease; text-wrap: pretty; }
.sumario a:hover { color: var(--petroleo); border-left-color: var(--lima); }
.lateral-cta { padding: 20px; border-radius: 18px; background: var(--petroleo); color: var(--sobre-1); display: flex; flex-direction: column; gap: 8px; align-items: flex-start; background-image: radial-gradient(circle at 100% 0%, color-mix(in oklab, var(--lima) 18%, transparent), transparent 55%); }
.lateral-cta__titulo { font: 600 16px/22px var(--fonte-titulo); letter-spacing: -.01em; }
.lateral-cta p:not(.lateral-cta__titulo) { color: var(--sobre-2); font-size: 14px; line-height: 1.5; }
.lateral-cta .botao { margin-top: 8px; width: 100%; }
@media (max-width: 1023px) { .ferr-grid { grid-template-columns: minmax(0, 1fr); } .ferr-lateral { display: none; } }

.prosa { max-width: var(--prosa-largura); min-width: 0; font-size: 17px; line-height: 1.7; color: var(--texto-1); text-wrap: pretty; }
.prosa > * + * { margin-top: 1.2em; }
.prosa h2 { font: 600 clamp(1.45rem, 2.2vw, 1.9rem)/1.2 var(--fonte-titulo); letter-spacing: -.03em; margin-top: 2.1em; scroll-margin-top: 96px; text-wrap: balance; }
.prosa h2 + * { margin-top: .7em; }
.prosa p { margin-top: 1.1em; }
.prosa a { color: var(--petroleo); font-weight: 500; text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--lima) 85%, var(--petroleo)); text-decoration-thickness: 2px; text-underline-offset: 3px; border-radius: 3px; }
.prosa a:hover { background: var(--lima-tinta); text-decoration-color: var(--petroleo); }
.prosa strong { font-weight: 600; }
.prosa em { font-style: italic; }
.prosa ul, .prosa ol:not(.passos) { padding-left: 1.4em; display: flex; flex-direction: column; gap: .5em; }
.prosa ul { list-style: none; padding-left: 1.5em; }
.prosa ul > li { position: relative; }
.prosa ul > li::before { content: ""; position: absolute; left: -1.5em; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--lima); box-shadow: 0 0 0 2px var(--petroleo); }
.prosa ol:not(.passos) { list-style: decimal; }
.prosa .tabela { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--hairline); border-radius: 16px; background: var(--card); margin-top: 1.4em; }
.prosa table { width: 100%; border-collapse: collapse; font-size: .92em; }
.prosa th, .prosa td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline); }
.prosa th { font: 600 12px/16px var(--fonte); letter-spacing: .06em; text-transform: uppercase; color: var(--texto-3); background: var(--grade); }
.prosa tr:last-child td { border-bottom: 0; }
.prosa td.num { white-space: nowrap; font-weight: 600; }
.como-usar h2 { margin-top: 0; }
.passos { counter-reset: passo; display: flex; flex-direction: column; gap: 12px; margin-top: 1em; }
.passos li { counter-increment: passo; position: relative; padding: 14px 18px 14px 62px; border-radius: 16px; background: var(--card); border: 1px solid var(--hairline); font-size: .95em; }
.passos li::before { content: counter(passo); position: absolute; left: 16px; top: 14px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--lima); color: var(--petroleo); font: 700 14px/1 var(--fonte-titulo); }
.passos li p { margin: 0; }
.fonte-oficial { margin-top: 1.8em; padding: 16px 20px; border-radius: 16px; border: 1px solid color-mix(in oklab, var(--petroleo) 22%, var(--hairline)); background: color-mix(in oklab, var(--petroleo) 6%, var(--card)); font-size: .92em; line-height: 1.55; }
.fonte-oficial__rotulo { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--petroleo); margin-bottom: 6px; }
.fonte-oficial__rotulo .ic { width: 15px; height: 15px; }
.fonte-oficial p + p { margin-top: 0; color: var(--texto-2); }
.ferr-cta { margin-top: 2.2em; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 32px; align-items: center; padding: clamp(22px, 3vw, 32px); border-radius: 22px; background: var(--petroleo); color: var(--sobre-1); background-image: radial-gradient(circle at 100% 0%, color-mix(in oklab, var(--lima) 16%, transparent), transparent 50%); font-size: .92em; }
.ferr-cta .eyebrow { color: var(--sobre-2); margin-bottom: 10px; }
.ferr-cta__titulo { font: 600 clamp(1.2rem, 1.8vw, 1.5rem)/1.25 var(--fonte-titulo); letter-spacing: -.02em; text-wrap: balance; }
.ferr-cta__texto p:not(.ferr-cta__titulo):not(.eyebrow) { margin-top: 10px; color: var(--sobre-2); line-height: 1.55; }
.ferr-cta__acao { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ferr-cta .micro-cta { color: var(--sobre-3); font: 500 12px/16px var(--fonte); margin-top: 0; }
.ferr-hub-cta .ferr-cta { margin-top: 0; font-size: 1em; }
@media (max-width: 699px) { .ferr-cta { grid-template-columns: minmax(0, 1fr); } .ferr-cta__acao { align-items: stretch; } .ferr-cta__acao .botao { width: 100%; } .ferr-cta .micro-cta { text-align: center; } }

.faq { margin-top: 2.4em; }
.faq h2 { margin-top: 0; }
.faq__item { border-top: 1px solid var(--hairline); }
.faq__item:last-child { border-bottom: 1px solid var(--hairline); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 14px 0; cursor: pointer; list-style: none; font: 600 1.02em/1.35 var(--fonte-titulo); letter-spacing: -.01em; color: var(--texto-1); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary .ic { flex: none; width: 22px; height: 22px; color: var(--petroleo); transition: transform 200ms var(--facil, ease); }
.faq__item[open] summary .ic { transform: rotate(45deg); }
.faq__item summary:hover { color: var(--petroleo); }
.faq__resposta { padding: 0 0 20px; font-size: .95em; color: var(--texto-2); }
.faq__resposta p { margin: 0; }

/* Relacionadas e "Leia também" */
.relacionados { background: color-mix(in oklab, var(--petroleo) 5%, var(--pagina)); border-top: 1px solid var(--hairline); padding: clamp(44px, 6vw, 80px) 0; }
.relacionados__cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: clamp(20px, 3vw, 32px); }
.relacionados__titulo { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.leia-tambem { padding: clamp(44px, 6vw, 80px) 0 clamp(56px, 7vw, 100px); }
.acards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2.4vw, 26px); }
.acard { position: relative; display: flex; flex-direction: column; border-radius: var(--raio-card); background: var(--card); border: 1px solid var(--hairline); overflow: hidden; box-shadow: 0 1px 2px var(--sombra-cor); transition: transform 260ms var(--facil, ease), box-shadow 260ms ease; }
.acard:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -28px color-mix(in oklab, var(--petroleo) 45%, transparent); }
.acard__capa img { width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }
.acard__corpo { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.acard__titulo { font: 600 1.1rem/1.3 var(--fonte-titulo); letter-spacing: -.02em; text-wrap: balance; }
.acard__titulo a::after { content: ""; position: absolute; inset: 0; }
.acard__titulo a:hover { color: var(--petroleo); }
.acard__desc { color: var(--texto-2); font-size: 14.5px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.acard__meta { margin-top: auto; color: var(--texto-3); font: 500 13px/18px var(--fonte); }
.acard .chip { position: relative; z-index: 1; align-self: flex-start; }

/* ================================================================== Impressão ("Baixar PDF" = window.print) */
.impressao { display: none; }
@media print {
  @page { margin: 16mm; }
  html, body { background: #fff !important; color: #000 !important; }
  .nav, footer, .ferr-cab, .ferr-acoes, .lead, .ferr-grid, .relacionados, .leia-tambem, .ferr-app, .cta-final, .cta-movel { display: none !important; }
  .ferr-app-secao { padding: 0 !important; }
  .ferr-app-secao .wrap { width: 100% !important; }
  .impressao { display: block; font: 400 12pt/1.5 var(--fonte), system-ui, sans-serif; color: #111; }
  .impressao__cab { display: flex; align-items: center; gap: 16px; padding-bottom: 12px; margin-bottom: 18px; border-bottom: 2px solid #0C4651; }
  .impressao__cab img { height: 28px; width: auto; }
  .impressao__cab b { display: block; font: 700 16pt/1.2 var(--fonte-titulo), system-ui, sans-serif; color: #0C4651; letter-spacing: -.02em; }
  .impressao__cab span { display: block; font-size: 9.5pt; color: #555; margin-top: 2px; }
  .impressao__total { font-size: 13pt; margin: 0 0 12px; }
  .impressao__total b { font: 700 24pt/1 var(--fonte-titulo), system-ui, sans-serif; color: #0C4651; letter-spacing: -.03em; }
  .impressao__nota { margin: 0 0 14px; padding: 10px 12px; border-left: 4px solid #DDDC00; background: #F7F9F9; font-size: 10.5pt; }
  .impressao__tabela { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 10.5pt; page-break-inside: avoid; }
  .impressao__tabela caption { text-align: left; font: 600 9pt/1.4 var(--fonte), system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4A6670; padding: 0 0 6px; }
  .impressao__tabela th, .impressao__tabela td { padding: 7px 10px; border-bottom: 1px solid #DCE6E9; text-align: left; vertical-align: top; }
  .impressao__tabela thead th { background: #EDF2F3; font-weight: 600; font-size: 9.5pt; }
  .impressao__tabela tbody th { font-weight: 500; color: #333; }
  .impressao__tabela .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .impressao__soma td { font-weight: 700; border-top: 2px solid #0C4651; border-bottom: 0; }
  .impressao__premissas { margin: 0; padding-left: 18px; font-size: 9.5pt; color: #444; }
  .impressao__premissas li + li { margin-top: 4px; }
  .impressao a { color: inherit; text-decoration: none; }
}

/* === gerador-de-recibo === */
.ger-rec [hidden], .calc-jm [hidden], .mc [hidden] { display: none !important; }
.ger-rec__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.ger-rec__form { display: flex; flex-direction: column; gap: 22px; padding: clamp(20px, 3vw, 28px); border-radius: 24px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.ger-rec__topo { display: flex; flex-wrap: wrap; gap: 8px; }
.ger-rec__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.ger-rec__bloco legend { padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.ger-rec .campos { gap: 14px 12px; }
.ger-rec .campo__rotulo { color: var(--texto-1); font-weight: 600; }
.ger-rec .campo__rotulo small { font-weight: 400; color: var(--texto-3); margin-left: 4px; }
.ger-rec .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.ger-rec select.entrada { padding-right: 36px; }
.ger-rec__extenso { margin-top: 2px; font: 500 12.5px/1.45 var(--fonte); color: var(--petroleo); }
.ger-rec__extenso::first-letter { text-transform: uppercase; }
.ger-rec__logo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ger-rec__arquivo { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.ger-rec__upload { cursor: pointer; }
.ger-rec__logo:has(.ger-rec__arquivo:focus-visible) .ger-rec__upload { outline: 2px solid var(--lima); outline-offset: 3px; }
.ger-rec__logo-nome { font: 500 13px/18px var(--fonte); color: var(--texto-2); overflow-wrap: anywhere; }
.ger-rec__logo-erro:not(:empty) { display: block; margin-top: 8px; }
.ger-rec__ajuda { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
.ger-rec__ajuda .ic { width: 14px; height: 14px; flex: none; margin-top: 2px; color: var(--petroleo); }
.ger-rec__lado { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ger-rec__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.ger-rec__papel { padding: clamp(18px, 3vw, 32px); border-radius: 6px; background: #fff; border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor), 0 24px 40px -28px color-mix(in oklab, var(--texto-1) 35%, transparent); }
.ger-rec__pendencias { display: flex; gap: 8px; align-items: flex-start; padding: 10px 14px; border-radius: 12px; background: var(--lima-tinta); color: var(--texto-2); font: 400 13px/1.5 var(--fonte); }
.ger-rec__pendencias .ic { width: 15px; height: 15px; flex: none; margin-top: 2px; color: var(--petroleo); }
.ger-rec__nota { color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
/* o recibo em si (tela e impressão) */
.recibo { font-family: var(--fonte); color: #0B1F26; display: flex; flex-direction: column; gap: 18px; }
.recibo__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--petroleo); }
.recibo__marca { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; }
.recibo__marca > div { flex: 1; min-width: 0; }
.recibo__marca b { display: block; font: 600 15px/1.25 var(--fonte-titulo); letter-spacing: -.01em; overflow-wrap: anywhere; }
.recibo__marca small { display: block; margin-top: 2px; font: 400 12px/16px var(--fonte); color: var(--texto-2); white-space: nowrap; }
.recibo__logo { max-height: 48px; max-width: 120px; width: auto; height: auto; object-fit: contain; flex: none; }
.recibo__titulo { text-align: right; flex: none; }
.recibo__titulo span { display: block; font: 700 11px/14px var(--fonte); letter-spacing: .2em; text-transform: uppercase; color: var(--petroleo); }
.recibo__titulo b { display: block; margin-top: 2px; font: 600 14px/18px var(--fonte-titulo); color: var(--texto-2); }
.recibo__valor { display: flex; align-items: baseline; gap: 12px; }
.recibo__valor span { font: 600 11px/14px var(--fonte); letter-spacing: .14em; text-transform: uppercase; color: var(--texto-3); }
.recibo__valor b { font: 700 clamp(1.6rem, 3vw, 2.1rem)/1 var(--fonte-titulo); letter-spacing: -.03em; color: var(--petroleo); }
.recibo__texto { font-size: 15px; line-height: 1.7; }
.recibo__texto b { font-weight: 600; }
.recibo__texto em { font-style: italic; }
.recibo__quitacao { font-size: 13px; line-height: 1.6; color: var(--texto-2); }
.recibo__local { font-size: 14px; }
.recibo__assinatura { margin-top: 26px; align-self: center; width: min(100%, 320px); text-align: center; }
.recibo__linha { display: block; height: 0; border-top: 1px solid #0B1F26; margin-bottom: 8px; }
.recibo__assinatura b { display: block; font: 600 13px/18px var(--fonte); }
.recibo__assinatura small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-2); }
.recibo__falta { color: var(--texto-3); font-style: normal; font-weight: 400; border-bottom: 1px dashed var(--texto-3); }
@media (max-width: 899px) { .ger-rec__grid { grid-template-columns: minmax(0, 1fr); } .ger-rec__lado { position: static; } }
@media (max-width: 599px) { .ger-rec .campos { grid-template-columns: minmax(0, 1fr); } .recibo__topo { flex-direction: column; } .recibo__titulo { text-align: left; } }
@media print {
  body[data-ferramenta="gerador-de-recibo"] .impressao__cab { display: none !important; }
  .recibo--impressao { gap: 22px; padding: 10mm 12mm 12mm; border: 1px solid #C8D3D7; border-radius: 4px; page-break-inside: avoid; color: #000; }
  .recibo--impressao .recibo__texto { font-size: 12.5pt; line-height: 1.75; }
  .recibo--impressao .recibo__quitacao, .recibo--impressao .recibo__local { font-size: 11pt; }
  .recibo--impressao .recibo__valor b { font-size: 26pt; }
  .recibo--impressao .recibo__assinatura { margin-top: 18mm; }
  .recibo--impressao .recibo__falta { border: 0; color: #888; }
  .recibo--impressao::after { content: "Gerado em ritto.software/ferramentas/gerador-de-recibo"; display: block; margin-top: 4px; font-size: 8pt; color: #888; text-align: right; }
}

/* === calculadora-juros-multa-atraso === */
.calc-jm__presets { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.calc-jm__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.calc-jm__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.calc-jm__premissa { color: var(--texto-3); font: 400 13px/1.5 var(--fonte); }
.calc-jm__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 18px; align-items: start; }
.calc-jm__entradas, .calc-jm__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.calc-jm__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.calc-jm__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.calc-jm__bloco legend { padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.calc-jm .campos { gap: 14px 12px; }
.calc-jm .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.calc-jm .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.calc-jm .entrada { font-variant-numeric: tabular-nums; }
.calc-jm .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.calc-jm__marcar { margin-top: 16px; font-size: 14px; color: var(--texto-1); min-height: 44px; align-items: center; }
.calc-jm__marcar small { color: var(--texto-3); }
.calc-jm__indice { margin-top: 12px; }
.calc-jm__ajuda { margin-top: 6px; color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
.calc-jm__ajuda a { color: var(--petroleo); text-decoration: underline; text-underline-offset: 2px; }
.calc-jm__aviso { display: flex; flex-direction: column; gap: 8px; }
.calc-jm__aviso p { display: flex; gap: 8px; align-items: flex-start; padding: 10px 14px; border-radius: 12px; background: var(--lima-tinta); color: var(--texto-1); font: 400 13px/1.5 var(--fonte); }
.calc-jm__aviso .ic { width: 15px; height: 15px; flex: none; margin-top: 2px; color: var(--petroleo); }
.calc-jm__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px; background: var(--petroleo); color: var(--sobre-1); }
.calc-jm__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.calc-jm__resultado > * { position: relative; z-index: 1; }
.calc-jm__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.calc-jm__total { font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--fonte-titulo); letter-spacing: -.045em; color: var(--lima); }
.calc-jm__total-sub { margin-top: 8px; color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.calc-jm__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.calc-jm__memoria { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid color-mix(in oklab, var(--lima) 45%, transparent); }
.calc-jm__memoria-rotulo { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--lima); margin-bottom: 8px; }
.calc-jm__memoria-rotulo .ic { width: 15px; height: 15px; }
.calc-jm__memoria ol { display: flex; flex-direction: column; gap: 8px; padding-left: 20px; list-style: decimal; color: var(--sobre-2); font: 400 13.5px/1.5 var(--fonte); font-variant-numeric: tabular-nums; }
.calc-jm__memoria li::marker { color: var(--lima); font-weight: 600; }
.calc-jm__memoria b { color: var(--sobre-1); font-weight: 600; }
.calc-jm .premissas { color: var(--sobre-3); }
.calc-jm__legal { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; color: var(--texto-2); font: 400 13px/1.55 var(--fonte); }
.calc-jm__legal .ic { width: 15px; height: 15px; flex: none; margin-top: 2px; color: var(--petroleo); }
@media (max-width: 899px) { .calc-jm__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .calc-jm .campos { grid-template-columns: minmax(0, 1fr); } .calc-jm__kpis { grid-template-columns: minmax(0, 1fr); } }
@media print { ol.impressao__premissas { list-style: decimal; margin-bottom: 14px; } ol.impressao__premissas li { font-size: 10.5pt; color: #222; } }

/* === modelos-mensagem-de-cobranca === */
.mc__seletores { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.mc__sel { display: flex; flex-direction: column; gap: 8px; }
.mc__sel--par { display: grid; grid-template-columns: auto auto; gap: 14px 28px; justify-content: start; }
.mc__sel--par > div { display: flex; flex-direction: column; gap: 8px; }
.mc__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.mc__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mc__dica { padding: 10px 14px; border-radius: 12px; background: var(--lima-tinta); color: var(--texto-2); font: 400 13.5px/1.5 var(--fonte); }
.mc__dica b { color: var(--texto-1); font-weight: 600; }
.mc__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: start; }
.mc__form { display: flex; flex-direction: column; gap: 18px; padding: clamp(20px, 3vw, 28px); border-radius: 24px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.mc__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.mc__bloco legend { padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.mc .campos { gap: 14px 12px; }
.mc .campo__rotulo { color: var(--texto-1); font-weight: 600; }
.mc .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.mc__copiar { display: flex; flex-wrap: wrap; gap: 10px; }
.mc .botao.is-ok { border-color: var(--lima); background: var(--lima-tinta); color: var(--petroleo); }
.mc__ajuda { display: flex; gap: 8px; align-items: flex-start; color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
.mc__ajuda .ic { width: 14px; height: 14px; flex: none; margin-top: 2px; color: var(--petroleo); }
.mc__previa { display: flex; justify-content: center; align-items: flex-start; min-width: 0; }
.mc__iphone { --fw: min(320px, calc(100vw - 64px)); height: auto; }
.mc__iphone .iphone__tela { min-height: 0; }
.mc__iphone .wa__corpo { flex: none; min-height: 12em; padding-top: 1em; padding-bottom: .8em; overflow: visible; }
.mc__iphone .wa__corpo > :first-child { margin-top: 0; }
.mc__iphone .balao { max-width: 92%; }
.mc__email { width: min(100%, 440px); border-radius: 16px; background: #fff; border: 1px solid var(--hairline); box-shadow: 0 24px 40px -28px color-mix(in oklab, var(--texto-1) 35%, transparent); overflow: hidden; font-family: var(--fonte); }
.mc__email-cab { padding: 14px 18px; border-bottom: 1px solid var(--hairline); background: var(--grade); display: flex; flex-direction: column; gap: 4px; font: 400 13px/18px var(--fonte); }
.mc__email-cab div { display: flex; gap: 10px; min-width: 0; }
.mc__email-cab span { flex: none; width: 56px; color: var(--texto-3); }
.mc__email-cab b { font-weight: 500; color: var(--texto-1); overflow-wrap: anywhere; }
.mc__email-assunto b { font-weight: 600; }
.mc__email-corpo { padding: 18px; white-space: pre-wrap; overflow-wrap: anywhere; font: 400 14px/1.6 var(--fonte); color: var(--texto-1); }
.mc__email-corpo .link, .mc__card-txt .link { color: var(--petroleo); text-decoration: underline; overflow-wrap: anywhere; }
.mc__biblioteca { margin-top: 22px; display: flex; flex-direction: column; gap: 10px; }
.mc__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mc__card { display: flex; flex-direction: column; border-radius: 18px; background: var(--card); border: 1px solid var(--hairline); overflow: hidden; cursor: pointer; transition: border-color 160ms ease, box-shadow 160ms ease; }
.mc__card.is-ativo { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 14%, transparent); }
.mc__card-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 10px 10px 16px; border-bottom: 1px solid var(--hairline); background: var(--grade); }
.mc__card-cab h3 { font: 600 14px/20px var(--fonte-titulo); letter-spacing: -.01em; }
.mc__card-txt { margin: 0; padding: 14px 16px; white-space: pre-wrap; overflow-wrap: anywhere; font: 400 13.5px/1.55 var(--fonte); color: var(--texto-1); }
.mc__card-txt b { font-weight: 600; }
.mc__card-assunto { display: block; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px dashed var(--hairline); }
@media (max-width: 1023px) { .mc__lista { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 899px) { .mc__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .mc .campos { grid-template-columns: minmax(0, 1fr); } .mc__sel--par { grid-template-columns: minmax(0, 1fr); } }
@media print { .impressao__sub { font: 600 11pt/1.3 var(--fonte-titulo), system-ui, sans-serif; margin: 12px 0 6px; color: #0C4651; } .impressao__pre { white-space: pre-wrap; font: 400 10.5pt/1.5 var(--fonte), system-ui, sans-serif; margin: 0 0 8px; padding: 10px 12px; border: 1px solid #DCE6E9; border-radius: 8px; page-break-inside: avoid; } }

/* === gerador-qr-code-pix === */
.qr-pix__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 18px; align-items: start; }
.qr-pix__entradas, .qr-pix__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.qr-pix__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.qr-pix__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.qr-pix__bloco legend { display: flex; align-items: center; gap: 8px; padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.qr-pix__opcional { font: 500 11px/16px var(--fonte); letter-spacing: 0; text-transform: none; color: var(--texto-3); padding: 0 8px; border-radius: 999px; background: var(--grade); }
.qr-pix .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.qr-pix .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.qr-pix .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.qr-pix .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.qr-pix__chave-campo { margin-top: 12px; }
.alternar--quebra { flex-wrap: wrap; }
.alternar--quebra button, #qp-tipos button { flex: 1 1 auto; min-height: 44px; }
.qr-pix__erros { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 12px; background: color-mix(in oklab, var(--erro, #F03E3E) 8%, var(--card)); border: 1px solid color-mix(in oklab, var(--erro, #F03E3E) 35%, var(--hairline)); color: color-mix(in oklab, var(--erro, #F03E3E) 75%, var(--texto-1)); font: 500 13.5px/1.45 var(--fonte); list-style: none; }
.qr-pix__erros[hidden], .qr-pix__avisos[hidden] { display: none; }
.qr-pix__avisos { color: var(--texto-2); }
.qr-pix__avisos .ic { color: var(--petroleo); }
.qr-pix__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: var(--petroleo); color: var(--sobre-1); }
.qr-pix__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.qr-pix__resultado > * { position: relative; z-index: 1; }
.qr-pix__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 0; }
.qr-pix__qr { width: min(100%, 272px); aspect-ratio: 1; padding: 12px; border-radius: 18px; background: #fff; box-shadow: 0 24px 48px -28px rgba(0,0,0,.6); }
.qr-pix__qr svg { display: block; width: 100%; height: 100%; }
.qr-pix__placeholder { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 12px; border: 2px dashed var(--hairline); color: var(--texto-3); }
.qr-pix__placeholder .i { width: 56px; height: 56px; stroke-width: 1.4; }
.qr-pix__resultado.is-vazio .qr-pix__qr { background: rgba(255,255,255,.08); box-shadow: none; }
.qr-pix__resultado.is-vazio .qr-pix__placeholder { border-color: rgba(255,255,255,.28); color: var(--sobre-3); }
.qr-pix__estado { color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.qr-pix__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.qr-pix__kpis:empty { display: none; }
.qr-pix__kpis .kpi b { font-size: 17px; line-height: 22px; overflow-wrap: anywhere; }
.qr-pix__chave { font-size: 15px; word-break: break-all; }
.kpi--cheio { grid-column: 1 / -1; }
.qr-pix__codigo { display: flex; flex-direction: column; gap: 6px; }
.qr-pix__codigo-rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--sobre-2); }
.qr-pix__codigo-texto { width: 100%; min-height: 84px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(0,0,0,.22); color: var(--sobre-1); font: 400 13.5px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; resize: vertical; }
.qr-pix__codigo-texto:focus { outline: none; border-color: var(--lima); box-shadow: 0 0 0 3px var(--lima-brilho); }
.qr-pix__acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.qr-pix__acoes .botao { min-height: 46px; }
.qr-pix__acoes .botao.is-ok { background: var(--lima-tinta); border-color: var(--lima); color: var(--petroleo); }
.qr-pix__aviso { display: flex; gap: 8px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid color-mix(in oklab, var(--lima) 45%, transparent); color: var(--sobre-2); font: 400 13px/1.5 var(--fonte); }
.qr-pix__aviso .ic { flex: none; width: 15px; height: 15px; margin-top: 3px; color: var(--lima); }
@media print { .impressao__qr { display: flex; align-items: center; gap: 18px; margin: 0 0 14px; } .impressao__qr img { width: 180px; height: 180px; border: 1px solid #DCE6E9; border-radius: 8px; } .impressao__qr p { margin: 0; } }
@media (max-width: 899px) { .qr-pix__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 899px) { .qr-pix__codigo-texto { font-size: 16px; min-height: 120px; } }
@media (max-width: 599px) { .qr-pix .campos { grid-template-columns: minmax(0, 1fr); } .qr-pix__kpis { grid-template-columns: minmax(0, 1fr); } .qr-pix__acoes .botao { flex: 1 1 100%; } .alternar--quebra button { padding: 0 10px; font-size: 13px; } }

/* === gerador-link-whatsapp === */
.link-wa__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 18px; align-items: start; }
.link-wa__entradas, .link-wa__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.link-wa__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.link-wa__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.link-wa__bloco legend { display: flex; align-items: center; gap: 8px; padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.link-wa__opcional { font: 500 11px/16px var(--fonte); letter-spacing: 0; text-transform: none; color: var(--texto-3); padding: 0 8px; border-radius: 999px; background: var(--grade); }
.link-wa .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.link-wa .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.link-wa .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.link-wa__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.link-wa__msg { height: auto; min-height: 120px; padding: 12px 14px; line-height: 1.5; resize: vertical; }
.link-wa__dica { margin-top: 8px; color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
.link-wa__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: var(--petroleo); color: var(--sobre-1); }
.link-wa__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.link-wa__resultado > * { position: relative; z-index: 1; }
.link-wa__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 0; }
.link-wa__estado { color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.link-wa__link { display: flex; flex-direction: column; gap: 6px; }
.link-wa__link-rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--sobre-2); }
.link-wa__link-texto { width: 100%; min-height: 48px; padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(0,0,0,.22); color: var(--lima); font: 500 14px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; }
.link-wa__link-texto::placeholder { color: var(--sobre-3); }
.link-wa__link-texto:focus { outline: none; border-color: var(--lima); box-shadow: 0 0 0 3px var(--lima-brilho); }
.link-wa__tamanho { color: var(--sobre-3); font: 400 12px/16px var(--fonte); }
.link-wa__acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.link-wa__acoes .botao { min-height: 46px; }
.link-wa__acoes .botao[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.link-wa__acoes .botao.is-ok { background: var(--lima-tinta); border-color: var(--lima); color: var(--petroleo); }
.link-wa__previa { display: flex; flex-direction: column; gap: 6px; }
.link-wa__previa[hidden] { display: none; }
.link-wa__previa-rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--sobre-2); }
.link-wa__balao { position: relative; align-self: flex-end; max-width: 92%; padding: 10px 14px; border-radius: 16px 16px 4px 16px; background: #fff; color: var(--texto-1); font: 400 14.5px/1.5 var(--fonte); white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 10px 24px -16px rgba(0,0,0,.5); }
.link-wa__qr-bloco { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 16px; align-items: center; padding-top: 4px; }
.link-wa__qr { width: 148px; aspect-ratio: 1; padding: 8px; border-radius: 14px; background: #fff; box-shadow: 0 24px 48px -28px rgba(0,0,0,.6); }
.link-wa__qr svg { display: block; width: 100%; height: 100%; }
.link-wa__placeholder { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 10px; border: 2px dashed var(--hairline); color: var(--texto-3); }
.link-wa__placeholder .i { width: 40px; height: 40px; stroke-width: 1.4; }
.link-wa__resultado.is-vazio .link-wa__qr { background: rgba(255,255,255,.08); box-shadow: none; }
.link-wa__resultado.is-vazio .link-wa__placeholder { border-color: rgba(255,255,255,.28); color: var(--sobre-3); }
.link-wa__qr-texto { display: flex; flex-direction: column; gap: 6px; color: var(--sobre-2); font: 400 13.5px/1.5 var(--fonte); }
.link-wa__qr-texto b { color: var(--sobre-1); font-weight: 600; }
.link-wa__qr-texto .botao { align-self: flex-start; margin-top: 4px; min-height: 44px; }
@media (max-width: 899px) { .link-wa__grid { grid-template-columns: minmax(0, 1fr); } .link-wa__link-texto { font-size: 16px; } }
@media (max-width: 599px) { .link-wa__acoes .botao { flex: 1 1 100%; } .link-wa__qr-bloco { grid-template-columns: minmax(0, 1fr); justify-items: start; } .link-wa__qr-texto .botao { align-self: stretch; } }

/* === consulta-boleto-linha-digitavel === */
.cons-bol__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }
.cons-bol__entradas, .cons-bol__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.cons-bol__entradas { display: flex; flex-direction: column; gap: 18px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.cons-bol .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.cons-bol .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.cons-bol__linha { height: auto; min-height: 96px; padding: 12px 14px; font: 500 16px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .04em; resize: vertical; overflow-wrap: anywhere; }
.cons-bol__linha:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.cons-bol__contagem { font: 500 12px/16px var(--fonte); color: var(--texto-3); min-height: 16px; }
.cons-bol__exemplos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cons-bol__rotulo-peq { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); margin-right: 4px; }
.cons-bol__chips { display: contents; }
.chip-botao--limpar { color: var(--texto-3); border-style: dashed; }
.cons-bol__privacidade { display: flex; gap: 8px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--lima-tinta); color: var(--texto-2); font: 400 13px/1.5 var(--fonte); }
.cons-bol__privacidade .ic { flex: none; width: 15px; height: 15px; margin-top: 3px; color: var(--petroleo); }
.cons-bol__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: var(--petroleo); color: var(--sobre-1); border: 1px solid transparent; }
.cons-bol__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.cons-bol__resultado.is-falha::after { background: radial-gradient(circle, rgba(255,140,120,.28), transparent 65%); }
.cons-bol__resultado > * { position: relative; z-index: 1; }
.cons-bol__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.cons-bol__titulo { display: flex; align-items: flex-start; gap: 10px; font: 600 clamp(1.15rem, 1.8vw, 1.45rem)/1.25 var(--fonte-titulo); letter-spacing: -.02em; text-wrap: balance; }
.cons-bol__titulo .ic { flex: none; width: 26px; height: 26px; margin-top: 1px; padding: 4px; border-radius: 50%; background: var(--lima); color: var(--petroleo); stroke-width: 2.6; }
.is-falha .cons-bol__titulo .ic { background: #FFB3A7; }
.cons-bol__sub { margin-top: 8px; color: var(--sobre-2); font: 400 13.5px/1.5 var(--fonte); }
.cons-bol__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cons-bol__kpis:empty, .cons-bol__codigos:empty, .cons-bol__verif:empty, .cons-bol__notas:empty { display: none; }
.cons-bol__kpis .kpi b { font-size: 17px; line-height: 22px; overflow-wrap: anywhere; }
.cons-bol__kpis .kpi.num b { font-variant-numeric: tabular-nums; }
.cons-bol__codigos { display: flex; flex-direction: column; gap: 8px; }
.cons-bol__codigo { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.12); }
.cons-bol__codigo span { font: 600 11px/14px var(--fonte); letter-spacing: .1em; text-transform: uppercase; color: var(--sobre-3); }
.cons-bol__codigo code { font: 500 14px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--sobre-1); overflow-wrap: anywhere; letter-spacing: .02em; }
.cons-bol__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--sobre-2); margin-bottom: 8px; }
.cons-bol__lista { display: flex; flex-direction: column; gap: 6px; list-style: none; padding: 0; margin: 0; }
.cons-bol__lista li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 40px; padding: 6px 12px; border-radius: 10px; background: rgba(255,255,255,.07); font: 500 13.5px/1.4 var(--fonte); color: var(--sobre-1); }
.cons-bol__lista li b { font: 600 13px/1.3 var(--fonte); color: var(--sobre-2); text-align: right; white-space: nowrap; }
.cons-bol__lista li.is-falha { background: rgba(255,140,120,.14); border: 1px solid rgba(255,179,167,.4); }
.cons-bol__lista li.is-falha b { color: #FFB3A7; }
.cons-bol__lista .ic { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--lima); color: var(--petroleo); stroke-width: 2.6; }
.cons-bol__lista li.is-falha .ic { background: #FFB3A7; }
.cons-bol__notas { color: var(--sobre-3); }
@media (max-width: 899px) { .cons-bol__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .cons-bol__kpis { grid-template-columns: minmax(0, 1fr); } .cons-bol__lista li { grid-template-columns: 22px minmax(0, 1fr); } .cons-bol__lista li b { grid-column: 2; text-align: left; white-space: normal; } .cons-bol__linha { font-size: 16px; } }


/* ================================================================== calculadora-custo-whatsapp (css/calculadora-custo-whatsapp.css) */
/* Calculadora de custo do WhatsApp Business API (prefixo .calc-wa) */
.calc-wa__presets { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.calc-wa__rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.calc-wa__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-botao { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--hairline); background: var(--card); color: var(--texto-2); font: 500 14px/20px var(--fonte); white-space: nowrap; cursor: pointer; transition: background 120ms ease, color 120ms ease, border-color 120ms ease; }
.chip-botao:hover { border-color: color-mix(in oklab, var(--petroleo) 40%, var(--hairline)); color: var(--petroleo); }
.chip-botao[aria-pressed="true"] { background: var(--petroleo); border-color: var(--petroleo); color: #fff; }
.calc-wa__premissa { padding: 10px 14px; border-radius: 12px; background: var(--lima-tinta); color: var(--texto-2); font: 400 13.5px/1.5 var(--fonte); }
.calc-wa__premissa b { color: var(--texto-1); font-weight: 600; }
.calc-wa__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 18px; align-items: start; }
.calc-wa__entradas, .calc-wa__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.calc-wa__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.calc-wa__bloco { border: 0; padding: 0; margin: 0; min-width: 0; }
.calc-wa__bloco legend { padding: 0; margin-bottom: 12px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.calc-wa .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.calc-wa .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.calc-wa .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.calc-wa .entrada { font-variant-numeric: tabular-nums; }
.calc-wa .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.calc-wa__moeda { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; }
.alternar { display: inline-flex; padding: 4px; gap: 2px; border-radius: 12px; background: var(--grade); border: 1px solid var(--hairline); }
.alternar button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border-radius: 9px; font: 500 14px/20px var(--fonte); color: var(--texto-2); white-space: nowrap; transition: background 140ms ease, color 140ms ease; }
.alternar button[aria-pressed="true"] { background: var(--petroleo); color: #fff; font-weight: 600; }
.calc-wa__cambio { flex: 1 1 200px; max-width: 280px; }
.calc-wa__cambio[hidden] { display: none; }
.calc-wa__ajuda { margin-top: 10px; color: var(--texto-3); font: 400 12.5px/1.5 var(--fonte); }
.calc-wa__avancado { border: 1px solid var(--hairline); border-radius: 14px; background: color-mix(in oklab, var(--petroleo) 4%, var(--card)); }
.calc-wa__avancado summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 16px; cursor: pointer; list-style: none; font: 600 14px/1.35 var(--fonte); color: var(--texto-1); }
.calc-wa__avancado summary::-webkit-details-marker { display: none; }
.calc-wa__avancado summary .ic { flex: none; width: 18px; height: 18px; color: var(--petroleo); transition: transform 200ms var(--facil, ease); }
.calc-wa__avancado[open] summary .ic { transform: rotate(45deg); }
.calc-wa__avancado-corpo { display: flex; flex-direction: column; gap: 14px; padding: 4px 16px 16px; }
.calc-wa__avancado select.entrada { height: auto; min-height: 48px; padding: 10px 36px 10px 14px; white-space: normal; line-height: 1.3; }
.calc-wa__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px; background: var(--petroleo); color: var(--sobre-1); }
.calc-wa__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.calc-wa__resultado > * { position: relative; z-index: 1; }
.calc-wa__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.calc-wa__total { font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--fonte-titulo); letter-spacing: -.045em; color: var(--lima); }
.calc-wa__total-sub { margin-top: 8px; color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.calc-wa__barras { display: flex; flex-direction: column; gap: 10px; }
.barra { display: grid; grid-template-columns: 108px minmax(0, 1fr) auto; align-items: center; gap: 12px; font: 500 13px/18px var(--fonte); }
.barra__nome { color: var(--sobre-1); }
.barra__nome small { display: block; font: 400 11px/14px var(--fonte); color: var(--sobre-3); }
.barra__trilho { height: 12px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.barra__trilho i { display: block; height: 100%; border-radius: 999px; background: rgba(255,255,255,.88); transition: width 400ms var(--facil, ease); }
.barra--marketing .barra__trilho i { background: var(--lima); }
.barra__valor { text-align: right; font: 600 14px/18px var(--fonte-titulo); letter-spacing: -.01em; white-space: nowrap; }
.barra__valor small { display: block; font: 400 11px/14px var(--fonte); color: var(--sobre-3); letter-spacing: 0; }
.calc-wa__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kpi { padding: 14px 16px; border-radius: 14px; background: rgba(0,0,0,.16); border: 1px solid var(--linha-v, rgba(255,255,255,.12)); }
.kpi span { display: block; font: 500 12px/16px var(--fonte); color: var(--sobre-2); }
.kpi b { display: block; margin-top: 4px; font: 600 22px/26px var(--fonte-titulo); letter-spacing: -.02em; }
.kpi small { display: block; margin-top: 2px; font: 400 11px/14px var(--fonte); color: var(--sobre-3); }
.calc-wa__economia { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid color-mix(in oklab, var(--lima) 45%, transparent); font: 400 13.5px/1.5 var(--fonte); color: var(--sobre-2); }
.calc-wa__economia[hidden] { display: none; }
.calc-wa__economia b { color: var(--sobre-1); font-weight: 600; }
.calc-wa__economia-rotulo { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--lima); margin-bottom: 6px; }
.calc-wa__economia-rotulo .ic { width: 15px; height: 15px; }
.calc-wa__economia-valor { margin-top: 8px; font: 700 1.5rem/1.1 var(--fonte-titulo); letter-spacing: -.03em; color: var(--lima); }
.calc-wa__economia-valor small { font: 500 13px/1 var(--fonte); color: var(--sobre-2); letter-spacing: 0; }
.calc-wa .premissas { color: var(--sobre-3); }
@media (max-width: 899px) { .calc-wa__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .calc-wa .campos { grid-template-columns: minmax(0, 1fr); } .calc-wa__kpis { grid-template-columns: minmax(0, 1fr); } .barra { grid-template-columns: 92px minmax(0, 1fr) auto; gap: 8px; } .chip-botao { font-size: 13px; padding: 0 12px; } }



/* ================================================================== calculadora-inadimplencia (css/calculadora-inadimplencia.css) */
/* Calculadora de inadimplência (prefixo .ci). Reaproveita .campos/.campo/.entrada da landing e .alternar/.kpi/.premissas do núcleo das ferramentas. */
.ci__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 18px; align-items: start; }
.ci__entradas, .ci__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.ci__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.ci__bloco { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ci__bloco legend { padding: 0; margin-bottom: 2px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.ci .alternar { align-self: flex-start; }
.ci .alternar button { min-height: 44px; }
.ci .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.ci .campos > div[hidden] { display: none; }
.ci .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.ci .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.ci .entrada { font-variant-numeric: tabular-nums; }
.ci .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.ci__ajuda { color: var(--texto-2); font: 500 13px/1.5 var(--fonte); }
.ci__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px; background: var(--petroleo); color: var(--sobre-1); }
.ci__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.ci__resultado > * { position: relative; z-index: 1; }
.ci__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.ci__total { font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--fonte-titulo); letter-spacing: -.045em; color: var(--lima); }
.ci__total-sub { margin-top: 8px; color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.ci__grafico { display: flex; flex-direction: column; gap: 6px; }
.ci__barra-rotulo { font: 500 12.5px/16px var(--fonte); color: var(--sobre-1); }
.ci__barra-rotulo + .ci__barra { margin-bottom: 8px; }
.ci__barra { display: block; width: 100%; height: 22px; border-radius: 999px; overflow: hidden; }
.ci__legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; font: 500 12px/16px var(--fonte); color: var(--sobre-2); }
.ci__legenda li { display: inline-flex; align-items: center; gap: 6px; }
.ci__legenda i { width: 11px; height: 11px; border-radius: 3px; }
.ci__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ci__kpis .kpi b { font-size: 20px; line-height: 24px; }
.ci__regua { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid color-mix(in oklab, var(--lima) 45%, transparent); font: 400 13.5px/1.5 var(--fonte); color: var(--sobre-2); }
.ci__regua b { color: var(--sobre-1); font-weight: 600; }
.ci__regua-rotulo { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--lima); margin-bottom: 6px; }
.ci__regua-rotulo .ic { width: 15px; height: 15px; }
.ci__regua-valor { margin-top: 8px; font: 700 1.5rem/1.1 var(--fonte-titulo); letter-spacing: -.03em; color: var(--lima); }
.ci__regua-valor small { display: block; margin-top: 4px; font: 500 12.5px/1.4 var(--fonte); color: var(--sobre-2); letter-spacing: 0; }
.ci__regua-aviso { margin-top: 8px; font: 500 12px/1.45 var(--fonte); color: var(--sobre-3); }
.ci .premissas { color: var(--sobre-3); }
@media (max-width: 899px) { .ci__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .ci .campos { grid-template-columns: minmax(0, 1fr); } .ci__kpis { grid-template-columns: minmax(0, 1fr); } .ci .alternar { align-self: stretch; } .ci .alternar button { flex: 1; } }


/* ================================================================== calculadora-mrr-churn-ltv (css/calculadora-mrr-churn-ltv.css) */
/* Calculadora de MRR, churn e LTV (prefixo .cm). Reaproveita .campos/.campo/.entrada da landing e .alternar/.kpi/.premissas do núcleo das ferramentas. */
.cm__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 18px; align-items: start; }
.cm__entradas, .cm__resultado { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.cm__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.cm__modo { display: flex; flex-direction: column; gap: 10px; }
.cm__rotulo, .cm__bloco legend { padding: 0; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.cm .alternar { align-self: flex-start; }
.cm .alternar button { min-height: 44px; }
.cm__ajuda { color: var(--texto-2); font: 400 13px/1.5 var(--fonte); }
.cm__bloco { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.cm__bloco[hidden] { display: none; }
.cm .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.cm .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.cm .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.cm .entrada { font-variant-numeric: tabular-nums; }
.cm .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.cm__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px; background: var(--petroleo); color: var(--sobre-1); }
.cm__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.cm__resultado > * { position: relative; z-index: 1; }
.cm__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.cm__total { font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--fonte-titulo); letter-spacing: -.045em; color: var(--lima); }
.cm__total-sub { margin-top: 8px; color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.cm__grafico { min-width: 0; }
.cm__grafico svg { display: block; max-width: 100%; height: auto; overflow: visible; }
.cm__svg-valor { font: 600 12px var(--fonte-titulo); fill: var(--sobre-1); }
.cm__svg-rotulo { font: 500 11.5px var(--fonte); fill: var(--sobre-2); }
.cm__svg-valor--mini { font-size: 10.5px; }
.cm__svg-rotulo--mini { font-size: 10px; }
.cm__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cm__kpis .kpi b { font-size: 20px; line-height: 24px; }
.cm__ltv { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid color-mix(in oklab, var(--lima) 45%, transparent); font: 400 13.5px/1.5 var(--fonte); color: var(--sobre-2); }
.cm__ltv b { color: var(--sobre-1); font-weight: 600; }
.cm__ltv-rotulo { display: inline-flex; align-items: center; gap: 8px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--lima); margin-bottom: 6px; }
.cm__ltv-rotulo .ic { width: 15px; height: 15px; }
.cm__ltv-valor { font: 700 1.6rem/1.1 var(--fonte-titulo); letter-spacing: -.03em; color: var(--lima); margin-bottom: 6px; }
.cm__ltv-valor small { font: 500 13px/1 var(--fonte); color: var(--sobre-2); letter-spacing: 0; }
.cm__ltv-cac { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }
.cm__mem-rotulo { font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--sobre-2); margin-bottom: 8px; }
.cm__mem { display: flex; flex-direction: column; gap: 6px; font: 400 12.5px/1.45 var(--fonte); }
.cm__mem > div { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 8px; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.1); }
.cm__mem dt { color: var(--sobre-2); font-weight: 500; }
.cm__mem dd { margin: 0; color: var(--sobre-1); overflow-wrap: anywhere; }
.cm .premissas { color: var(--sobre-3); }
@media (max-width: 899px) { .cm__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .cm .campos { grid-template-columns: minmax(0, 1fr); } .cm__kpis { grid-template-columns: minmax(0, 1fr); } .cm__mem > div { grid-template-columns: minmax(0, 1fr); gap: 2px; } .cm .alternar { align-self: stretch; } .cm .alternar button { flex: 1; } }


/* ================================================================== simulador-regua-de-cobranca (css/simulador-regua-de-cobranca.css) */
/* Simulador de régua de cobrança (prefixo .rg). Reaproveita .campos/.campo/.entrada/.marcar da landing e .kpi/.premissas do núcleo. */
.rg { display: flex; flex-direction: column; gap: 18px; }
.rg__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 18px; align-items: start; }
.rg__entradas, .rg__resultado, .rg__cartao { border-radius: 24px; padding: clamp(20px, 3vw, 28px); }
.rg__entradas { display: flex; flex-direction: column; gap: 22px; background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.rg__bloco { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.rg__bloco legend { padding: 0; margin-bottom: 4px; font: 600 12px/16px var(--fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--texto-3); }
.rg .campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.rg .campo__rotulo { display: block; color: var(--texto-1); font-weight: 600; }
.rg .campo__rotulo small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 2px; }
.rg .entrada:focus { border-color: var(--petroleo); box-shadow: 0 0 0 3px color-mix(in oklab, var(--petroleo) 18%, transparent); }
.rg__momento { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; padding: 8px 12px; border-radius: 14px; border: 1px solid var(--hairline); background: color-mix(in oklab, var(--petroleo) 3%, var(--card)); transition: opacity 160ms ease, background 160ms ease; }
.rg__momento.is-off { background: var(--card); }
.rg__momento.is-off .rg__momento-opcoes { opacity: .45; }
.rg__marcar { min-height: 44px; align-items: center; font: 400 14px/1.35 var(--fonte); color: var(--texto-1); }
.rg__marcar-txt b { display: inline-block; min-width: 42px; margin-right: 4px; padding: 1px 7px; border-radius: 7px; background: var(--petroleo); color: #fff; font: 600 11.5px/18px var(--fonte); text-align: center; letter-spacing: .02em; }
.rg__marcar-txt small { display: block; font: 400 12px/16px var(--fonte); color: var(--texto-3); margin-top: 1px; }
.rg__momento-opcoes { display: flex; gap: 8px; }
.rg__sel { display: flex; flex-direction: column; gap: 2px; font: 500 11px/14px var(--fonte); color: var(--texto-3); }
.rg__sel select.entrada { height: 44px; padding: 0 30px 0 10px; font-size: 16px; min-width: 96px; background-position: calc(100% - 14px) 18px, calc(100% - 9px) 18px; }
.rg__sel select.entrada:disabled { color: var(--texto-3); background-color: var(--grade); }
.rg__resultado { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px; background: var(--petroleo); color: var(--sobre-1); }
.rg__resultado::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, var(--lima-brilho, rgba(221,220,0,.32)), transparent 65%); filter: blur(20px); pointer-events: none; }
.rg__resultado > * { position: relative; z-index: 1; }
.rg__resultado .eyebrow { color: var(--sobre-2); margin-bottom: 8px; }
.rg__total { font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--fonte-titulo); letter-spacing: -.045em; color: var(--lima); }
.rg__total-sub { margin-top: 8px; color: var(--sobre-2); font: 500 13.5px/1.5 var(--fonte); }
.rg__resumo { padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); font: 500 13px/1.5 var(--fonte); color: var(--sobre-1); }
.rg__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rg__kpis .kpi b { font-size: 20px; line-height: 24px; }
.rg .premissas { color: var(--sobre-3); }
/* cartões brancos: calendário, recomendações, linha do tempo */
.rg__baixo { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 18px; align-items: start; }
.rg__cartao { background: var(--card); border: 1px solid var(--hairline); box-shadow: 0 1px 2px var(--sombra-cor); }
.rg__cartao-titulo { font: 600 1.15rem/1.25 var(--fonte-titulo); letter-spacing: -.02em; color: var(--texto-1); margin-bottom: 14px; }
.rg__cartao-sub { margin: -8px 0 16px; color: var(--texto-2); font: 400 14px/1.5 var(--fonte); }
.rg__cal-cab, .rg__cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.rg__cal-cab span { text-align: center; font: 600 11px/16px var(--fonte); letter-spacing: .08em; text-transform: uppercase; color: var(--texto-3); padding-bottom: 4px; }
.rg__cel { position: relative; min-height: 64px; padding: 6px 6px 4px; border-radius: 10px; border: 1px solid var(--hairline); background: var(--card); display: flex; flex-direction: column; gap: 4px; }
.rg__cel--fora { background: color-mix(in oklab, var(--pagina) 70%, var(--card)); border-style: dashed; }
.rg__cel--fora .rg__cel-dia { color: var(--texto-3); }
.rg__cel--venc { border-color: var(--lima); background: var(--lima-tinta); box-shadow: inset 0 0 0 1px var(--lima); }
.rg__cel-dia { font: 600 13px/16px var(--fonte-titulo); color: var(--texto-1); font-variant-numeric: tabular-nums; }
.rg__cel-venc { display: inline-block; align-self: flex-start; padding: 0 6px; border-radius: 6px; background: var(--petroleo); color: var(--lima); font: 700 10px/16px var(--fonte); letter-spacing: .06em; text-transform: uppercase; }
.rg__cel-venc--legenda { margin-right: 6px; }
.rg__cel-marcas { display: flex; flex-wrap: wrap; gap: 3px; margin-top: auto; }
.rg__marca { display: inline-block; padding: 0 5px; border-radius: 6px; font: 600 10px/16px var(--fonte); font-style: normal; letter-spacing: .02em; white-space: nowrap; }
.rg__marca--w { background: var(--petroleo); color: #fff; }
.rg__marca--e { background: var(--card); color: var(--petroleo); border: 1px solid var(--petroleo); line-height: 14px; }
.rg__marca--we { background: var(--petroleo); color: var(--lima); border: 1px solid var(--lima); line-height: 14px; }
.rg__legenda { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; font: 500 12px/16px var(--fonte); color: var(--texto-2); }
.rg__legenda span { display: inline-flex; align-items: center; gap: 6px; }
.rg__cal-nota { margin-top: 10px; color: var(--texto-2); font: 500 12.5px/1.5 var(--fonte); }
.rg__cal-nota[hidden] { display: none; }
.rg__dicas { display: flex; flex-direction: column; gap: 10px; }
.rg__dica { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; font: 400 13.5px/1.5 var(--fonte); color: var(--texto-1); border: 1px solid var(--hairline); background: var(--card); }
.rg__dica .ic { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--petroleo); }
.rg__dica--alerta { border-color: color-mix(in oklab, var(--alerta) 55%, var(--hairline)); background: color-mix(in oklab, var(--alerta) 9%, var(--card)); }
.rg__dica--alerta .ic { color: #a86e00; }
.rg__dica--ok { border-color: color-mix(in oklab, var(--lima) 70%, var(--hairline)); background: var(--lima-tinta); }
.rg__dica--ok .ic { color: var(--petroleo); }
/* linha do tempo */
.rg__linha { display: flex; flex-direction: column; gap: 14px; position: relative; }
.rg__passo { position: relative; padding: 14px 16px 16px 16px; border-radius: 16px; border: 1px solid var(--hairline); background: color-mix(in oklab, var(--petroleo) 2.5%, var(--card)); display: flex; flex-direction: column; gap: 12px; }
.rg__passo--depois { border-color: color-mix(in oklab, var(--alerta) 45%, var(--hairline)); }
.rg__passo--pago { border-color: color-mix(in oklab, var(--lima) 75%, var(--hairline)); background: var(--lima-tinta); }
.rg__passo-cab { display: flex; align-items: center; gap: 12px; }
.rg__passo-cab > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rg__passo-cab b { font: 600 15px/1.3 var(--fonte-titulo); letter-spacing: -.01em; color: var(--texto-1); }
.rg__passo-cab span:not(.rg__passo-n) { font: 500 13px/18px var(--fonte); color: var(--texto-2); }
.rg__passo-n { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--petroleo); color: var(--lima); font: 700 13px/1 var(--fonte-titulo); }
.rg__passo--pago .rg__passo-n { background: var(--lima); color: var(--petroleo); }
.rg__balao, .rg__email { border-radius: 14px; padding: 12px 14px; font: 400 14px/1.5 var(--fonte); color: var(--texto-1); max-width: 560px; }
.rg__balao { background: #E7FFDB; border: 1px solid #CDEFC0; border-top-left-radius: 4px; }
.rg__balao p, .rg__email p { margin: 8px 0 0; white-space: normal; overflow-wrap: anywhere; }
.rg__balao b { font-weight: 600; }
.rg__balao-cab, .rg__email-cab { display: block; font: 600 12px/16px var(--fonte); color: var(--texto-2); }
.rg__balao-cab .ic, .rg__email-cab .ic { width: 15px; height: 15px; color: var(--petroleo); vertical-align: -3px; margin-right: 5px; }
.rg__balao-cab code { font: 500 11.5px/16px ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--petroleo); overflow-wrap: anywhere; }
.rg__balao-rodape { display: block; margin-top: 8px; font: 400 11.5px/15px var(--fonte); color: var(--texto-3); }
.rg__email { background: var(--card); border: 1px solid var(--hairline); }
.rg__email-cab b { color: var(--texto-1); overflow-wrap: anywhere; }
.rg__vazio { color: var(--texto-2); font: 400 14px/1.5 var(--fonte); }
@media (max-width: 899px) { .rg__grid, .rg__baixo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) {
  .rg .campos { grid-template-columns: minmax(0, 1fr); } .rg__kpis { grid-template-columns: minmax(0, 1fr); }
  .rg__momento { grid-template-columns: minmax(0, 1fr); padding: 8px 10px 10px; }
  .rg__momento-opcoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg__sel select.entrada { min-width: 0; width: 100%; }
  .rg__cel { min-height: 54px; padding: 4px 4px 3px; border-radius: 8px; }
  .rg__cel-dia { font-size: 12px; }
  .rg__marca { padding: 0 3px; font-size: 9px; letter-spacing: 0; }
  .rg__cel-venc { font-size: 8.5px; padding: 0 4px; }
  .rg__cal-cab, .rg__cal-grade { gap: 3px; }
}
