/* 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;
}

.auth-startup {
  background:
    radial-gradient(circle at 12% 0%, rgba(244, 186, 118, 0.18), transparent 26%),
    radial-gradient(circle at 100% 10%, rgba(112, 183, 173, 0.16), transparent 28%),
    linear-gradient(180deg, #1f1712 0%, #120f0d 100%);
}

.auth-startup .auth-wrap {
  max-width: 980px;
}

.auth-hero {
  display: none;
}

.auth-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(244, 186, 118, 0.14);
  border: 1px solid rgba(244, 186, 118, 0.18);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.auth-hero-panel {
  padding: 32px 28px;
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at 12% 14%, rgba(244, 186, 118, 0.16), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  box-shadow: 0 24px 64px rgba(0,0,0,0.26);
}

.auth-hero-title {
  margin: 16px 0 12px;
  color: rgba(255,255,255,.96);
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.96;
}

.auth-hero-copy {
  margin: 0;
  max-width: 34rem;
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.75;
}

.auth-feature-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.auth-feature-item {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}

.auth-feature-item strong {
  color: rgba(255,255,255,.96);
  font-size: 15px;
}

.auth-feature-item span {
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.6;
}

.auth-startup .auth-card {
  position: relative;
  overflow: hidden;
  max-width: 460px;
  margin-left: auto;
  border-radius: 28px;
  padding: 28px;
  border-color: rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06)),
    rgba(18, 15, 13, 0.72);
  box-shadow: 0 30px 80px rgba(0,0,0,.42);
}

.auth-startup .auth-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(244, 186, 118, 0.28), transparent 68%);
  pointer-events: none;
}

.auth-startup .auth-brand {
  margin-bottom: 18px;
}

.auth-startup .auth-logo {
  width: 52px;
  height: 52px;
  border-radius: 16px;
}

.auth-startup .auth-title {
  font-size: 1.05rem;
}

.auth-startup .auth-sub,
.auth-startup .auth-help,
.auth-startup .label {
  color: rgba(255,255,255,.68);
}

.auth-startup .auth-h1 {
  margin: 10px 0 8px;
  font-size: 2rem;
  letter-spacing: -0.04em;
}

.auth-intro {
  margin: 0 0 14px;
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.65;
}

.auth-startup .auth-form {
  gap: 12px;
}

.auth-startup .input {
  height: 50px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
}

.auth-startup .btn,
.auth-startup .btn-secondary {
  height: 50px;
  border-radius: 16px;
}

.auth-startup .btn-primary {
  border-color: rgba(244, 186, 118, .42);
  background: linear-gradient(135deg, rgba(244, 186, 118, .24), rgba(201, 97, 43, .14));
}

.auth-startup .auth-msg {
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border-style: solid;
  border-color: rgba(255,255,255,.1);
}

.auth-startup .auth-msg:empty {
  display: none;
}

.auth-startup .btn:disabled,
.auth-startup .btn-secondary:disabled {
  opacity: .72;
  cursor: wait;
}

.auth-card-login,
.auth-card-signup {
  width: 100%;
}

@media (min-width: 960px) {
  .auth-startup .auth-wrap {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 36px;
  }

  .auth-hero {
    display: block;
  }
}

@media (max-width: 959px) {
  .auth-startup .auth-wrap {
    max-width: 460px;
  }
}