.auth-shell {
  width: min(720px, 92vw);
  margin: 40px auto;
}

.auth-card {
  background: white;
  border: 1px solid #cbdde9;
  border-radius: 24px;
  padding: 28px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.field { display: grid; gap: 7px; }

.field.full { grid-column: 1 / -1; }

label { font-weight: 800; }

input {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #b9cee0;
  border-radius: 12px;
  font-size: 1rem;
}

.message {
  margin-top: 14px;
  font-weight: 800;
}

.error { color: #c62828; }
.success { color: #1c7b43; }

@media (max-width: 650px) {
  .form-grid { grid-template-columns: 1fr; }
}

.auth-tabs { display:flex; gap:8px; padding:5px; background:#eaf3fa; border-radius:999px; margin-bottom:24px; }
.auth-tab { flex:1; border:0; border-radius:999px; padding:11px 14px; background:transparent; color:var(--navy); font-weight:900; cursor:pointer; }
.auth-tab.active { background:white; box-shadow:0 4px 14px rgba(15,65,110,.12); }
.field small { color:var(--muted); font-size:.82rem; }
form[hidden] { display:none !important; }
button:disabled { opacity:.65; cursor:wait; }
