/* ====== THEME TOGGLE (Dark/Light) — Cargar en TODAS las páginas ====== */
/* Compatible con los dos temas CertificadoYa (style.css y tema-claro-certificadoya.css) */

:root {
  /* Light theme vars (base) — sobrescribe los que existan */
  --color-fondo: #F7FAF8;
  --color-fondo-alt: #EFF4F1;
  --color-tarjeta: #FFFFFF;
  --color-linea: #E3ECE6;
  --color-tinta: #14241C;
  --color-tinta-suave: #44524B;
  --color-tinta-tenue: #7C8A83;
  --verde-principal: #137E47;
  --verde-vivo: #1FA85F;
  --verde-claro: #EAF5EF;
  --acento-tecnicos: #0E6B7A;
  --acento-inmobiliarias: #A6781F;
  --color-exito: #1FA85F;
  --color-aviso: #F7A600;
  --color-error: #E2231A;
  --shadow-card: 0 1px 3px rgba(20,36,28,.06), 0 4px 12px rgba(20,36,28,.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08);
}

/* Tema oscuro — se activa con [data-theme="dark"] en <html> */
[data-theme="dark"] {
  --color-fondo: #0F1410;
  --color-fondo-alt: #161D16;
  --color-tarjeta: #131B15;
  --color-linea: #223324;
  --color-tinta: #E8F0E8;
  --color-tinta-suave: #A8C0A8;
  --color-tinta-tenue: #7A8A7A;
  --verde-principal: #4ADE80;
  --verde-vivo: #6EE7A0;
  --verde-claro: #0E2A14;
  --acento-tecnicos: #22D3EE;
  --acento-inmobiliarias: #FBBF24;
  --color-exito: #4ADE80;
  --color-aviso: #FBBF24;
  --color-error: #F87171;
  --shadow-card: 0 1px 3px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.2);
  --shadow-md: 0 4px 16px rgba(0,0,0,.4);
  --bg: var(--color-fondo);
  --bg-card: var(--color-tarjeta);
  --text: var(--color-tinta);
  --text-light: var(--color-tinta-suave);
  --text-lighter: var(--color-tinta-tenue);
  --border: var(--color-linea);
  --border-light: #1A2A1A;
  --primary: var(--verde-principal);
  --primary-dark: #38C170;
  --primary-light: #6EE7A0;
  --bg-green: #0E2A14;
  --white: var(--color-tarjeta);
}

/* Compatibilidad con variables de style.css (tema principal web) */
[data-theme="dark"] {
  --bg: var(--color-fondo);
  --bg-card: var(--color-tarjeta);
  --text: var(--color-tinta);
  --text-light: var(--color-tinta-suave);
  --text-lighter: var(--color-tinta-tenue);
  --border: var(--color-linea);
  --border-light: #1A2A1A;
  --primary: var(--verde-principal);
  --primary-dark: #38C170;
  --primary-light: #6EE7A0;
  --bg-green: #0E2A14;
  --white: var(--color-tarjeta);
  --shadow: 0 1px 3px rgba(0,0,0,.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,.4);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.5);
}

/* Forzar fondos en body y elementos principales */
[data-theme="dark"] body,
[data-theme="dark"] html {
  background: var(--color-fondo) !important;
  color: var(--color-tinta) !important;
}

[data-theme="dark"] .header,
[data-theme="dark"] .header-inner,
[data-theme="dark"] .header-left,
[data-theme="dark"] .header-right,
[data-theme="dark"] .logo-text,
[data-theme="dark"] .nav a,
[data-theme="dark"] .sidebar,
[data-theme="dark"] .main,
[data-theme="dark"] .metric,
[data-theme="dark"] .table-wrap,
[data-theme="dark"] .card,
[data-theme="dark"] .benefit-item,
[data-theme="dark"] .registro-img-wrapper,
[data-theme="dark"] .presupuesto-card-v2,
[data-theme="dark"] .login-card,
[data-theme="dark"] .admin-app,
[data-theme="dark"] .content,
[data-theme="dark"] .table,
[data-theme="dark"] .kpi,
[data-theme="dark"] .aviso,
[data-theme="dark"] .detalle td {
  background: var(--color-tarjeta) !important;
  border-color: var(--color-linea) !important;
  color: var(--color-tinta) !important;
}

[data-theme="dark"] .nav a:hover,
[data-theme="dark"] .nav-item:hover,
[data-theme="dark"] .table tbody tr:hover td,
[data-theme="dark"] .benefit-item:hover {
  background: var(--color-fondo-alt) !important;
}

/* Botones y inputs en modo oscuro */
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn-primary:hover {
  background: var(--verde-principal) !important;
  color: #fff !important;
}

[data-theme="dark"] .btn-outline,
[data-theme="dark"] .btn-cta-outline {
  background: transparent !important;
  color: var(--verde-principal) !important;
  border-color: var(--verde-principal) !important;
}

[data-theme="dark"] .btn-outline:hover,
[data-theme="dark"] .btn-cta-outline:hover {
  background: var(--bg-green) !important;
}

[data-theme="dark"] .btn-accent,
[data-theme="dark"] .btn-cta,
[data-theme="dark"] .btn-nav {
  background: var(--acento-tecnicos) !important;
  color: #fff !important;
}

[data-theme="dark"] .btn-accent:hover,
[data-theme="dark"] .btn-cta:hover,
[data-theme="dark"] .btn-nav:hover {
  background: var(--acento-inmobiliarias) !important;
}

[data-theme="dark"] .btn-logout:hover {
  background: var(--color-fondo-alt) !important;
  color: var(--color-error) !important;
  border-color: var(--color-error) !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background: var(--color-tarjeta) !important;
  color: var(--color-tinta) !important;
  border-color: var(--color-linea) !important;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus {
  border-color: var(--verde-vivo) !important;
  box-shadow: 0 0 0 3px var(--verde-claro) !important;
}

[data-theme="dark"] .provincia-selector {
  background-color: var(--color-tarjeta) !important;
  border-color: var(--border-light) !important;
  color: var(--color-tinta) !important;
}

[data-theme="dark"] .provincia-selector:hover {
  border-color: var(--primary) !important;
}

[data-theme="dark"] .provincia-selector:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, .15) !important;
}

/* Tabla y elementos específicos */
[data-theme="dark"] .table th,
[data-theme="dark"] .table th {
  background: var(--color-fondo-alt) !important;
  color: var(--color-tinta-tenue) !important;
}

[data-theme="dark"] .table td {
  border-color: var(--color-linea) !important;
}

[data-theme="dark"] .badge {
  background: var(--color-fondo-alt) !important;
  color: var(--color-tinta-suave) !important;
}

[data-theme="dark"] .badge-paid { background: var(--verde-claro) !important; color: var(--verde-principal) !important; }
[data-theme="dark"] .badge-pending { background: #3A1A4A !important; color: #D8B4FE !important; }
[data-theme="dark"] .badge-unpaid { background: #3A2A0A !important; color: #FBBF24 !important; }
[data-theme="dark"] .badge-active { background: var(--verde-claro) !important; color: var(--verde-principal) !important; }
[data-theme="dark"] .badge-inactive { background: var(--color-linea) !important; color: var(--color-tinta-tenue) !important; }
[data-theme="dark"] .badge-warning { background: #3A2A0A !important; color: #FBBF24 !important; }
[data-theme="dark"] .badge-danger { background: #3A1A1A !important; color: #F87171 !important; }
[data-theme="dark"] .badge-tech { background: #0A2A2A !important; color: #22D3EE !important; }
[data-theme="dark"] .badge-realestate { background: #2A2A0A !important; color: #FBBF24 !important; }

[data-theme="dark"] .estado-tag.nueva,
[data-theme="dark"] .estado-tag.buscando_tecnico { background: rgba(247,166,0,.2) !important; color: #FBBF24 !important; }
[data-theme="dark"] .estado-tag.precio_recibido { background: rgba(74,222,128,.15) !important; color: #6EE7A0 !important; }
[data-theme="dark"] .estado-tag.aceptada { background: rgba(247,166,0,.3) !important; color: #FBBF24 !important; }
[data-theme="dark"] .estado-tag.pagada,
[data-theme="dark"] .estado-tag.en_curso,
[data-theme="dark"] .estado-tag.finalizada { background: rgba(74,222,128,.2) !important; color: #6EE7A0 !important; }
[data-theme="dark"] .estado-tag.cancelada { background: var(--color-linea) !important; color: var(--color-tinta-tenue) !important; }

[data-theme="dark"] .pill { background: var(--verde-claro) !important; color: var(--verde-oscuro) !important; }
[data-theme="dark"] .pill.gris { background: var(--color-fondo-alt) !important; color: var(--color-tinta-suave) !important; }
[data-theme="dark"] .pill.rojo { background: #3A1A1A !important; color: #F87171 !important; }

[data-theme="dark"] .dinero { color: var(--color-tinta) !important; }
[data-theme="dark"] .sub { color: var(--color-tinta-tenue) !important; }

/* Toast */
[data-theme="dark"] .toast {
  background: var(--color-tinta) !important;
  color: var(--color-fondo) !important;
}
[data-theme="dark"] .toast.ok { background: var(--verde-vivo) !important; }
[data-theme="dark"] .toast.err { background: var(--color-error) !important; }

/* Login screen */
[data-theme="dark"] .login-screen { background: var(--color-fondo) !important; }
[data-theme="dark"] .login-card { background: var(--color-tarjeta) !important; border-color: var(--color-linea) !important; }
[data-theme="dark"] .login-card h1 { color: var(--color-tinta) !important; }
[data-theme="dark"] .login-card p { color: var(--color-tinta-suave) !important; }
[data-theme="dark"] .login-card label { color: var(--color-tinta-suave) !important; }
[data-theme="dark"] .login-card input { background: var(--color-tarjeta) !important; border-color: var(--color-linea) !important; color: var(--color-tinta) !important; }
[data-theme="dark"] .login-card input:focus { border-color: var(--verde-vivo) !important; box-shadow: 0 0 0 3px var(--verde-claro) !important; }
[data-theme="dark"] .login-error { color: var(--color-error) !important; }
[data-theme="dark"] .login-hint { color: var(--color-tinta-tenue) !important; }
[data-theme="dark"] .btn { background: var(--verde-principal) !important; color: #fff !important; }
[data-theme="dark"] .btn:hover { background: var(--verde-vivo) !important; }
[data-theme="dark"] .btn:disabled { background: #4B5563 !important; }

/* Toggle button styles */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-tarjeta);
  border: 1px solid var(--color-linea);
  cursor: pointer;
  transition: background .15s, border-color .15s, transform .15s;
  z-index: 1000;
}
.theme-toggle:hover {
  background: var(--color-fondo-alt);
  border-color: var(--verde-principal);
  transform: scale(1.05);
}
.theme-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--verde-claro);
}
.theme-toggle svg {
  width: 20px;
  height: 20px;
  stroke: var(--color-tinta);
  transition: stroke .15s;
}
.theme-toggle:hover svg {
  stroke: var(--verde-principal);
}
[data-theme="dark"] .theme-toggle {
  background: var(--color-tarjeta);
  border-color: var(--color-linea);
}
[data-theme="dark"] .theme-toggle svg {
  stroke: var(--color-tinta);
}
[data-theme="dark"] .theme-toggle:hover svg {
  stroke: var(--verde-vivo);
}

/* Icono sol/luna */
.theme-toggle .sun-icon { display: none; }
.theme-toggle .moon-icon { display: block; }
[data-theme="dark"] .theme-toggle .sun-icon { display: block; }
[data-theme="dark"] .theme-toggle .moon-icon { display: none; }

/* Transición suave al cambiar tema */
* {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease !important;
}