:root{
  --bg: #FFF9F0;
  --bg-card: #FFFFFF;
  --border: rgba(20,20,30,0.08);
  --fg: #16161F;
  --fg-secondary: #6B6B7C;
  --muted: #9A9AAB;
  --hot: #F59E0B;
  --radius: 18px;
  --radius-sm: 10px;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: 'Space Grotesk', var(--font);
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--fg);
  background:
    radial-gradient(60% 40% at 50% 0%, rgba(245,158,11,0.10), transparent 60%),
    var(--bg);
  min-height:100vh;
}
.auth-wrap{max-width:440px;margin:60px auto;padding:0 20px;}
.auth-card{
  position:relative;overflow:hidden;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px 32px;
  box-shadow:0 20px 60px rgba(20,20,40,0.08);
}
.auth-logo{display:flex;justify-content:center;margin-bottom:18px;}
.auth-logo-icon{
  width:64px;height:64px;display:flex;align-items:center;justify-content:center;
  font-size:30px;border-radius:16px;
  background:linear-gradient(135deg, rgba(245,158,11,0.18), rgba(245,158,11,0.05));
  border:1px solid rgba(245,158,11,0.35);
  box-shadow:0 6px 20px rgba(245,158,11,0.18);
}
.auth-card h1{font-family:var(--font-heading);font-size:24px;font-weight:800;text-align:center;margin:0 0 6px;}
.auth-sub{text-align:center;color:var(--fg-secondary);font-size:13px;margin-bottom:24px;}
.social-auth{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.social-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 14px;border-radius:var(--radius-sm);
  border:1px solid var(--border);background:#F7F7FA;color:var(--fg);
  font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;
}
.social-btn:hover{background:#EFEFF4;}
.social-btn--google{color:#EA4335;}
.social-btn--github{color:#16161F;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0 22px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-group{margin-bottom:16px;}
.form-group label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--fg-secondary);margin-bottom:6px;}
.form-group label .req{color:var(--hot);}
.form-control{
  width:100%;background:#F7F7FA;border:1px solid var(--border);color:var(--fg);
  border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-family:inherit;
}
.form-control:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 3px rgba(245,158,11,0.15);background:#fff;}
.password-field{position:relative;}
.password-field .form-control{padding-right:42px;}
.password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;color:var(--fg-secondary);cursor:pointer;font-size:14px;padding:4px;}
.auth-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px;}
.auth-remember{display:flex;align-items:center;gap:8px;color:var(--fg-secondary);cursor:pointer;}
.auth-remember input{width:16px;height:16px;accent-color:var(--hot);}
.auth-forgot{color:var(--hot);font-weight:600;text-decoration:none;}
.auth-forgot:hover{text-decoration:underline;}
.auth-terms{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--fg-secondary);margin-bottom:20px;}
.auth-terms input{margin-top:2px;width:16px;height:16px;accent-color:var(--hot);flex-shrink:0;}
.auth-terms a{color:var(--hot);font-weight:600;text-decoration:none;}
.btn-gold{
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#F5C451,var(--hot));color:#1A1100;
  font-weight:700;font-size:14px;border:none;border-radius:var(--radius-sm);
  padding:14px 18px;cursor:pointer;
}
.btn-gold:hover{filter:brightness(1.06);}
.btn-gold:disabled{opacity:.7;cursor:not-allowed;}
.auth-foot{text-align:center;font-size:13px;color:var(--fg-secondary);margin-top:22px;}
.auth-foot a{color:var(--hot);font-weight:600;text-decoration:none;}
.auth-foot a:hover{text-decoration:underline;}
.auth-error,.auth-success{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;}
.auth-error{background:rgba(244,63,94,0.1);border:1px solid rgba(244,63,94,0.3);color:#C81E3A;}
.auth-success{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.3);color:#0A7A56;}
