/* public/auth.css */
.auth-body{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background: radial-gradient(1200px 600px at 20% 20%, rgba(192,132,252,.18), transparent 60%),
              radial-gradient(1000px 520px at 90% 10%, rgba(139,92,246,.16), transparent 55%),
              radial-gradient(900px 520px at 60% 100%, rgba(34,197,94,.10), transparent 55%),
              #070712;
  color: rgba(255,255,255,.92);
}

.auth-wrap{ width:100%; max-width:440px; }

.auth-card{
  border-radius:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

.auth-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.auth-logo{
  width:42px;
  height:42px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 10px 30px rgba(192,132,252,.25);
}

.auth-title{ font-weight:900; letter-spacing:.2px; }
.auth-sub{ opacity:.72; font-size:13px; margin-top:2px; }

.auth-h1{ margin:8px 0 12px; font-size:20px; font-weight:900; }

.auth-form{ display:flex; flex-direction:column; gap:10px; }

.label{ font-size:12px; opacity:.78; margin-top:2px; }

.input{
  height:44px;
  border-radius:14px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.92);
  outline:none;
}
.input:focus{
  border-color: rgba(192,132,252,.45);
  box-shadow: 0 0 0 4px rgba(192,132,252,.12);
}

.btn{
  height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  font-weight:900;
  cursor:pointer;
  margin-top:6px;
  -webkit-user-select:none;
  user-select:none;
}
.btn-primary{
  border-color: rgba(192,132,252,.40);
  background: linear-gradient(180deg, rgba(192,132,252,.22), rgba(139,92,246,.10));
}
.btn:hover{ transform: translateY(-1px); }

.auth-help{ margin:10px 0 0; font-size:13px; opacity:.78; }
.link{ color: rgba(192,132,252,.95); text-decoration:none; }
.link:hover{ text-decoration:underline; }

.auth-msg{
  margin:8px 0 0;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.85);
  white-space:pre-wrap;
  min-height:42px;
}

.auth-split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.92);
  font-weight:900;
  text-decoration:none;
  -webkit-user-select:none;
  user-select:none;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.6);
  font-size: 12px;
  margin-top: 2px;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid rgba(255,255,255,.14);
}

.google-login-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2px;
}