/* Estilos compartidos para registro/login/cuenta */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root,:root[data-theme="dark"]{
  --bg:#020209;
  --bg-img:radial-gradient(ellipse 70% 35% at 15% -5%,rgba(212,255,58,0.06) 0%,transparent 55%),
          radial-gradient(ellipse 60% 35% at 85% 105%,rgba(48,209,88,0.05) 0%,transparent 55%);
  --glass:rgba(255,255,255,0.055);
  --glass-hover:rgba(255,255,255,0.09);
  --border:rgba(255,255,255,0.1);
  --border-soft:rgba(255,255,255,0.07);
  --nav-bg:rgba(2,2,9,0.8);
  --text:#f5f5f7;
  --text-dim:rgba(245,245,247,0.5);
  --text-faint:rgba(245,245,247,0.3);
  --accent:#d4ff3a;
  --accent-text:#000;
  --success:#30d158;
  --warn:#ff9f0a;
  --danger:#ff453a;
  --input-bg:rgba(255,255,255,0.05);
  --input-border:rgba(255,255,255,0.1);
  --input-focus-bg:rgba(212,255,58,0.04);
}
:root[data-theme="light"]{
  --bg:#f2f2f7;
  --bg-img:radial-gradient(ellipse 70% 35% at 15% -5%,rgba(74,124,0,0.06) 0%,transparent 55%),
          radial-gradient(ellipse 60% 35% at 85% 105%,rgba(48,209,88,0.05) 0%,transparent 55%);
  --glass:rgba(255,255,255,0.72);
  --glass-hover:rgba(255,255,255,0.92);
  --border:rgba(0,0,0,0.10);
  --border-soft:rgba(0,0,0,0.06);
  --nav-bg:rgba(255,255,255,0.85);
  --text:#1d1d1f;
  --text-dim:rgba(29,29,31,0.62);
  --text-faint:rgba(29,29,31,0.42);
  --accent:#4a7c00;
  --accent-text:#ffffff;
  --success:#248a3d;
  --warn:#b25800;
  --danger:#cc2222;
  --input-bg:rgba(255,255,255,0.85);
  --input-border:rgba(0,0,0,0.10);
  --input-focus-bg:rgba(74,124,0,0.06);
}
html,body{
  background:var(--bg);
  background-image:var(--bg-img);
  background-attachment:fixed;
  color:var(--text);
  font-family:-apple-system,"SF Pro Display","SF Pro Text",BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  min-height:100vh;
  font-size:16px;
  letter-spacing:-0.01em;
}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:0.85}

.auth-nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px;border-bottom:1px solid var(--border-soft);
  position:sticky;top:0;z-index:10;
  background:var(--nav-bg);backdrop-filter:blur(40px) saturate(180%);
  -webkit-backdrop-filter:blur(40px) saturate(180%);
}
.auth-logo{font-size:18px;font-weight:700;letter-spacing:-0.4px;color:var(--text)}
.auth-logo span{color:var(--accent)}

.auth-wrap{
  max-width:440px;margin:0 auto;
  padding:48px 24px 100px;
  min-height:calc(100vh - 60px);
  display:flex;flex-direction:column;justify-content:center;
}
.auth-card{
  background:var(--glass);
  backdrop-filter:blur(40px) saturate(180%);
  -webkit-backdrop-filter:blur(40px) saturate(180%);
  border:1px solid var(--border);
  border-radius:22px;
  padding:32px 28px;
}
.auth-title{font-size:28px;font-weight:700;letter-spacing:-0.5px;margin-bottom:4px}
.auth-sub{font-size:14px;color:var(--text-dim);margin-bottom:28px;line-height:1.5}

.field{margin-bottom:16px}
.field label{
  display:block;font-size:12px;font-weight:600;color:var(--text-dim);
  margin-bottom:8px;letter-spacing:.04em;text-transform:uppercase;
}
.field input{
  width:100%;padding:14px 16px;
  background:var(--input-bg);border:1px solid var(--input-border);
  border-radius:13px;color:var(--text);
  font-family:inherit;font-size:16px;outline:none;
  transition:border-color .15s,background .15s;
}
.field input:focus{
  border-color:var(--accent);
  background:var(--input-focus-bg);
}
.field input::placeholder{color:var(--text-faint)}

.auth-btn{
  width:100%;padding:15px;
  background:var(--accent);color:var(--accent-text);
  border:none;border-radius:13px;
  font-family:inherit;font-weight:700;font-size:15px;
  cursor:pointer;transition:opacity .15s,transform .12s;
  margin-top:8px;
}
.auth-btn:hover:not(:disabled){opacity:0.88}
.auth-btn:active:not(:disabled){transform:scale(0.98)}
.auth-btn:disabled{opacity:0.5;cursor:not-allowed}

.auth-error{
  margin-top:14px;padding:12px 14px;
  background:rgba(255,69,58,0.10);
  border:1px solid rgba(255,69,58,0.30);
  border-radius:11px;
  font-size:13px;color:var(--danger);font-weight:600;
}
.auth-success{
  margin-top:14px;padding:12px 14px;
  background:rgba(48,209,88,0.10);
  border:1px solid rgba(48,209,88,0.30);
  border-radius:11px;
  font-size:13px;color:var(--success);font-weight:600;
}

.auth-foot{
  margin-top:24px;padding-top:18px;
  border-top:1px solid var(--border-soft);
  text-align:center;font-size:13px;color:var(--text-dim);
}
.auth-foot a{font-weight:600}
