/* Delysium ERP 1.0.141 - Temas oscuros perfectos
   Base exclusiva para los 5 temas oscuros. Prioridad final sobre estilos heredados.
*/

/* Paletas oscuras definitivas */
html.erp-theme-carbon, body.erp-theme-carbon{
  color-scheme:dark;
  --erp-bg:#090d13;
  --erp-bg-2:#0f141d;
  --erp-bg-soft:#0f141d;
  --erp-surface:#141a24;
  --erp-surface-2:#1c2431;
  --erp-surface-3:#283241;
  --erp-input:#0e141d;
  --erp-text:#f8fafc;
  --erp-heading:#ffffff;
  --erp-muted:#cbd5e1;
  --erp-primary:#dc2626;
  --erp-primary-2:#991b1b;
  --erp-accent:#f97316;
  --erp-success:#22c55e;
  --erp-warning:#f59e0b;
  --erp-danger:#ef4444;
  --erp-info:#38bdf8;
  --erp-border:rgba(248,250,252,.16);
  --erp-shadow-color:rgba(0,0,0,.42);
  --erp-gradient-main:linear-gradient(135deg,#dc2626,#991b1b);
  --erp-gradient-soft:linear-gradient(180deg,#090d13,#0f141d);
  --erp-focus:0 0 0 .22rem rgba(220,38,38,.24);
}

html.erp-theme-neon, body.erp-theme-neon{
  color-scheme:dark;
  --erp-bg:#07111d;
  --erp-bg-2:#0d1b2b;
  --erp-bg-soft:#0d1b2b;
  --erp-surface:#122033;
  --erp-surface-2:#1b2b42;
  --erp-surface-3:#26384f;
  --erp-input:#0b1625;
  --erp-text:#f8fafc;
  --erp-heading:#ffffff;
  --erp-muted:#cbd5e1;
  --erp-primary:#0891b2;
  --erp-primary-2:#0e7490;
  --erp-accent:#22c55e;
  --erp-success:#22c55e;
  --erp-warning:#f59e0b;
  --erp-danger:#ef4444;
  --erp-info:#38bdf8;
  --erp-border:rgba(248,250,252,.17);
  --erp-shadow-color:rgba(0,0,0,.40);
  --erp-gradient-main:linear-gradient(135deg,#0891b2,#0e7490);
  --erp-gradient-soft:linear-gradient(180deg,#07111d,#0d1b2b);
  --erp-focus:0 0 0 .22rem rgba(8,145,178,.24);
}

html.erp-theme-grafito, body.erp-theme-grafito{
  color-scheme:dark;
  --erp-bg:#0c0f12;
  --erp-bg-2:#12171c;
  --erp-bg-soft:#12171c;
  --erp-surface:#181f26;
  --erp-surface-2:#222b35;
  --erp-surface-3:#2e3945;
  --erp-input:#10161d;
  --erp-text:#f8fafc;
  --erp-heading:#ffffff;
  --erp-muted:#cbd5e1;
  --erp-primary:#0f766e;
  --erp-primary-2:#115e59;
  --erp-accent:#60a5fa;
  --erp-success:#22c55e;
  --erp-warning:#f59e0b;
  --erp-danger:#ef4444;
  --erp-info:#38bdf8;
  --erp-border:rgba(248,250,252,.16);
  --erp-shadow-color:rgba(0,0,0,.40);
  --erp-gradient-main:linear-gradient(135deg,#0f766e,#115e59);
  --erp-gradient-soft:linear-gradient(180deg,#0c0f12,#12171c);
  --erp-focus:0 0 0 .22rem rgba(15,118,110,.24);
}

html.erp-theme-medianoche, body.erp-theme-medianoche{
  color-scheme:dark;
  --erp-bg:#08101f;
  --erp-bg-2:#0d1830;
  --erp-bg-soft:#0d1830;
  --erp-surface:#14213a;
  --erp-surface-2:#1e2d4a;
  --erp-surface-3:#2a3a5a;
  --erp-input:#0c1528;
  --erp-text:#f8fafc;
  --erp-heading:#ffffff;
  --erp-muted:#cbd5e1;
  --erp-primary:#2563eb;
  --erp-primary-2:#1d4ed8;
  --erp-accent:#38bdf8;
  --erp-success:#22c55e;
  --erp-warning:#f59e0b;
  --erp-danger:#ef4444;
  --erp-info:#38bdf8;
  --erp-border:rgba(248,250,252,.17);
  --erp-shadow-color:rgba(0,0,0,.42);
  --erp-gradient-main:linear-gradient(135deg,#2563eb,#1d4ed8);
  --erp-gradient-soft:linear-gradient(180deg,#08101f,#0d1830);
  --erp-focus:0 0 0 .22rem rgba(37,99,235,.24);
}

html.erp-theme-morado, body.erp-theme-morado{
  color-scheme:dark;
  --erp-bg:#120d1d;
  --erp-bg-2:#1b1429;
  --erp-bg-soft:#1b1429;
  --erp-surface:#241b35;
  --erp-surface-2:#322542;
  --erp-surface-3:#423257;
  --erp-input:#1a1326;
  --erp-text:#fbf7ff;
  --erp-heading:#ffffff;
  --erp-muted:#d8c7ea;
  --erp-primary:#7c3aed;
  --erp-primary-2:#6d28d9;
  --erp-accent:#ec4899;
  --erp-success:#22c55e;
  --erp-warning:#f59e0b;
  --erp-danger:#ef4444;
  --erp-info:#38bdf8;
  --erp-border:rgba(251,247,255,.17);
  --erp-shadow-color:rgba(0,0,0,.42);
  --erp-gradient-main:linear-gradient(135deg,#7c3aed,#6d28d9);
  --erp-gradient-soft:linear-gradient(180deg,#120d1d,#1b1429);
  --erp-focus:0 0 0 .22rem rgba(124,58,237,.24);
}

/* Aplicar variables desde html aunque body no tenga clase */
html.erp-theme-carbon body:not(.erp-theme-carbon),
html.erp-theme-neon body:not(.erp-theme-neon),
html.erp-theme-grafito body:not(.erp-theme-grafito),
html.erp-theme-medianoche body:not(.erp-theme-medianoche),
html.erp-theme-morado body:not(.erp-theme-morado){
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--erp-primary) 10%, transparent),transparent 34%),
    radial-gradient(circle at bottom left,color-mix(in srgb,var(--erp-accent) 8%, transparent),transparent 32%),
    var(--erp-gradient-soft) !important;
  color:var(--erp-text) !important;
}

/* Base oscura universal para los 5 oscuros */
html.erp-theme-carbon body,
html.erp-theme-neon body,
html.erp-theme-grafito body,
html.erp-theme-medianoche body,
html.erp-theme-morado body,
body.erp-theme-carbon,
body.erp-theme-neon,
body.erp-theme-grafito,
body.erp-theme-medianoche,
body.erp-theme-morado{
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--erp-primary) 10%, transparent),transparent 34%),
    radial-gradient(circle at bottom left,color-mix(in srgb,var(--erp-accent) 8%, transparent),transparent 32%),
    var(--erp-gradient-soft) !important;
  color:var(--erp-text) !important;
}

/* Texto */
html.erp-theme-carbon body :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
html.erp-theme-neon body :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
html.erp-theme-grafito body :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
html.erp-theme-medianoche body :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
html.erp-theme-morado body :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
body.erp-theme-carbon :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
body.erp-theme-neon :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
body.erp-theme-grafito :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
body.erp-theme-medianoche :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6),
body.erp-theme-morado :where(p,span,div,li,td,th,label,strong,b,em,h1,h2,h3,h4,h5,h6){
  color:var(--erp-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

html.erp-theme-carbon body :where(small,.small,.text-muted,.form-text,.help-text,.hint,.descripcion,.description),
html.erp-theme-neon body :where(small,.small,.text-muted,.form-text,.help-text,.hint,.descripcion,.description),
html.erp-theme-grafito body :where(small,.small,.text-muted,.form-text,.help-text,.hint,.descripcion,.description),
html.erp-theme-medianoche body :where(small,.small,.text-muted,.form-text,.help-text,.hint,.descripcion,.description),
html.erp-theme-morado body :where(small,.small,.text-muted,.form-text,.help-text,.hint,.descripcion,.description){
  color:var(--erp-muted) !important;
  opacity:1 !important;
}

/* Superficies */
html.erp-theme-carbon body :where(.card,.panel,.section,.container-form,.form-container,.module-card,.dashboard-card,.box,.table-container,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.mm-card,.social-card,.pwa-card,.erp-card,.card-erp),
html.erp-theme-neon body :where(.card,.panel,.section,.container-form,.form-container,.module-card,.dashboard-card,.box,.table-container,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.mm-card,.social-card,.pwa-card,.erp-card,.card-erp),
html.erp-theme-grafito body :where(.card,.panel,.section,.container-form,.form-container,.module-card,.dashboard-card,.box,.table-container,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.mm-card,.social-card,.pwa-card,.erp-card,.card-erp),
html.erp-theme-medianoche body :where(.card,.panel,.section,.container-form,.form-container,.module-card,.dashboard-card,.box,.table-container,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.mm-card,.social-card,.pwa-card,.erp-card,.card-erp),
html.erp-theme-morado body :where(.card,.panel,.section,.container-form,.form-container,.module-card,.dashboard-card,.box,.table-container,.modal-content,.offcanvas,.dropdown-menu,.list-group-item,.accordion-item,.mm-card,.social-card,.pwa-card,.erp-card,.card-erp){
  background:var(--erp-surface) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

/* Formularios */
html.erp-theme-carbon body :where(input,select,textarea,.form-control,.form-select,.input-group-text),
html.erp-theme-neon body :where(input,select,textarea,.form-control,.form-select,.input-group-text),
html.erp-theme-grafito body :where(input,select,textarea,.form-control,.form-select,.input-group-text),
html.erp-theme-medianoche body :where(input,select,textarea,.form-control,.form-select,.input-group-text),
html.erp-theme-morado body :where(input,select,textarea,.form-control,.form-select,.input-group-text){
  background:var(--erp-input) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
  opacity:1 !important;
}

html.erp-theme-carbon body :where(input,textarea)::placeholder,
html.erp-theme-neon body :where(input,textarea)::placeholder,
html.erp-theme-grafito body :where(input,textarea)::placeholder,
html.erp-theme-medianoche body :where(input,textarea)::placeholder,
html.erp-theme-morado body :where(input,textarea)::placeholder{
  color:color-mix(in srgb,var(--erp-muted) 78%, transparent) !important;
  opacity:1 !important;
}

html.erp-theme-carbon body option,
html.erp-theme-neon body option,
html.erp-theme-grafito body option,
html.erp-theme-medianoche body option,
html.erp-theme-morado body option{
  background:var(--erp-input) !important;
  color:var(--erp-text) !important;
}

/* Tablas */
html.erp-theme-carbon body :where(table,.table),
html.erp-theme-neon body :where(table,.table),
html.erp-theme-grafito body :where(table,.table),
html.erp-theme-medianoche body :where(table,.table),
html.erp-theme-morado body :where(table,.table){
  background:var(--erp-surface) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

html.erp-theme-carbon body :where(table th,.table th,thead th),
html.erp-theme-neon body :where(table th,.table th,thead th),
html.erp-theme-grafito body :where(table th,.table th,thead th),
html.erp-theme-medianoche body :where(table th,.table th,thead th),
html.erp-theme-morado body :where(table th,.table th,thead th){
  background:color-mix(in srgb,var(--erp-primary) 18%, var(--erp-surface-2)) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

html.erp-theme-carbon body :where(table td,.table td),
html.erp-theme-neon body :where(table td,.table td),
html.erp-theme-grafito body :where(table td,.table td),
html.erp-theme-medianoche body :where(table td,.table td),
html.erp-theme-morado body :where(table td,.table td){
  background:var(--erp-surface) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

/* Botones */
html.erp-theme-carbon body :where(.btn-primary,.btn-success,button.btn-primary,button.btn-success,#btn-registrar,#btn-mostrar-equipo),
html.erp-theme-neon body :where(.btn-primary,.btn-success,button.btn-primary,button.btn-success,#btn-registrar,#btn-mostrar-equipo),
html.erp-theme-grafito body :where(.btn-primary,.btn-success,button.btn-primary,button.btn-success,#btn-registrar,#btn-mostrar-equipo),
html.erp-theme-medianoche body :where(.btn-primary,.btn-success,button.btn-primary,button.btn-success,#btn-registrar,#btn-mostrar-equipo),
html.erp-theme-morado body :where(.btn-primary,.btn-success,button.btn-primary,button.btn-success,#btn-registrar,#btn-mostrar-equipo){
  background:var(--erp-gradient-main) !important;
  color:#fff !important;
  border-color:transparent !important;
}

html.erp-theme-carbon body :where(.btn-secondary,.btn-outline-secondary),
html.erp-theme-neon body :where(.btn-secondary,.btn-outline-secondary),
html.erp-theme-grafito body :where(.btn-secondary,.btn-outline-secondary),
html.erp-theme-medianoche body :where(.btn-secondary,.btn-outline-secondary),
html.erp-theme-morado body :where(.btn-secondary,.btn-outline-secondary){
  background:var(--erp-surface-2) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

/* Registro publico/panel info */
html.erp-theme-carbon body :where(.registro-info-card,.erp-switch-user-card),
html.erp-theme-neon body :where(.registro-info-card,.erp-switch-user-card),
html.erp-theme-grafito body :where(.registro-info-card,.erp-switch-user-card),
html.erp-theme-medianoche body :where(.registro-info-card,.erp-switch-user-card),
html.erp-theme-morado body :where(.registro-info-card,.erp-switch-user-card){
  background:var(--erp-surface) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

html.erp-theme-carbon body :where(.registro-info-card,.erp-switch-user-card) *,
html.erp-theme-neon body :where(.registro-info-card,.erp-switch-user-card) *,
html.erp-theme-grafito body :where(.registro-info-card,.erp-switch-user-card) *,
html.erp-theme-medianoche body :where(.registro-info-card,.erp-switch-user-card) *,
html.erp-theme-morado body :where(.registro-info-card,.erp-switch-user-card) *{
  color:var(--erp-text) !important;
  opacity:1 !important;
}

/* Header */
html.erp-theme-carbon body :where(header,.navbar,.topbar,.erp-header-shell),
html.erp-theme-neon body :where(header,.navbar,.topbar,.erp-header-shell),
html.erp-theme-grafito body :where(header,.navbar,.topbar,.erp-header-shell),
html.erp-theme-medianoche body :where(header,.navbar,.topbar,.erp-header-shell),
html.erp-theme-morado body :where(header,.navbar,.topbar,.erp-header-shell){
  background:color-mix(in srgb,var(--erp-surface) 92%, var(--erp-primary) 8%) !important;
  color:var(--erp-text) !important;
  border-color:var(--erp-border) !important;
}

html.erp-theme-carbon body :where(header,.navbar,.topbar,.erp-header-shell) *,
html.erp-theme-neon body :where(header,.navbar,.topbar,.erp-header-shell) *,
html.erp-theme-grafito body :where(header,.navbar,.topbar,.erp-header-shell) *,
html.erp-theme-medianoche body :where(header,.navbar,.topbar,.erp-header-shell) *,
html.erp-theme-morado body :where(header,.navbar,.topbar,.erp-header-shell) *{
  color:var(--erp-text) !important;
}
