/* Shared layout of the login, forgot-password and new-password pages. */
.lg { padding: 36px 0 72px; }
.lg-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); border-radius: 28px; overflow: hidden; background: var(--bm-surface); border: 1px solid var(--bm-line); box-shadow: var(--bm-shadow-lg); min-height: 520px; }
.brand { position: relative; background: radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--bm-primary) 25%, var(--bm-ink)) 0%, var(--bm-ink) 55%); color: var(--bm-bg); padding: 44px; display: flex; flex-direction: column; overflow: hidden; }
.brand::after { content: ""; position: absolute; width: 380px; height: 380px; right: -140px; bottom: -160px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--bm-primary) 55%, transparent), transparent 70%); opacity: .55; }
.brand h2 { color: var(--bm-surface); font-size: clamp(26px, 2.6vw, 34px); max-width: 420px; margin-top: 26px; }
.brand p { color: var(--bm-ink-3); max-width: 400px; }
.brand .bm-brand { color: var(--bm-surface); }
.form-side { padding: 48px 52px; display: flex; flex-direction: column; justify-content: center; }
.form-side h1 { font-size: clamp(28px, 3vw, 36px); margin-bottom: 6px; }
.bm-input-group:focus-within { border-color: var(--bm-primary); box-shadow: 0 0 0 4px var(--bm-primary-soft); }
.pw-toggle { border: 0; background: transparent; font-weight: 700; font-size: 13px; color: var(--bm-ink-2); cursor: pointer; padding: 6px 4px; }
.row-end { display: flex; justify-content: flex-end; margin-top: 14px; }
.login-ok { color: var(--bm-green); background: var(--bm-green-soft); border-radius: var(--bm-r-sm); padding: 10px 14px; font-size: 14px; font-weight: 600; margin-top: 18px; }
.login-err { color: var(--bm-red); background: var(--bm-red-soft); border-radius: var(--bm-r-sm); padding: 10px 14px; font-size: 14px; font-weight: 600; margin-top: 18px; }
@media (max-width: 960px) {
  .lg-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .brand { order: 2; padding: 32px 24px 36px; }
  .brand h2 { margin-top: 0; }
  .brand .bm-brand { display: none; }
  .form-side { padding: 32px 28px; }
}
@media (max-width: 600px) {
  .lg { padding: 16px 0 48px; }
  .lg-grid { border-radius: var(--bm-r-lg); }
  .form-side { padding: 26px 18px; }
}
