/* ============================================================
   Game On - Presupuestos: acceso al panel.
   Superficie oscura, la misma de la portada del documento.
   ============================================================ */

body.auth{
  background:
    radial-gradient(880px 460px at 78% -10%,rgba(70,214,255,.16),transparent 62%),
    radial-gradient(680px 400px at 4% 106%,rgba(20,32,95,.85),transparent 62%),
    var(--brand-deep);
  color:#fff;min-height:100dvh;display:grid;place-items:center;padding:32px 20px;
}
.auth__wrap{width:100%;max-width:430px}
.auth__card{
  background:rgba(7,14,48,.66);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-panel);padding:clamp(26px,5vw,38px);
  box-shadow:0 26px 70px rgba(0,0,0,.42);
  -webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);
}
@media (prefers-reduced-transparency:reduce){
  .auth__card{background:#070e30;-webkit-backdrop-filter:none;backdrop-filter:none}
}
.auth__logo{height:30px;width:auto;margin-bottom:24px}
.auth h1{font-family:ArdelaEdge,sans-serif;font-size:27px;line-height:1.1;margin:0 0 7px;color:#fff}
.auth__sub{font-size:14px;color:#8b9ab4;margin:0 0 24px;max-width:none}

/* ---- selector de metodo ---- */
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:24px;
  background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-chip)}
.tab{
  font-family:Poppins,sans-serif;font-size:12.5px;font-weight:700;color:#8b9ab4;
  text-decoration:none;
  background:transparent;border:0;border-radius:var(--r-chip);padding:10px 6px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  transition:background .2s var(--ease),color .2s var(--ease)}
.tab svg{width:15px;height:15px;flex:none}
.tab:hover{color:#c4cede}
.tab.is-on{background:rgba(70,214,255,.14);color:var(--accent)}
.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---- campos ---- */
.field{margin-bottom:17px;display:grid;gap:7px}
.field label{font-size:12.5px;font-weight:700;color:#c4cede}
.field input{
  font-family:Poppins,sans-serif;font-size:15px;color:#fff;width:100%;
  background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.17);
  border-radius:var(--r-input);padding:13px 15px;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
/* AA sobre rgba(0,0,0,.34) encima del panel: 4.7:1 */
.field input::placeholder{color:#7c89a4}
.field input:hover{border-color:rgba(255,255,255,.3)}
.field input:focus{outline:none;border-color:var(--accent);background:rgba(0,0,0,.5);
  box-shadow:0 0 0 3px rgba(70,214,255,.2)}
.field input:user-invalid{border-color:#ff8a8a}
.help{font-size:12px;color:#8b9ab4;line-height:1.45}
.code{font-family:ArdelaEdge,sans-serif;font-size:26px!important;letter-spacing:.34em;
  text-align:center;padding:15px 10px 15px 24px!important}

/* ---- recordar sesion ---- */
.check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;margin:20px 0 22px;
  font-size:13px;color:#a9b6cc;line-height:1.45}
.check input{position:absolute;opacity:0;pointer-events:none}
.check .box{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(255,255,255,.32);
  background:rgba(0,0,0,.3);flex:none;margin-top:1px;display:grid;place-items:center;color:#04202b;
  transition:all .18s var(--ease)}
.check .box svg{width:12px;height:12px;opacity:0;transform:scale(.6);transition:all .18s var(--ease)}
.check input:checked~.box{background:var(--accent);border-color:var(--accent)}
.check input:checked~.box svg{opacity:1;transform:scale(1)}
.check input:focus-visible~.box{outline:2px solid var(--accent);outline-offset:3px}

.auth__go{width:100%;justify-content:center;padding:15px 22px;font-size:14.5px}
.auth__go[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.auth__alt{margin:17px 0 0;text-align:center;font-size:13px}
.auth__alt a{color:#8b9ab4;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1px}
.auth__alt a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- error ---- */
.alert{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;
  background:rgba(255,120,120,.1);border:1px solid rgba(255,138,138,.34);
  border-radius:var(--r-input);padding:12px 14px;font-size:13px;color:#ffc9c9;line-height:1.45}
.alert svg{width:16px;height:16px;flex:none;margin-top:1px;color:#ff8a8a}
.alert--ok{background:rgba(70,214,255,.10);border-color:rgba(70,214,255,.34);color:#cdeeff}
.alert--ok svg{color:var(--accent)}
.alert--ok b{color:#fff}

.auth__foot{margin:22px auto 0;text-align:center;font-size:12px;color:#6f7d97;
  line-height:1.55;max-width:none}
.auth__foot a{color:#8b9ab4}
