:root {
  --auth-bg: #000000;
  --auth-bg2: #050505;
  --auth-card: rgba(12, 12, 12, .88);
  --auth-border: rgba(255,255,255,.10);
  --auth-text: #f5f5f5;
  --auth-muted: #9a9a9a;
  --auth-gold: #D4A017;
  --auth-gold2: #F0C14B;
  --auth-danger: #f87171;
  --auth-font: "Rethink Sans", "DM Sans", system-ui, sans-serif;
}
*{box-sizing:border-box}
html,body{
  margin:0;padding:0;min-height:100%;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(212,160,23,.14), transparent 55%),
    radial-gradient(ellipse 50% 40% at 80% 100%, rgba(212,160,23,.06), transparent 50%),
    #000000;
  color:var(--auth-text);
  font-family:var(--auth-font);
}
a{color:var(--auth-gold2); text-decoration:none}
a:hover{text-decoration:underline}
.auth-page{
  min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:28px 16px 40px; position:relative;
  background: transparent;
}
.auth-shell{width:min(440px,100%)}
.auth-logo-wrap{display:flex;justify-content:center;margin-bottom:22px}
.auth-logo-wrap img{height:72px;width:auto;object-fit:contain}
.auth-box{
  background:var(--auth-card);
  border:1px solid var(--auth-border);
  border-radius:28px;
  padding:28px 24px 24px;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 24px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
}
.auth-box h1{
  margin:0 0 22px; text-align:center; font-size:26px; font-weight:600; letter-spacing:-.02em;
}
.auth-field{margin-bottom:14px}
.auth-field label{
  display:inline-block; margin-bottom:8px; font-size:13px; color:var(--auth-muted); font-weight:500;
}
.auth-input, .auth-select{
  width:100%; height:52px; border-radius:999px; border:1px solid var(--auth-border);
  background:rgba(255,255,255,.04); color:var(--auth-text); padding:0 18px; outline:none;
  transition:border-color .2s, box-shadow .2s; font-size:16px;
}
.auth-input:focus, .auth-select:focus{
  border-color:rgba(212,160,23,.55); box-shadow:0 0 0 3px rgba(212,160,23,.12);
}
.auth-input::placeholder{color:#777777}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 16px}
.auth-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--auth-muted);cursor:pointer}
.auth-check input{accent-color:var(--auth-gold)}
.auth-forgot{font-size:13px;color:var(--auth-gold2)}
.auth-btn{
  width:100%; height:52px; border:0; border-radius:999px; cursor:pointer; font-weight:700; font-size:15px;
  background:linear-gradient(135deg, var(--auth-gold), var(--auth-gold2)); color:#111;
  box-shadow:0 10px 30px rgba(212,160,23,.25); transition:transform .15s, filter .15s;
}
.auth-btn:hover{filter:brightness(1.05)}
.auth-btn:active{transform:scale(.985)}
.auth-foot{text-align:center;margin-top:18px;font-size:14px;color:var(--auth-muted)}
.auth-error{
  background:rgba(127,29,29,.35); border:1px solid rgba(239,68,68,.35); color:#fecaca;
  border-radius:14px; padding:10px 12px; margin-bottom:14px; font-size:13px; text-align:center;
}
.auth-phone{display:flex;gap:8px}
.auth-phone .auth-select{width:98px;flex-shrink:0;padding:0 10px}
.auth-phone .auth-input{flex:1}
.auth-terms{font-size:12px;color:var(--auth-muted);text-align:center;margin:12px 0 0;line-height:1.45}
.auth-wa{
  position:fixed; right:18px; bottom:18px; width:56px; height:56px; border-radius:50%;
  background:#D4A017; color:#111; display:grid; place-items:center;
  box-shadow:0 10px 28px rgba(212,160,23,.35); z-index:40;
}
.auth-wa svg{width:28px;height:28px}
.auth-top-back{position:absolute;top:18px;left:18px}
.auth-top-back a{color:var(--auth-muted);font-size:13px}
@media (max-width:480px){
  .auth-box{padding:24px 18px}
  .auth-logo-wrap img{height:64px}
}
