/* ═══════════════════════════════════════════════════════════
   J.A.D.E — Auth  (index.html)
   ═══════════════════════════════════════════════════════════ */

/* ── Pantalla completa — independiente de base.css ───────── */
.auth-page{
  position:fixed;
  inset:0;
  background:#080f0d;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow-y:auto;
  padding:24px 16px;
  box-sizing:border-box;
}
[data-theme="light"] .auth-page{background:#ddefe9}


/* ── Contenedor central (logo + card) ────────────────────── */
.auth-screen{
  position:relative;z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:28px;
  width:100%;
  max-width:420px;
  animation:authIn 0.55s ease both;
}
@keyframes authIn{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

/* ── Logo ────────────────────────────────────────────────── */
.auth-logo-wrap{
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.auth-logo-img{
  width:110px;height:auto;display:block;
}

/* ── Card ────────────────────────────────────────────────── */
.auth-card{
  width:100%;
  max-width:420px;
  background:#0d1a15;
  border:1px solid rgba(0,184,148,0.13);
  border-radius:16px;
  padding:32px;
  box-sizing:border-box;
  box-shadow:none;
}
[data-theme="light"] .auth-card{
  background:#eef7f3;
  border-color:rgba(0,184,148,0.16);
  box-shadow:0 8px 40px rgba(0,0,0,0.10);
}

.auth-card-title{
  font-family:'Rajdhani',sans-serif;
  font-size:22px;font-weight:700;letter-spacing:4px;
  color:#cee0da;text-align:center;margin-bottom:22px;
}
[data-theme="light"] .auth-card-title{color:var(--text)}

/* ── Botón "Entrar con Discord" + separador ──────────────── */
.btn-discord{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:13px;
  background:#5865F2;color:#fff;
  border:none;border-radius:10px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:15px;
  text-decoration:none;cursor:pointer;
  transition:background 0.18s,transform 0.1s;
  margin-bottom:18px;
}
.btn-discord:hover{background:#4752c4}
.btn-discord:active{transform:translateY(1px)}
.btn-discord svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}

.auth-form{display:none}
.auth-form.active{display:block;animation:authFormIn .34s cubic-bezier(.22,.61,.36,1)}
@keyframes authFormIn{
  from{opacity:0;transform:translateX(var(--af-dir,16px))}
  to{opacity:1;transform:translateX(0)}
}
@media (prefers-reduced-motion:reduce){
  .auth-form.active{animation:none}
}

/* ── Mensajes ────────────────────────────────────────────── */
.auth-msg{
  padding:10px 14px;border-radius:8px;
  font-size:12px;margin-bottom:14px;display:none;
  font-family:'Inter',sans-serif;
}
.auth-msg.error{background:rgba(231,76,60,0.08);border:1px solid rgba(231,76,60,0.22);color:#e87c6e}
.auth-msg.success{background:rgba(0,184,148,0.08);border:1px solid rgba(0,184,148,0.22);color:var(--jade)}
[data-theme="light"] .auth-msg.error{background:rgba(231,76,60,0.06);color:#c0392b}
.auth-msg.show{display:block}

/* ── Campos ──────────────────────────────────────────────── */
.fg{margin-bottom:14px}
.fl{
  font-size:10px;font-weight:700;color:#3d6058;
  letter-spacing:1.8px;text-transform:uppercase;
  margin-bottom:6px;display:block;transition:color 0.2s;
}
[data-theme="light"] .fl{color:var(--text2)}
.fg:focus-within .fl{color:var(--jade)}

.fi{
  width:100%;box-sizing:border-box;
  background:#0a1410;border:1px solid #182e26;border-radius:8px;
  padding:12px 14px;color:#cee0da;
  font-size:13px;font-family:'Inter',sans-serif;
  transition:border-color 0.2s, box-shadow 0.2s, background 0.2s;
  outline:none;
}
.fi::placeholder{color:#243d36}
[data-theme="light"] .fi{background:#f5fbf8;border-color:var(--border2);color:var(--text)}
[data-theme="light"] .fi::placeholder{color:var(--text3)}
.fi:hover{border-color:#244038;background:#0c1814}
[data-theme="light"] .fi:hover{border-color:#a8c8c0}
.fi:focus{border-color:var(--jade);box-shadow:0 0 0 3px rgba(0,184,148,0.12);background:#0c1814}
[data-theme="light"] .fi:focus{background:#fff;box-shadow:0 0 0 3px rgba(0,184,148,0.10)}
.fi:focus-visible{outline:none}
.fi.error{border-color:rgba(231,76,60,0.55);box-shadow:0 0 0 3px rgba(231,76,60,0.07)}

.field-error{font-size:11px;color:#e87c6e;margin-top:4px;display:none;font-family:'Inter',sans-serif}
.field-error.show{display:block}
[data-theme="light"] .field-error{color:#c0392b}

/* ── Password toggle ─────────────────────────────────────── */
.auth-pass-wrap{position:relative}
.auth-pass-wrap .fi{padding-right:44px}
.auth-pass-toggle{
  position:absolute;right:0;top:0;bottom:0;
  width:42px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;
  font-size:15px;color:#2e4a44;transition:color 0.2s;
}
.auth-pass-toggle:hover{color:var(--jade)}

/* ── Botón ───────────────────────────────────────────────── */
.btn-full{
  width:100%;padding:13px;border-radius:8px;
  font-size:13px;font-weight:700;cursor:pointer;
  background:var(--jade);color:#fff;border:none;
  font-family:'Inter',sans-serif;letter-spacing:1px;text-transform:uppercase;
  transition:background 0.2s, box-shadow 0.2s, transform 0.1s;
  margin-top:2px;box-shadow:0 4px 18px rgba(0,184,148,0.22);
}
.btn-full:hover{background:var(--jade2);box-shadow:0 4px 24px rgba(0,184,148,0.35)}
.btn-full:active{transform:scale(0.98)}
.btn-full:focus-visible{outline:2px solid #fff;outline-offset:3px}
.btn-full:disabled{opacity:0.5;cursor:not-allowed;transform:none}

/* ── Botón tema ──────────────────────────────────────────── */
.auth-theme-btn{
  position:fixed;top:16px;right:16px;z-index:9999;
  width:44px;height:44px;border-radius:13px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(0,0,0,0.40);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  cursor:pointer;transition:border-color .25s,background .25s,box-shadow .25s;
  display:flex;align-items:center;justify-content:center;
}
[data-theme="light"] .auth-theme-btn{border-color:rgba(0,0,0,0.10);background:rgba(255,255,255,0.65)}
.auth-theme-btn:hover{border-color:var(--jade);box-shadow:0 0 0 3px var(--jade-glow)}

/* Iconos sol/luna (mismo switch que el topbar) */
.auth-theme-btn .tt-icon{width:24px;height:24px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.auth-theme-btn .icon-sun,
.auth-theme-btn .icon-moon{width:22px;height:22px;position:absolute;color:var(--jade);display:flex;align-items:center;justify-content:center}
.auth-theme-btn .icon-sun{animation:tt-icon-in .55s ease forwards}
.auth-theme-btn .icon-moon{animation:tt-icon-out .4s ease forwards}
[data-theme="dark"] .auth-theme-btn .icon-sun{animation:tt-icon-out .4s ease forwards}
[data-theme="dark"] .auth-theme-btn .icon-moon{animation:tt-icon-in .55s ease forwards}
@keyframes tt-icon-in{0%{transform:rotate(-45deg) scale(.8);opacity:0}50%{transform:rotate(8deg)}100%{transform:rotate(0deg) scale(1);opacity:1}}
@keyframes tt-icon-out{0%{transform:rotate(0deg) scale(1);opacity:1}100%{transform:rotate(-45deg) scale(.8);opacity:0}}

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:480px){
  .auth-card{padding:24px 18px}
  .auth-logo-img{width:90px}
  .auth-screen{gap:20px}
}
