.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(8, 12, 20, 0.88);
  backdrop-filter: blur(14px);
}
.auth-gate[hidden] { display: none; }
.auth-card {
  width: min(420px, 100%);
  padding: 28px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(18,24,34,.96);
  box-shadow: 0 24px 80px rgba(0,0,0,.38);
}
.auth-card h1 { margin: 8px 0 6px; font-size: 1.55rem; }
.auth-card p { margin: 0 0 20px; opacity: .72; }
.auth-form { display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 7px; font-size: .9rem; }
.auth-form input {
  width: 100%; box-sizing: border-box; padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.14); border-radius: 12px;
  background: rgba(255,255,255,.055); color: inherit;
}
.auth-message { min-height: 20px; margin: 2px 0 0; font-size: .86rem; }
.auth-message[data-kind="error"] { font-weight: 600; }
