@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --xp-bg:#06101d;
  --xp-bg-2:#091728;
  --xp-panel:rgba(10,22,39,.86);
  --xp-panel-strong:rgba(13,27,46,.94);
  --xp-panel-soft:rgba(17,34,57,.78);
  --xp-border:rgba(148,163,184,.16);
  --xp-border-strong:rgba(96,165,250,.24);
  --xp-text:#ecf4ff;
  --xp-muted:#94a3b8;
  --xp-muted-2:#64748b;
  --xp-accent:#4f8cff;
  --xp-accent-2:#7c5cff;
  --xp-success:#22c55e;
  --xp-warning:#f59e0b;
  --xp-danger:#ef4444;
  --xp-shadow:0 24px 70px rgba(2,8,23,.42);
  --xp-shadow-soft:0 16px 40px rgba(2,8,23,.22);
  --xp-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  background:
    radial-gradient(circle at 15% 0%, rgba(59,130,246,.18), transparent 28%),
    radial-gradient(circle at 85% 8%, rgba(124,92,255,.14), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(56,189,248,.10), transparent 28%),
    linear-gradient(145deg,var(--xp-bg),var(--xp-bg-2) 55%,#071220) !important;
  color:var(--xp-text);
  letter-spacing:-.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom, black, transparent 84%);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,.03), transparent 15%);
  opacity:.28;
}

::selection{background:rgba(79,140,255,.32);color:#fff}
img{image-rendering:auto}
a,button,input,select,textarea{transition:all .22s ease}
main{position:relative}
main > header{
  background:linear-gradient(180deg, rgba(11,25,43,.92), rgba(9,20,36,.84))!important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(148,163,184,.14)!important;
  box-shadow:0 10px 25px rgba(0,0,0,.12);
}

h1,h2,h3,h4,h5,h6{letter-spacing:-.03em}
.text-slate-400{color:#91a4bd!important}
.text-slate-500{color:#72849d!important}
.text-slate-300{color:#d5e2f2!important}
.text-white{color:#f8fbff!important}
.text-primary{color:#7db1ff!important}
.text-success{color:#38d574!important}
.text-danger{color:#ff6b6b!important}
.text-warning{color:#ffca55!important}

.bg-darkPanel,.bg-slate-800,.bg-slate-900{
  background:linear-gradient(180deg, rgba(12,25,43,.90), rgba(10,21,36,.86))!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--xp-border)!important;
  box-shadow:var(--xp-shadow-soft)!important;
}
.bg-darkBg{background:transparent!important}
.bg-primary{background:linear-gradient(135deg,var(--xp-accent),var(--xp-accent-2))!important;box-shadow:0 14px 30px rgba(79,140,255,.28)!important}
.hover\:bg-primary:hover,.bg-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}
.bg-success{background:linear-gradient(135deg,#22c55e,#16a34a)!important}
.bg-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important}
.bg-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important}

.rounded-lg{border-radius:16px!important}
.rounded-xl{border-radius:18px!important}
.rounded-2xl{border-radius:var(--xp-radius)!important}
.shadow-xl,.shadow-2xl,.shadow-md{box-shadow:var(--xp-shadow)!important}
.border-slate-700,.border-slate-800{border-color:var(--xp-border)!important}

input,select,textarea{
  background:linear-gradient(180deg, rgba(7,16,29,.88), rgba(10,21,36,.80))!important;
  border:1px solid rgba(148,163,184,.14)!important;
  color:var(--xp-text)!important;
  border-radius:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
input::placeholder,textarea::placeholder{color:#6f829b!important}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:rgba(79,140,255,.72)!important;
  box-shadow:0 0 0 4px rgba(79,140,255,.12), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
label{color:#a9bad0}

button,[type="submit"],.inline-flex,.inline-block,a[class*="bg-"],a.rounded-xl,a.rounded-lg{
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
button:hover,[type="submit"]:hover,a[class*="bg-"]:hover{transform:translateY(-1px)}
button:active,[type="submit"]:active,a[class*="bg-"]:active{transform:translateY(0)}

#main-sidebar{
  background:linear-gradient(180deg, rgba(7,18,32,.96), rgba(10,21,36,.94))!important;
  border-right:1px solid rgba(148,163,184,.12)!important;
  box-shadow:18px 0 48px rgba(0,0,0,.22)!important;
}
#main-sidebar .xp-brand{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
#main-sidebar .xp-brand::after{
  content:"";
  position:absolute;
  inset:auto -22px -40px auto;
  width:120px;height:120px;border-radius:999px;
  background:radial-gradient(circle, rgba(79,140,255,.22), transparent 68%);
}
#main-sidebar nav h3{letter-spacing:.18em;color:#6f829b!important}
#main-sidebar .nav-link{
  display:flex;
  align-items:center;
  gap:.2rem;
  border:1px solid transparent;
  background:transparent;
}
#main-sidebar .nav-link:hover{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(148,163,184,.10)!important;
  color:#fff!important;
  transform:translateX(3px);
}
#main-sidebar .nav-link i{opacity:.88;transition:all .2s ease}
#main-sidebar .nav-link:hover i{opacity:1;color:#8db8ff}
#main-sidebar .nav-active{
  background:linear-gradient(135deg, rgba(79,140,255,.18), rgba(124,92,255,.14))!important;
  border-color:rgba(96,165,250,.24)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(79,140,255,.10), inset 0 1px 0 rgba(255,255,255,.05);
}
#main-sidebar .nav-active i{color:#8db8ff!important;opacity:1}
#main-sidebar .xp-user-card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(148,163,184,.10);
}
#main-sidebar .xp-user-avatar{
  background:linear-gradient(135deg, rgba(79,140,255,.18), rgba(124,92,255,.18));
  color:#dcecff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

#sidebar-overlay{background:rgba(2,6,23,.72)!important}

.overflow-x-auto{
  scrollbar-width:thin;
  scrollbar-color:rgba(148,163,184,.25) transparent;
}
.custom-scrollbar::-webkit-scrollbar,.overflow-x-auto::-webkit-scrollbar{width:8px;height:8px}
.custom-scrollbar::-webkit-scrollbar-thumb,.overflow-x-auto::-webkit-scrollbar-thumb{background:rgba(148,163,184,.28);border-radius:999px}
.custom-scrollbar::-webkit-scrollbar-track,.overflow-x-auto::-webkit-scrollbar-track{background:transparent}

table{border-collapse:separate!important;border-spacing:0;width:100%}
thead{background:rgba(255,255,255,.02)!important}
thead th{
  font-size:.72rem!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8fa3bd!important;
}
tbody tr{transition:background .2s ease, transform .2s ease}
tbody tr:hover{background:rgba(79,140,255,.045)!important}

[class*="grid"] > .bg-darkPanel,
[class*="grid"] > a.bg-darkPanel,
[class*="grid"] > div.bg-gradient-to-br,
[class*="grid"] > div[class*="from-slate"],
[class*="grid"] > a[class*="from-slate"]{
  position:relative;
  overflow:hidden;
}
[class*="grid"] > .bg-darkPanel::before,
[class*="grid"] > a.bg-darkPanel::before,
[class*="grid"] > div.bg-gradient-to-br::before,
[class*="grid"] > div[class*="from-slate"]::before,
[class*="grid"] > a[class*="from-slate"]::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 38%);
  pointer-events:none;
}

[class*="bg-success/20"],[class*="bg-primary/20"],[class*="bg-warning/20"],[class*="bg-danger/20"]{
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.05);
}

@media (max-width: 767px){
  body{overflow:auto!important;min-height:100vh;height:auto!important}
  main,.flex-1{min-width:0!important}
  .overflow-x-auto{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  table{white-space:nowrap}
  .p-8,.p-6{padding:1rem!important}
  .px-8,.px-6{padding-left:1rem!important;padding-right:1rem!important}
  #main-sidebar{width:18rem!important}
}

/* =========================================================
   XtremePlays UI 2026 · Componentes globales
   ========================================================= */

/* Contenido y cabeceras de página */
main > header h1,
main > header h2,
main > header .text-xl,
main > header .text-2xl{
  font-weight:800!important;
  color:#f8fbff!important;
  text-shadow:0 1px 0 rgba(255,255,255,.04);
}
main > header{
  min-height:72px;
}
main > header > div,
main > header > section{
  position:relative;
  z-index:1;
}

/* Superficies principales */
.bg-darkPanel,
section.bg-darkPanel,
div.bg-darkPanel{
  border-color:rgba(148,163,184,.15)!important;
  box-shadow:0 18px 45px rgba(1,7,18,.24), inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.bg-darkPanel:hover{
  border-color:rgba(148,163,184,.21)!important;
}

/* Tarjetas de métricas */
[class*="grid"] > .bg-darkPanel,
[class*="grid"] > [class*="bg-gradient-to-br"]{
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
[class*="grid"] > .bg-darkPanel:hover,
[class*="grid"] > [class*="bg-gradient-to-br"]:hover{
  transform:translateY(-2px);
  border-color:rgba(96,165,250,.25)!important;
  box-shadow:0 22px 54px rgba(1,7,18,.30),0 0 0 1px rgba(79,140,255,.04)!important;
}

/* Botones */
button,
a[class*="rounded"][class*="bg-"]{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  font-weight:700;
  -webkit-tap-highlight-color:transparent;
}
button::after,
a[class*="rounded"][class*="bg-"]::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 48%);
  opacity:.55;
  z-index:-1;
}
button:focus-visible,
a:focus-visible{
  outline:2px solid rgba(125,177,255,.92)!important;
  outline-offset:3px!important;
}
button:disabled,
button[aria-disabled="true"],
a[aria-disabled="true"]{
  cursor:not-allowed!important;
  transform:none!important;
  filter:saturate(.45)!important;
  box-shadow:none!important;
}
.bg-primary,
button.bg-primary,
a.bg-primary{
  border:1px solid rgba(147,197,253,.22)!important;
  color:#fff!important;
}
.bg-success,
button.bg-success,
a.bg-success{
  border:1px solid rgba(134,239,172,.20)!important;
  color:#04150b!important;
}
.bg-danger,
button.bg-danger,
a.bg-danger,
.bg-red-600,
button.bg-red-600{
  border:1px solid rgba(254,202,202,.15)!important;
}
.bg-warning,
button.bg-warning,
a.bg-warning{
  border:1px solid rgba(253,230,138,.22)!important;
  color:#1b1202!important;
}
button[class*="bg-slate-7"],
button[class*="bg-slate-8"],
a[class*="bg-slate-7"],
a[class*="bg-slate-8"]{
  border:1px solid rgba(148,163,184,.16)!important;
  background:linear-gradient(180deg,rgba(36,53,76,.94),rgba(23,38,59,.92))!important;
}
button[class*="bg-slate-7"]:hover,
button[class*="bg-slate-8"]:hover,
a[class*="bg-slate-7"]:hover,
a[class*="bg-slate-8"]:hover{
  border-color:rgba(125,177,255,.28)!important;
  background:linear-gradient(180deg,rgba(46,65,91,.98),rgba(29,47,71,.96))!important;
}
.xp-ripple{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  background:rgba(255,255,255,.30);
  transform:translate(-50%,-50%) scale(0);
  animation:xp-ripple .55s ease-out forwards;
  z-index:2;
}
@keyframes xp-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}

/* Pestañas */
button[class*="border-b-2"],
a[class*="border-b-2"]{
  border-radius:12px 12px 0 0!important;
  border-left:1px solid transparent;
  border-right:1px solid transparent;
  padding-top:.72rem!important;
  padding-bottom:.72rem!important;
}
button[class*="border-b-2"]:hover,
a[class*="border-b-2"]:hover{
  background:rgba(255,255,255,.035);
  color:#fff!important;
}
button.border-primary,
button.border-success,
button.border-warning,
button.border-purple-500,
a.border-primary,
a.border-success,
a.border-warning,
a.border-purple-500{
  background:linear-gradient(180deg,rgba(79,140,255,.10),rgba(79,140,255,.025));
  box-shadow:inset 0 -1px 0 currentColor;
}

/* Formularios */
input[type="checkbox"],input[type="radio"]{
  accent-color:var(--xp-accent);
}
select option{
  background:#0e1b2e;
  color:#eef6ff;
}
input[type="file"]::file-selector-button{
  border:0;
  margin-right:.8rem;
  padding:.58rem .85rem;
  border-radius:11px;
  background:linear-gradient(135deg,var(--xp-accent),var(--xp-accent-2));
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
input[type="date"],input[type="datetime-local"],input[type="time"]{
  color-scheme:dark;
}

/* Tablas */
.overflow-x-auto:has(table){
  border-radius:18px;
}
table thead tr:first-child th:first-child{border-top-left-radius:14px}
table thead tr:first-child th:last-child{border-top-right-radius:14px}
tbody td{
  border-color:rgba(148,163,184,.085)!important;
}
tbody tr:last-child td:first-child{border-bottom-left-radius:14px}
tbody tr:last-child td:last-child{border-bottom-right-radius:14px}
tbody tr:nth-child(even){background:rgba(255,255,255,.008)}

/* Insignias y estados */
[class*="rounded-full"][class*="text-"][class*="bg-"],
[class*="rounded-lg"][class*="text-"][class*="bg-"]{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
[class*="bg-success/10"],[class*="bg-success/20"],
[class*="bg-green-500/10"],[class*="bg-green-500/20"]{
  border-color:rgba(34,197,94,.22)!important;
}
[class*="bg-danger/10"],[class*="bg-danger/20"],
[class*="bg-red-500/10"],[class*="bg-red-500/20"]{
  border-color:rgba(239,68,68,.22)!important;
}
[class*="bg-warning/10"],[class*="bg-warning/20"],
[class*="bg-yellow-500/10"],[class*="bg-yellow-500/20"]{
  border-color:rgba(245,158,11,.22)!important;
}
[class*="bg-primary/10"],[class*="bg-primary/20"],
[class*="bg-blue-500/10"],[class*="bg-blue-500/20"]{
  border-color:rgba(79,140,255,.22)!important;
}

/* Ventanas flotantes / modales */
.xp-modal,
div[id^="modal"].fixed.inset-0,
div[id^="Modal"].fixed.inset-0{
  background:rgba(1,7,18,.78)!important;
  backdrop-filter:blur(12px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.15)!important;
  padding:1rem!important;
}
.xp-modal:not(.hidden){
  animation:xp-overlay-in .20s ease-out both;
}
.xp-modal-dialog,
div[id^="modal"].fixed.inset-0 > div,
div[id^="Modal"].fixed.inset-0 > div{
  border-radius:24px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:
    linear-gradient(180deg,rgba(17,33,55,.98),rgba(9,21,38,.98))!important;
  box-shadow:0 34px 100px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.xp-modal:not(.hidden) .xp-modal-dialog{
  animation:xp-dialog-in .26s cubic-bezier(.2,.8,.2,1) both;
}
.xp-modal-dialog > div:first-child,
div[id^="modal"].fixed.inset-0 > div > div:first-child,
div[id^="Modal"].fixed.inset-0 > div > div:first-child{
  border-color:rgba(148,163,184,.13)!important;
}
body.xp-modal-open{overflow:hidden!important}
@keyframes xp-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes xp-dialog-in{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}

/* SweetAlert2: confirmaciones, avisos y notificaciones */
.swal2-container{
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.swal2-popup{
  font-family:'Inter',system-ui,sans-serif!important;
  color:var(--xp-text)!important;
  background:
    linear-gradient(180deg,rgba(17,33,55,.985),rgba(8,19,34,.985))!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:24px!important;
  box-shadow:0 34px 100px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.swal2-title{color:#f8fbff!important;font-size:1.35rem!important;font-weight:800!important;letter-spacing:-.035em!important}
.swal2-html-container{color:#aebfd4!important;line-height:1.65!important}
.swal2-input,.swal2-textarea,.swal2-select{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  box-shadow:none!important;
}
.swal2-actions{gap:.65rem!important}
.swal2-styled{
  border-radius:13px!important;
  padding:.72rem 1.1rem!important;
  font-weight:800!important;
  box-shadow:0 12px 26px rgba(0,0,0,.20)!important;
}
.swal2-confirm{
  background:linear-gradient(135deg,var(--xp-accent),var(--xp-accent-2))!important;
}
.swal2-cancel{
  background:linear-gradient(180deg,#33445d,#26364e)!important;
  color:#e8f1fd!important;
}
.swal2-deny{
  background:linear-gradient(135deg,#ef4444,#dc2626)!important;
}
.swal2-timer-progress-bar{background:linear-gradient(90deg,var(--xp-accent),var(--xp-accent-2))!important}
.swal2-toast{
  border-radius:18px!important;
  background:rgba(13,28,47,.97)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.44)!important;
}
.swal2-icon{transform:scale(.88)}

/* Alertas embebidas */
[role="alert"],
.xp-notice,
div[class*="border-"][class*="bg-"][class*="text-"]{
  backdrop-filter:blur(8px);
}

/* Entrada sutil de la interfaz */
.xp-js body{opacity:0}
.xp-js body.xp-ready{opacity:1;transition:opacity .24s ease}
main > header,
main > div,
main > section{
  animation:xp-content-in .38s ease both;
}
@keyframes xp-content-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Accesibilidad y móvil */
@media (max-width: 767px){
  main > header{min-height:64px;padding-left:4rem!important}
  .xp-modal-dialog,
  div[id^="modal"].fixed.inset-0 > div,
  div[id^="Modal"].fixed.inset-0 > div{
    max-height:calc(100vh - 1.5rem)!important;
    overflow-y:auto!important;
    border-radius:20px!important;
  }
  .swal2-popup{width:calc(100% - 1rem)!important;padding:1.15rem!important}
  button[class*="border-b-2"]{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   Corrección de contraste · fondos claros no intencionales
   ========================================================= */
html{
  color-scheme:dark;
  background:#06101d;
}
body.xp-contrast-fix,
body.xp-contrast-fix main{
  background-color:transparent!important;
  color:var(--xp-text)!important;
}

/* Evita superficies blancas heredadas de utilidades o componentes antiguos. */
body.xp-contrast-fix .bg-white,
body.xp-contrast-fix [class*="bg-white/"],
body.xp-contrast-fix .bg-gray-50,
body.xp-contrast-fix .bg-gray-100,
body.xp-contrast-fix .bg-gray-200,
body.xp-contrast-fix .bg-slate-50,
body.xp-contrast-fix .bg-slate-100,
body.xp-contrast-fix .bg-slate-200,
body.xp-contrast-fix .bg-zinc-50,
body.xp-contrast-fix .bg-zinc-100,
body.xp-contrast-fix .bg-neutral-50,
body.xp-contrast-fix .bg-neutral-100{
  background:linear-gradient(180deg,rgba(19,37,61,.96),rgba(10,23,40,.94))!important;
  color:var(--xp-text)!important;
  border-color:rgba(148,163,184,.16)!important;
}

/* Los fondos semitransparentes claros usados como adornos conservan contraste. */
body.xp-contrast-fix [class*="bg-white/"]{
  background:rgba(125,177,255,.10)!important;
}

/* Superficies del panel: fuerza texto legible incluso si una página hereda color oscuro. */
body.xp-contrast-fix .bg-darkPanel,
body.xp-contrast-fix .bg-slate-800,
body.xp-contrast-fix .bg-slate-900,
body.xp-contrast-fix [class*="bg-slate-800/"],
body.xp-contrast-fix [class*="bg-slate-900/"],
body.xp-contrast-fix [class*="from-slate-800"],
body.xp-contrast-fix [class*="from-slate-900"]{
  color:var(--xp-text)!important;
}

/* Tonos que eran demasiado oscuros sobre el nuevo fondo. */
body.xp-contrast-fix .text-slate-600{color:#8598b1!important}
body.xp-contrast-fix .text-slate-700{color:#7589a4!important}
body.xp-contrast-fix .text-gray-600,
body.xp-contrast-fix .text-gray-700,
body.xp-contrast-fix .text-gray-800,
body.xp-contrast-fix .text-gray-900{color:#b8c8dc!important}

/* Tablas: elimina franjas claras y mantiene encabezados, celdas y estados visibles. */
body.xp-contrast-fix table,
body.xp-contrast-fix thead,
body.xp-contrast-fix tbody,
body.xp-contrast-fix tr,
body.xp-contrast-fix td,
body.xp-contrast-fix th{
  color:inherit;
}
body.xp-contrast-fix thead,
body.xp-contrast-fix thead tr{
  background:rgba(6,16,29,.72)!important;
}
body.xp-contrast-fix tbody tr{
  background-color:transparent;
}
body.xp-contrast-fix tbody tr:nth-child(even){
  background:rgba(148,163,184,.025)!important;
}
body.xp-contrast-fix tbody tr:hover{
  background:rgba(79,140,255,.075)!important;
}

/* Campos y autocompletado del navegador: evita relleno blanco con letras claras. */
body.xp-contrast-fix input,
body.xp-contrast-fix select,
body.xp-contrast-fix textarea{
  background-color:#0a1728!important;
  color:#edf5ff!important;
  caret-color:#edf5ff;
}
body.xp-contrast-fix input:-webkit-autofill,
body.xp-contrast-fix input:-webkit-autofill:hover,
body.xp-contrast-fix input:-webkit-autofill:focus,
body.xp-contrast-fix textarea:-webkit-autofill,
body.xp-contrast-fix select:-webkit-autofill{
  -webkit-text-fill-color:#edf5ff!important;
  -webkit-box-shadow:0 0 0 1000px #0a1728 inset!important;
  box-shadow:0 0 0 1000px #0a1728 inset!important;
  caret-color:#edf5ff!important;
  border-color:rgba(79,140,255,.42)!important;
  transition:background-color 9999s ease-out 0s;
}
body.xp-contrast-fix select option,
body.xp-contrast-fix datalist option{
  background:#0b192b!important;
  color:#edf5ff!important;
}

/* Modales y notificaciones: protege el contraste de contenido interno antiguo. */
body.xp-contrast-fix .xp-modal-dialog,
body.xp-contrast-fix div[id^="modal"].fixed.inset-0 > div,
body.xp-contrast-fix div[id^="Modal"].fixed.inset-0 > div,
body.xp-contrast-fix .swal2-popup,
body.xp-contrast-fix .swal2-toast{
  color:#edf5ff!important;
  background:linear-gradient(180deg,rgba(17,34,57,.995),rgba(8,19,34,.995))!important;
}
body.xp-contrast-fix .xp-modal-dialog p,
body.xp-contrast-fix .xp-modal-dialog label,
body.xp-contrast-fix .swal2-html-container{
  color:#b7c7da!important;
}
body.xp-contrast-fix .swal2-validation-message{
  background:#32141b!important;
  color:#fecaca!important;
}

/* Botones claros heredados: texto y fondo consistentes. */
body.xp-contrast-fix button.bg-white,
body.xp-contrast-fix a.bg-white,
body.xp-contrast-fix button[class*="bg-white/"],
body.xp-contrast-fix a[class*="bg-white/"]{
  background:linear-gradient(180deg,rgba(43,62,88,.96),rgba(26,42,64,.96))!important;
  color:#f8fbff!important;
  border:1px solid rgba(148,163,184,.20)!important;
}

/* Mantiene texto oscuro únicamente en acciones luminosas donde sí mejora la lectura. */
body.xp-contrast-fix .bg-success.text-darkBg,
body.xp-contrast-fix .bg-warning.text-darkBg,
body.xp-contrast-fix button.bg-success,
body.xp-contrast-fix button.bg-warning{
  color:#06101d!important;
}

@media (forced-colors:active){
  body.xp-contrast-fix *{forced-color-adjust:auto}
}
