/* Konekts 11.0.25 — ajustes incrementais sem alterar o tema-base */
html,body,#app{min-height:100%;min-height:100dvh}
body{min-height:100vh;min-height:100dvh}

/* O overlay inteiro pode rolar quando teclado/navegação móvel reduzem a área útil. */
.modal{
  z-index:1000;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:max(12px,env(safe-area-inset-top)) 12px max(20px,calc(env(safe-area-inset-bottom) + 20px));
}
.modal.open{display:flex;align-items:center;justify-content:center}
.modal-card{
  width:min(540px,calc(100vw - 24px));
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - max(32px,env(safe-area-inset-top)) - max(32px,env(safe-area-inset-bottom)));
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.modal-card form{min-height:0}

/* Recuperação de senha */
.auth-forgot-link{
  display:block;margin:-4px 0 14px auto;padding:4px 0;border:0;background:transparent;color:var(--purple);font-weight:750
}
.auth-recovery-box{
  margin-top:18px;padding:17px;border:1px solid var(--line);border-radius:15px;background:rgba(124,58,237,.055)
}
.auth-recovery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.auth-recovery-head h3{margin:4px 0 0}
.auth-recovery-close{border:0;background:transparent;color:inherit;font-size:25px;line-height:1;padding:0 2px}
.auth-recovery-box p{font-size:13px;line-height:1.5;color:var(--muted)}
.auth-recovery-box label{font-size:12px;color:var(--muted)}
.auth-recovery-box input{display:block;width:100%;margin:6px 0 12px}
.auth-recovery-message,.auth-reset-success{font-size:12px;line-height:1.45;margin:8px 0 12px}
.auth-recovery-message{color:var(--red)}
.auth-recovery-message.success,.auth-reset-success{color:var(--green)}
.existing-account-actions{margin:8px 0 12px;padding:13px;border:1px solid rgba(124,58,237,.28);border-radius:13px;background:rgba(124,58,237,.06)}
.existing-account-actions p{margin:0;color:var(--muted);font-size:12px}
.existing-account-actions .btn-row{margin-top:10px;align-items:center}
.hidden{display:none!important}

@media(max-width:720px){
  html,body{min-height:100dvh}
  .modal{align-items:flex-start;padding:max(8px,env(safe-area-inset-top)) 8px max(84px,calc(env(safe-area-inset-bottom) + 84px))}
  .modal.open{align-items:flex-start}
  .modal-card{
    width:100%;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(92px,calc(env(safe-area-inset-bottom) + 92px)));
    margin:0 auto;
    padding:22px 18px max(28px,calc(env(safe-area-inset-bottom) + 18px));
    border-radius:18px;
  }
  .modal-card .form-grid{grid-template-columns:1fr}
  .modal-card input,.modal-card select,.modal-card textarea{font-size:16px}
  .auth-page{min-height:100dvh}
  .auth-form-panel{min-height:100dvh;padding-bottom:max(28px,calc(env(safe-area-inset-bottom) + 28px))}
  .login-card{width:min(100%,440px)}
  .existing-account-actions .btn-row{display:grid;grid-template-columns:1fr}
  .existing-account-actions .btn,.existing-account-actions .text-btn{width:100%;text-align:center}
}
