/* Capa visual sobre Bootstrap 5.3. Sin estilos inline: la CSP del panel no los permite. */
:root { --marca: #e50914; --marca-oscura: #b20710; }

body { min-height: 100vh; }
body.fondo-login {
  display: flex; align-items: center; justify-content: center; padding: 1rem;
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(229, 9, 20, .22), transparent 60%),
    radial-gradient(900px 500px at 110% 110%, rgba(229, 9, 20, .12), transparent 60%),
    var(--bs-body-bg);
}

.marca-logo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; border-radius: .5rem; margin-right: .5rem;
  background: var(--marca); color: #fff; font-weight: 800; letter-spacing: -.5px;
}
.marca-logo.grande { width: 3.25rem; height: 3.25rem; font-size: 1.6rem; border-radius: .8rem; margin: 0; }

.btn-marca { --bs-btn-bg: var(--marca); --bs-btn-border-color: var(--marca); --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--marca-oscura); --bs-btn-hover-border-color: var(--marca-oscura); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--marca-oscura); --bs-btn-active-border-color: var(--marca-oscura); --bs-btn-active-color: #fff; }

.tarjeta-login { width: 100%; max-width: 26rem; border-radius: 1rem; }
.tema-flotante { position: fixed; top: 1rem; right: 1rem; z-index: 1030; }
.tarjeta-stat .valor { font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.tarjeta-stat .etiqueta { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bs-secondary-color); }

.nav-tabs .nav-link.active { border-bottom: 2px solid var(--marca); }
.nav-tabs .nav-link { color: var(--bs-secondary-color); }
.nav-tabs .nav-link.active { color: var(--bs-body-color); }

.alert-msg { white-space: pre-line; word-break: break-word; }
.correo { word-break: break-all; font-weight: 600; }
.tabla-scroll { max-height: 28rem; overflow-y: auto; }
.tabla-scroll thead th { position: sticky; top: 0; z-index: 1; background: var(--bs-tertiary-bg); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85rem; }

/* SweetAlert2 */
.swal-edercod { border-radius: 1rem; font-family: inherit; }
.swal2-container { z-index: 2000; }
.swal2-popup.swal2-toast { border-radius: .75rem; box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.25); }
.swal2-styled.swal2-confirm, .swal2-styled.swal2-cancel { border-radius: .6rem; font-weight: 600; }
.swal2-html-container { white-space: pre-line; word-break: break-word; }

/* ---- Tema Netflix del panel (el login queda como estaba: body.fondo-login) ---- */
.marca-icono { width: 2rem; height: 2rem; margin-right: .6rem; border-radius: .45rem; object-fit: contain; }
body:not(.fondo-login) {
  --bs-primary: #e50914; --bs-primary-rgb: 229, 9, 20;
  --bs-link-color: #e50914; --bs-link-hover-color: #b20710;
  --bs-link-color-rgb: 229, 9, 20; --bs-link-hover-color-rgb: 178, 7, 16;
}
body:not(.fondo-login) .btn-primary {
  --bs-btn-bg: #e50914; --bs-btn-border-color: #e50914; --bs-btn-hover-bg: #b20710; --bs-btn-hover-border-color: #b20710;
  --bs-btn-active-bg: #b20710; --bs-btn-active-border-color: #b20710; --bs-btn-disabled-bg: #e50914; --bs-btn-disabled-border-color: #e50914; }
body:not(.fondo-login) .btn-outline-primary {
  --bs-btn-color: #e50914; --bs-btn-border-color: #e50914; --bs-btn-hover-bg: #e50914; --bs-btn-hover-border-color: #e50914;
  --bs-btn-active-bg: #b20710; --bs-btn-active-border-color: #b20710; }
body:not(.fondo-login) .form-check-input:checked { background-color: #e50914; border-color: #e50914; }
body:not(.fondo-login) .form-control:focus, body:not(.fondo-login) .form-select:focus {
  border-color: #e50914; box-shadow: 0 0 0 .25rem rgba(229, 9, 20, .25); }
body:not(.fondo-login) .navbar { border-bottom: 3px solid var(--marca) !important; }
body:not(.fondo-login) .navbar .nav-link.active { color: var(--marca); font-weight: 600; }
body:not(.fondo-login) .card { border-radius: .85rem; overflow: hidden; }
body:not(.fondo-login) .card-header { font-weight: 600; letter-spacing: .01em; }
body:not(.fondo-login) .tarjeta-stat { border-left: 4px solid var(--marca); transition: transform .15s ease, box-shadow .15s ease; }
body:not(.fondo-login) .tarjeta-stat:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1.25rem rgba(229, 9, 20, .18); }
body:not(.fondo-login) .table > tbody > tr { transition: background-color .12s ease; }

[data-bs-theme="dark"] body:not(.fondo-login) {
  --bs-body-bg: #141414; --bs-body-bg-rgb: 20, 20, 20;
  --bs-tertiary-bg: #1f1f1f; --bs-tertiary-bg-rgb: 31, 31, 31;
  --bs-secondary-bg: #262626; --bs-secondary-bg-rgb: 38, 38, 38;
  --bs-border-color: #333;
  background: radial-gradient(900px 380px at 100% -10%, rgba(229, 9, 20, .16), transparent 60%), #141414;
}
[data-bs-theme="dark"] body:not(.fondo-login) .navbar { background: #000 !important; }
[data-bs-theme="dark"] body:not(.fondo-login) .card { background: #1f1f1f; border-color: #2e2e2e; }
[data-bs-theme="dark"] body:not(.fondo-login) .card-header { background: #181818; border-bottom-color: #2e2e2e; }
[data-bs-theme="dark"] body:not(.fondo-login) .form-control,
[data-bs-theme="dark"] body:not(.fondo-login) .form-select { background-color: #2b2b2b; border-color: #3a3a3a; }
[data-bs-theme="dark"] .tabla-scroll thead th { background: #181818; }
[data-bs-theme="dark"] .swal-edercod { border: 1px solid #333; }

/* ---- Modo día: fondo suave, tarjetas blancas con sombra, filas ligeras ---- */
[data-bs-theme="light"] body:not(.fondo-login) {
  --bs-body-bg: #f2f3f5; --bs-body-bg-rgb: 242, 243, 245;
  --bs-border-color: #e1e3e8;
  --bs-tertiary-bg: #f8f9fb;
  background: radial-gradient(900px 380px at 100% -10%, rgba(229, 9, 20, .08), transparent 60%), #f2f3f5;
}
[data-bs-theme="light"] body:not(.fondo-login) .navbar { background: #fff !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
[data-bs-theme="light"] body:not(.fondo-login) .card {
  background: #fff; border: 1px solid #e6e8ec; box-shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 4px 14px rgba(16, 24, 40, .04); }
[data-bs-theme="light"] body:not(.fondo-login) .card-header {
  background: #fff; border-bottom: 1px solid #eceef2; border-top: 3px solid var(--marca); }
[data-bs-theme="light"] body:not(.fondo-login) .tarjeta-stat {
  border: 1px solid #e6e8ec; border-left-width: 1px; box-shadow: inset 4px 0 0 var(--marca), 0 1px 3px rgba(16, 24, 40, .06); }
[data-bs-theme="light"] body:not(.fondo-login) .tarjeta-stat:hover { box-shadow: inset 4px 0 0 var(--marca), 0 .5rem 1.25rem rgba(229, 9, 20, .15); }
[data-bs-theme="light"] body:not(.fondo-login) .table { --bs-table-striped-bg: #f8f9fb; --bs-table-hover-bg: #fdecee; }
[data-bs-theme="light"] body:not(.fondo-login) .table > thead > tr > th {
  background: #fafbfc; color: #4b5563; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em;
  border-bottom: 2px solid #eceef2; }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs { border-bottom-color: #dfe2e7; }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link { border: 0; border-bottom: 3px solid transparent; border-radius: 0; margin-bottom: -1px; }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link:hover { color: var(--marca); }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link.active { background: transparent; border-bottom: 3px solid var(--marca); color: #111; font-weight: 600; }
[data-bs-theme="light"] body:not(.fondo-login) .form-control,
[data-bs-theme="light"] body:not(.fondo-login) .form-select { background: #fbfbfc; border-color: #d5d9e0; }
[data-bs-theme="light"] .tabla-scroll thead th { background: #fafbfc; }
[data-bs-theme="light"] body:not(.fondo-login) .btn-outline-secondary { --bs-btn-color: #4b5563; --bs-btn-border-color: #cfd4dc; --bs-btn-hover-bg: #eef0f3; --bs-btn-hover-color: #111; --bs-btn-hover-border-color: #b9bfc9; }
[data-bs-theme="light"] body:not(.fondo-login) .alert-secondary { --bs-alert-bg: #fff; --bs-alert-border-color: #e1e3e8; --bs-alert-color: #374151; box-shadow: 0 1px 3px rgba(16,24,40,.06); }

/* Modo día sin bordes rojos (el modo noche conserva los suyos) */
[data-bs-theme="light"] body:not(.fondo-login) .navbar { border-bottom: 1px solid #e1e3e8 !important; }
[data-bs-theme="light"] body:not(.fondo-login) .card-header { border-top: 0; }
[data-bs-theme="light"] body:not(.fondo-login) .tarjeta-stat { border: 1px solid #e6e8ec; box-shadow: 0 1px 3px rgba(16, 24, 40, .06); }
[data-bs-theme="light"] body:not(.fondo-login) .tarjeta-stat:hover { box-shadow: 0 .5rem 1.25rem rgba(16, 24, 40, .12); }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link.active { border-bottom: 3px solid #212529; }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link:hover { color: #111; }

/* Modo día: el rojo solo aparece al pasar el mouse o al seleccionar */
[data-bs-theme="light"] body:not(.fondo-login) .tarjeta-stat:hover { border-color: var(--marca); box-shadow: 0 .5rem 1.25rem rgba(229, 9, 20, .14); }
[data-bs-theme="light"] body:not(.fondo-login) .card:hover { border-color: rgba(229, 9, 20, .35); }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link:hover { color: var(--marca); border-bottom-color: rgba(229, 9, 20, .45); }
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link.active,
[data-bs-theme="light"] body:not(.fondo-login) .nav-tabs .nav-link.active:hover { border-bottom: 3px solid var(--marca); color: #111; }
[data-bs-theme="light"] body:not(.fondo-login) .navbar .nav-link { color: #374151; }
[data-bs-theme="light"] body:not(.fondo-login) .navbar .nav-link:hover { color: var(--marca); }
[data-bs-theme="light"] body:not(.fondo-login) .navbar .nav-link.active { color: var(--marca); }

/* Correos difuminados: solo se ve lo de despues de la @ hasta que se pulsa el ojo o se pasa el mouse */
.correo-local { filter: blur(6px); transition: filter .15s ease; user-select: none; }
html[data-correos="ver"] .correo-local, tr:hover .correo-local, tr:focus-within .correo-local { filter: none; user-select: text; }
