.boluda-login-modal {
  box-sizing: border-box;
  width: min(440px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 36px;
  overflow-y: auto;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--gray-900);
  box-shadow: 0 16px 64px rgb(0 0 0 / 20%);
}
.boluda-login-modal::backdrop { background: rgb(0 0 0 / 55%); }
html.boluda-login-open { overflow: hidden; }
.boluda-login-modal p { text-align: left; }
.boluda-login-modal .boluda-login-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--gray-700);
  font-size: 30px;
  line-height: 1;
}
#boluda-login-form > label, #boluda-recovery-form > label { display: block; margin-bottom: 8px; font-weight: 600; }
#boluda-login-form > input, #boluda-recovery-form > input { box-sizing: border-box; width: 100%; margin-bottom: 20px; font-size: 16px; }
#boluda-login-form .boluda-login-remember { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.boluda-login-remember input { margin: 0; width: 18px; height: 18px; }
.boluda-login-modal .boluda-login-submit { width: 100%; margin-top: 12px; border: 0; border-radius: var(--radius-sm); background: var(--color-blue); color: var(--color-white); }
.boluda-login-submit:disabled { opacity: .65; cursor: wait; }
.boluda-login-modal .boluda-login-error { margin: 0 0 20px; padding: 12px; background: var(--color-light-red); color: var(--color-red); border-radius: var(--radius-sm); }
.boluda-login-modal .boluda-login-success { padding: 12px; background: var(--color-light-green); color: var(--color-green); border-radius: var(--radius-sm); }
#boluda-login-recovery > p:first-child { padding-right: 28px; }
.boluda-login-modal .boluda-login-back { padding: 0; border: 0; background: transparent; color: var(--color-blue); font: inherit; text-transform: none; }
.boluda-login-modal .boluda-login-links, .boluda-login-modal .boluda-login-fallback { margin: 20px 0 0; text-align: center; font-size: 15px; }
.boluda-login-modal :focus-visible { outline: 2px solid var(--color-blue); outline-offset: 3px; }
@media (max-width: 480px) {
  .boluda-login-modal { padding: 28px 20px; }
}
