/* Login page only — never affect dashboard layout */
body.pg-login-active #root,
#root:has(#pg-login-col) {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 16px !important;
  box-sizing: border-box !important;
}

body.pg-login-active,
body.pg-login-active html {
  overflow-x: hidden !important;
}

body.pg-login-active form:has(input[autocomplete="username"]),
body.pg-login-active form:has(input[type="password"]),
#root:has(#pg-login-col) form:has(input[autocomplete="username"]),
#root:has(#pg-login-col) form:has(input[type="password"]) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.pg-login-active .mantine-Divider-root,
#root:has(#pg-login-col) .mantine-Divider-root {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

#pg-login-col {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.5rem !important;
  box-sizing: border-box !important;
}

#pg-login-col img,
#pg-login-col [class*="Image"] {
  display: block !important;
  margin: 0 auto !important;
}

#pg-login-col h1,
#pg-login-col h2,
#pg-login-col h3,
#pg-login-col [class*="Title"] {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#pg-login-oauth {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 0 !important;
}

#pg-login-oauth .pg-ms-login-btn,
#pg-login-oauth button {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 272px !important;
  max-width: calc(100vw - 48px) !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  --button-justify: center !important;
}

#pg-login-oauth .pg-btn-content,
#pg-login-oauth button [class*="inner"],
#pg-login-oauth button [class*="Inner"] {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

#pg-login-oauth button [class*="section"],
#pg-login-oauth button [class*="Section"],
#pg-login-oauth button [class*="label"],
#pg-login-oauth button [class*="Label"] {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

#pg-login-oauth button svg,
#pg-login-oauth button img {
  flex-shrink: 0 !important;
  margin: 0 !important;
}
