/* ALFA v1.22.92 · Login preparado para fondos personalizados, sin scroll */
body[data-page="login"] {
  --auth-deep: #081120;
  --auth-deep-2: #0d1930;
  --auth-blue: #5877ff;
  --auth-violet: #7c5cff;
  --auth-bg-desktop: url("/assets/login-bg-desktop.webp");
  --auth-bg-mobile: url("/assets/login-bg-mobile.webp");
  --auth-bg-desktop-position: center center;
  --auth-bg-mobile-position: center center;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #091321;
}
body[data-page="login"] #app,
body[data-page="login"] .app-root {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
body[data-page="login"] .auth-shell {
  width: 100%;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(500px, 1.06fr) minmax(420px, .94fr) !important;
  position: relative;
  overflow: hidden;
  background: var(--auth-deep) !important;
  color: #f8fbff !important;
}

/* Hero */
body[data-page="login"] .auth-visual {
  height: 100%;
  min-height: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(28px, 3.8vw, 58px) !important;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(6,15,29,.36) 0%, rgba(7,16,31,.46) 48%, rgba(7,16,31,.72) 100%),
    radial-gradient(circle at 20% 18%, rgba(93,74,218,.12), transparent 34%),
    var(--auth-bg-desktop),
    linear-gradient(145deg, #07101f 0%, #0b1730 48%, #0f1c34 100%) !important;
  background-position: center, center, var(--auth-bg-desktop-position), center !important;
  background-size: cover, cover, cover, cover !important;
  background-repeat: no-repeat !important;
}
body[data-page="login"] .auth-visual::before,
body[data-page="login"] .auth-visual::after { content: none !important; }
.auth-visual-grid {
  position: absolute; inset: 0; z-index: -3; opacity: .08;
  background-image:
    linear-gradient(rgba(132,154,213,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132,154,213,.18) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to right, #000 25%, rgba(0,0,0,.8) 70%, transparent 100%);
}
.auth-visual-grid::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,16,31,.03), rgba(7,16,31,.68)); }
.auth-abstract-art {
  position:absolute;
  right:clamp(-90px,-2vw,-20px);
  top:50%;
  width:clamp(440px,46vw,760px);
  height:clamp(520px,64vh,760px);
  transform:translateY(-50%);
  z-index:-1;
  pointer-events:none;
}
.auth-abstract-art::before {
  content:"";
  position:absolute;
  inset:15% 8% 12% 12%;
  border-radius:42% 58% 62% 38% / 46% 40% 60% 54%;
  background:radial-gradient(circle at 42% 42%,rgba(100,122,255,.18),rgba(54,77,184,.06) 48%,transparent 72%);
  filter:blur(22px);
}
.auth-abstract-band {
  position:absolute;
  display:block;
  border-radius:999px;
  transform-origin:center;
  border:1px solid rgba(160,180,255,.14);
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 24px 70px rgba(0,0,0,.10);
  backdrop-filter:blur(8px);
}
.auth-abstract-band-a {
  width:74%;
  height:20%;
  left:12%;
  top:24%;
  transform:rotate(-18deg);
  background:linear-gradient(90deg,rgba(99,82,255,.04),rgba(116,93,255,.22),rgba(67,103,255,.12),rgba(67,103,255,.02));
}
.auth-abstract-band-b {
  width:86%;
  height:24%;
  left:4%;
  top:45%;
  transform:rotate(14deg);
  background:linear-gradient(90deg,rgba(62,102,255,.02),rgba(62,102,255,.18),rgba(117,91,255,.16),rgba(117,91,255,.03));
}
.auth-abstract-band-c {
  width:58%;
  height:15%;
  right:2%;
  top:63%;
  transform:rotate(-28deg);
  opacity:.72;
  background:linear-gradient(90deg,rgba(146,164,255,.02),rgba(146,164,255,.12),rgba(78,112,255,.04));
}
.auth-abstract-line {
  position:absolute;
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(168,187,255,.38),transparent);
  box-shadow:0 0 18px rgba(90,120,255,.14);
}
.auth-abstract-line-a { width:64%; left:20%; top:38%; transform:rotate(24deg); }
.auth-abstract-line-b { width:52%; right:10%; top:58%; transform:rotate(-16deg); opacity:.62; }
.auth-visual-content { position:relative; z-index:2; width:min(660px,100%); height:100%; min-height:0; display:flex; flex-direction:column; }
.auth-hero-brand { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.auth-hero-logo { width:46px !important; height:46px !important; flex-basis:46px !important; filter:drop-shadow(0 12px 24px rgba(49,84,255,.22)); }
.auth-hero-wordmark { width:116px; height:28px; background:#8da6ff; --gap:14px; --y:6px; --h:16px; }
.auth-hero-copy { margin:auto 0; width:min(560px,84%); }
.auth-hero-copy h2 { margin:0; font-size:clamp(40px,4.4vw,68px); line-height:.98; letter-spacing:-.055em; font-weight:780; max-width:640px; }
.auth-hero-copy h2 span { color: #315AF7; }
.auth-hero-description { margin:20px 0 0; max-width:470px; color:rgba(222,231,255,.67); font-size:clamp(15px,1.05vw,17px); line-height:1.55; }

/* Panel */
body[data-page="login"] .auth-panel {
  height:100%; min-height:0 !important; position:relative;
  display:flex !important; flex-direction:column; align-items:center !important; justify-content:center !important;
  padding:clamp(24px,3.5vw,56px) clamp(28px,4.5vw,72px) !important;
  background:radial-gradient(circle at 50% 16%, rgba(75,106,255,.09), transparent 30%),linear-gradient(180deg,#0d1728 0%,#091321 100%) !important;
  color:#f8fbff; isolation:isolate; overflow:hidden;
}
.auth-mobile-ambient { display:none; }
body[data-page="login"] .auth-card {
  width:min(440px,100%) !important; position:relative; overflow:hidden;
  padding:clamp(28px,2.5vw,36px);
  border:1px solid rgba(150,169,213,.20); border-radius:22px;
  background:linear-gradient(160deg,rgba(24,39,68,.80),rgba(12,25,45,.72));
  box-shadow:0 26px 72px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(22px);
}
.auth-card::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 18% 4%,rgba(110,138,255,.09),transparent 34%); }
.auth-card-topline { position:absolute; top:0; left:18%; right:18%; height:1px; background:linear-gradient(90deg,transparent,rgba(116,145,255,.85),transparent); box-shadow:0 0 20px rgba(82,116,255,.40); }
body[data-page="login"] .auth-brand { position:relative; z-index:1; display:flex; justify-content:flex-start; gap:11px; margin:0 0 28px; color:#fff; }
body[data-page="login"] .auth-card .brand-logo { width:40px; height:40px; flex-basis:40px; }
body[data-page="login"] .auth-card .auth-alpha-wordmark { width:98px; height:24px; background:#88a2ff; }
.auth-heading { position:relative; z-index:1; margin-bottom:24px; }
body[data-page="login"] .auth-card h1 { margin:0; color:#f9fbff; font-size:clamp(30px,2.6vw,36px); line-height:1.04; letter-spacing:-.045em; }
.auth-heading > p:last-child { margin:9px 0 0; color:rgba(205,216,240,.62); font-size:13px; line-height:1.45; }
body[data-page="login"] form { position:relative; z-index:1; }
body[data-page="login"] .auth-field { gap:7px; margin-bottom:16px; }
body[data-page="login"] .auth-field label { color:rgba(238,243,255,.86); font-size:12px; font-weight:700; letter-spacing:.01em; }
body[data-page="login"] .auth-control {
  box-sizing:border-box; width:100%; min-height:50px; padding:12px 14px !important;
  border:1px solid rgba(148,163,184,.24); border-radius:11px;
  background:rgba(7,17,34,.50); color:#f8fbff !important; -webkit-text-fill-color:#f8fbff !important; caret-color:#8ea6ff;
  font-size:14px; line-height:1.25; appearance:none; -webkit-appearance:none;
  opacity:1 !important; text-shadow:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
body[data-page="login"] .auth-control:hover,
body[data-page="login"] .auth-control:focus,
body[data-page="login"] .auth-control:active {
  color:#f8fbff !important;
  -webkit-text-fill-color:#f8fbff !important;
}
body[data-page="login"] .auth-control::placeholder { color:rgba(176,191,220,.45); opacity:1; }
body[data-page="login"] .auth-control:hover { border-color:rgba(144,165,224,.40); background:rgba(9,20,39,.59); }
body[data-page="login"] .auth-control:focus { border-color:rgba(105,135,255,.78); background:rgba(8,19,39,.76); box-shadow:0 0 0 3px rgba(82,116,255,.13); outline:none; }
body[data-page="login"] .password-input-wrap > .auth-control { padding-inline-end:54px !important; }
body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle {
  width:36px; height:36px; inset-inline-end:7px; border-color:transparent; border-radius:9px;
  background:transparent; color:rgba(188,202,231,.62);
}
body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle:hover,
body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle[aria-pressed="true"] { border-color:rgba(123,151,255,.18); background:rgba(103,132,255,.09); color:#a6b8ff; }
body[data-page="login"] .auth-submit {
  min-height:50px; margin-top:6px; padding-inline:18px; border:1px solid rgba(144,164,255,.38); border-radius:11px;
  background:linear-gradient(105deg,#496fff,#315af7 56%,#6a55f5); box-shadow:0 10px 24px rgba(45,84,242,.20), inset 0 1px rgba(255,255,255,.15);
  color:#fff; font-weight:750; letter-spacing:-.01em;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
body[data-page="login"] .auth-submit:hover { background:linear-gradient(105deg,#5579ff,#3b63ff 56%,#735eff); transform:translateY(-1px); box-shadow:0 14px 28px rgba(45,84,242,.25),inset 0 1px rgba(255,255,255,.16); }
body[data-page="login"] .auth-submit:active { transform:translateY(0); }
body[data-page="login"] .auth-submit svg { width:18px; height:18px; margin-left:auto; }
body[data-page="login"] .auth-link { width:auto; display:block; margin:12px auto 0; padding:5px 2px; border:0; background:transparent; color:#91a8ff; font-size:12px; font-weight:700; text-align:center; text-decoration:none; }
body[data-page="login"] .auth-link:hover { color:#b0c0ff; text-decoration:underline; text-underline-offset:3px; }
body[data-page="login"] .auth-theme { position:fixed !important; top:18px !important; right:18px !important; z-index:100 !important; width:40px; height:40px; border:1px solid rgba(148,163,184,.20); border-radius:11px; background:rgba(13,25,44,.64); color:rgba(226,233,248,.78); box-shadow:none; backdrop-filter:blur(14px); }
body[data-page="login"] .auth-theme:hover { background:rgba(23,39,66,.86); border-color:rgba(120,147,230,.34); color:#fff; }
body[data-page="login"] .form-error,
body[data-page="login"] .alpha-static-success { position:relative; z-index:1; margin:0 0 15px; border-radius:10px; font-size:12px; }
body[data-page="login"] .form-error { border-color:rgba(255,107,107,.24); background:rgba(127,29,29,.15); color:#ffc2c2; }
body[data-page="login"] .alpha-static-success { border:1px solid rgba(78,200,147,.25); background:rgba(8,92,64,.15); color:#b9f4dc; padding:11px 12px; }
/* Autofill coherente: evita el bloque blanco de Chrome en tema oscuro. */
html[data-alpha-theme="dark"] body[data-page="login"] .auth-control:-webkit-autofill,
html[data-alpha-theme="dark"] body[data-page="login"] .auth-control:-webkit-autofill:hover,
html[data-alpha-theme="dark"] body[data-page="login"] .auth-control:-webkit-autofill:focus {
  -webkit-text-fill-color:#f8fbff !important; caret-color:#f8fbff;
  box-shadow:0 0 0 1000px #0a172b inset !important;
  border-color:rgba(148,163,184,.28);
}

/* Claro */
html:not([data-alpha-theme="dark"]) body[data-page="login"] { background:#edf3ff; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-panel { background:radial-gradient(circle at 50% 18%,rgba(88,119,255,.12),transparent 32%),linear-gradient(180deg,#f8faff 0%,#edf3ff 100%) !important; color:#12213a; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-card { border-color:rgba(76,101,153,.16); background:rgba(255,255,255,.82); box-shadow:0 24px 60px rgba(35,58,111,.12),inset 0 1px rgba(255,255,255,.80); }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-brand { color:#16243b; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-card h1 { color:#17243a; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-heading > p:last-child { color:#64748b; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-field label { color:#334155; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control { border-color:#d8e0ee; background:rgba(248,250,255,.92); color:#17243a !important; -webkit-text-fill-color:#17243a !important; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control::placeholder { color:#94a3b8; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:hover { border-color:#b9c7df; background:#fff; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:focus { border-color:#6783fa; background:#fff; box-shadow:0 0 0 3px rgba(82,116,255,.12); }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle { color:#66758d; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle:hover,
html:not([data-alpha-theme="dark"]) body[data-page="login"] .password-input-wrap--auth .password-visibility-toggle[aria-pressed="true"] { border-color:#dce4f3; background:#f0f4ff; color:#4d67dd; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-link { color:#405fdc; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-link:hover { color:#2849c8; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-theme { border-color:rgba(82,101,137,.16); background:rgba(255,255,255,.74); color:#475569; box-shadow:0 8px 24px rgba(42,64,105,.07); }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-theme:hover { background:#fff; border-color:#c9d5e7; color:#23334f; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .form-error { border-color:#f8c3c0; background:#fff5f5; color:#b42318; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .alpha-static-success { border-color:#b7e6cf; background:#effbf5; color:#067647; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:-webkit-autofill,
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:-webkit-autofill:hover,
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:-webkit-autofill:focus { -webkit-text-fill-color:#17243a !important; box-shadow:0 0 0 1000px #ffffff inset !important; }

@media (max-width:1120px) {
  body[data-page="login"] .auth-shell { grid-template-columns:minmax(420px,.95fr) minmax(390px,1.05fr) !important; }
  body[data-page="login"] .auth-visual { padding:34px !important; }
  .auth-hero-copy { width:90%; }
  .auth-hero-copy h2 { font-size:clamp(38px,5.1vw,56px); }
}

@media (max-width:860px) {
  body[data-page="login"] { height:100dvh; min-height:0; overflow:hidden; background:#081321; }
  body[data-page="login"] .auth-shell { height:100dvh !important; min-height:0 !important; display:block !important; overflow:hidden; background:transparent !important; }
  body[data-page="login"] .auth-visual { display:none !important; }
  body[data-page="login"] .auth-panel {
    height:100dvh; min-height:0 !important; padding:max(54px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom)) !important;
    justify-content:center !important;
    background:
      linear-gradient(180deg, rgba(6,15,29,.48) 0%, rgba(8,18,33,.66) 48%, rgba(8,18,33,.82) 100%),
      var(--auth-bg-mobile),
      linear-gradient(180deg,#081321 0%,#0c182a 52%,#08121f 100%) !important;
    background-position:center, var(--auth-bg-mobile-position), center !important;
    background-size:cover, cover, cover !important;
    background-repeat:no-repeat !important;
  }
  .auth-mobile-ambient {
    display:block;
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
      radial-gradient(circle at 50% 10%, rgba(104,79,255,.10), transparent 34%),
      linear-gradient(180deg, transparent 42%, rgba(5,12,24,.20) 100%);
  }
  .auth-mobile-ambient::before {
    content:"";
    position:absolute;
    width:128%;
    height:150px;
    left:-14%;
    top:15%;
    border-radius:999px;
    transform:rotate(-14deg);
    background:linear-gradient(90deg,transparent,rgba(103,83,255,.13),rgba(73,105,245,.16),transparent);
    border:1px solid rgba(156,177,255,.08);
    filter:blur(.2px);
  }
  .auth-mobile-ambient::after {
    content:"";
    position:absolute;
    width:118%;
    height:120px;
    right:-30%;
    bottom:8%;
    border-radius:999px;
    transform:rotate(18deg);
    background:linear-gradient(90deg,transparent,rgba(71,108,240,.10),rgba(116,89,255,.10),transparent);
    border:1px solid rgba(156,177,255,.06);
  }
  body[data-page="login"] .auth-card { width:min(460px,100%) !important; padding:25px 22px 22px; border-radius:20px; background:rgba(14,28,50,.82); box-shadow:0 22px 52px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.03); }
  body[data-page="login"] .auth-brand { justify-content:center; margin-bottom:22px; }
  body[data-page="login"] .auth-card .brand-logo { width:44px; height:44px; flex-basis:44px; }
  body[data-page="login"] .auth-card .auth-alpha-wordmark { width:106px; height:26px; }
  .auth-heading { text-align:center; margin-bottom:22px; }
  body[data-page="login"] .auth-card h1 { font-size:30px; }
  .auth-heading > p:last-child { max-width:320px; margin-left:auto; margin-right:auto; }
  body[data-page="login"] .auth-theme { top:max(12px,env(safe-area-inset-top)) !important; right:12px !important; }
  html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-panel {
    background:
      linear-gradient(180deg, rgba(246,249,255,.62), rgba(237,243,255,.80)),
      var(--auth-bg-mobile),
      linear-gradient(180deg,#f4f7ff 0%,#eaf0fc 100%) !important;
    background-position:center, var(--auth-bg-mobile-position), center !important;
    background-size:cover, cover, cover !important;
    background-repeat:no-repeat !important;
  }
  html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-card { background:rgba(255,255,255,.84); }
}

@media (max-width:480px) {
  body[data-page="login"] .auth-panel { padding-left:13px !important; padding-right:13px !important; }
  body[data-page="login"] .auth-card { padding:22px 17px 19px; border-radius:19px; }
  body[data-page="login"] .auth-brand { margin-bottom:18px; }
  body[data-page="login"] .auth-card h1 { font-size:28px; }
  .auth-heading { margin-bottom:18px; }
  body[data-page="login"] .auth-field { margin-bottom:13px; }
  body[data-page="login"] .auth-control, body[data-page="login"] .auth-submit { min-height:48px; }
}

@media (max-height:650px) {
  body[data-page="login"] .auth-panel { padding-top:18px !important; padding-bottom:18px !important; }
  body[data-page="login"] .auth-card { padding-top:22px; padding-bottom:20px; }
  body[data-page="login"] .auth-brand { margin-bottom:16px; }
  .auth-heading { margin-bottom:16px; }
  body[data-page="login"] .auth-field { margin-bottom:12px; }
}

@media (prefers-reduced-motion:no-preference) {
  .auth-abstract-art { animation:authAbstractDrift 12s ease-in-out infinite alternate; }
  .auth-abstract-band-b { animation:authAbstractBand 10s ease-in-out infinite alternate; }
  body[data-page="login"] .auth-card { animation:authCardIn .42s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes authAbstractDrift { from { transform:translateY(-50%) translateX(0); } to { transform:translateY(-51%) translateX(-7px); } }
@keyframes authAbstractBand { from { opacity:.78; } to { opacity:1; } }
@keyframes authCardIn { from { opacity:0; transform:translateY(10px) scale(.994); } to { opacity:1; transform:translateY(0) scale(1); } }

body[data-page="login"] .auth-control::selection { background:rgba(103,131,250,.28); color:#ffffff; }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control::selection { background:rgba(103,131,250,.20); color:#17243a; }

/* Fondo externo: las decoraciones anteriores quedan fuera para no competir con la imagen. */
.auth-abstract-art { display:none !important; }

html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-visual {
  background:
    var(--auth-bg-desktop),
    linear-gradient(145deg,#eef3ff 0%,#e7efff 100%) !important;
  background-position:var(--auth-bg-desktop-position), center !important;
  background-size:cover, cover !important;
  background-repeat:no-repeat !important;
}

/* ALFA v1.22.93 · Fondo cinematográfico animado */
body[data-page="login"] .auth-visual {
  background:linear-gradient(145deg,#07101f 0%,#0b1730 48%,#0f1c34 100%) !important;
}
body[data-page="login"] .auth-visual::before {
  content:"" !important;
  position:absolute;
  inset:-5%;
  z-index:-2;
  pointer-events:none;
  background-image:var(--auth-bg-desktop);
  background-position:var(--auth-bg-desktop-position);
  background-size:cover;
  background-repeat:no-repeat;
  transform:translate3d(0,0,0) scale(1.045);
  transform-origin:52% 48%;
  will-change:transform;
}
body[data-page="login"] .auth-visual::after {
  content:"" !important;
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,13,27,.26) 0%,rgba(6,15,30,.34) 52%,rgba(7,16,31,.68) 100%),
    radial-gradient(circle at 18% 16%,rgba(100,82,236,.10),transparent 34%);
}
body[data-page="login"] .auth-visual-grid {
  z-index:0;
  opacity:.035;
  pointer-events:none;
}
body[data-page="login"] .auth-visual-content { z-index:2; }

@media (max-width:860px) {
  body[data-page="login"] .auth-panel {
    background:linear-gradient(180deg,#081321 0%,#0b1729 52%,#07111e 100%) !important;
  }
  body[data-page="login"] .auth-mobile-ambient {
    display:block;
    position:absolute;
    inset:-5%;
    z-index:-1;
    pointer-events:none;
    background-image:var(--auth-bg-mobile);
    background-position:var(--auth-bg-mobile-position);
    background-size:cover;
    background-repeat:no-repeat;
    transform:translate3d(0,0,0) scale(1.035);
    transform-origin:50% 32%;
    will-change:transform;
  }
  body[data-page="login"] .auth-mobile-ambient::before {
    content:"";
    position:absolute;
    inset:0;
    width:auto;
    height:auto;
    left:0;
    top:0;
    border:0;
    border-radius:0;
    transform:none;
    filter:none;
    background:linear-gradient(180deg,rgba(5,13,27,.28) 0%,rgba(6,15,29,.42) 34%,rgba(7,16,30,.69) 67%,rgba(6,14,26,.84) 100%);
  }
  body[data-page="login"] .auth-mobile-ambient::after {
    content:"";
    position:absolute;
    inset:-12% -18%;
    width:auto;
    height:auto;
    right:auto;
    bottom:auto;
    border:0;
    border-radius:50%;
    transform:none;
    background:radial-gradient(circle at 38% 18%,rgba(116,92,255,.12),transparent 32%);
    opacity:.75;
  }
  body[data-page="login"] .auth-card { z-index:1; }
  html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-panel {
    background:linear-gradient(180deg,#f4f7ff 0%,#eaf0fc 100%) !important;
  }
  html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-mobile-ambient::before {
    background:linear-gradient(180deg,rgba(8,18,35,.12) 0%,rgba(10,21,40,.18) 38%,rgba(13,25,48,.28) 72%,rgba(14,26,49,.34) 100%);
  }
}

html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-visual {
  background:linear-gradient(145deg,#eef3ff 0%,#e7efff 100%) !important;
}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-visual::after {
  background:
    linear-gradient(90deg,rgba(7,16,31,.10) 0%,rgba(10,20,39,.16) 52%,rgba(12,23,44,.28) 100%),
    radial-gradient(circle at 18% 16%,rgba(87,111,255,.08),transparent 34%);
}

@media (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-visual::before {
    animation:authLoginBackgroundDesktop 14s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  }
  body[data-page="login"] .auth-mobile-ambient {
    animation:authLoginBackgroundMobile 10s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  }
  body[data-page="login"] .auth-mobile-ambient::after {
    animation:authLoginGlowMobile 9s ease-in-out infinite alternate;
  }
}
@keyframes authLoginBackgroundDesktop {
  0% { transform:translate3d(0,0,0) scale(1.045); }
  50% { transform:translate3d(-1.1%,-.45%,0) scale(1.072); }
  100% { transform:translate3d(-2.2%,.7%,0) scale(1.095); }
}
@keyframes authLoginBackgroundMobile {
  0% { transform:translate3d(0,0,0) scale(1.035); }
  50% { transform:translate3d(.7%,-1%,0) scale(1.06); }
  100% { transform:translate3d(-.6%,-2%,0) scale(1.082); }
}
@keyframes authLoginGlowMobile {
  from { opacity:.48; transform:translate3d(-1%,0,0) scale(.98); }
  to { opacity:.88; transform:translate3d(2%,1%,0) scale(1.04); }
}

@media (prefers-reduced-motion:reduce) {
  body[data-page="login"] .auth-visual::before,
  body[data-page="login"] .auth-mobile-ambient,
  body[data-page="login"] .auth-mobile-ambient::after {
    animation:none !important;
    transform:none;
  }
}

html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-hero-copy h2 { color:#f8fbff; text-shadow:0 8px 34px rgba(9,20,43,.22); }
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-hero-description { color:rgba(247,250,255,.78); text-shadow:0 4px 18px rgba(9,20,43,.18); }

/* ALFA v1.76.15.96 — Login: motion premium, independiente de la lógica de autenticación */
body[data-page="login"] .auth-panel::before,
body[data-page="login"] .auth-panel::after {
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  opacity:.46;
}
body[data-page="login"] .auth-panel::before {
  width:min(68vw,610px);aspect-ratio:1;right:-35%;top:-32%;
  background:radial-gradient(circle,rgba(102,91,242,.17),rgba(74,106,255,.06) 47%,transparent 72%);
}
body[data-page="login"] .auth-panel::after {
  width:min(52vw,470px);aspect-ratio:1;left:-30%;bottom:-32%;
  background:radial-gradient(circle,rgba(65,106,247,.15),rgba(103,74,231,.03) 54%,transparent 76%);
}
body[data-page="login"] .auth-panel .auth-card {z-index:2}
body[data-page="login"] .auth-hero-brand,
body[data-page="login"] .auth-hero-copy {position:relative;z-index:2}
body[data-page="login"] .auth-hero-copy h2,
body[data-page="login"] .auth-heading h1 {text-wrap:balance}
body[data-page="login"] .auth-hero-copy h2 span {display:inline-block;transform-origin:left center}
body[data-page="login"] .auth-field {position:relative}
body[data-page="login"] .auth-field label {transition:color .22s ease}
body[data-page="login"] .auth-field:focus-within label {color:#b5c4ff}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-field:focus-within label {color:#3f5fe2}
body[data-page="login"] .auth-control {transition:border-color .22s ease,box-shadow .24s ease,background-color .22s ease}
body[data-page="login"] .auth-control:focus {box-shadow:0 0 0 3px rgba(99,117,255,.16),0 8px 22px rgba(35,55,128,.08)}
body[data-page="login"] .auth-submit {
  position:relative;isolation:isolate;overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,filter .24s ease;
}
body[data-page="login"] .auth-submit::before {
  content:"";position:absolute;z-index:0;top:-45%;bottom:-45%;width:36%;left:-50%;
  transform:skewX(-22deg) translateX(0);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  pointer-events:none;opacity:0;
  transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .16s;
}
body[data-page="login"] .auth-submit > * {position:relative;z-index:1}
body[data-page="login"] .auth-submit:not(:disabled):hover::before,
body[data-page="login"] .auth-submit:not(:disabled):focus-visible::before {
  opacity:1;transform:skewX(-22deg) translateX(530%);
}
body[data-page="login"] .auth-submit:not(:disabled):hover {
  transform:translateY(-2px);
  box-shadow:0 14px 31px rgba(48,83,241,.33),inset 0 1px rgba(255,255,255,.22);
}
body[data-page="login"] .auth-submit:not(:disabled):active {transform:translateY(0) scale(.992)}
body[data-page="login"] .auth-submit svg {transition:transform .24s ease}
body[data-page="login"] .auth-submit:not(:disabled):hover svg {transform:translateX(3px)}
body[data-page="login"] .auth-theme {transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
body[data-page="login"] .auth-theme:hover {transform:rotate(18deg)}
body[data-page="login"] .auth-link {transition:color .2s ease,transform .2s ease}
body[data-page="login"] .auth-link:hover {transform:translateY(-1px)}
body[data-page="login"] .form-error,
body[data-page="login"] .alpha-static-success {animation:alfaLoginNotice .28s ease-out both}

@media (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-panel::before {animation:alfaLoginHaloA 17s ease-in-out infinite alternate}
  body[data-page="login"] .auth-panel::after {animation:alfaLoginHaloB 20s ease-in-out infinite alternate}
  body[data-page="login"] .auth-card {animation:alfaLoginCard .75s cubic-bezier(.16,1,.3,1) both}
  body[data-page="login"] .auth-card::after {
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:linear-gradient(117deg,transparent 27%,rgba(255,255,255,.10) 49%,transparent 68%);
    animation:alfaLoginGlint 1.12s .35s ease-out both;
  }
  body[data-page="login"] .auth-hero-logo {animation:alfaLoginLogo .88s .06s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-hero-wordmark {animation:alfaLoginCopy .7s .2s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-hero-copy h2 {animation:alfaLoginCopy .86s .34s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-hero-copy h2 span {animation:alfaLoginCopy .68s .54s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-hero-description {animation:alfaLoginCopy .66s .72s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-card .auth-brand {animation:alfaLoginCopy .62s .24s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-heading {animation:alfaLoginCopy .58s .30s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-field {animation:alfaLoginField .58s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-field:nth-child(1) {animation-delay:.40s}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-field:nth-child(2) {animation-delay:.49s}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-field:nth-child(3) {animation-delay:.58s}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-submit {animation:alfaLoginField .6s .61s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] [data-auth-panel]:not(.hidden) .auth-link {animation:alfaLoginCopy .56s .72s cubic-bezier(.2,.8,.2,1) both}
  body[data-page="login"] .auth-legal-links {animation:alfaLoginCopy .52s .82s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes alfaLoginCard {
  from {opacity:0;transform:perspective(1100px) translate3d(0,32px,0) rotateX(4deg) scale(.972)}
  65% {opacity:1}
  to {opacity:1;transform:perspective(1100px) translate3d(0,0,0) rotateX(0) scale(1)}
}
@keyframes alfaLoginGlint {
  from {transform:translateX(-115%);opacity:0}
  22% {opacity:.5}
  to {transform:translateX(115%);opacity:0}
}
@keyframes alfaLoginLogo {
  from {opacity:0;transform:translate3d(0,14px,0) scale(.78) rotate(-8deg)}
  to {opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}
}
@keyframes alfaLoginCopy {
  from {opacity:0;transform:translate3d(0,15px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@keyframes alfaLoginField {
  from {opacity:0;transform:translate3d(0,12px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@keyframes alfaLoginNotice {
  from {opacity:0;transform:translate3d(0,-5px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@keyframes alfaLoginHaloA {
  from {transform:translate3d(0,0,0) scale(.96);opacity:.3}
  to {transform:translate3d(-5%,7%,0) scale(1.1);opacity:.52}
}
@keyframes alfaLoginHaloB {
  from {transform:translate3d(0,0,0) scale(1);opacity:.28}
  to {transform:translate3d(8%,-5%,0) scale(1.12);opacity:.45}
}
@media (max-width:860px) {
  body[data-page="login"] .auth-panel::before {right:-50%;top:-22%}
  body[data-page="login"] .auth-panel::after {left:-55%;bottom:-22%}
}
@media (prefers-reduced-motion:reduce) {
  body[data-page="login"] .auth-card,
  body[data-page="login"] .auth-card::after,
  body[data-page="login"] .auth-panel::before,
  body[data-page="login"] .auth-panel::after,
  body[data-page="login"] .auth-hero-logo,
  body[data-page="login"] .auth-hero-wordmark,
  body[data-page="login"] .auth-hero-copy h2,
  body[data-page="login"] .auth-hero-copy h2 span,
  body[data-page="login"] .auth-hero-description,
  body[data-page="login"] .auth-card .auth-brand,
  body[data-page="login"] [data-auth-panel] .auth-heading,
  body[data-page="login"] [data-auth-panel] .auth-field,
  body[data-page="login"] [data-auth-panel] .auth-submit,
  body[data-page="login"] [data-auth-panel] .auth-link,
  body[data-page="login"] .auth-legal-links,
  body[data-page="login"] .form-error,
  body[data-page="login"] .alpha-static-success {animation:none !important}
  body[data-page="login"] .auth-submit::before {display:none}
  body[data-page="login"] .auth-submit,
  body[data-page="login"] .auth-submit svg,
  body[data-page="login"] .auth-theme,
  body[data-page="login"] .auth-link,
  body[data-page="login"] .auth-control,
  body[data-page="login"] .auth-field label {transition:none !important}
  body[data-page="login"] .auth-submit:hover,
  body[data-page="login"] .auth-submit:active,
  body[data-page="login"] .auth-theme:hover,
  body[data-page="login"] .auth-link:hover {transform:none !important}
}

/* ALFA v1.76.15.97 — Acceso premium, sobre el login .96.
   No se altera el flujo de autenticación ni los estados de los formularios. */
body[data-page="login"] {
  --alfa97-electric:#5576ff;
  --alfa97-violet:#8266f8;
  --alfa97-ink:#081224;
}
body[data-page="login"] .auth-shell {
  grid-template-columns:minmax(500px,1.12fr) minmax(410px,.88fr) !important;
}
body[data-page="login"] .auth-visual {
  padding:clamp(32px,4.3vw,76px) !important;
}
body[data-page="login"] .auth-visual::after {
  background:
    linear-gradient(90deg,rgba(4,12,28,.24),rgba(5,14,31,.26) 50%,rgba(5,14,30,.70) 100%),
    linear-gradient(180deg,rgba(8,17,36,.08) 12%,transparent 44%,rgba(4,12,26,.46) 100%),
    radial-gradient(circle at 49% 50%,rgba(80,90,240,.12),transparent 55%) !important;
}
body[data-page="login"] .auth-visual-grid {
  z-index:1;
  opacity:.1;
  background-size:64px 64px;
}
body[data-page="login"] .auth-visual-content {
  width:min(790px,100%);
}
body[data-page="login"] .auth-hero-brand {
  gap:13px;
}
body[data-page="login"] .auth-hero-logo {
  filter:drop-shadow(0 5px 22px rgba(94,114,255,.25));
}
body[data-page="login"] .auth-hero-wordmark {
  background:#b1c0ff;
}
body[data-page="login"] .auth-hero-copy {
  width:min(630px,98%);
  margin:auto 0 13%;
  padding-left:clamp(0px,1.4vw,20px);
  border-left:2px solid rgba(137,157,255,.52);
}
body[data-page="login"] .auth-hero-copy h2 {
  font-size:clamp(43px,4.9vw,76px);
  font-weight:790;
  letter-spacing:-.061em;
  line-height:.99;
  text-shadow:0 12px 45px rgba(3,9,27,.42);
}
body[data-page="login"] .auth-hero-copy h2 span {
  color:#7087ff;
  text-shadow:0 7px 33px rgba(60,78,225,.28);
}
body[data-page="login"] .auth-hero-description {
  max-width:470px;
  margin-top:22px;
  color:#c6d2e9;
  font-size:15px;
  line-height:1.6;
}
/* Atmospheric highlights stay behind the content, never take input events. */
body[data-page="login"] .auth-orbit-atmosphere {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:.7;
}
body[data-page="login"] .auth-orbit-atmosphere::before,
body[data-page="login"] .auth-orbit-atmosphere::after {
  content:"";
  position:absolute;
  width:clamp(430px,53vw,920px);
  aspect-ratio:1.75;
  left:-21%;
  bottom:2%;
  border:1px solid rgba(134,163,255,.16);
  border-radius:50%;
  transform:rotate(-23deg);
  box-shadow:0 0 22px rgba(77,107,245,.035);
}
body[data-page="login"] .auth-orbit-atmosphere::after {
  width:clamp(580px,65vw,1150px);
  left:-32%;
  bottom:-4%;
  border-color:rgba(154,121,255,.1);
  transform:rotate(-28deg);
}
body[data-page="login"] .auth-orbit-atmosphere i {
  position:absolute;
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b3bdff;
  box-shadow:0 0 0 4px rgba(126,134,255,.08),0 0 19px 6px rgba(110,119,255,.35);
}
body[data-page="login"] .auth-orbit-atmosphere i:nth-child(1) {left:21%;bottom:32%;}
body[data-page="login"] .auth-orbit-atmosphere i:nth-child(2) {left:62%;bottom:23%;width:3px;height:3px;}
body[data-page="login"] .auth-orbit-atmosphere i:nth-child(3) {left:47%;bottom:57%;width:4px;height:4px;}

body[data-page="login"] .auth-panel {
  padding:clamp(28px,3.5vw,58px) clamp(28px,3vw,66px) !important;
  background:
    radial-gradient(ellipse at 100% 4%,rgba(95,82,219,.13),transparent 47%),
    radial-gradient(ellipse at 0% 100%,rgba(52,93,235,.11),transparent 48%),
    linear-gradient(155deg,#0c182a 0%,#0a1628 53%,#081223 100%) !important;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(126,148,210,.2) transparent;
}
body[data-page="login"] .auth-panel::before {
  width:min(64vw,640px);
  right:-35%;
  top:-27%;
  background:radial-gradient(circle,rgba(109,85,248,.13),transparent 71%);
}
body[data-page="login"] .auth-panel::after {
  width:min(56vw,560px);
  left:-30%;
  bottom:-35%;
  background:radial-gradient(circle,rgba(68,98,247,.17),transparent 70%);
}
body[data-page="login"] .auth-card {
  width:min(488px,100%) !important;
  box-sizing:border-box;
  padding:clamp(30px,3vw,45px) !important;
  border-radius:15px !important;
  border:1px solid rgba(146,165,210,.25) !important;
  background:linear-gradient(149deg,rgba(24,39,68,.96),rgba(12,24,44,.93) 70%) !important;
  box-shadow:0 30px 80px rgba(0,5,19,.35),0 0 54px rgba(76,91,214,.065),inset 0 1px rgba(255,255,255,.07);
  backdrop-filter:blur(22px);
}
body[data-page="login"] .auth-card::before {
  background:
    radial-gradient(ellipse at 100% 0%,rgba(112,84,241,.12),transparent 38%),
    radial-gradient(ellipse at 0% 44%,rgba(70,111,253,.06),transparent 50%);
}
body[data-page="login"] .auth-card-topline { display:none !important; }
body[data-page="login"] .auth-brand {
  width:100%;
  margin-bottom:28px !important;
  padding-bottom:24px;
  border-bottom:1px solid rgba(165,181,219,.14);
  gap:12px;
}
body[data-page="login"] .auth-card .brand-logo {width:42px;height:42px;flex-basis:42px;}
body[data-page="login"] .auth-card .auth-alpha-wordmark {background:#a6b8ff;}
body[data-page="login"] .auth-heading {margin-bottom:24px;}
body[data-page="login"] .auth-card h1 {
  font-weight:780;
  letter-spacing:-.052em;
  font-size:clamp(30px,2.75vw,39px);
}
body[data-page="login"] .auth-login-lead {
  display:block;
  margin:11px 0 0;
  color:#abbcd7;
  font-size:13px;
  font-weight:450;
  line-height:1.5;
}
body[data-page="login"] .auth-field {margin-bottom:19px;gap:8px;}
body[data-page="login"] .auth-field label {font-size:12px;letter-spacing:.015em;color:#cdd7ed;}
body[data-page="login"] .auth-control {
  min-height:52px;
  border-radius:9px !important;
  background:rgba(5,14,29,.51);
  border-color:rgba(147,167,215,.26);
  transition:border-color .21s ease,box-shadow .23s ease,background-color .21s ease,transform .21s ease !important;
}
body[data-page="login"] .auth-control:hover {
  border-color:rgba(145,160,255,.44);
}
body[data-page="login"] .auth-control:focus {
  background:rgba(7,18,38,.84);
  border-color:#8c9cff;
  box-shadow:0 0 0 3px rgba(102,118,255,.17),0 0 23px rgba(83,95,231,.1);
}
body[data-page="login"] .auth-submit {
  border-radius:9px !important;
  min-height:54px;
  margin-top:9px;
  background:linear-gradient(107deg,#406fff,#4a62f5 58%,#7758ed) !important;
  border-color:rgba(166,180,255,.35);
  box-shadow:0 12px 28px rgba(45,77,222,.30),inset 0 1px rgba(255,255,255,.18);
}
body[data-page="login"] .auth-submit:disabled {opacity:.65;cursor:wait;transform:none;}
body[data-page="login"] .auth-submit:focus-visible,
body[data-page="login"] .auth-link:focus-visible,
body[data-page="login"] .auth-theme:focus-visible,
body[data-page="login"] .auth-legal-links a:focus-visible {
  outline:2px solid #b9c3ff;
  outline-offset:3px;
}
body[data-page="login"] .auth-link {
  margin-top:15px;
  color:#a7b8ff;
  text-underline-offset:3px;
}
body[data-page="login"] .auth-legal-links {
  margin-top:22px;
  color:#94a4be;
  font-size:12px;
  position:relative;
  z-index:2;
}
body[data-page="login"] .auth-theme {
  width:42px;height:42px;
  border-radius:10px;
  top:22px !important;
  right:24px !important;
  background:rgba(19,30,53,.8);
}

/* Light theme: identical geometry, carefully balanced contrast. */
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-panel {
  background:
    radial-gradient(ellipse at 100% 7%,rgba(123,100,248,.10),transparent 44%),
    radial-gradient(ellipse at 0% 94%,rgba(77,110,246,.08),transparent 52%),
    linear-gradient(154deg,#f8faff 0%,#eff3fd 100%) !important;
}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-card {
  background:linear-gradient(160deg,rgba(255,255,255,.985),rgba(248,250,255,.975)) !important;
  border-color:#d9e1f1 !important;
  box-shadow:0 30px 74px rgba(25,49,105,.15),inset 0 1px #fff;
}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-brand {border-bottom-color:#e3e9f4;}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-login-lead {color:#637189;}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-field label {color:#31405b;}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control {background:#f8faff;border-color:#d8e0f0;}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-control:focus {background:#fff;box-shadow:0 0 0 3px rgba(95,105,247,.13),0 8px 22px rgba(64,79,170,.05);}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-theme {background:#fff;}

/* Work comfortably on laptops and smaller devices. */
@media (max-width:1120px) {
  body[data-page="login"] .auth-shell {grid-template-columns:minmax(390px,1fr) minmax(390px,1fr) !important;}
  body[data-page="login"] .auth-visual {padding:34px !important;}
  body[data-page="login"] .auth-hero-copy {width:100%;margin-bottom:14%;}
  body[data-page="login"] .auth-hero-copy h2 {font-size:clamp(42px,5vw,62px);}
  body[data-page="login"] .auth-card {padding:30px !important;}
}
@media (max-width:860px) {
  body[data-page="login"] .auth-shell {display:block !important;}
  body[data-page="login"] .auth-panel {
    padding:max(56px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom)) !important;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  body[data-page="login"] .auth-orbit-atmosphere {display:none;}
  body[data-page="login"] .auth-card {
    width:min(470px,100%) !important;
    padding:28px !important;
    border-radius:14px !important;
  }
  body[data-page="login"] .auth-brand {margin-bottom:23px !important;padding-bottom:20px;justify-content:flex-start;}
  body[data-page="login"] .auth-heading {text-align:left;margin-bottom:22px;}
  body[data-page="login"] .auth-login-lead {margin-left:0;}
  body[data-page="login"] .auth-theme {top:max(11px,env(safe-area-inset-top)) !important;right:14px !important;}
}
@media (max-width:480px) {
  body[data-page="login"] .auth-card {padding:22px !important;border-radius:12px !important;}
  body[data-page="login"] .auth-brand {margin-bottom:19px !important;padding-bottom:17px;}
  body[data-page="login"] .auth-field {margin-bottom:15px;}
  body[data-page="login"] .auth-control {min-height:49px;}
  body[data-page="login"] .auth-submit {min-height:50px;}
  body[data-page="login"] .auth-legal-links {margin-top:16px;}
}
@media (max-height:650px) {
  body[data-page="login"] .auth-panel {justify-content:flex-start !important;}
  body[data-page="login"] .auth-card {margin:auto 0;}
  body[data-page="login"] .auth-brand {margin-bottom:18px !important;padding-bottom:16px;}
  body[data-page="login"] .auth-heading {margin-bottom:18px;}
  body[data-page="login"] .auth-field {margin-bottom:12px;}
}
/* .96 orchestrated animations remain intact; add discreet orbital pulses. */
@keyframes alfa97OrbitLight {
  0%,100% {opacity:.47;transform:scale(.9)}
  50% {opacity:.93;transform:scale(1.17)}
}
@media (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-orbit-atmosphere i:nth-child(1) {animation:alfa97OrbitLight 5.8s ease-in-out infinite;}
  body[data-page="login"] .auth-orbit-atmosphere i:nth-child(2) {animation:alfa97OrbitLight 7.7s ease-in-out -2s infinite;}
  body[data-page="login"] .auth-orbit-atmosphere i:nth-child(3) {animation:alfa97OrbitLight 6.5s ease-in-out -3s infinite;}
}
@media (prefers-reduced-motion:reduce) {
  body[data-page="login"] .auth-orbit-atmosphere *,
  body[data-page="login"] .auth-orbit-atmosphere::before,
  body[data-page="login"] .auth-orbit-atmosphere::after {
    animation:none !important;transition:none !important;
  }
}


/* ALFA v1.76.15.98 — Login: geometría estable, branding único y motion espacial.
   Estos overrides actúan sobre el Login existente, sin cambiar el contrato JS. */
body[data-page="login"],
body[data-page="login"] #app,
body[data-page="login"] .app-root,
body[data-page="login"] .auth-shell {
  height:100vh !important;
  height:100dvh !important;
  min-height:0 !important;
}

@media (min-width:861px) {
  /* Antes: overflow-y:auto en el panel. Permitía desplazar y descentrar la tarjeta. */
  body[data-page="login"] .auth-panel {
    box-sizing:border-box;
    height:100dvh;
    overflow:hidden !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    padding:clamp(16px,3.4vh,38px) clamp(22px,3.4vw,64px) !important;
  }
  body[data-page="login"] .auth-card {
    flex:0 0 auto;
    margin:0 !important;
    padding:clamp(24px,3.4vh,36px) clamp(26px,2.75vw,42px) !important;
    width:min(480px,100%) !important;
    max-height:calc(100dvh - 44px);
  }
  /* Marca en el hero. En móvil el hero se oculta y el logo del formulario reaparece. */
  body[data-page="login"] .auth-card > .auth-brand {display:none !important;}
  body[data-page="login"] .auth-heading {margin-bottom:clamp(17px,2.3vh,24px);}
  body[data-page="login"] .auth-field {margin-bottom:clamp(12px,1.9vh,18px);}
  body[data-page="login"] .auth-legal-links {margin-top:clamp(13px,2.1vh,22px);}
  body[data-page="login"] .auth-hero-copy {margin:auto 0;}
}

/* Portátiles: centra sin recortar encabezado o botón con 620–760 px de altura. */
@media (min-width:861px) and (max-height:780px) {
  body[data-page="login"] .auth-card {padding:clamp(18px,2.8vh,27px) 32px !important;}
  body[data-page="login"] .auth-heading {margin-bottom:17px;}
  body[data-page="login"] .auth-card h1 {font-size:32px;}
  body[data-page="login"] .auth-field {margin-bottom:12px;gap:5px;}
  body[data-page="login"] .auth-control {min-height:45px;}
  body[data-page="login"] .auth-submit {min-height:47px;margin-top:5px;}
  body[data-page="login"] .auth-link {margin-top:9px;}
  body[data-page="login"] .auth-legal-links {margin-top:12px;}
  body[data-page="login"] .auth-hero-copy h2 {font-size:clamp(38px,4.3vw,62px);}
}
/* En viewports extremadamente bajos, no ocultar un formulario de recuperación. */
@media (min-width:861px) and (max-height:520px) {
  body[data-page="login"] .auth-panel {
    overflow-y:auto !important;
    overflow-x:hidden !important;
    justify-content:flex-start !important;
    overscroll-behavior:contain;
  }
  body[data-page="login"] .auth-card {max-height:none; margin:auto 0 !important;}
}
@media (max-width:860px) {
  body[data-page="login"] .auth-panel {
    box-sizing:border-box;
    height:100dvh;
    min-height:0;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    justify-content:flex-start !important;
    align-items:center !important;
    padding-top:max(62px, env(safe-area-inset-top)) !important;
    padding-bottom:max(20px, env(safe-area-inset-bottom)) !important;
    overscroll-behavior-y:contain;
  }
  body[data-page="login"] .auth-card {
    flex:0 0 auto;
    margin:auto 0 !important;
    max-height:none;
  }
  body[data-page="login"] .auth-card > .auth-brand {display:flex !important;}
  body[data-page="login"] .auth-signal-field {display:none;}
}

/* Elementos de luz: absolutamente posicionados, sin hit-testing ni layout shift. */
body[data-page="login"] .auth-signal-field {
  position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;
}
body[data-page="login"] .auth-signal-field i {
  position:absolute;display:block;width:5px;height:5px;border-radius:50%;
  background:#d9e1ff;
  box-shadow:0 0 0 3px rgba(106,133,255,.18),0 0 18px 4px rgba(120,139,255,.46);
  opacity:.78;
}
body[data-page="login"] .auth-signal-field i:nth-child(1) {left:12%;top:20%;}
body[data-page="login"] .auth-signal-field i:nth-child(2) {left:65%;top:38%;width:4px;height:4px;}
body[data-page="login"] .auth-signal-field i:nth-child(3) {left:34%;top:71%;}
body[data-page="login"] .auth-signal-field i:nth-child(4) {left:77%;top:74%;width:3px;height:3px;}
body[data-page="login"] .auth-signal-field i:nth-child(5) {left:19%;top:54%;width:3px;height:3px;}
body[data-page="login"] .auth-signal-field i:nth-child(6) {left:88%;top:22%;width:4px;height:4px;}

/* Tarjeta y controles con movimiento solo en transform/opacity. */
body[data-page="login"] .auth-card {
  transform-origin:center center;
  will-change:auto;
  transition:border-color .3s ease,box-shadow .4s ease;
}
body[data-page="login"] .auth-card:focus-within {
  border-color:rgba(131,147,248,.47) !important;
  box-shadow:0 26px 76px rgba(0,6,23,.34),0 0 35px rgba(103,92,247,.12),inset 0 1px rgba(255,255,255,.06);
}
html:not([data-alpha-theme="dark"]) body[data-page="login"] .auth-card:focus-within {
  box-shadow:0 23px 65px rgba(40,62,121,.17),0 0 30px rgba(85,98,241,.08);
}
body[data-page="login"] .auth-hero-copy h2 span {
  color:#8b98ff;
  background:linear-gradient(108deg,#5e7bff 0%,#a690ff 40%,#6387ff 65%,#9584ff 100%);
  background-size:240% 100%;
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
body[data-page="login"] .auth-control:focus {
  transition:border-color .24s ease,background-color .24s ease,box-shadow .3s ease !important;
}
body[data-page="login"] .auth-hero-brand .auth-hero-logo {
  transform-origin:center center;
}

@keyframes alfa98Signal {
  0%,100% {opacity:.25;transform:translate3d(0,9px,0) scale(.68);}
  45% {opacity:.92;transform:translate3d(0,-11px,0) scale(1.23);}
  65% {opacity:.64;transform:translate3d(3px,-16px,0) scale(.95);}
}
@keyframes alfa98OrbitA {
  0% {transform:rotate(-23deg) scale(.97);opacity:.37;}
  50% {transform:rotate(-16deg) scale(1.045);opacity:.84;}
  100% {transform:rotate(-27deg) scale(.98);opacity:.45;}
}
@keyframes alfa98OrbitB {
  0% {transform:rotate(-28deg) scale(1);opacity:.40;}
  50% {transform:rotate(-34deg) scale(1.035);opacity:.83;}
  100% {transform:rotate(-24deg) scale(.98);opacity:.46;}
}
@keyframes alfa98Spectrum {
  0%,100% {background-position:0% 50%;}
  50% {background-position:100% 50%;}
}
@keyframes alfa98CardBreathe {
  0%,100% {box-shadow:0 22px 62px rgba(0,6,23,.28),0 0 30px rgba(77,96,216,.04);}
  50% {box-shadow:0 26px 70px rgba(0,6,23,.30),0 0 45px rgba(103,93,239,.11);}
}
@keyframes alfa98HeroBrandHalo {
  0%,100% {filter:drop-shadow(0 5px 14px rgba(73,112,245,.25));}
  50% {filter:drop-shadow(0 6px 24px rgba(125,118,255,.55));}
}
@keyframes alfa98ThemeFloat {
  0% {opacity:.5;transform:translate3d(0,0,0) scale(1);}
  50% {opacity:.83;transform:translate3d(1.2%,-.8%,0) scale(1.04);}
  100% {opacity:.6;transform:translate3d(-.8%,1%,0) scale(1);}
}
@media (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-signal-field i {animation:alfa98Signal 5.5s ease-in-out infinite;}
  body[data-page="login"] .auth-signal-field i:nth-child(2) {animation-delay:-1.2s;animation-duration:6.9s;}
  body[data-page="login"] .auth-signal-field i:nth-child(3) {animation-delay:-2.3s;animation-duration:7.6s;}
  body[data-page="login"] .auth-signal-field i:nth-child(4) {animation-delay:-3.3s;animation-duration:6.2s;}
  body[data-page="login"] .auth-signal-field i:nth-child(5) {animation-delay:-4.1s;animation-duration:8.2s;}
  body[data-page="login"] .auth-signal-field i:nth-child(6) {animation-delay:-2.7s;animation-duration:6.6s;}
  body[data-page="login"] .auth-orbit-atmosphere::before {animation:alfa98OrbitA 19s ease-in-out infinite alternate;}
  body[data-page="login"] .auth-orbit-atmosphere::after {animation:alfa98OrbitB 24s ease-in-out infinite alternate;}
  body[data-page="login"] .auth-hero-copy h2 span {animation:alfa98Spectrum 14s ease-in-out infinite alternate;}
  body[data-page="login"] .auth-hero-logo {animation:alfaLoginLogo .88s .06s cubic-bezier(.2,.8,.2,1) both, alfa98HeroBrandHalo 5.5s 1.1s ease-in-out infinite;}
  body[data-page="login"] .auth-panel::after {animation:alfa98ThemeFloat 18s ease-in-out infinite alternate;}
  body[data-page="login"] .auth-card:not(:focus-within):not(:hover) {animation:alfaLoginCard .75s cubic-bezier(.16,1,.3,1) both,alfa98CardBreathe 7s 1.1s ease-in-out infinite;}
}
@media (prefers-reduced-motion:reduce) {
  body[data-page="login"] .auth-signal-field i,
  body[data-page="login"] .auth-orbit-atmosphere::before,
  body[data-page="login"] .auth-orbit-atmosphere::after,
  body[data-page="login"] .auth-panel::after,
  body[data-page="login"] .auth-hero-copy h2 span,
  body[data-page="login"] .auth-card,
  body[data-page="login"] .auth-hero-logo {animation:none !important;transition:none !important;}
}

/* Encierra la iluminación dentro del viewport sin crear área desplazable. */
body[data-page="login"] .auth-panel::before,
body[data-page="login"] .auth-panel::after {
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:0 !important;
  transform:none !important;
}
body[data-page="login"] .auth-panel::before {
  background:radial-gradient(ellipse at 95% 5%,rgba(110,85,248,.13),transparent 55%);
}
body[data-page="login"] .auth-panel::after {
  background:radial-gradient(ellipse at 6% 96%,rgba(65,107,251,.12),transparent 55%);
}
@keyframes alfa98ContainedGlow {
  from {opacity:.30;}
  to {opacity:.78;}
}
@media (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-panel::before {animation:alfa98ContainedGlow 11s ease-in-out infinite alternate !important;}
  body[data-page="login"] .auth-panel::after {animation:alfa98ContainedGlow 16s -3s ease-in-out infinite alternate !important;}
}
@media (max-width:860px) {
  body[data-page="login"] .auth-mobile-ambient {
    inset:0 !important;
    transform:none !important;
    background-size:cover;
  }
  body[data-page="login"] .auth-mobile-ambient::after {
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
    border-radius:0 !important;
  }
}
@keyframes alfa98MobileLight {
  0%,100% {opacity:.53;}
  50% {opacity:.87;}
}
@media (max-width:860px) and (prefers-reduced-motion:no-preference) {
  body[data-page="login"] .auth-mobile-ambient {animation:alfa98MobileLight 11s ease-in-out infinite alternate !important;}
  body[data-page="login"] .auth-mobile-ambient::after {animation:alfa98MobileLight 13s -3s ease-in-out infinite alternate !important;}
}
