/* Auth pages styling to resemble provided screenshots */
.page-auth { position: relative; min-height: 86vh; }
.auth-hero { position: absolute; inset: 0; background-size: cover; background-position: center; filter: brightness(0.85); }
.auth-card { position: relative; max-width: 520px; margin: 60px auto; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 18px 36px rgba(0,0,0,.18); padding: 18px 18px 22px; }
.auth-card--signup { max-width: 720px; }

/* Headings */
.auth-title { text-align:center; margin:6px 0 6px; font-size: 22px; font-weight: 800; color:#0f172a; }
.auth-sub { text-align:center; color: #64748b; margin: 0 0 14px; }
.auth-sub .link { color:#0ea5e9; text-decoration:none; }
.auth-sub-center { text-align:center; }

/* Form */
.auth-form { display: grid; gap: 12px; }
.auth-form label { font-weight: 600; color: #0f172a; font-size: .95rem; }
.auth-form input, .auth-form select, .auth-form textarea { width:100%; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 1rem; }
.auth-form textarea { resize: vertical; }
.form-row { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Input with show/hide toggle */
.input-with-toggle { position: relative; display:flex; align-items:center; }
.input-with-toggle input { flex:1; }
.toggle-pass { margin-left: 8px; background:#e2e8f0; border:1px solid #cbd5e1; color:#0f172a; font-size:.85rem; padding:8px 10px; border-radius:8px; cursor:pointer; }
.toggle-pass:hover { background:#dbe5f3; }

/* Meta & helper */
.auth-meta { display:flex; justify-content:flex-end; }
.link.small { font-size:.9rem; color:#0ea5e9; text-decoration:none; }
.link.small:hover { text-decoration:underline; }
.password-note { background:#fff8e1; border:1px solid #fde68a; color:#92400e; padding:8px 10px; border-radius:8px; font-size:.9rem; }
.field-error { color:#b91c1c; font-size:.9rem; }

/* Captcha */
.captcha-box { display:flex; align-items:center; gap:12px; border:1px solid #cbd5e1; border-radius:8px; padding:10px; }
.captcha-label { display:flex; align-items:center; gap:8px; }
.captcha-box .text { color:#374151; }
.captcha-box .badge { margin-left:auto; font-size:.8rem; color:#64748b; }

/* Buttons */
.btn { display:inline-block; padding:10px 16px; border-radius:8px; text-decoration:none; border:0; cursor:pointer; }
.btn-primary { background:#0ea5e9; color:#fff; box-shadow:0 6px 14px rgba(14,165,233,.35); }
.btn-primary:hover { background:#0c9ad8; }
.btn-success { background:#22c55e; color:#fff; box-shadow:0 6px 14px rgba(34,197,94,.35); }
.btn-success:hover { background:#18a94e; }
.auth-actions { display:flex; justify-content:center; margin-top:4px; }

/* Radios */
.radio-switch { display:flex; gap:16px; align-items:center; }
.radio-switch input { margin-right:6px; }

/* Conditional visibility */
.hidden { display: none !important; }

/* Responsive */
@media (max-width: 760px) {
  .auth-card { margin: 28px; }
  .form-row { grid-template-columns: 1fr; }
}