/* ==========================================
   LIGHT THEME — Ágil Solar Portal
   Dark → White  |  Orange+Glow → Blue+Glow
   ========================================== */

/* ─── 1. BASE ─────────────────────────────── */
body.theme-light {
  background-color: #f0f4f8 !important;
  color: #0f172a !important;
}
body.theme-light ::selection {
  background-color: #2563eb !important;
  color: #ffffff !important;
}

/* ─── 2. SCROLLBARS ───────────────────────── */
body.theme-light ::-webkit-scrollbar-track,
body.theme-light .custom-scrollbar::-webkit-scrollbar-track { background: #e2e8f0; }
body.theme-light ::-webkit-scrollbar-thumb,
body.theme-light .custom-scrollbar::-webkit-scrollbar-thumb { background: #94a3b8; }
body.theme-light ::-webkit-scrollbar-thumb:hover,
body.theme-light .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #2563eb; }

/* ─── 3. GRID PATTERNS ────────────────────── */
body.theme-light .bg-grid {
  background-image:
    linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px);
  background-size: 44px 44px;
}
body.theme-light .bg-grid-sm {
  background-image:
    linear-gradient(rgba(0,0,0,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.025) 1px, transparent 1px);
  background-size: 22px 22px;
}

/* ─── 4. METRIC CARDS ─────────────────────── */
body.theme-light .metric-card {
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 60%, #f1f5f9 100%) !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
}

/* ─── 5. GRADIENT BORDER (proposta.html) ──── */
body.theme-light .gradient-border {
  background: #ffffff !important;
  box-shadow: 0 0 40px rgba(37,99,235,0.12) !important;
}
body.theme-light .gradient-border:before {
  background: linear-gradient(to right, #1d4ed8, #60a5fa) !important;
}

/* ─── 6. ANIMATED STRIPE → BLUE ──────────── */
body.theme-light .animated-stripe {
  background-image: repeating-linear-gradient(
    90deg,
    #1d4ed8 0px,
    #2563eb 20px,
    #60a5fa 40px,
    #2563eb 60px,
    #1d4ed8 80px
  ) !important;
  background-size: 200px 100% !important;
  animation: stripe-slide 4s linear infinite !important;
}

/* ─── 7. TAB ACTIVE UNDERLINE → BLUE ─────── */
body.theme-light .tab-active-underline::after {
  background: linear-gradient(to right, #1d4ed8, #60a5fa) !important;
}

/* ─── 8. TABLE ROW HOVER → BLUE ──────────── */
body.theme-light .table-row-hover:hover {
  background: linear-gradient(90deg, rgba(37,99,235,0.05) 0%, transparent 60%) !important;
  border-left-color: rgba(37,99,235,0.4) !important;
}

/* ─── 9. GLOW EFFECTS → BLUE ─────────────── */
body.theme-light .neon-orange {
  text-shadow: 0 0 14px rgba(37,99,235,0.5), 0 0 28px rgba(37,99,235,0.2);
}
body.theme-light .avatar-pulse {
  animation: avatar-ring-light 3s ease-in-out infinite !important;
}
@keyframes avatar-ring-light {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37,99,235,0.4); }
  50%       { box-shadow: 0 0 0 4px rgba(37,99,235,0); }
}

/* ─── 10. PAGE CONTAINERS ─────────────────── */
body.theme-light main,
body.theme-light #app-content,
body.theme-light #login-screen,
body.theme-light #splash-screen,
body.theme-light #loading {
  background-color: #f0f4f8 !important;
  background-image: none !important;
}
body.theme-light header.sticky {
  background: rgba(255,255,255,0.95) !important;
  border-bottom-color: #e2e8f0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
/* Blocos do dashboard com fundo escuro inline (style="") — as regras por
   classe do Tailwind não alcançam, então cada um precisa da sua classe aqui. */
body.theme-light .dash-filterbar {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  border-left-color: #2563eb !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
}
body.theme-light #dash-period-picker {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important;
}
body.theme-light #dash-period-picker input[type="date"] {
  color-scheme: light !important;
}
body.theme-light .dash-kpi-strip {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
body.theme-light .dash-kpi-strip > article {
  background: #ffffff !important;
}
body.theme-light .dash-hero,
body.theme-light .dash-pipeline,
body.theme-light .dash-panel,
body.theme-light .dash-comunicados-panel,
body.theme-light .dash-materials-panel,
body.theme-light .dash-quick-panel,
body.theme-light .dash-rail-chat,
body.theme-light .tab-content {
  background: #ffffff !important;
}

/* ─── 11. DARK BACKGROUNDS → LIGHT ───────── */
/* Tailwind neutral dark shades */
body.theme-light [class*="bg-neutral-900"],
body.theme-light [class*="bg-neutral-950"],
body.theme-light [class*="bg-neutral-800"] {
  background-color: #ffffff !important;
}
/* Hardcoded dark hex */
body.theme-light [class*="bg-[#050505]"],
body.theme-light [class*="bg-[#080808]"],
body.theme-light [class*="bg-[#0a0a0a]"],
body.theme-light [class*="bg-[#0d0d0d]"],
body.theme-light [class*="bg-[#0f0f0f]"],
body.theme-light [class*="bg-[#111111]"],
body.theme-light [class*="bg-[#171717]"],
body.theme-light [class*="bg-[#1a1a1a]"] {
  background-color: #f8fafc !important;
  background-image: none !important;
}
/* bg-black variants */
body.theme-light [class*="bg-black\/1"],
body.theme-light [class*="bg-black\/2"],
body.theme-light [class*="bg-black\/3"],
body.theme-light [class*="bg-black\/4"],
body.theme-light [class*="bg-black\/5"],
body.theme-light [class*="bg-black\/6"] {
  background-color: #f1f5f9 !important;
}
body.theme-light [class*="bg-black\/7"],
body.theme-light [class*="bg-black\/8"],
body.theme-light [class*="bg-black\/9"] {
  background-color: #ffffff !important;
}
/* Pure bg-black (no slash) */
body.theme-light [class="bg-black"],
body.theme-light [class*=" bg-black "],
body.theme-light [class*=" bg-black\""],
body.theme-light [class^="bg-black "] {
  background-color: #f8fafc !important;
}
/* Decorative dark gradient stops */
body.theme-light [class*="from-black"],
body.theme-light [class*="via-black"],
body.theme-light [class*="to-black"] {
  --tw-gradient-from: transparent !important;
  --tw-gradient-via: transparent !important;
  --tw-gradient-to: transparent !important;
}
/* Decorative blur blobs */
body.theme-light [class*="bg-orange-"][class*="blur-"],
body.theme-light [class*="bg-yellow-"][class*="blur-"],
body.theme-light [class*="bg-blue-"][class*="blur-"] {
  opacity: 0.05 !important;
}

/* ─── 12. MODALS ──────────────────────────── */
body.theme-light [id*="modal"] > div,
body.theme-light [id*="overlay"] > div {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
body.theme-light [id*="modal-overlay"],
body.theme-light [id*="overlay"] {
  background-color: rgba(15,23,42,0.55) !important;
}

/* ─── 13. TEXT INVERSIONS ─────────────────── */
/* Invert white text to dark on elements that are now light-background */
body.theme-light [class*="text-white"] {
  color: #0f172a !important;
}
body.theme-light [class*="text-neutral-200"],
body.theme-light [class*="text-neutral-300"] { color: #334155 !important; }
body.theme-light [class*="text-neutral-400"] { color: #64748b !important; }
body.theme-light [class*="text-neutral-500"],
body.theme-light [class*="text-neutral-600"] { color: #94a3b8 !important; }
body.theme-light [class*="text-neutral-700"] { color: #475569 !important; }
body.theme-light h1, body.theme-light h2,
body.theme-light h3, body.theme-light h4  { color: #0f172a !important; }

/* ─── 13b. RESTORE WHITE TEXT ON COLORED BACKGROUNDS ── */
/*
   The broad rule above catches everything. Here we restore white text
   for any element/button that has a solid colored background
   (blue, green, red, purple, orange-solid) — where white is required for readability.
*/
body.theme-light [class*="bg-blue-5"][class*="text-white"],
body.theme-light [class*="bg-blue-6"][class*="text-white"],
body.theme-light [class*="bg-blue-7"][class*="text-white"],
body.theme-light [class*="bg-blue-8"][class*="text-white"],
body.theme-light [class*="bg-blue-9"][class*="text-white"],
body.theme-light [class*="bg-green-5"][class*="text-white"],
body.theme-light [class*="bg-green-6"][class*="text-white"],
body.theme-light [class*="bg-green-7"][class*="text-white"],
body.theme-light [class*="bg-red-4"][class*="text-white"],
body.theme-light [class*="bg-red-5"][class*="text-white"],
body.theme-light [class*="bg-red-6"][class*="text-white"],
body.theme-light [class*="bg-red-7"][class*="text-white"],
body.theme-light [class*="bg-purple-5"][class*="text-white"],
body.theme-light [class*="bg-purple-6"][class*="text-white"],
body.theme-light [class*="bg-orange-5"][class*="text-white"],
body.theme-light [class*="bg-orange-6"][class*="text-white"],
body.theme-light [class*="bg-emerald-5"][class*="text-white"],
body.theme-light [class*="bg-emerald-6"][class*="text-white"],
body.theme-light [class*="bg-blue-5"][class*="text-white"],
body.theme-light [class*="bg-blue-6"][class*="text-white"] {
  color: #ffffff !important;
}
/* Also restore white on gradient buttons that already have the right bg */
body.theme-light [class*="from-blue-"][class*="text-white"],
body.theme-light [class*="from-green-"][class*="text-white"] {
  color: #ffffff !important;
}
/* ADMIN badge (purple) */
body.theme-light [class*="text-purple-"] { color: #7c3aed !important; }

/* ─── 14. BORDER INVERSIONS ───────────────── */
body.theme-light [class*="border-neutral-700"],
body.theme-light [class*="border-neutral-800"],
body.theme-light [class*="border-neutral-900"],
body.theme-light [class*="border-black"] {
  border-color: #e2e8f0 !important;
}

/* ─── 15. ORANGE ACCENT → BLUE ───────────── */
body.theme-light [class*="text-orange-600"] { color: #1d4ed8 !important; }
body.theme-light [class*="text-orange-500"] { color: #2563eb !important; }
body.theme-light [class*="text-orange-400"] { color: #3b82f6 !important; }
body.theme-light [class*="text-orange-"]    { color: #2563eb !important; }

body.theme-light [class*="bg-orange-600"],
body.theme-light [class*="bg-orange-500"] {
  background-color: #2563eb !important;
}
body.theme-light [class*="bg-orange-500\/"],
body.theme-light [class*="bg-orange-600\/"],
body.theme-light [class*="bg-orange-900\/"] {
  background-color: rgba(37,99,235,0.1) !important;
}
body.theme-light [class*="border-orange-"] { border-color: rgba(37,99,235,0.35) !important; }
body.theme-light [class*="ring-orange-"]   { --tw-ring-color: rgba(37,99,235,0.2) !important; }

/* Gradient stops: orange → blue */
body.theme-light [class*="from-orange-"] {
  --tw-gradient-from: #2563eb !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37,99,235,0)) !important;
}
body.theme-light [class*="to-yellow-"] {
  --tw-gradient-to: #60a5fa !important;
}
body.theme-light [class*="from-orange-900\/"] {
  --tw-gradient-from: rgba(219,234,254,0.5) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(219,234,254,0)) !important;
}
body.theme-light [class*="to-yellow-900\/"] {
  --tw-gradient-to: rgba(219,234,254,0.1) !important;
}
/* Solid/gradient orange buttons: text-black → white (bg converts to blue) */
body.theme-light [class*="bg-orange-"][class*="text-black"],
body.theme-light [class*="from-orange-"][class*="text-black"] {
  color: #ffffff !important;
}

/* ─── 16. ORANGE GLOW SHADOWS → BLUE GLOW ── */
body.theme-light [class*="shadow-[0_0_"][class*="rgba(249,115"] {
  box-shadow: 0 0 20px rgba(37,99,235,0.15) !important;
}
body.theme-light [class*="shadow-[0_0_"][class*="rgba(234,88"] {
  box-shadow: 0 0 20px rgba(37,99,235,0.12) !important;
}
body.theme-light [class*="shadow-[inset"][class*="rgba(234,88"] {
  box-shadow: inset 0 0 20px rgba(37,99,235,0.06) !important;
}

/* ─── 17. INPUTS & FORM ELEMENTS ─────────── */
body.theme-light input,
body.theme-light select,
body.theme-light textarea {
  background-color: #f8fafc !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
body.theme-light input::placeholder,
body.theme-light textarea::placeholder { color: #94a3b8 !important; }
body.theme-light input:focus,
body.theme-light select:focus,
body.theme-light textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.15) !important;
  outline: none !important;
}

/* ─── 18. TABLES ──────────────────────────── */
body.theme-light table th {
  background-color: #f1f5f9 !important;
  color: #374151 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
body.theme-light table td,
body.theme-light table tr { border-color: #f1f5f9 !important; }
body.theme-light table td [class*="text-white"] { color: #0f172a !important; }

/* ─── 19. YELLOW / GREEN PANELS ───────────── */
body.theme-light [class*="bg-yellow-900\/"] { background-color: rgba(250,204,21,0.08) !important; }
body.theme-light [class*="border-yellow-900\/"] { border-color: rgba(234,179,8,0.25) !important; }
body.theme-light [class*="bg-green-950\/"] { background-color: rgba(21,128,61,0.08) !important; }
body.theme-light [class*="border-green-900\/"] { border-color: rgba(21,128,61,0.25) !important; }

/* ─── 20. PROPOSTA.HTML SPECIFICS ─────────── */
body.theme-light #kit-brand-wrapper {
  background-color: rgba(37,99,235,0.1) !important;
  border-color: rgba(37,99,235,0.3) !important;
  color: #2563eb !important;
}
body.theme-light #vendor-avatar {
  background: linear-gradient(to bottom right, #2563eb, #60a5fa) !important;
  color: #ffffff !important;
  box-shadow: 0 0 20px rgba(37,99,235,0.25) !important;
}
body.theme-light #final-cta-btn {
  background: linear-gradient(to right, #1d4ed8, #3b82f6) !important;
  color: #ffffff !important;
  box-shadow: 0 0 40px rgba(37,99,235,0.35) !important;
}
body.theme-light #final-cta-btn:hover { box-shadow: 0 0 60px rgba(37,99,235,0.5) !important; }
body.theme-light #btn-submit-login,
body.theme-light #btn-mfa-submit {
  background: linear-gradient(to right, #1d4ed8, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: 0 0 20px rgba(37,99,235,0.3) !important;
}
body.theme-light #loading-bar {
  background: linear-gradient(to right, #1d4ed8, #60a5fa) !important;
  box-shadow: 0 0 10px rgba(37,99,235,0.5) !important;
}
body.theme-light #loading-percentage { color: #2563eb !important; }
body.theme-light #modal-parcelamento > div {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
body.theme-light #modal-parcelamento [class*="bg-neutral-950"],
body.theme-light #modal-parcelamento [class*="bg-black\/50"] {
  background-color: #f8fafc !important;
}

/* ─── 21. VIDEO PLAYER ────────────────────── */
body.theme-light #video-wrapper {
  background-color: #000000 !important;
  border-color: #222222 !important;
}
body.theme-light .vid-nav-btn {
  background: rgba(20,20,20,0.85) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #ffffff !important;
}
body.theme-light .vid-nav-btn:hover {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

/* ─── 22. PHOTO BG SECTIONS (environmental) ─ */
body.theme-light [class*="bg-cover"] .absolute.inset-0[class*="bg-black"] {
  background-color: rgba(0,0,0,0.78) !important;
}
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-white"] {
  color: #ffffff !important;
}
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-neutral-300"] {
  color: rgba(255,255,255,0.78) !important;
}
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-neutral-400"] {
  color: rgba(255,255,255,0.6) !important;
}

/* ─── 23. KIT CARDS (proposta-builder, gerados via JS) ── */
body.theme-light #pb-products-container,
body.theme-light #pb-equip-panel,
body.theme-light #pb-custom-panel {
  background-color: #f0f4f8 !important;
}
/* Card shell */
body.theme-light #pb-products-container > div {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
body.theme-light #pb-products-container > div:hover {
  border-color: #2563eb !important;
}
/* Kit name */
body.theme-light #pb-products-container h3 { color: #0f172a !important; }
body.theme-light #pb-products-container .group:hover h3 { color: #2563eb !important; }
/* Brand badge */
body.theme-light #pb-products-container [class*="bg-orange-600\/20"] {
  background-color: rgba(37,99,235,0.1) !important;
  border-color: rgba(37,99,235,0.3) !important;
  color: #2563eb !important;
}
/* Inner cells (potência / geração) */
body.theme-light #pb-products-container [class*="bg-black"],
body.theme-light #pb-products-container [class*="bg-neutral-9"] {
  background-color: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
/* Cell labels */
body.theme-light #pb-products-container [class*="text-neutral-5"] { color: #64748b !important; }
/* Dividers */
body.theme-light #pb-products-container [class*="border-neutral-8"] { border-color: #e2e8f0 !important; }
/* Strikethrough price */
body.theme-light #pb-products-container [class*="line-through"] { color: #94a3b8 !important; }
/* "GERAR PROPOSTA" and any blue/colored button inside cards: ensure white text */
body.theme-light #pb-products-container button[class*="bg-blue-"],
body.theme-light #pb-products-container button[class*="bg-green-"],
body.theme-light #pb-products-container button[class*="bg-orange-"] {
  color: #ffffff !important;
}

/* ─── 24. LOGOS — remove orange glow in light mode ───── */
body.theme-light img[data-theme-logo="true"] {
  filter: none;
}

/* ─── 25. TOAST ───────────────────────────── */
body.theme-light #toast {
  background-color: rgba(255,255,255,0.95) !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}

/* ─── 26. PROPOSTA — economia, validade, geração ──── */

/* Texto em ids de economia */
body.theme-light #eco-month,
body.theme-light #eco-year { color: #15803d !important; }

/* Geração Estimada — card amarelo */
body.theme-light [class*="bg-yellow-900/"] {
  background-color: rgba(202,138,4,0.1) !important;
  border-color: rgba(202,138,4,0.35) !important;
}
body.theme-light [class*="text-yellow-4"] { color: #a16207 !important; }
body.theme-light [class*="text-yellow-5"] { color: #854d0e !important; }
body.theme-light [id="kit-generation"]    { color: #a16207 !important; }

/* overlay bg-black/80 sobre foto → muito mais claro */
body.theme-light [class*="bg-cover"] > .absolute.inset-0[class*="bg-black\/8"],
body.theme-light [class*="bg-cover"] > .absolute.inset-0[class*="bg-black\/7"],
body.theme-light [class*="bg-cover"] > .absolute.inset-0[class*="bg-black\/6"],
body.theme-light [class*="bg-cover"] > .absolute.inset-0[class*="bg-black\/5"] {
  background-color: rgba(0,0,0,0.35) !important;
}
/* Textos sobre foto ficam brancos (legíveis sobre overlay mais claro) */
body.theme-light [class*="bg-cover"] .relative.z-10 h3,
body.theme-light [class*="bg-cover"] .relative.z-10 p,
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-white"],
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-neutral-3"],
body.theme-light [class*="bg-cover"] .relative.z-10 [class*="text-neutral-4"] {
  color: #ffffff !important;
}
body.theme-light [class*="bg-green-900\/10"] {
  background-color: rgba(21,128,61,0.08) !important;
  border-color: rgba(21,128,61,0.3) !important;
}
/* Texto gradiente verde claro → verde escuro legível */
body.theme-light [class*="from-green-4"][class*="bg-clip-text"],
body.theme-light [class*="from-green-4"][class*="text-transparent"] {
  -webkit-text-fill-color: #15803d !important;
  color: #15803d !important;
  background-image: none !important;
}
/* text-green-500 na proposta: escurecer para ficar legível */
body.theme-light #eco-month,
body.theme-light #eco-year,
body.theme-light #eco-25years { color: #15803d !important; }

/* Validade da proposta (#urgency-banner) */
body.theme-light #urgency-banner {
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
body.theme-light #urgency-banner [class*="bg-neutral-7"] {
  background-color: #e2e8f0 !important;
}
body.theme-light #urgency-banner [data-lucide] {
  color: #475569 !important;
}
body.theme-light #urgency-banner [class*="text-neutral-5"] { color: #475569 !important; }
body.theme-light #urgency-banner [class*="text-neutral-3"] { color: #1e293b !important; }
body.theme-light #urgency-banner [class*="text-white"]      { color: #1e293b !important; }

/* Payback — ícone clock e container */
body.theme-light [class*="bg-orange-500\/20"] {
  background-color: rgba(37,99,235,0.12) !important;
}
body.theme-light [class*="bg-orange-600\/10"] {
  background-color: rgba(37,99,235,0.06) !important;
  border-color: rgba(37,99,235,0.2) !important;
}

/* ─── 27. ADMIN PANEL ─────────────────────── */

/* Admin bar (MODO ADMINISTRADOR ATIVO) — barra global (legado) + barra do overlay */
body.theme-light #admin-bar,
body.theme-light #admin-overlay-kitsbar {
  background-color: #fff1f2 !important;
  border-color: #fecdd3 !important;
}
body.theme-light #admin-bar [class*="bg-red-6"],
body.theme-light #admin-overlay-kitsbar [class*="bg-red-6"] {
  background-color: rgba(220,38,38,0.12) !important;
  border-color: rgba(220,38,38,0.3) !important;
}
body.theme-light #admin-bar [class*="text-red-4"],
body.theme-light #admin-overlay-kitsbar [class*="text-red-4"] { color: #b91c1c !important; }
body.theme-light #admin-bar [class*="text-white"],
body.theme-light #admin-overlay-kitsbar [class*="text-white"] { color: #1e293b !important; }

/* Admin bar action buttons (MODELO CSV, XLSX, IMPORTAR, EXPORTAR) */
body.theme-light #admin-bar a[class*="bg-black"],
body.theme-light #admin-bar button[class*="bg-black"],
body.theme-light #admin-overlay-kitsbar a[class*="bg-black"],
body.theme-light #admin-overlay-kitsbar button[class*="bg-black"] {
  background-color: #ffffff !important;
}
body.theme-light #admin-bar [class*="text-cyan-3"],
body.theme-light #admin-overlay-kitsbar [class*="text-cyan-3"]  { color: #0891b2 !important; border-color: #67e8f9 !important; }
body.theme-light #admin-bar [class*="text-blue-3"],
body.theme-light #admin-overlay-kitsbar [class*="text-blue-3"]  { color: #1d4ed8 !important; border-color: #93c5fd !important; }
body.theme-light #admin-bar [class*="text-green-3"],
body.theme-light #admin-overlay-kitsbar [class*="text-green-3"] { color: #15803d !important; border-color: #86efac !important; }
body.theme-light #admin-bar [class*="text-amber-3"],
body.theme-light #admin-overlay-kitsbar [class*="text-amber-3"] { color: #92400e !important; border-color: #fcd34d !important; }

/* Overlay admin global — fundo e cabeçalho no tema claro */
body.theme-light #admin-overlay {
  background-color: rgba(241,245,249,0.97) !important;
}
body.theme-light #admin-overlay .sticky {
  background-color: rgba(255,255,255,0.92) !important;
  border-color: #e2e8f0 !important;
}
body.theme-light #admin-overlay #admin-close-btn {
  background-color: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

/* Admin section header (Gerenciamento do Sistema) */
body.theme-light [class*="bg-red-950\/10"],
body.theme-light [class*="bg-red-950\/20"] {
  background-color: #fff1f2 !important;
  border-color: #fecdd3 !important;
}
body.theme-light [class*="bg-red-600\/20"] {
  background-color: rgba(220,38,38,0.1) !important;
  border-color: rgba(220,38,38,0.25) !important;
}
body.theme-light [class*="bg-red-950\/10"] [class*="text-red-4"],
body.theme-light [class*="bg-red-950\/20"] [class*="text-red-4"] { color: #b91c1c !important; }
body.theme-light [class*="bg-red-950\/10"] [class*="text-white"],
body.theme-light [class*="bg-red-950\/20"] [class*="text-white"] { color: #1e293b !important; }

/* "PREÇOS DA UNIDADE" bar */
body.theme-light [class*="bg-purple-950\/20"] {
  background-color: #f5f3ff !important;
  border-color: #ddd6fe !important;
}
body.theme-light [class*="bg-purple-950\/20"] [class*="text-purple-4"] { color: #6d28d9 !important; }

/* Botão PREÇOS franquia (editar preços) */
body.theme-light [class*="bg-purple-600\/20"] {
  background-color: rgba(109,40,217,0.08) !important;
  border-color: rgba(109,40,217,0.25) !important;
  color: #6d28d9 !important;
}

/* Kit cards admin — EDITAR (blue) e EXCLUIR (red) */
body.theme-light [class*="bg-blue-600\/20"][class*="text-blue-4"] {
  background-color: rgba(37,99,235,0.1) !important;
  color: #1d4ed8 !important;
}
body.theme-light [class*="bg-red-600\/20"][class*="text-red-4"] {
  background-color: rgba(220,38,38,0.08) !important;
  color: #b91c1c !important;
}
/* Kit card dashed border */
body.theme-light [class*="border-dashed"][class*="border-orange-5"] {
  border-color: rgba(37,99,235,0.4) !important;
  background-color: #ffffff !important;
}
/* Badges e textos dentro dos kit cards admin */
body.theme-light #admin-kits-grid [class*="bg-black\/5"],
body.theme-light #admin-kits-grid [class*="bg-black\/4"] { background-color: #f1f5f9 !important; }
body.theme-light #admin-kits-grid [class*="text-neutral-5"] { color: #64748b !important; }
/* ─── 20b. PROPOSTA PREMIUM (hero/cards/cta) ─────────── */
body.theme-light .proposal-hero-shell {
  border-color: rgba(37, 99, 235, 0.28) !important;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(37, 99, 235, 0.14) 0%, rgba(37, 99, 235, 0) 58%),
    radial-gradient(90% 100% at 100% 0%, rgba(96, 165, 250, 0.18) 0%, rgba(96, 165, 250, 0) 55%),
    linear-gradient(170deg, #ffffff 0%, #f8fafc 60%, #f1f5f9 100%) !important;
  box-shadow: 0 0 40px rgba(37, 99, 235, 0.16) !important;
}

body.theme-light .proposal-hero-shell::before {
  background: linear-gradient(115deg, rgba(37, 99, 235, 0.28), rgba(96, 165, 250, 0.12), transparent 65%) !important;
}

body.theme-light .proposal-kpi-card {
  border-color: #dbe3ee !important;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
}

body.theme-light .proposal-kpi-label {
  color: #64748b !important;
}

body.theme-light .proposal-kpi-value {
  color: #0f172a !important;
}

body.theme-light .proposal-kpi-note {
  color: #64748b !important;
}

body.theme-light .proposal-inline-cta {
  border-color: rgba(37, 99, 235, 0.35) !important;
  background: linear-gradient(135deg, #1d4ed8, #3b82f6) !important;
  color: #ffffff !important;
  box-shadow: 0 0 28px rgba(37, 99, 235, 0.24) !important;
}

body.theme-light .proposal-inline-cta.is-secondary {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.11), rgba(96, 165, 250, 0.17)) !important;
  color: #1e293b !important;
  box-shadow: none !important;
}




/* ─── 28. VARREDURA 18/09/2026 — o que escapava do modo claro ─── */

/* Tons escuros usados nos módulos (Análise, O&M, Vistoria, Engenharia,
   Produtos, CRM) que a lista da seção 11 não cobria. */
body.theme-light [class*="bg-[#070707]"],
body.theme-light [class*="bg-[#090909]"],
body.theme-light [class*="bg-[#0b0b0b]"],
body.theme-light [class*="bg-[#0c0c0c]"],
body.theme-light [class*="bg-[#0c0c0e]"],
body.theme-light [class*="bg-[#0d0d0f]"],
body.theme-light [class*="bg-[#0f0f10]"],
body.theme-light [class*="bg-[#101012]"] {
  background-color: #ffffff !important;
  background-image: none !important;
}
body.theme-light [class*="bg-[#1c1c1f]"] { background-color: #e2e8f0 !important; }
/* Dia fora do mês no calendário do O&M: um tom abaixo dos dias do mês. */
body.theme-light [class*="bg-[#070707]"] { background-color: #f1f5f9 !important; }

/* text-neutral-100 não tinha inversão (Vistoria, O&M, Engenharia). */
body.theme-light [class*="text-neutral-100"] { color: #0f172a !important; }

/* Cards de destaque (om/fin/vis-deep) continuam ESCUROS de propósito, mas as
   inversões globais (text-white e h1–h4 → escuro) apagavam o texto deles. */
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) [class*="text-white"],
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) :is(h1, h2, h3, h4) { color: #ffffff !important; }
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) [class*="text-neutral-300"] { color: rgba(255,255,255,0.82) !important; }
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) [class*="text-neutral-400"] { color: rgba(255,255,255,0.68) !important; }
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) :is([class*="text-neutral-500"], [class*="text-neutral-600"]) { color: rgba(255,255,255,0.55) !important; }
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) :is([class*="border-neutral-700"], [class*="border-neutral-800"]) { border-color: rgba(255,255,255,0.22) !important; }

/* Botões do design system (main.css) */
body.theme-light .btn-secondary {
  background: #ffffff;
  color: #334155;
  border-color: #cbd5e1;
}
body.theme-light .btn-secondary:hover {
  background: #f1f5f9;
  color: #0f172a;
  border-color: #94a3b8;
}
/* hover era texto branco sobre fundo quase transparente → sumia no claro */
body.theme-light .btn-ghost { color: #64748b; }
body.theme-light .btn-ghost:hover { color: #0f172a; background: rgba(15,23,42,0.05); }

/* Aba do cliente (CRM 360°): o [id*="overlay"] da seção 12 a deixava
   translúcida por cima da página. */
body.theme-light #crm360-overlay.crm360-aba { background: #f0f4f8 !important; }

/* Funil do Financeiro — esfumado e setas das bordas eram pretos */
body.theme-light .funil-fade-l { background: linear-gradient(to right, #f0f4f8 0%, rgba(240,244,248,.7) 38%, transparent 100%); }
body.theme-light .funil-fade-r { background: linear-gradient(to left,  #f0f4f8 0%, rgba(240,244,248,.7) 38%, transparent 100%); }
body.theme-light .funil-arrow { background: rgba(255,255,255,.95); border-color: #cbd5e1; color: #64748b; }

/* Tooltip do gráfico da Análise */
body.theme-light .crm-chart-tip { background: #ffffff; border-color: #e2e8f0; box-shadow: 0 8px 24px rgba(15,23,42,.12); }
body.theme-light .crm-chart-tip-row { color: #334155; }
body.theme-light .crm-chart-tip-val { color: #0f172a; }
body.theme-light .crm-chart-guide { background: #cbd5e1; }
body.theme-light .crm-chart-grid { stroke: #e2e8f0; }
body.theme-light .crm-chart-axis { stroke: #cbd5e1; }
/* Primário segue a troca laranja → azul do tema (igual ao botão de login) */
body.theme-light .btn-primary { background: linear-gradient(135deg, #1d4ed8, #3b82f6); color: #ffffff; }
body.theme-light .btn-primary:hover { box-shadow: 0 4px 20px rgba(37,99,235,0.28); }

/* Pílula "selecionada" dos filtros (mês que não é o atual, GERAL, ordenação
   de Clientes, período de Vendas): bg-neutral-700 não era convertido e o
   text-white virava escuro → texto sumia. Casamos a combinação exata para
   não pegar os hover:bg-neutral-700 de outros botões. */
body.theme-light [class*="bg-neutral-700 text-white border-neutral-600"] {
  background-color: #1e293b !important;
  border-color: #1e293b !important;
  color: #ffffff !important;
}
/* Badge "PROJETO ESPECIAL" dos kits — mesmo problema, texto neutral-300 */
body.theme-light [class*="bg-neutral-700 text-neutral-300 border-neutral-600"] {
  background-color: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
/* Complementa a 13b: fundos sólidos que ainda devolviam texto escuro */
/* (espaço/início antes de bg- evita casar hover:bg-sky-600 sobre bg-neutral-800) */
body.theme-light [class^="bg-sky-"][class*="text-white"],
body.theme-light [class*=" bg-sky-"][class*="text-white"] {
  color: #ffffff !important;
}

/* Login: a sombra preta 80% do card virava um halo cinza pesado no fundo claro */
body.theme-light #login-screen [class*="shadow-[0_0_50px"] {
  box-shadow: 0 12px 40px rgba(15,23,42,0.10) !important;
}

/* Navegação dos ambientes: o item ativo tinha texto PRETO fixo (pensado para o
   laranja/teal do escuro). No claro o degradê vira azul/teal escuro → branco. */
body.theme-light .om-nav-grad,
body.theme-light .fin-nav-grad,
body.theme-light .om-acc-solid,
body.theme-light .fin-acc-solid,
body.theme-light .group:hover .om-acc-chip-h,
body.theme-light :is(.om-env, #om-modal-root) .text-blue-950 {
  color: #ffffff !important;
}
/* Engenharia (degradê sky→indigo inline com text-black) — mesmo caso */
body.theme-light [class*="from-sky-"][class*="text-black"] {
  color: #ffffff !important;
}
body.theme-light .fin-env .fin-tab.is-active,
body.theme-light .fat-pbtn.is-active { color: #ffffff !important; }

/* Cabeçalhos do O&M (omHeroBanner / omPageHeader): fundo em DEGRADÊ
   from-neutral-900 → to-[#0d0d0d]; as regras de bg sólido não o pegavam. */
body.theme-light [class*="from-neutral-900"][class*="bg-gradient-"] {
  background-image: linear-gradient(to bottom, #ffffff, #f8fafc) !important;
  background-color: #ffffff !important;
}

/* Textos PASTEL (-200/-300, e -400 em amarelo/âmbar) foram pensados para fundo
   escuro; no claro somem (ex.: etiqueta MANUAL amarela). Escurece a família.
   Só casa a classe base (início ou após espaço) — hover:text-* fica de fora,
   senão o hover viraria a cor permanente. */
body.theme-light [class^="text-yellow-2"],
body.theme-light [class*=" text-yellow-2"],
body.theme-light [class^="text-yellow-3"],
body.theme-light [class*=" text-yellow-3"],
body.theme-light [class^="text-yellow-4"],
body.theme-light [class*=" text-yellow-4"] { color: #a16207 !important; }
body.theme-light [class^="text-amber-2"],
body.theme-light [class*=" text-amber-2"],
body.theme-light [class^="text-amber-3"],
body.theme-light [class*=" text-amber-3"],
body.theme-light [class^="text-amber-4"],
body.theme-light [class*=" text-amber-4"] { color: #b45309 !important; }
body.theme-light [class^="text-green-2"],
body.theme-light [class*=" text-green-2"],
body.theme-light [class^="text-green-3"],
body.theme-light [class*=" text-green-3"] { color: #15803d !important; }
body.theme-light [class^="text-emerald-2"],
body.theme-light [class*=" text-emerald-2"],
body.theme-light [class^="text-emerald-3"],
body.theme-light [class*=" text-emerald-3"] { color: #047857 !important; }
body.theme-light [class^="text-red-2"],
body.theme-light [class*=" text-red-2"],
body.theme-light [class^="text-red-3"],
body.theme-light [class*=" text-red-3"] { color: #b91c1c !important; }
body.theme-light [class^="text-blue-2"],
body.theme-light [class*=" text-blue-2"],
body.theme-light [class^="text-blue-3"],
body.theme-light [class*=" text-blue-3"] { color: #1d4ed8 !important; }
body.theme-light [class^="text-sky-3"],
body.theme-light [class*=" text-sky-3"] { color: #0369a1 !important; }
body.theme-light [class^="text-cyan-2"],
body.theme-light [class*=" text-cyan-2"],
body.theme-light [class^="text-cyan-3"],
body.theme-light [class*=" text-cyan-3"] { color: #0e7490 !important; }
body.theme-light [class^="text-teal-2"],
body.theme-light [class*=" text-teal-2"] { color: #0f766e !important; }
/* ...exceto onde o fundo segue escuro de propósito */
body.theme-light :is(.om-deep, .fin-deep, .vis-deep) :is([class*=" text-"][class*="-200"], [class*=" text-"][class*="-300"], [class^="text-"][class*="-200"], [class^="text-"][class*="-300"]) { color: rgba(255,255,255,0.85) !important; }

/* Login desktop: painel da marca continua escuro (azul-marinho) no tema claro,
   com textos brancos — as regras globais de text-white/bg não valem aqui. */
body.theme-light #login-screen .login-brand { background: #0f172a !important; border-color: #1e293b !important; }
body.theme-light #login-screen .login-brand [class*="text-white"] { color: #ffffff !important; }
body.theme-light #login-screen .login-brand-glow { background: radial-gradient(ellipse at 20% 110%, rgba(37, 99, 235, 0.35), transparent 60%); }
body.theme-light #login-screen .login-brand-placas { --login-placa: rgba(96, 165, 250, 0.28); }
body.theme-light #login-screen .login-lado-form { background: transparent !important; }
@media (min-width: 1024px) {
  body.theme-light #login-screen .login-card { background: transparent !important; box-shadow: none !important; border: 0 !important; backdrop-filter: none !important; }
}
