/*
 * iluzion-noche.css — Estilo azul noche de la app, igual que la web iluzionenergy.es (03/11/2026).
 * Se activa con <body class="iluzion-noche"> y se carga DESPUÉS del <style> de cada página.
 * Fondo: html en azul noche + <canvas class="iluzion-espacio"> (assets/js/iluzion-espacio.js).
 * Colores: azul noche #070e3a, azul eléctrico #315DF6, cian #74D2E2, naranja Iluzion #FF6B2B → #FF9F1C.
 */

:root{
  --noche:#070e3a;
  --noche2:#0b1a6e;
  --cristal:rgba(13,27,84,.72);
  --cristal2:rgba(20,40,120,.55);
  --borde:rgba(130,175,255,.24);
  --texto:#EAF0FF;
  --suave:#AFC0EA;
  --naranja:#FF6B2B;
  --naranja2:#FF9F1C;
  --azul:#315DF6;
  --cian:#74D2E2;
}

html{background:var(--noche)}

/* Colores de la hoja general (iluzion-premium.css) cambiados a noche: así sus tarjetas blancas pasan a cristal oscuro */
body.iluzion-noche{
  --iluzion-card-surface:linear-gradient(180deg,rgba(16,32,100,.78) 0%,rgba(13,27,84,.74) 100%);
  --iluzion-border-soft:var(--borde);
  --iluzion-canvas:transparent;
  --iluzion-bg-soft:rgba(255,255,255,.06);
  --iluzion-bg-base:rgba(255,255,255,.04);
  --iluzion-pastel-blue:rgba(49,93,246,.16);
  --iluzion-pastel-green:rgba(34,197,94,.14);
  --iluzion-pastel-orange:rgba(255,159,28,.14);
  --iluzion-navy:#fff;
  --iluzion-gradient-title:linear-gradient(135deg,#FFB347,#FF9F1C,#FF6B2B);
  color:var(--texto)
}
body.iluzion-noche{background:transparent!important;color:var(--texto)}
canvas.iluzion-espacio{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
body.iluzion-noche .auth-page-bg,
body.iluzion-noche .bg-orb{display:none!important}

/* Títulos en naranja, como en la web */
body.iluzion-noche .premium-title,
body.iluzion-noche h1.premium-title,
body.iluzion-noche h2.premium-title{
  background:linear-gradient(135deg,#FFB347 0%,var(--naranja2) 35%,var(--naranja) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;color:transparent!important;
  text-shadow:none!important;filter:drop-shadow(0 4px 18px rgba(255,107,43,.28))
}
body.iluzion-noche .premium-title-wrap::before,
body.iluzion-noche .premium-title-wrap::after{display:none!important}
body.iluzion-noche .premium-title-wrap{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}

/* El logo tiene letras oscuras: va en una pastilla blanca, como en la cabecera de la web */
body.iluzion-noche .head img,
body.iluzion-noche .logo-top,
body.iluzion-noche .login-head img,
body.iluzion-noche .header-logo img{
  background:#fff;border-radius:999px;padding:8px 16px;box-shadow:0 8px 24px rgba(0,0,0,.3);box-sizing:content-box
}

/* Selector de idioma */
body.iluzion-noche .lang-bar a{
  background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:var(--texto)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none!important
}
body.iluzion-noche .lang-bar a.active{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;border-color:transparent!important;color:#fff!important}

/* Tarjetas de cristal (entrada y registro) */
body.iluzion-noche .login-card,
body.iluzion-noche .register-card,
body.iluzion-noche .hero{
  background:var(--cristal)!important;border:1px solid var(--borde)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--texto)
}
body.iluzion-noche .register-card::before,
body.iluzion-noche .hero::before{opacity:.5}
body.iluzion-noche .hero .hero-bg-photo{opacity:.18}
body.iluzion-noche .hero .hero-overlay{background:linear-gradient(160deg,rgba(7,14,58,.55),rgba(7,14,58,.85))!important}
body.iluzion-noche .hero p,
body.iluzion-noche .head p,
body.iluzion-noche .login-head p{color:var(--suave)!important}
body.iluzion-noche .mini{background:rgba(255,255,255,.06)!important;border:1px solid var(--borde)!important;box-shadow:none!important}
body.iluzion-noche .mini strong{color:#fff!important}
body.iluzion-noche .mini span{color:var(--suave)!important}
body.iluzion-noche .badge{background:rgba(255,107,43,.14)!important;border:1px solid rgba(255,159,28,.45)!important;color:#FFB347!important}

/* Promoción del Cheque Iluzion */
body.iluzion-noche .cheque-banner,
body.iluzion-noche .register-promo{
  background:linear-gradient(135deg,rgba(255,107,43,.18),rgba(255,159,28,.10))!important;
  border:1px solid rgba(255,159,28,.55)!important;box-shadow:0 0 30px rgba(255,107,43,.15)!important
}
body.iluzion-noche .cheque-banner strong,
body.iluzion-noche .register-promo h2,
body.iluzion-noche .register-promo h3,
body.iluzion-noche .register-promo strong{color:#FFB347!important}
body.iluzion-noche .cheque-banner span,
body.iluzion-noche .cheque-banner small,
body.iluzion-noche .register-promo p,
body.iluzion-noche .register-promo li,
body.iluzion-noche .register-promo-legal{color:#FFE2C2!important}
body.iluzion-noche .register-promo-badge{background:rgba(255,255,255,.1)!important;color:#FFB347!important;border-color:rgba(255,159,28,.5)!important}

/* Formularios */
body.iluzion-noche .field label,
body.iluzion-noche .login-card label{color:#C9D6FF!important}
body.iluzion-noche .input,
body.iluzion-noche input.input{
  background:rgba(255,255,255,.07)!important;border:1px solid var(--borde)!important;color:#fff!important
}
body.iluzion-noche .input::placeholder{color:rgba(200,215,255,.55)!important}
body.iluzion-noche .input:focus{background:rgba(255,255,255,.11)!important;border-color:var(--naranja2)!important;box-shadow:0 0 0 4px rgba(255,159,28,.18)!important}
body.iluzion-noche .input[readonly]{background:rgba(255,255,255,.04)!important;color:var(--suave)!important}
body.iluzion-noche .input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px #15246b inset;caret-color:#fff}
body.iluzion-noche .eye-btn{color:var(--suave)!important;background:transparent!important}
body.iluzion-noche .hint{color:var(--suave)!important}
body.iluzion-noche .check{color:var(--suave)!important}
body.iluzion-noche .check a,
body.iluzion-noche .links a{color:#FFB347!important}
body.iluzion-noche .alert{background:rgba(255,80,60,.14)!important;border:1px solid rgba(255,120,90,.55)!important;color:#FFD2C4!important}
body.iluzion-noche .security{background:rgba(255,255,255,.05)!important;border:1px solid var(--borde)!important;color:var(--suave)!important}
body.iluzion-noche .security strong{color:var(--cian)!important}
body.iluzion-noche .login-divider{color:var(--suave)!important;border-color:var(--borde)!important}
body.iluzion-noche .login-divider::before,
body.iluzion-noche .login-divider::after{background:var(--borde)!important}

/* Botones con brillo que cruza, como en la web */
body.iluzion-noche .btn,
body.iluzion-noche .quick a,
body.iluzion-noche .register-promo-cta,
body.iluzion-noche .hero-cta{position:relative;overflow:hidden}
body.iluzion-noche .btn::after,
body.iluzion-noche .quick a::after,
body.iluzion-noche .register-promo-cta::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);animation:iluzionBrillo 4.5s ease-in-out infinite;pointer-events:none
}
@keyframes iluzionBrillo{0%,70%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){
  body.iluzion-noche .btn::after,body.iluzion-noche .quick a::after,body.iluzion-noche .register-promo-cta::after{animation:none;display:none}
}

/* ===================== Páginas de dentro de la app ===================== */

/* Cabecera: cristal azul noche con línea naranja, logo en pastilla blanca */
body.iluzion-noche .app-header{
  background:rgba(7,14,58,.82)!important;border-bottom:1px solid rgba(255,159,28,.35)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.35)!important
}
body.iluzion-noche .header-logo img{padding:6px 12px}
body.iluzion-noche .header-actions a{
  background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:var(--texto)!important;box-shadow:none!important
}
body.iluzion-noche .header-actions a.active{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;border-color:transparent!important;color:#fff!important}
body.iluzion-noche .header-user{background:rgba(255,255,255,.1)!important;border:1px solid var(--borde)!important;box-shadow:none!important}
body.iluzion-noche .header-user img{border-color:rgba(255,159,28,.7)!important}

/* Menú de abajo */
body.iluzion-noche .bottom-nav{
  background:rgba(7,14,58,.9)!important;border-top:1px solid rgba(255,159,28,.35)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -10px 30px rgba(0,0,0,.4)!important
}
body.iluzion-noche .bottom-nav a{color:var(--suave)!important}
body.iluzion-noche .bottom-nav a.active{color:#FFB347!important}
body.iluzion-noche .bottom-nav .icon-circle{background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)}
body.iluzion-noche .bottom-nav a.active .icon-circle{background:linear-gradient(135deg,var(--azul),#1F73FF)!important;border-color:transparent}
body.iluzion-noche .bottom-nav a.main-action .icon-circle{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;border-color:transparent;box-shadow:0 0 18px rgba(255,107,43,.45)}

/* Iconos del menú de abajo en las páginas que usan .nav-emoji */
html body.iluzion-noche.iluzion-noche.iluzion-noche .bottom-nav .nav-emoji{background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .bottom-nav a.active .nav-emoji,html body.iluzion-noche.iluzion-noche.iluzion-noche .bottom-nav a[aria-current] .nav-emoji{background:linear-gradient(135deg,var(--azul),#1F73FF)!important;border-color:transparent!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .bottom-nav a.main-action .nav-emoji,html body.iluzion-noche.iluzion-noche.iluzion-noche .bottom-nav .nav-factura .nav-emoji{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;border-color:transparent!important}

/* Tarjetas sin foto: cristal oscuro y letras claras */
body.iluzion-noche .card:not(.saving-card):not(.card--visual),
body.iluzion-noche .iluzion-steps-block,
body.iluzion-noche .kpi,
body.iluzion-noche .tip-box,
body.iluzion-noche .iluzion-trust-bar,
body.iluzion-noche .feed-card,
body.iluzion-noche .summary-box,
body.iluzion-noche .card-form-panel{
  background:var(--cristal)!important;border:1px solid var(--borde)!important;color:var(--texto)!important;
  box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
body.iluzion-noche .card-form-panel{box-shadow:none!important}
body.iluzion-noche :is(.card,.progress-box,.iluzion-steps-block,.kpi,.tip-box,.feed-card,.summary-box,.card-form-panel):not(.saving-card):not(.card--visual) :is(h1,h2,h3,h4,h5,strong,th,label):not(.premium-title):not(.premium-section-title){color:#fff!important}
body.iluzion-noche :is(.card,.progress-box,.iluzion-steps-block,.kpi,.tip-box,.feed-card,.summary-box,.card-form-panel):not(.saving-card):not(.card--visual) :is(p,li,td,small,.hint,.input-hint,.steps-intro){color:var(--suave)!important}
body.iluzion-noche .iluzion-trust-bar{color:var(--texto)!important}
body.iluzion-noche .tip-box,
body.iluzion-noche .tip-card{background:linear-gradient(135deg,rgba(255,107,43,.16),rgba(255,159,28,.08))!important;border-color:rgba(255,159,28,.45)!important}
body.iluzion-noche .tip-box h3,body.iluzion-noche .tip-card h2{color:#FFB347!important}
body.iluzion-noche .tip-box p,body.iluzion-noche .tip-card p{color:#FFE2C2!important}
body.iluzion-noche .premium-section-title{
  background:linear-gradient(135deg,#FFB347 0%,var(--naranja2) 35%,var(--naranja) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;
  border-color:rgba(255,159,28,.35)!important
}

/* Recuadros pequeños dentro de tarjetas */
body.iluzion-noche .soft,
body.iluzion-noche .mini-item,
body.iluzion-noche .feature-item,
body.iluzion-noche .empty,
body.iluzion-noche .result-box,
body.iluzion-noche .result-item,
body.iluzion-noche .result-card{background:rgba(255,255,255,.06)!important;border:1px solid var(--borde)!important;color:var(--texto)!important}
body.iluzion-noche .soft strong{color:#fff!important}
body.iluzion-noche .empty{color:var(--suave)!important}
body.iluzion-noche .kpi-icon{background:rgba(255,159,28,.15)!important}
body.iluzion-noche .kpi strong{color:#fff!important}
body.iluzion-noche .kpi span{color:var(--suave)!important}
body.iluzion-noche table th{border-color:var(--borde)!important}
body.iluzion-noche table td{border-color:rgba(130,175,255,.12)!important}

/* Tarjeta de puntos del Inicio */
body.iluzion-noche .points-card{
  background:var(--cristal)!important;border:1px solid rgba(255,159,28,.45)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 40px rgba(255,107,43,.12)!important
}
body.iluzion-noche .points-overlay-premium{background:linear-gradient(100deg,rgba(7,14,58,.92) 0%,rgba(7,14,58,.7) 55%,rgba(7,14,58,.35) 100%)!important}
body.iluzion-noche .points-title{color:#FFB347!important}
body.iluzion-noche .points-big{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
body.iluzion-noche .points-text{color:var(--suave)!important}

/* Barra de progreso de puntos */
body.iluzion-noche .progress-track{background:rgba(255,255,255,.1)!important}
body.iluzion-noche .progress-bar{background:linear-gradient(90deg,var(--naranja),var(--naranja2))!important;box-shadow:0 0 16px rgba(255,159,28,.6)}

/* Pasos */
body.iluzion-noche .iluzion-step-item{background:rgba(255,255,255,.05)!important;border:1px solid var(--borde)!important;color:var(--texto)!important}
body.iluzion-noche .iluzion-step-item::before{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;color:#fff!important}

/* Formularios de dentro */
body.iluzion-noche .card input[type=text],body.iluzion-noche .card input[type=number],body.iluzion-noche .card input[type=email],
body.iluzion-noche .card input[type=tel],body.iluzion-noche .card select,body.iluzion-noche .card textarea,
body.iluzion-noche .form-group input,body.iluzion-noche .form-group select,body.iluzion-noche .form-group textarea{
  background:rgba(255,255,255,.07)!important;border:1px solid var(--borde)!important;color:#fff!important
}
body.iluzion-noche select option{background:#0b1a6e;color:#fff}
body.iluzion-noche .btn-light{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid var(--borde)!important}
body.iluzion-noche .alert-error{background:rgba(255,80,60,.14)!important;border:1px solid rgba(255,120,90,.55)!important;color:#FFD2C4!important}

/* Cajas que algunas páginas fuerzan en blanco con reglas muy concretas: aquí ganan siempre
   (la clase repetida sube la prioridad por encima de iluzion-premium.css, que usa varios :not) */
html body.iluzion-noche.iluzion-noche.iluzion-noche :is(.panel-card,.side-info-card,.carousel-shell,.feature-item,.mini-item,.soft,.empty,.tip-box,.steps-card,.upload-card,.kpi-card,.stat-card,.benefit,[class^="soft"],[class*=" soft-"],.risk-list li,.table-card,.stat,.main-card,.step-item,.solar-tech-card,.alarm-tech-card,.premium-card,.factura-card,.hub-card,.menu-card,.lead-card,.vip-box,.empty-rich,.search-box,.notice,.notification,.comparador-card,.advisor-card,.related-box,.info-box,.empty-box,.hero-cheque,.faq-item,.help-item,.alert-info,.profile-card,.reviews-card,.privacy-box,.info-card,.drop,.steps .step){
  background:var(--cristal)!important;border:1px solid var(--borde)!important;box-shadow:0 14px 34px rgba(0,0,0,.3)!important;color:var(--texto)!important
}
html body.iluzion-noche.iluzion-noche.iluzion-noche :is(.feature-item,.mini-item,.soft,.empty,[class^="soft"],[class*=" soft-"],.risk-list li,.step-item,.benefit){background:rgba(255,255,255,.06)!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche :is(.panel-card,.side-info-card,.carousel-shell,.feature-item,.mini-item,.steps-card,.upload-card,.benefit,[class^="soft"],[class*=" soft-"],.risk-list li,.table-card,.stat,.main-card,.step-item,.solar-tech-card,.alarm-tech-card,.premium-card,.factura-card,.hub-card,.menu-card,.lead-card,.vip-box,.empty-rich,.search-box,.notice,.notification,.comparador-card,.advisor-card,.related-box,.info-box,.empty-box,.hero-cheque,.faq-item,.help-item,.alert-info,.profile-card,.reviews-card,.privacy-box,.info-card,.drop,.steps .step) :is(h2,h3,h4,strong,b,label):not(.premium-title):not(.premium-section-title){color:#fff!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche :is(.panel-card,.side-info-card,.carousel-shell,.feature-item,.mini-item,.steps-card,.upload-card,.benefit,[class^="soft"],[class*=" soft-"],.risk-list li,.table-card,.stat,.main-card,.step-item,.solar-tech-card,.alarm-tech-card,.premium-card,.factura-card,.hub-card,.menu-card,.lead-card,.vip-box,.empty-rich,.search-box,.notice,.notification,.comparador-card,.advisor-card,.related-box,.info-box,.empty-box,.hero-cheque,.faq-item,.help-item,.alert-info,.profile-card,.reviews-card,.privacy-box,.info-card,.drop,.steps .step) :is(p,li,span,small):not(.btn):not(.btn *){color:var(--suave)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .tip-box{background:linear-gradient(135deg,rgba(255,107,43,.16),rgba(255,159,28,.08))!important;border-color:rgba(255,159,28,.45)!important}

/* Tarjetas con foto de las páginas de empresa: la capa blanca pasa a azul noche */
html body.iluzion-noche.iluzion-noche.iluzion-noche [class*="card-visual-scrim"]{background:linear-gradient(102deg,rgba(7,14,58,.96) 0%,rgba(13,27,84,.9) 45%,rgba(13,27,84,.55) 72%,rgba(7,14,58,.2) 100%)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .card--visual{background:var(--cristal)!important;border:1px solid var(--borde)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .card--visual :is(h2,h3,h4,h5,strong,label):not(.premium-title):not(.premium-section-title){color:#fff!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .card--visual :is(p,li,span,small):not(.btn):not(.btn *){color:var(--suave)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .card--visual :is(li,.ref-item,.benefit-item,.tariff-item){background:rgba(255,255,255,.06)!important;border-color:var(--borde)!important}

/* Comparador común (iluzion_comparador_widget.php) */
body.iluzion-noche .icmp-up{background:linear-gradient(135deg,rgba(255,107,43,.16),rgba(255,159,28,.07));border-color:rgba(255,159,28,.6)}
body.iluzion-noche .icmp-up strong{color:#FFB347}
body.iluzion-noche .icmp-up p,body.iluzion-noche .icmp-up small{color:#FFE2C2}
body.iluzion-noche .icmp-pick span{background:rgba(255,255,255,.08);border-color:rgba(255,159,28,.45);color:#fff}
body.iluzion-noche .icmp-form label,body.iluzion-noche .icmp-h{color:#fff!important}
body.iluzion-noche .icmp-form input[type=number],body.iluzion-noche .icmp-form input[type=text]{background:rgba(255,255,255,.07)!important;border-color:var(--borde)!important;color:#fff!important}
body.iluzion-noche .icmp-svc span{background:rgba(255,255,255,.07);border-color:var(--borde);color:#fff}
body.iluzion-noche .icmp details{background:rgba(255,255,255,.05);border-color:var(--borde)}
body.iluzion-noche .icmp summary,body.iluzion-noche .icmp-check{color:#fff!important}
body.iluzion-noche .icmp-res{background:rgba(255,255,255,.05);border-color:var(--borde);box-shadow:none}
body.iluzion-noche .icmp-res h4{color:#fff}
body.iluzion-noche .icmp-box{background:rgba(255,255,255,.06);border-color:var(--borde)}
body.iluzion-noche .icmp-box span{color:var(--suave)}
body.iluzion-noche .icmp-box strong{color:#9CC3FF}
body.iluzion-noche .icmp-box--s{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.45)}
body.iluzion-noche .icmp-box--s strong{color:#4ADE80}
body.iluzion-noche .icmp-info{background:rgba(255,255,255,.06);color:var(--texto)}
body.iluzion-noche .icmp-note,body.iluzion-noche .icmp-hint{color:var(--suave)!important}

/* Pie */
body.iluzion-noche .iluzion-area-footer,
body.iluzion-noche .page-footer{color:var(--suave)!important}
body.iluzion-noche .iluzion-area-footer .footer-area,
body.iluzion-noche .iluzion-area-footer .footer-dot{color:#E8EEFF!important}
body.iluzion-noche .iluzion-area-footer .footer-brand{color:#FFB347!important}

html body.iluzion-noche.iluzion-noche.iluzion-noche .risk-list li,html body.iluzion-noche.iluzion-noche.iluzion-noche .benefit{color:var(--texto)!important}

/* En móvil, las rejillas de dos columnas pasan a una (Packs empresas se quedaba en dos columnas estrechas) */
@media (max-width:980px){html body.iluzion-noche.iluzion-noche.iluzion-noche :is(.hero-grid,.grid-2){grid-template-columns:1fr!important}}

/* Pastillas del pie (Estudio gratuito, Respuesta 24-48 h, Sin compromiso) */
html body.iluzion-noche.iluzion-noche.iluzion-noche .iluzion-pill{background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:#fff!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .iluzion-pill--blue{border-color:rgba(116,210,226,.55)!important;color:#BFF3FF!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .iluzion-pill--green{border-color:rgba(74,222,128,.55)!important;color:#BBF7D0!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .iluzion-pill--orange,html body.iluzion-noche.iluzion-noche.iluzion-noche .iluzion-pill--yellow{border-color:rgba(255,159,28,.6)!important;color:#FFD9A8!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .advisor-final{background:rgba(255,159,28,.12)!important;border-color:rgba(255,159,28,.45)!important;color:#FFE2C2!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche input[type=checkbox],html body.iluzion-noche.iluzion-noche.iluzion-noche input[type=radio]{accent-color:var(--naranja)}
/* «Consejo útil»: título naranja y texto claro y legible en todas las páginas */
html body.iluzion-noche.iluzion-noche.iluzion-noche.iluzion-noche .tip-box :is(h2,h3,h4,strong){color:#FFB347!important;-webkit-text-fill-color:#FFB347!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche.iluzion-noche .tip-box :is(p,li,span){color:#FFE9D2!important}
/* Firma del pie en las páginas de empresa (luz-emp-firma, gas-emp-firma…) */
html body.iluzion-noche [class$="-firma"]{color:var(--suave)!important}
/* Campos de formulario en todas las páginas de dentro */
html body.iluzion-noche.iluzion-noche main :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]),select,textarea){
  background:rgba(255,255,255,.07)!important;border:1px solid var(--borde)!important;color:#fff!important
}
html body.iluzion-noche.iluzion-noche main :is(input,textarea)::placeholder{color:rgba(200,215,255,.55)!important}
html body.iluzion-noche.iluzion-noche main input[readonly]{color:var(--suave)!important}
html body.iluzion-noche.iluzion-noche .drop{border:2px dashed rgba(255,159,28,.6)!important;background:rgba(255,159,28,.08)!important}
html body.iluzion-noche.iluzion-noche .danger-zone{background:none!important;border:0!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche .danger-zone :is(h2,h3,strong){color:#FFB4A2!important}
/* Fichas de producto de la tienda: tarjeta azul noche; la foto va en un marco claro porque las fotos tienen fondo blanco */
html body.iluzion-noche.iluzion-noche.iluzion-noche .product{background:var(--cristal)!important;border:1px solid var(--borde)!important;box-shadow:0 18px 40px rgba(0,0,0,.45)!important;color:var(--texto)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product.can-redeem{border-color:rgba(255,159,28,.6)!important;box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 26px rgba(255,107,43,.25)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product .product-img-wrap{background:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product h3{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product p{color:var(--suave)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product .price{color:#FFB347!important;-webkit-text-fill-color:#FFB347!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product .btn.disabled{background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:var(--suave)!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .product .btn.disabled::after{display:none}
/* Perfil, puntos y enlaces dentro de las tarjetas */
html body.iluzion-noche.iluzion-noche .profile-name{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.iluzion-noche.iluzion-noche .profile-email{color:var(--suave)!important}
html body.iluzion-noche.iluzion-noche .activity-item{color:#E8EEFF!important;border-color:var(--borde)!important}
html body.iluzion-noche.iluzion-noche .activity-item *{color:inherit}
html body.iluzion-noche.iluzion-noche .earn-list li{background:rgba(255,255,255,.06)!important;border:1px solid var(--borde)!important;color:#fff!important}
html body.iluzion-noche.iluzion-noche main :is(.card,.info-card,.main-card,.tip-box,.panel-card,.side-info-card) a:not([class*="btn"]):not([class*="pill"]):not([class*="cta"]){color:#FFB347!important}
/* Barra de arriba de «Recuperar contraseña» y «Nueva contraseña» */
html body.iluzion-noche.iluzion-noche .topbar{background:rgba(7,14,58,.82)!important;border-bottom:1px solid rgba(255,159,28,.35)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.35)!important}
html body.iluzion-noche.iluzion-noche .topbar .brand img{background:#fff;border-radius:999px;padding:6px 12px;box-sizing:content-box}
html body.iluzion-noche.iluzion-noche .topbar a:not(.btn){background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:#fff!important;box-shadow:none!important}
html body.iluzion-noche.iluzion-noche .topbar a.active{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;border-color:transparent!important}
html body.iluzion-noche.iluzion-noche .topbar .brand{background:none!important;border:0!important}
html body.iluzion-noche.iluzion-noche .btn-light{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid var(--borde)!important}
/* Tienda: barra de «te faltan X puntos» y título de recompensas en naranja */
html body.iluzion-noche .product-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin:2px 0 12px}
html body.iluzion-noche .product-progress span{display:block;height:100%;min-width:6px;border-radius:999px;background:linear-gradient(90deg,var(--naranja),var(--naranja2));box-shadow:0 0 12px rgba(255,159,28,.6)}
html body.iluzion-noche.iluzion-noche.iluzion-noche .section-title{
  background:linear-gradient(135deg,#FFB347 0%,var(--naranja2) 35%,var(--naranja) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important
}
/* Perfil: tarjeta «Opiniones de clientes» (antes tenía una capa blanca encima y el texto no se leía) */
html body.iluzion-noche.iluzion-noche.iluzion-noche .reviews-card{background:linear-gradient(135deg,rgba(20,40,120,.85),rgba(13,27,84,.8))!important;border:1px solid rgba(255,159,28,.45)!important;box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 30px rgba(255,107,43,.12)!important}
html body.iluzion-noche .reviews-card::before{opacity:.18!important}
html body.iluzion-noche .reviews-card::after{background:linear-gradient(135deg,rgba(7,14,58,.82) 0%,rgba(13,27,84,.7) 60%,rgba(255,107,43,.14) 100%)!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .reviews-card h2{background:linear-gradient(135deg,#FFB347,#FF9F1C,#FF6B2B)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
html body.iluzion-noche.iluzion-noche.iluzion-noche .reviews-card p{color:#DCE5FF!important}
html body.iluzion-noche .reviews-stars{display:inline-flex;align-items:center;gap:8px;margin:2px 0 10px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,200,80,.45);color:#FFC94D;font-size:1.05rem;letter-spacing:2px;text-shadow:0 0 12px rgba(255,200,80,.55)}
html body.iluzion-noche.iluzion-noche.iluzion-noche .reviews-stars span{color:#fff!important;font-size:.82rem;font-weight:900;letter-spacing:0}
/* Perfil: «Eliminar cuenta» discreto, sin recuadro alrededor */
html body.iluzion-noche.iluzion-noche.iluzion-noche .delete-account-link{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,140,110,.45)!important;color:#FFB4A2!important;box-shadow:none!important}

/* Inicio: «Tu progreso Iluzion» conserva su foto de la meta (meta-progreso.png); solo borde y sombra de noche */
html body.iluzion-noche .progress-box{border:1px solid var(--borde)!important;box-shadow:0 20px 50px rgba(0,0,0,.4)!important;color:#fff!important}
html body.iluzion-noche .progress-box p{color:#E8EEFF!important;text-shadow:0 2px 10px rgba(0,0,0,.5)}

/* ===================== Panel de administración (body.iluzion-admin) ===================== */
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(header.header,header.admin-header,.header-bar,.admin-header,.topbar,nav.mobile-bar,.mobile-bar){
  background:rgba(7,14,58,.88)!important;border-color:rgba(255,159,28,.35)!important;color:#fff!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.35)!important
}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(header.header,header.admin-header,.header-bar,.admin-header,.topbar) :is(h1,h2,strong,span,.logo-mark){color:#fff!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(header.header,header.admin-header,.header-bar,.admin-header,.topbar,.mobile-bar) a:not(.btn){background:rgba(255,255,255,.08)!important;border:1px solid var(--borde)!important;color:#E8EEFF!important;box-shadow:none!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(header.header,header.admin-header,.header-bar,.admin-header,.mobile-bar) a.active{background:linear-gradient(135deg,var(--naranja),var(--naranja2))!important;color:#fff!important;border-color:transparent!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(.admin-pill,.stats-legend,.upload-box,.metric,.stat-card,.menu-card,.table-card,.filter,.filters,.toolbar,.lead-card,.kanban-col,.kanban-card,.box,.panel,.column,.hint,.table-wrap,.search-box,.card-user,.err){
  background:var(--cristal)!important;border:1px solid var(--borde)!important;color:var(--texto)!important;box-shadow:0 12px 30px rgba(0,0,0,.3)!important
}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(.metric,.stat-card,.menu-card,.table-card,.lead-card,.kanban-card,.box,.panel,.card) :is(strong,h2,h3,h4,b,label,th){color:#fff!important;-webkit-text-fill-color:#fff!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(.metric,.stat-card,.menu-card,.table-card,.lead-card,.kanban-card,.box,.panel,.card,.stats-legend) :is(p,small,td,li){color:var(--suave)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .metric.green strong{color:#4ADE80!important;-webkit-text-fill-color:#4ADE80!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .metric.purple strong{color:#C4B5FD!important;-webkit-text-fill-color:#C4B5FD!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .metric.blue strong{color:#93C5FD!important;-webkit-text-fill-color:#93C5FD!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .menu-card__visual{background:rgba(255,255,255,.92)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .t-light,html body.iluzion-admin.iluzion-noche.iluzion-noche .btn-light{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid var(--borde)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche [class*="__title"],html body.iluzion-admin.iluzion-noche.iluzion-noche .section-title{color:#FFB347!important;-webkit-text-fill-color:#FFB347!important}
/* Tablas del panel */
html body.iluzion-admin.iluzion-noche.iluzion-noche table{background:transparent!important;color:var(--texto)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche thead th,html body.iluzion-admin.iluzion-noche.iluzion-noche table th{background:rgba(255,159,28,.12)!important;color:#FFD9A8!important;border-color:var(--borde)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche table td{background:transparent!important;color:#E8EEFF!important;border-color:rgba(130,175,255,.14)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche tbody tr:hover td{background:rgba(255,159,28,.08)!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche table a:not([class*="btn"]){color:#FFB347!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]),select,textarea){background:rgba(255,255,255,.07)!important;border:1px solid var(--borde)!important;color:#fff!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche :is(input,textarea)::placeholder{color:rgba(200,215,255,.55)!important}html body.iluzion-admin.iluzion-noche.iluzion-noche :is(header.header,header.admin-header,.header-bar,.admin-header,.topbar) img{background:#fff;border-radius:999px;padding:5px 10px;box-sizing:content-box}
html body.iluzion-admin.iluzion-noche.iluzion-noche .stats-legend :is(strong,b){color:#FFB347!important;-webkit-text-fill-color:#FFB347!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .err{background:rgba(255,80,60,.14)!important;border-color:rgba(255,120,90,.55)!important;color:#FFD2C4!important}
html body.iluzion-admin.iluzion-noche.iluzion-noche .column .lead-card,html body.iluzion-admin.iluzion-noche.iluzion-noche .column [class*=card]{background:rgba(255,255,255,.06)!important}
