/* Ferramentas Flash v17 — correção visual de páginas internas
   Base aprovada: OCR. Carregado por último para corrigir resíduos do tema escuro. */
:root{
  --ff17-bg:#f4f8f7;
  --ff17-surface:#ffffff;
  --ff17-soft:#f7fbfa;
  --ff17-soft-2:#edf6f3;
  --ff17-line:#d3e4df;
  --ff17-line-strong:#9fcfc6;
  --ff17-ink:#123b3b;
  --ff17-ink-strong:#082f32;
  --ff17-muted:#647f7b;
  --ff17-teal:#0b8f82;
  --ff17-teal-dark:#08756b;
  --ff17-teal-soft:#e7f5f1;
  --ff17-footer:#0d4947;
  --ff17-footer-ink:#eef8f6;
  --ff17-footer-muted:#b9d6d1;
  --ff17-amber-bg:#fff8e7;
  --ff17-amber:#9a6700;
  --ff17-rose-bg:#fff1f3;
  --ff17-rose:#a52a49;
  --ff17-indigo-bg:#edf6f3;
  --ff17-indigo:#08756b;
  --ff17-shadow:0 10px 30px rgba(28,79,72,.065);
}

html:has(body.ff-v17-tool),
body.ff-v17-tool{
  background:var(--ff17-bg)!important;
  color:var(--ff17-ink)!important;
  color-scheme:light!important;
}
body.ff-v17-tool #root,
body.ff-v17-tool #root>div,
body.ff-v17-tool #root>div.min-h-screen,
body.ff-v17-tool #root main,
body.ff-v17-tool .page-shell{
  background:var(--ff17-bg)!important;
  color:var(--ff17-ink)!important;
}

/* =========================================================
   Resíduos do tema escuro: superfícies e tipografia
   ========================================================= */
body.ff-v17-tool #root [class*="bg-slate-950"],
body.ff-v17-tool #root [class*="bg-slate-900"]{
  background:var(--ff17-surface)!important;
  color:var(--ff17-ink)!important;
}
body.ff-v17-tool #root [class*="bg-slate-800"],
body.ff-v17-tool #root [class*="bg-slate-700"]{
  background:var(--ff17-soft)!important;
  color:var(--ff17-ink)!important;
}
body.ff-v17-tool #root [class*="border-slate-900"],
body.ff-v17-tool #root [class*="border-slate-800"],
body.ff-v17-tool #root [class*="border-slate-700"],
body.ff-v17-tool #root [class*="border-[#223047]"]{
  border-color:var(--ff17-line)!important;
}
body.ff-v17-tool #root .text-white,
body.ff-v17-tool #root [class*="text-white/"],
body.ff-v17-tool #root .text-slate-50,
body.ff-v17-tool #root .text-slate-100,
body.ff-v17-tool #root [class*="text-slate-100/"]{
  color:var(--ff17-ink-strong)!important;
}
body.ff-v17-tool #root .text-slate-200,
body.ff-v17-tool #root [class*="text-slate-200/"]{color:#365b57!important}
body.ff-v17-tool #root .text-slate-300,
body.ff-v17-tool #root [class*="text-slate-300/"]{color:#55736e!important}
body.ff-v17-tool #root .text-slate-400,
body.ff-v17-tool #root [class*="text-slate-400/"]{color:#708a85!important}
body.ff-v17-tool #root .text-slate-500,
body.ff-v17-tool #root [class*="text-slate-500/"]{color:#7a918d!important}

/* Cores semânticas em fundo claro — escurecidas para contraste. */
body.ff-v17-tool #root [class*="text-emerald-300"],
body.ff-v17-tool #root [class*="text-emerald-400"],
body.ff-v17-tool #root [class*="text-emerald-500"]{color:#08756b!important}
body.ff-v17-tool #root [class*="text-amber-300"],
body.ff-v17-tool #root [class*="text-amber-400"],
body.ff-v17-tool #root [class*="text-amber-500"]{color:#9a6700!important}
body.ff-v17-tool #root [class*="text-rose-300"],
body.ff-v17-tool #root [class*="text-rose-400"],
body.ff-v17-tool #root [class*="text-red-400"]{color:#a52a49!important}
body.ff-v17-tool #root [class*="text-indigo-200"],
body.ff-v17-tool #root [class*="text-indigo-300"],
body.ff-v17-tool #root [class*="text-indigo-400"],
body.ff-v17-tool #root [class*="text-indigo-600"],
body.ff-v17-tool #root [class*="text-indigo-700"]{color:var(--ff17-teal-dark)!important}
body.ff-v17-tool #root [class*="text-sky-200"],
body.ff-v17-tool #root [class*="text-sky-300"],
body.ff-v17-tool #root [class*="text-sky-400"]{color:#0b7285!important}

/* Fundos semânticos claros. */
body.ff-v17-tool #root [class*="bg-emerald-950"],
body.ff-v17-tool #root [class*="bg-emerald-500/"],
body.ff-v17-tool #root [class*="bg-teal-500/"]{
  background:var(--ff17-teal-soft)!important;
  border-color:#bfe2db!important;
}
body.ff-v17-tool #root [class*="bg-amber-500/"],
body.ff-v17-tool #root [class*="bg-yellow-500/"]{
  background:var(--ff17-amber-bg)!important;
  border-color:#efd68a!important;
}
body.ff-v17-tool #root [class*="bg-red-500/"],
body.ff-v17-tool #root [class*="bg-rose-500/"]{
  background:var(--ff17-rose-bg)!important;
  border-color:#efb1bd!important;
}
body.ff-v17-tool #root [class*="bg-indigo-50"],
body.ff-v17-tool #root [class*="bg-indigo-100"]{
  background:var(--ff17-indigo-bg)!important;
}

/* O azul antigo em transparência vira teal suave; sólido vira botão/acento. */
body.ff-v17-tool #root [class*="bg-[#00a8e8]/10"],
body.ff-v17-tool #root [class*="bg-[#00a8e8]/20"],
body.ff-v17-tool #root [class*="bg-[#00a8e8]/30"]{
  background:var(--ff17-teal-soft)!important;
  border-color:#bfe2db!important;
  color:var(--ff17-teal-dark)!important;
}
body.ff-v17-tool #root button[class*="bg-[#00a8e8]"]:not([class*="/"]),
body.ff-v17-tool #root a[class*="bg-[#00a8e8]"]:not([class*="/"]),
body.ff-v17-tool #root span[class*="bg-[#00a8e8]"]:not([class*="/"]),
body.ff-v17-tool #root .bg-teal-600,
body.ff-v17-tool #root .bg-emerald-600,
body.ff-v17-tool #root .bg-indigo-600{
  background:var(--ff17-teal)!important;
  border-color:var(--ff17-teal)!important;
  color:#fff!important;
}
body.ff-v17-tool #root button[class*="bg-[#00a8e8]"]:not([class*="/"]) *,
body.ff-v17-tool #root a[class*="bg-[#00a8e8]"]:not([class*="/"]) *,
body.ff-v17-tool #root span[class*="bg-[#00a8e8]"]:not([class*="/"]) *,
body.ff-v17-tool #root .bg-teal-600 *,
body.ff-v17-tool #root .bg-emerald-600 *,
body.ff-v17-tool #root .bg-indigo-600 *{color:#fff!important}

/* Botões inativos originalmente escuros ficam claros. */
body.ff-v17-tool #root button[class*="bg-slate-950"],
body.ff-v17-tool #root button[class*="bg-slate-900"],
body.ff-v17-tool #root button[class*="bg-slate-800"],
body.ff-v17-tool #root a[class*="bg-slate-950"],
body.ff-v17-tool #root a[class*="bg-slate-900"],
body.ff-v17-tool #root a[class*="bg-slate-800"]{
  background:#fff!important;
  color:var(--ff17-ink)!important;
  border-color:var(--ff17-line)!important;
}
body.ff-v17-tool #root button[class*="bg-slate-950"]:hover,
body.ff-v17-tool #root button[class*="bg-slate-900"]:hover,
body.ff-v17-tool #root button[class*="bg-slate-800"]:hover,
body.ff-v17-tool #root a[class*="bg-slate-950"]:hover,
body.ff-v17-tool #root a[class*="bg-slate-900"]:hover,
body.ff-v17-tool #root a[class*="bg-slate-800"]:hover{
  background:var(--ff17-soft-2)!important;
  border-color:var(--ff17-line-strong)!important;
}

/* Inputs e áreas de upload. */
body.ff-v17-tool #root input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
body.ff-v17-tool #root select,
body.ff-v17-tool #root textarea{
  background:#fff!important;
  color:var(--ff17-ink)!important;
  border-color:#c9ddd8!important;
}
body.ff-v17-tool #root [class*="border-dashed"]{
  background:var(--ff17-soft)!important;
  color:var(--ff17-ink)!important;
  border-color:#b8d8d2!important;
}
body.ff-v17-tool #root [class*="border-dashed"]:hover{
  background:#f0f8f5!important;
  border-color:#72bdb3!important;
}
body.ff-v17-tool #root [class*="border-dashed"] > div[class*="w-16"][class*="h-16"]{
  background:var(--ff17-teal)!important;
  color:#fff!important;
  border-color:var(--ff17-teal)!important;
  box-shadow:0 8px 18px rgba(11,143,130,.15)!important;
}
body.ff-v17-tool #root [class*="border-dashed"] > div[class*="w-16"][class*="h-16"] *{color:#fff!important}

/* Painéis e cartões. */
body.ff-v17-tool #root .rounded-xl.border,
body.ff-v17-tool #root .rounded-2xl.border,
body.ff-v17-tool #root .rounded-3xl.border{
  border-color:var(--ff17-line)!important;
  box-shadow:var(--ff17-shadow)!important;
}

/* =========================================================
   Metodologia / fórmulas / referências — alta especificidade
   (corrige os textos brancos vistos em Marca d'Água em PDF)
   ========================================================= */
body.ff-v17-tool #snp-methodology-references-v8.snp-methodology,
body.ff-v17-tool .snp-methodology-react #snp-methodology-references-v8.snp-methodology{
  color:var(--ff17-ink)!important;
  border-top-color:var(--ff17-line)!important;
  background:transparent!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-methodology-kicker{color:var(--ff17-teal)!important}
body.ff-v17-tool #snp-methodology-references-v8 h2,
body.ff-v17-tool #snp-methodology-references-v8 h3,
body.ff-v17-tool #snp-methodology-references-v8 h4{
  color:var(--ff17-ink-strong)!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-methodology-date{
  background:var(--ff17-soft)!important;
  border-color:var(--ff17-line)!important;
  color:var(--ff17-muted)!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-methodology-status{
  background:var(--ff17-teal-soft)!important;
  color:var(--ff17-teal-dark)!important;
  border-left-color:var(--ff17-teal)!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-methodology-intro,
body.ff-v17-tool #snp-methodology-references-v8 .snp-example p,
body.ff-v17-tool #snp-methodology-references-v8 .snp-formula-card p,
body.ff-v17-tool #snp-methodology-references-v8 .snp-limits li,
body.ff-v17-tool #snp-methodology-references-v8 .snp-references li,
body.ff-v17-tool #snp-methodology-references-v8 .snp-references span{
  color:var(--ff17-muted)!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-formula-card,
body.ff-v17-tool #snp-methodology-references-v8 .snp-example,
body.ff-v17-tool #snp-methodology-references-v8 .snp-limits,
body.ff-v17-tool #snp-methodology-references-v8 .snp-references{
  background:var(--ff17-soft)!important;
  border-color:var(--ff17-line)!important;
  box-shadow:none!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-formula-card code{
  background:#fff!important;
  color:var(--ff17-teal-dark)!important;
  border-color:#c6e1dc!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-references a{
  color:var(--ff17-teal-dark)!important;
  text-decoration-color:#9fd1c8!important;
}
body.ff-v17-tool #snp-methodology-references-v8 .snp-references li::marker{color:var(--ff17-teal)!important}

/* =========================================================
   Ajustes específicos das páginas citadas
   ========================================================= */
/* Marca d'Água em lote */
body.ff-route-marca-dagua-em-lote #batch-watermark-app h1,
body.ff-route-marca-dagua-em-lote #batch-watermark-app h2,
body.ff-route-marca-dagua-em-lote #batch-watermark-app h3{color:var(--ff17-ink-strong)!important}
body.ff-route-marca-dagua-em-lote #batch-watermark-app p{color:var(--ff17-muted)!important}
body.ff-route-marca-dagua-em-lote #batch-watermark-app [class*="bg-emerald-500/10"]{
  background:var(--ff17-teal-soft)!important;
  border-color:#bfe2db!important;
  color:var(--ff17-teal-dark)!important;
}

/* Marca d'Água em PDF */
body.ff-route-marca-dagua-pdf #root [class*="bg-amber-500/10"]{
  background:var(--ff17-amber-bg)!important;
  border-color:#efd68a!important;
}
body.ff-route-marca-dagua-pdf #root [class*="border-dashed"] > div[class*="w-16"]{
  background:var(--ff17-teal)!important;
  color:#fff!important;
}

/* Calculadora de férias: cores de resultado mais legíveis em fundo claro. */
body.ff-route-calculadora-ferias #root [class*="text-emerald"]{color:#08756b!important}
body.ff-route-calculadora-ferias #root [class*="text-rose"]{color:#a52a49!important}
body.ff-route-calculadora-ferias #root [class*="text-indigo"]{color:#4c5f86!important}
body.ff-route-calculadora-ferias #root [class*="text-sky"]{color:#0b7285!important}
body.ff-route-calculadora-ferias #root table tr,
body.ff-route-calculadora-ferias #root table td,
body.ff-route-calculadora-ferias #root table th{border-color:var(--ff17-line)!important}

/* Juntar PDFs: cards de arquivo e controles ficam no mesmo padrão OCR. */
body.ff-route-juntar-pdfs #root [class*="bg-slate-900"],
body.ff-route-juntar-pdfs #root [class*="bg-slate-950"]{background:#fff!important}
body.ff-route-juntar-pdfs #root [class*="bg-amber-500"]:not([class*="/"]){
  background:var(--ff17-teal)!important;
  color:#fff!important;
}
body.ff-route-juntar-pdfs #root [class*="text-amber"]{color:var(--ff17-teal-dark)!important}

/* Esteganografia: indigo antigo vira teal e alerta fica visível. */
body.ff-route-esteganografia-em-pdf #root [class*="bg-indigo-600"]{background:var(--ff17-teal)!important;color:#fff!important}
body.ff-route-esteganografia-em-pdf #root [class*="hover:bg-indigo-700"]:hover{background:var(--ff17-teal-dark)!important}
body.ff-route-esteganografia-em-pdf #root [class*="border-indigo"]{border-color:var(--ff17-line-strong)!important}
body.ff-route-esteganografia-em-pdf #root [class*="text-indigo"]{color:var(--ff17-teal-dark)!important}
body.ff-route-esteganografia-em-pdf #root [class*="bg-indigo-100"]{background:var(--ff17-teal-soft)!important}
.ff17-stego-warning{
  max-width:760px;
  margin:14px auto 0;
  padding:12px 14px;
  border:1px solid #efd68a;
  border-left:4px solid #e4aa14;
  border-radius:12px;
  background:var(--ff17-amber-bg);
  color:#725410;
  font-size:13px;
  line-height:1.55;
  text-align:left;
}
.ff17-stego-warning strong{color:#5f470b}

/* Removedor de fundo: garante que o CSS antigo escuro nunca volte a ganhar a cascata. */
body.ff-route-remover-fundo.ff-v12-standalone{
  --bg:var(--ff17-bg)!important;
  --panel:var(--ff17-surface)!important;
  --panel-soft:var(--ff17-soft)!important;
  --line:var(--ff17-line)!important;
  --text:var(--ff17-ink)!important;
  --muted:var(--ff17-muted)!important;
  --cyan:var(--ff17-teal)!important;
  --cyan-dark:var(--ff17-teal-dark)!important;
  background:var(--ff17-bg)!important;
  color:var(--ff17-ink)!important;
}
body.ff-route-remover-fundo .hero,
body.ff-route-remover-fundo .tool-card,
body.ff-route-remover-fundo .content-section,
body.ff-route-remover-fundo .preview-card,
body.ff-route-remover-fundo .result{background:#fff!important;border-color:var(--ff17-line)!important;color:var(--ff17-ink)!important}

/* =========================================================
   Rodapé das ferramentas — sempre escuro e legível
   ========================================================= */
body.ff-v17-tool #root footer,
body.ff-v17-tool footer.site-footer,
body.ff-v17-tool .site-footer{
  background:var(--ff17-footer)!important;
  color:var(--ff17-footer-ink)!important;
  border-color:#17625e!important;
}
body.ff-v17-tool #root footer [class*="bg-slate"],
body.ff-v17-tool footer.site-footer [class*="bg-slate"]{background:transparent!important}
body.ff-v17-tool #root footer h1,
body.ff-v17-tool #root footer h2,
body.ff-v17-tool #root footer h3,
body.ff-v17-tool #root footer h4,
body.ff-v17-tool #root footer strong,
body.ff-v17-tool footer.site-footer strong{color:#fff!important}
body.ff-v17-tool #root footer p,
body.ff-v17-tool #root footer li,
body.ff-v17-tool #root footer span,
body.ff-v17-tool footer.site-footer p,
body.ff-v17-tool footer.site-footer span{color:var(--ff17-footer-muted)!important}
body.ff-v17-tool #root footer a,
body.ff-v17-tool footer.site-footer a{color:#d7ece8!important}
body.ff-v17-tool #root footer a:hover,
body.ff-v17-tool footer.site-footer a:hover{color:#fff!important;text-decoration:underline}

/* Ações sólidas sempre com texto branco — deve vir por último. */
body.ff-v17-tool #root button[class*="bg-[#00a8e8]"]:not([class*="/"]),
body.ff-v17-tool #root a[class*="bg-[#00a8e8]"]:not([class*="/"]),
body.ff-v17-tool #root .bg-teal-600,
body.ff-v17-tool #root .bg-emerald-600,
body.ff-v17-tool #root .bg-indigo-600{
  color:#fff!important;
}
body.ff-v17-tool #root button[class*="bg-[#00a8e8]"]:not([class*="/"]) *,
body.ff-v17-tool #root a[class*="bg-[#00a8e8]"]:not([class*="/"]) *,
body.ff-v17-tool #root .bg-teal-600 *,
body.ff-v17-tool #root .bg-emerald-600 *,
body.ff-v17-tool #root .bg-indigo-600 *{color:#fff!important}

@media (max-width:720px){
  body.ff-v17-tool #snp-methodology-references-v8 .snp-formula-grid{grid-template-columns:1fr!important}
  body.ff-v17-tool #snp-methodology-references-v8 .snp-methodology-head{flex-direction:column!important}
}
