/* Correção mobile da tela de login. Escopo restrito ao estado em que #loginPanel está visível. */
@supports selector(body:has(#loginPanel:not(.hidden))) {
  body:has(#loginPanel:not(.hidden)) {
    min-height: 100svh;
  }

  @supports (height: 100dvh) {
    body:has(#loginPanel:not(.hidden)) {
      min-height: 100dvh;
    }
  }

  body:has(#loginPanel:not(.hidden)) .shell {
    min-height: 100svh;
    padding-bottom: 0 !important;
    display: flex;
    flex-direction: column;
  }

  @supports (height: 100dvh) {
    body:has(#loginPanel:not(.hidden)) .shell {
      min-height: 100dvh;
    }
  }

  body:has(#loginPanel:not(.hidden)) main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
  }

  body:has(#loginPanel:not(.hidden)) .legal-footer {
    margin-top: auto !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
}

#cpfRfUsersBtn {
  display: none !important;
}

article[aria-label="Serviços e acesso"] {
  display: none !important;
}

#dashboardPanel > .tools-grid[aria-label="Central da conta"] {
  margin-bottom: clamp(26px, 5vw, 46px) !important;
}

#toolsGrid.tools-grouped-grid {
  margin-top: clamp(28px, 5vw, 48px) !important;
}

#toolsGrid.tools-grouped-grid .app-tools-category:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 850px) {
  @supports selector(body:has(#loginPanel:not(.hidden))) {
    body:has(#loginPanel:not(.hidden)) .topbar {
      padding-top: 14px !important;
      padding-bottom: 14px !important;
      gap: 10px !important;
    }

    body:has(#loginPanel:not(.hidden)) main {
      width: calc(100% - 24px) !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-enterprise-panel:not(.hidden) {
      margin-top: 18px !important;
      border-radius: 22px !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-enterprise-grid {
      display: block !important;
      min-height: auto !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-enterprise-copy {
      min-height: auto !important;
      padding: 28px 20px 24px !important;
      justify-content: flex-start !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-visual-panel {
      display: none !important;
      min-height: 0 !important;
      padding: 0 !important;
      border: 0 !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-enterprise-form {
      margin-top: 22px !important;
    }

    body:has(#loginPanel:not(.hidden)) .login-trust-card {
      margin-top: 16px !important;
      padding-top: 16px !important;
      gap: 12px !important;
    }

    body:has(#loginPanel:not(.hidden)) .legal-footer {
      width: calc(100% - 24px) !important;
      padding-top: 16px !important;
    }

    body:has(#loginPanel:not(.hidden)) .legal-footer-inner {
      padding-top: 16px !important;
      gap: 12px !important;
    }

    body:has(#loginPanel:not(.hidden)) .legal-footer-brand {
      width: 100%;
      justify-content: center !important;
      text-align: center;
    }

    body:has(#loginPanel:not(.hidden)) .legal-footer-links {
      width: 100%;
      justify-content: center !important;
      gap: 10px 18px !important;
    }
  }
}
