/* GIRUZIN 033 — paleta final: azul -> branco | branco -> azul */
:root, html, html[data-theme="dark"], html[data-theme="light"] {
  color-scheme: light !important;
  --gir-azul:#0759dc;
  --gir-azul-escuro:#063b91;
  --gir-azul-claro:#eaf3ff;
  --gir-branco:#ffffff;
  --gir-texto:#063b91;
  --gir-borda:#b9d3f5;
  --bg:var(--gir-branco) !important;
  --surface:var(--gir-branco) !important;
  --surface2:var(--gir-azul-claro) !important;
  --text:var(--gir-texto) !important;
  --muted:var(--gir-texto) !important;
  --border:var(--gir-borda) !important;
  --accent:var(--gir-azul) !important;
  --accent2:var(--gir-azul-escuro) !important;
  --v25-bg:var(--gir-branco) !important;
  --v25-surface:var(--gir-branco) !important;
  --v25-surface2:var(--gir-azul-claro) !important;
  --v25-text:var(--gir-texto) !important;
  --v25-muted:var(--gir-texto) !important;
  --v25-line:var(--gir-borda) !important;
  --v25-blue:var(--gir-azul) !important;
}
html, body { background:var(--gir-branco) !important; color:var(--gir-texto) !important; }
/* Tudo que for superfície branca permanece branca e recebe texto azul. */
.card, .panel, .box, .modal, .dialog, .dropdown, .menu, .search-box,
section:not(.hero):not(.v25-hero), article, form, table, .table-wrap,
input, select, textarea, .ai-panel, .msg.ai, .quick-ai button {
  color:var(--gir-texto) !important;
}
input, select, textarea, .card, .panel, .box, .modal, .dialog, table, .table-wrap, form {
  background:var(--gir-branco) !important;
}
/* Áreas azuis sempre têm letras brancas. */
.site-header, .header, .navbar, nav, .footer,
.hero, .v25-hero, .primary, .btn.primary, button.primary,
.v25-btn.primary, .nav .primary, .blue, .bg-blue,
.badge.blue, .tab.active, .active-tab, .selected,
[style*="background:#0759dc"], [style*="background: #0759dc"],
[style*="background:#0759DC"], [style*="background: #0759DC"] {
  color:var(--gir-branco) !important;
}
.site-header a, .header a, .navbar a, nav a, .footer a,
.hero h1, .hero h2, .hero h3, .hero p, .hero small,
.v25-hero h1, .v25-hero h2, .v25-hero h3, .v25-hero p, .v25-hero small,
.primary, .btn.primary, button.primary, .v25-btn.primary {
  color:var(--gir-branco) !important;
}
/* Botões neutros/brancos ficam com letras azuis. */
button:not(.primary), .btn:not(.primary), .v25-btn:not(.primary),
a.v25-btn:not(.primary) {
  background:var(--gir-branco) !important;
  color:var(--gir-texto) !important;
  border-color:var(--gir-borda) !important;
}
/* Links e títulos em áreas brancas. */
a { color:var(--gir-texto); }
h1,h2,h3,h4,h5,h6,strong,b,label,th { color:var(--gir-texto) !important; }
.card p, .lead, .footer, .notice, .ai-status, .ai-note { color:var(--gir-texto) !important; }
/* Campos: branco com texto azul. */
input::placeholder, textarea::placeholder { color:#4770a8 !important; opacity:1; }
/* Mantém texto branco em badges/elementos claramente azuis. */
.bg-primary, .bg-blue, .blue-bg, .is-blue, .primary-bg { color:#fff !important; }
.bg-primary *, .bg-blue *, .blue-bg *, .is-blue *, .primary-bg * { color:#fff !important; }
/* Remove aparência de modo escuro sem alterar estrutura. */
html[data-theme="dark"] body { background:var(--gir-branco) !important; color:var(--gir-texto) !important; }


/* CORREÇÃO DEFINITIVA DOS CARDS V23 */
.v23-card {
  background:#ffffff !important;
  color:#06366b !important;
  border-color:#b9d3f5 !important;
}
.v23-card h3, .v23-card p, .v23-card strong, .v23-card small, .v23-card span {
  color:#06366b !important;
}
.v23-card .v23-pill {
  background:#063b91 !important;
  color:#ffffff !important;
}
.v23-feature article {
  background:#08172e !important;
  color:#ffffff !important;
}
.v23-feature article strong,
.v23-feature article p,
.v23-feature article a {
  color:#ffffff !important;
}
.v23-feature article .v23-pill {
  background:#063b91 !important;
  color:#ffffff !important;
}
.news-card, .feature-card, .info-card, .stat-card, .g22-card, .v25-panel {
  color:#ffffff !important;
}
.news-card *, .feature-card *, .info-card *, .stat-card *, .g22-card *, .v25-panel * {
  color:#ffffff !important;
}
