/* Login and account-entry screens only. Auth actions remain in their original controls. */
:is(#login.hg-auth[data-watermark], #login-screen.hg-auth[data-watermark], .auth-page.hg-auth-imob[data-watermark], #authScreen.hg-auth-atende[data-watermark], #verifyScreen[data-watermark], #accessRequiredScreen[data-watermark], .hg-auth-vetor .authShell[data-watermark]) {
  --hg-login-accent: #63e1c7;
  --hg-login-glass: rgba(11, 25, 35, .42);
  --hg-login-line: rgba(139, 204, 211, .28);
  --hg-login-text: #f0f7fa;
  --hg-login-muted: #b2c6d1;
  --hg-login-mark-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='remove-dark' color-interpolation-filters='sRGB'%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .30 .59 .11 0 0' result='luminance'/%3E%3CfeComponentTransfer in='luminance' result='matte'%3E%3CfeFuncA type='linear' slope='3.5' intercept='-.035'/%3E%3C/feComponentTransfer%3E%3CfeComposite in='SourceGraphic' in2='matte' operator='in'/%3E%3C/filter%3E%3C/svg%3E#remove-dark");
  isolation: isolate;
}

:is(#login.hg-auth[data-watermark], #login-screen.hg-auth[data-watermark], .auth-page.hg-auth-imob[data-watermark], #authScreen.hg-auth-atende[data-watermark], #verifyScreen[data-watermark], #accessRequiredScreen[data-watermark], .hg-auth-vetor .authShell[data-watermark])::before {
  display: block !important;
  content: attr(data-watermark);
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  max-width: none;
  color: var(--hg-login-accent);
  opacity: .32;
  font: 850 clamp(42px, 11.5vw, 168px)/.9 "DM Sans", Inter, "Segoe UI", sans-serif;
  letter-spacing: -.075em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  transform: translate(-50%, -54%);
}

:is(#login.hg-auth[data-watermark], #login-screen.hg-auth[data-watermark], .auth-page.hg-auth-imob[data-watermark], #authScreen.hg-auth-atende[data-watermark], #verifyScreen[data-watermark], #accessRequiredScreen[data-watermark], .hg-auth-vetor .authShell[data-watermark])::after {
  display: block !important;
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: min(82vw, 860px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--hg-login-accent) 16%, transparent), transparent 70%);
  filter: blur(10px);
  pointer-events: none;
  transform: translate(-50%, -50%);
}

/* GereStudio */
#login.hg-auth[data-watermark="GereStudio"] {
  --hg-login-accent: #eca9c4;
  position: fixed !important;
  inset: 0 !important;
  z-index: 120 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: safe center;
  justify-items: center;
  gap: 0;
  min-height: 100vh;
  min-height: 100svh;
  height: auto;
  padding: 32px 20px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: radial-gradient(ellipse at 50% 45%, rgba(53, 91, 92, .42), transparent 58%), #07131c !important;
  color-scheme: dark;
}
#login.hg-auth[hidden] { display: none !important; }
#login.hg-auth[data-watermark] > .hg-auth-intro { display: none !important; }
#login.hg-auth .login-card {
  position: relative;
  z-index: 1;
  width: min(100%, 468px);
  max-width: 468px;
  margin: 0 !important;
  padding: 30px clamp(22px, 5vw, 40px) 28px !important;
  border: 1px solid var(--hg-login-line) !important;
  border-radius: 25px !important;
  background: var(--hg-login-glass) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055) !important;
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
#login.hg-auth .login-card h1 { color: var(--hg-login-text) !important; font-size: 29px !important; }
#login.hg-auth .login-card p { color: var(--hg-login-muted) !important; line-height: 1.65; }
#login.hg-auth .official-product-login-logo {
  width: min(142px, 44vw) !important;
  height: 98px !important;
  max-width: none !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain;
  filter: var(--hg-login-mark-filter);
  box-shadow: none !important;
}
#login.hg-auth .login-card input {
  min-height: 50px;
  border-color: rgba(151, 202, 211, .25) !important;
  border-radius: 12px !important;
  background: rgba(6, 17, 26, .76) !important;
  color: var(--hg-login-text) !important;
  font-size: 16px !important;
}
#login.hg-auth .login-card input:focus { outline: 2px solid color-mix(in srgb, var(--hg-login-accent) 62%, transparent); outline-offset: 2px; }
#login.hg-auth form > button[type="submit"] {
  min-height: 50px;
  border-radius: 12px;
  background: #63e1c7 !important;
  color: #07211d !important;
  box-shadow: none !important;
}
#login.hg-auth .login-card .auth-link { min-height: 44px; color: #8ce8d6 !important; }
#login.hg-auth .login-card label { color: #d3e4ec; font-size: 13px; font-weight: 650; }

/* GereCar */
#login-screen.hg-auth[data-watermark="GereCar"] {
  --hg-login-accent: #79cfe8;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: safe center;
  justify-items: center;
  gap: 0;
  min-height: 100vh;
  min-height: 100svh;
  padding: 28px 20px;
  overflow-x: hidden;
  overflow-y: auto;
  background: radial-gradient(ellipse at 50% 44%, rgba(35, 91, 102, .42), transparent 58%), #07131c !important;
  color: var(--hg-login-text);
  color-scheme: dark;
}
#login-screen.hg-auth[hidden] { display: none !important; }
#login-screen.hg-auth[data-watermark] > .hg-auth-intro { display: none !important; }
#login-screen.hg-auth .login-box {
  position: relative;
  z-index: 1;
  align-self: center;
  width: min(100%, 480px);
  max-width: 480px;
  margin: 0;
  padding: 30px clamp(22px, 5vw, 40px) 28px;
  overflow: visible;
  border: 1px solid var(--hg-login-line);
  border-radius: 25px;
  background: var(--hg-login-glass);
  color: var(--hg-login-text);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
#login-screen.hg-auth .login-box[hidden] { display: none !important; }
#login-screen.hg-auth .login-box::before {
  display: block;
  width: min(148px, 45vw);
  height: 95px;
  margin: 0 auto 12px;
  content: "";
  border: 0;
  border-radius: 0;
  background: url("/assets/brand/gerecar-master.png") center / contain no-repeat;
  box-shadow: none;
  filter: var(--hg-login-mark-filter);
}
#login-screen.hg-auth .login-box h2 { margin: 0 0 13px; color: var(--hg-login-text); font-size: 27px; letter-spacing: -.55px; text-align: center; }
#login-screen.hg-auth .login-box h2::after { display: none; }
#login-screen.hg-auth .login-box :is(p, label) { color: var(--hg-login-muted); line-height: 1.65; }
#login-screen.hg-auth .login-box label { margin: 9px 0 2px; font-size: 13px; font-weight: 650; }
#login-screen.hg-auth .login-box input {
  min-height: 50px;
  border: 1px solid rgba(151, 202, 211, .25);
  border-radius: 12px;
  background: rgba(6, 17, 26, .76);
  color: var(--hg-login-text);
  font-size: 16px;
}
#login-screen.hg-auth .login-box input:focus { outline: 2px solid color-mix(in srgb, var(--hg-login-accent) 62%, transparent); outline-offset: 2px; }
#login-screen.hg-auth .login-box button[type="submit"], #login-screen.hg-auth #btn-check-verification {
  min-height: 50px;
  border-radius: 12px;
  background: #63e1c7;
  color: #07211d;
}
#login-screen.hg-auth .login-box a, #login-screen.hg-auth .auth-text-button, #login-screen.hg-auth .auth-support-link {
  color: #8ce8d6;
  text-decoration-color: rgba(140, 232, 214, .4);
  text-underline-offset: 3px;
}
#login-screen.hg-auth .auth-secondary-button { min-height: 46px; border: 1px solid var(--hg-login-line); border-radius: 11px; background: rgba(255, 255, 255, .035); color: var(--hg-login-text); }
#login-screen.hg-auth .auth-feedback { color: #ffb4b4; }
#login-screen.hg-auth .auth-brand-footer { margin: 14px 0 0; color: var(--hg-login-muted); font-size: 12px; text-align: center; }

/* ImobGere */
.auth-page.hg-auth-imob[data-watermark="ImobGere"] {
  --hg-login-accent: #dfc17d;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: safe center;
  justify-items: center;
  min-height: 100vh;
  min-height: 100svh;
  height: auto;
  padding: 28px 20px;
  overflow-x: hidden;
  overflow-y: auto;
  background: radial-gradient(ellipse at 50% 45%, rgba(74, 86, 70, .32), transparent 58%), #07131c;
  color-scheme: dark;
}
.auth-page.hg-auth-imob .auth-shell { display: grid; align-content: safe center; justify-items: center; width: min(100%, 520px); min-height: 0; margin: auto; }
.auth-page.hg-auth-imob .auth-clean-header, .auth-page.hg-auth-imob .auth-clean-intro { display: none !important; }
.auth-page.hg-auth-imob .auth-clean-card { display: block; width: 100%; max-width: 520px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.auth-page.hg-auth-imob .auth-form-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 26px clamp(22px, 5vw, 38px) 28px;
  border: 1px solid var(--hg-login-line);
  border-radius: 25px;
  background: var(--hg-login-glass);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
.auth-page.hg-auth-imob .auth-form-wrap::before {
  display: block;
  width: min(160px, 48vw);
  height: 86px;
  margin: 0 auto 12px;
  content: "";
  background: url("/images/branding/imobgere-master.png") center / contain no-repeat;
  filter: none;
  -webkit-mask-image: url("/images/branding/imobgere-master.png");
  mask-image: url("/images/branding/imobgere-master.png");
  mask-mode: luminance;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.auth-page.hg-auth-imob .auth-form { width: 100%; max-width: none; padding: 0; background: transparent; }
.auth-page.hg-auth-imob .auth-form .eyebrow { color: #d9c78f; text-align: center; }
.auth-page.hg-auth-imob .auth-form h2 { margin: 7px 0 9px; color: var(--hg-login-text); font-size: 27px; letter-spacing: -.55px; text-align: center; }
.auth-page.hg-auth-imob .auth-form :is(p, small, label) { color: var(--hg-login-muted); }
.auth-page.hg-auth-imob .auth-form > p { text-align: center; }
.auth-page.hg-auth-imob .auth-form input { min-height: 50px; border-color: rgba(151, 202, 211, .25); border-radius: 12px; background: rgba(6, 17, 26, .76); color: var(--hg-login-text); font-size: 16px; }
.auth-page.hg-auth-imob .auth-form input:focus { outline: 2px solid rgba(99, 225, 199, .55); outline-offset: 2px; }
.auth-page.hg-auth-imob .auth-form .g-btn-primary { min-height: 50px; border-color: transparent; border-radius: 12px; background: #63e1c7; color: #07211d; box-shadow: none; }
.auth-page.hg-auth-imob .auth-form .auth-google { min-height: 46px; border-color: var(--hg-login-line); border-radius: 11px; background: rgba(255, 255, 255, .035); color: var(--hg-login-text); }
.auth-page.hg-auth-imob :is(.auth-back, .auth-switch button, .auth-form small a) { min-height: 44px; color: #8ce8d6; }
.auth-page.hg-auth-imob .auth-back { position: absolute; top: 17px; left: 20px; }
.auth-page.hg-auth-imob .auth-status { border-color: rgba(223, 193, 125, .32); background: rgba(223, 193, 125, .08); }
.auth-page.hg-auth-imob .auth-status :is(strong, p, svg) { color: #e7d7a9; }
.auth-page.hg-auth-imob .auth-form .g-error { color: #ffb4b4; }

/* GereAtende: access, registration and email-confirmation states. */
#authScreen.hg-auth-atende[data-watermark="GereAtende"] {
  --hg-login-accent: #6dd9b2;
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  align-content: safe center;
  justify-items: center;
  min-height: 100vh;
  min-height: 100svh;
  height: auto;
  max-height: none;
  padding: 28px 20px;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: radial-gradient(ellipse at 50% 45%, rgba(43, 103, 83, .34), transparent 58%), #07131c;
  color-scheme: dark;
}
body:has(#authScreen.hg-auth-atende:not(.hidden)), body:has(#verifyScreen:not(.hidden)) { overflow-x: hidden; overflow-y: auto; }
#authScreen.hg-auth-atende .auth-hero { display: none !important; }
#authScreen.hg-auth-atende .auth-panel { display: grid; align-content: safe center; justify-items: center; width: 100%; min-height: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#authScreen.hg-auth-atende .auth-card {
  position: relative;
  z-index: 1;
  width: min(100%, 480px);
  max-width: 480px;
  padding: 25px clamp(22px, 5vw, 38px) 22px;
  border: 1px solid var(--hg-login-line);
  border-radius: 25px;
  background: var(--hg-login-glass);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
#authScreen.hg-auth-atende .mobile-brand { display: flex !important; justify-content: center; gap: 11px; margin: 0 auto 13px; color: var(--hg-login-text); }
#authScreen.hg-auth-atende .mobile-brand .brand-mark, #verifyScreen[data-watermark="GereAtende"] .auth-brand .brand-mark {
  flex: 0 0 auto;
  width: 126px;
  height: 72px;
  border: 0;
  border-radius: 0;
  background: url("/assets/brand/gereatende-master.png") center / contain no-repeat;
  box-shadow: none;
  color: transparent;
  font-size: 0;
}
#authScreen.hg-auth-atende .mobile-brand strong { color: #e9f7f4; font-size: 15px; }
#authScreen.hg-auth-atende .auth-heading { margin: 5px 0 15px; color: var(--hg-login-text); font-size: 26px; text-align: center; }
#authScreen.hg-auth-atende .account-notice { border-color: var(--hg-login-line); background: rgba(255, 255, 255, .04); }
#authScreen.hg-auth-atende .auth-tabs { margin-bottom: 18px; border-color: rgba(139, 204, 211, .18); background: rgba(4, 15, 23, .54); }
#authScreen.hg-auth-atende .auth-tabs button { min-height: 44px; color: var(--hg-login-muted); }
#authScreen.hg-auth-atende .auth-tabs button.active { border-color: rgba(109, 217, 178, .45); background: rgba(109, 217, 178, .13); color: #9debd0; }
#authScreen.hg-auth-atende .auth-form { gap: 14px; }
#authScreen.hg-auth-atende .auth-form input { min-height: 50px; border-color: rgba(151, 202, 211, .25); border-radius: 12px; background: rgba(6, 17, 26, .76); color: var(--hg-login-text); font-size: 16px; }
#authScreen.hg-auth-atende .auth-form input:focus { outline: 2px solid rgba(109, 217, 178, .55); outline-offset: 2px; }
#authScreen.hg-auth-atende .auth-intro { margin: -5px 0 20px; color: var(--hg-login-muted); font-size: 14px; line-height: 1.6; text-align: center; }
#authScreen.hg-auth-atende .auth-password-field { position: relative; }
#authScreen.hg-auth-atende .auth-password-field input { padding-right: 58px; }
#authScreen.hg-auth-atende .password-visibility { position: absolute; top: 50%; right: 5px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; transform: translateY(-50%); border: 1px solid rgba(151, 202, 211, .22); border-radius: 10px; background: rgba(255, 255, 255, .045); color: #d9f3ee; cursor: pointer; }
#authScreen.hg-auth-atende .password-visibility:hover { border-color: rgba(109, 217, 178, .65); background: rgba(109, 217, 178, .12); }
#authScreen.hg-auth-atende .password-visibility:focus-visible { outline: 2px solid #6dd9b2; outline-offset: 2px; }
#authScreen.hg-auth-atende .password-visibility svg { width: 20px; height: 20px; }
#authScreen.hg-auth-atende .password-visibility .eye-closed { display: none; }
#authScreen.hg-auth-atende .password-visibility[aria-pressed="true"] .eye-open { display: none; }
#authScreen.hg-auth-atende .password-visibility[aria-pressed="true"] .eye-closed { display: block; }
#authScreen.hg-auth-atende .auth-purchase-link { margin: 15px 0 8px; color: var(--hg-login-muted); font-size: 13px; line-height: 1.6; text-align: center; }
#authScreen.hg-auth-atende .auth-purchase-link a { display: inline-block; padding: 4px 2px; color: #8ce8d6; font-weight: 750; text-underline-offset: 3px; }
#authScreen.hg-auth-atende .primary { min-height: 50px; border-radius: 12px; background: #63e1c7; color: #07211d; }
#authScreen.hg-auth-atende :is(.text-button, .auth-legal a) { min-height: 44px; color: #8ce8d6; }
#authScreen.hg-auth-atende .auth-legal { color: var(--hg-login-muted); font-size: 12px; line-height: 1.7; }
#authScreen.hg-auth-atende .secondary { min-height: 46px; border-color: var(--hg-login-line); border-radius: 11px; background: rgba(255, 255, 255, .035); }
#verifyScreen[data-watermark="GereAtende"], #accessRequiredScreen[data-watermark="GereAtende"] {
  --hg-login-accent: #6dd9b2;
  position: relative;
  align-content: safe center;
  min-height: 100vh;
  min-height: 100svh;
  padding: 28px 20px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: radial-gradient(ellipse at 50% 45%, rgba(43, 103, 83, .34), transparent 58%), #07131c;
}
#verifyScreen[data-watermark="GereAtende"] > .auth-brand, #accessRequiredScreen[data-watermark="GereAtende"] > .auth-brand { position: relative; inset: auto; z-index: 1; justify-content: center; margin: 0 0 14px; }
#verifyScreen[data-watermark="GereAtende"] .setup-card, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card {
  position: relative;
  z-index: 1;
  border-color: var(--hg-login-line);
  border-radius: 25px;
  background: var(--hg-login-glass);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
#verifyScreen[data-watermark="GereAtende"] .setup-card > .auth-brand, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card > .auth-brand { position: static; justify-content: center; margin-bottom: 12px; }
#verifyScreen[data-watermark="GereAtende"] .setup-card h1, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card h1 { color: var(--hg-login-text); }
#verifyScreen[data-watermark="GereAtende"] .setup-card p, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card p { color: var(--hg-login-muted); }
#verifyScreen[data-watermark="GereAtende"] .setup-card .primary, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card .primary { background: #63e1c7; color: #07211d; }
#verifyScreen[data-watermark="GereAtende"] .setup-card .secondary, #verifyScreen[data-watermark="GereAtende"] .setup-card .text-button, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card .secondary, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card .text-button { color: #8ce8d6; }
#accessRequiredScreen[data-watermark="GereAtende"] .access-required-card { max-width: 560px; }
#accessRequiredScreen[data-watermark="GereAtende"] .access-required-card > .eyebrow { display: block; margin-bottom: 8px; color: #8ce8d6; }
#accessRequiredScreen[data-watermark="GereAtende"] .access-required-actions { display: grid; gap: 10px; margin: 20px 0 8px; }
#accessRequiredScreen[data-watermark="GereAtende"] .access-required-actions > :is(button, a) { display: grid; place-items: center; min-height: 48px; text-align: center; text-decoration: none; }
#accessRequiredScreen[data-watermark="GereAtende"] .access-plans-link { border: 1px solid var(--hg-login-line); border-radius: 11px; background: rgba(255, 255, 255, .035); }
#accessRequiredScreen[data-watermark="GereAtende"] .access-help { min-height: 0; margin: 8px 0; }

/* GereVetorizador IA */
body.hg-auth-vetor {
  --hg-login-accent: #c49af5;
  min-height: 100vh;
  min-height: 100svh;
  overflow-x: hidden;
  overflow-y: auto;
  background: radial-gradient(ellipse at 50% 45%, rgba(80, 59, 108, .32), transparent 58%), #07131c;
  color: var(--hg-login-text);
  color-scheme: dark;
}
html:has(body.hg-auth-vetor) { overflow-x: hidden; }
body.hg-auth-vetor .authShell[data-watermark="GereVetorizador IA"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: safe center;
  justify-items: center;
  gap: 0;
  width: min(100% - 40px, 510px);
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  padding: 28px 0;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.hg-auth-vetor .authPitch { display: none !important; }
body.hg-auth-vetor .authPanel {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 24px clamp(22px, 5vw, 38px) 21px;
  border: 1px solid var(--hg-login-line);
  border-radius: 25px;
  background: var(--hg-login-glass);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(2px) saturate(1.15);
  backdrop-filter: blur(2px) saturate(1.15);
}
body.hg-auth-vetor .authPanel::before {
  display: block;
  width: min(166px, 49vw);
  height: 86px;
  margin: 0 auto 10px;
  content: "";
  background: url("/assets/brand/gerevetorizador-master.png") center / contain no-repeat;
  filter: none;
  -webkit-mask-image: url("/assets/brand/gerevetorizador-master.png");
  mask-image: url("/assets/brand/gerevetorizador-master.png");
  mask-mode: luminance;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
body.hg-auth-vetor .authTabs { margin-bottom: 17px; border-color: rgba(139, 204, 211, .18); background: rgba(4, 15, 23, .54); }
body.hg-auth-vetor .authTabs button { min-height: 44px; color: var(--hg-login-muted); }
body.hg-auth-vetor .authTabs .active { background: rgba(196, 154, 245, .15); color: #ddc6ff; }
body.hg-auth-vetor .authForm { gap: 13px; }
body.hg-auth-vetor .authForm h2 { margin: 3px 0 4px; color: var(--hg-login-text); font-size: 26px; }
body.hg-auth-vetor .authForm p, body.hg-auth-vetor .authForm .field { color: var(--hg-login-muted); }
body.hg-auth-vetor .authForm input { min-height: 50px; border-color: rgba(151, 202, 211, .25); border-radius: 12px; background: rgba(6, 17, 26, .76); color: var(--hg-login-text); font-size: 16px; }
body.hg-auth-vetor .authForm input:focus { outline: 2px solid rgba(196, 154, 245, .55); outline-offset: 2px; }
body.hg-auth-vetor .primaryButton { min-height: 50px; border-radius: 12px; background: #63e1c7; color: #07211d; box-shadow: none; }
body.hg-auth-vetor .textButton, body.hg-auth-vetor .authFoot a { min-height: 44px; color: #bfeaff; }
body.hg-auth-vetor .authFoot { position: relative; z-index: 1; color: var(--hg-login-muted); }
body.hg-auth-vetor .formMessage { color: var(--hg-login-muted); }

@media (max-width: 640px) {
  :is(#login.hg-auth[data-watermark], #login-screen.hg-auth[data-watermark], .auth-page.hg-auth-imob[data-watermark], #authScreen.hg-auth-atende[data-watermark], #verifyScreen[data-watermark], #accessRequiredScreen[data-watermark], .hg-auth-vetor .authShell[data-watermark])::before { max-width: 100vw; font-size: clamp(24px, 8.5vw, 34px); }
  #login.hg-auth, #login-screen.hg-auth { align-content: start; padding: max(18px, env(safe-area-inset-top)) 15px max(18px, env(safe-area-inset-bottom)) !important; }
  #login.hg-auth .login-card, #login-screen.hg-auth .login-box { padding: 23px 19px 21px !important; border-radius: 21px !important; }
  .auth-page.hg-auth-imob[data-watermark="ImobGere"] { align-content: start; padding: max(18px, env(safe-area-inset-top)) 15px max(18px, env(safe-area-inset-bottom)); }
  .auth-page.hg-auth-imob .auth-shell { align-content: start; }
  .auth-page.hg-auth-imob .auth-form-wrap { padding: 23px 19px 21px; border-radius: 21px; }
  .auth-page.hg-auth-imob .auth-back { position: static; }
  #authScreen.hg-auth-atende[data-watermark="GereAtende"], #verifyScreen[data-watermark="GereAtende"], #accessRequiredScreen[data-watermark="GereAtende"] { align-content: start; padding: max(18px, env(safe-area-inset-top)) 15px max(18px, env(safe-area-inset-bottom)); }
  #authScreen.hg-auth-atende .auth-card { padding: 22px 19px 19px; border-radius: 21px; }
  body.hg-auth-vetor .authShell[data-watermark="GereVetorizador IA"] { align-content: start; width: calc(100% - 30px); padding: max(18px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom)); }
  body.hg-auth-vetor .authPanel { padding: 22px 19px 19px; border-radius: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  :is(#login.hg-auth, #login-screen.hg-auth, .auth-page.hg-auth-imob, #authScreen.hg-auth-atende, #verifyScreen, #accessRequiredScreen, body.hg-auth-vetor .authShell) { scroll-behavior: auto; }
}

/* Short screens: keep access cards compact and let the active login surface scroll. */
@media (max-height: 700px) {
  :is(#login.hg-auth[data-watermark], #login-screen.hg-auth[data-watermark], .auth-page.hg-auth-imob[data-watermark], #authScreen.hg-auth-atende[data-watermark], #verifyScreen[data-watermark], #accessRequiredScreen[data-watermark], body.hg-auth-vetor .authShell[data-watermark]) {
    align-content: start !important;
    padding-top: max(10px, env(safe-area-inset-top)) !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
  .auth-page.hg-auth-imob .auth-shell { align-content: start; margin-block: 0; margin-inline: auto; }
  #verifyScreen[data-watermark="GereAtende"], #accessRequiredScreen[data-watermark="GereAtende"] {
    height: 100svh;
    min-height: 100svh;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  #login.hg-auth .login-card,
  #login-screen.hg-auth .login-box,
  .auth-page.hg-auth-imob .auth-form-wrap,
  #authScreen.hg-auth-atende .auth-card,
  #verifyScreen[data-watermark="GereAtende"] .setup-card,
  #accessRequiredScreen[data-watermark="GereAtende"] .setup-card,
  body.hg-auth-vetor .authPanel {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }

  #login.hg-auth .official-product-login-logo {
    width: min(120px, 42vw) !important;
    height: 58px !important;
    margin-bottom: 6px !important;
  }
  #login-screen.hg-auth .login-box::before { width: min(128px, 44vw); height: 58px; margin-bottom: 6px; }
  .auth-page.hg-auth-imob .auth-form-wrap::before { width: min(136px, 45vw); height: 54px; margin-bottom: 7px; }
  #authScreen.hg-auth-atende .mobile-brand .brand-mark,
  #verifyScreen[data-watermark="GereAtende"] .auth-brand .brand-mark { width: 112px; height: 54px; }
  body.hg-auth-vetor .authPanel::before { width: min(142px, 44vw); height: 54px; margin-bottom: 6px; }

  #login.hg-auth .login-card h1 { font-size: 25px !important; }
  #login.hg-auth .login-card p { margin-block: 6px; line-height: 1.45; }
  #login-screen.hg-auth .login-box h2 { margin-bottom: 8px; font-size: 24px; }
  #login-screen.hg-auth .login-box :is(p, label) { line-height: 1.45; }
  .auth-page.hg-auth-imob .auth-form { gap: 10px; }
  .auth-page.hg-auth-imob .auth-form h2 { margin: 4px 0 6px; font-size: 24px; }
  .auth-page.hg-auth-imob .auth-form > p { margin-block: 6px; line-height: 1.45; }
  #authScreen.hg-auth-atende .auth-heading { margin: 3px 0 10px; font-size: 24px; }
  #authScreen.hg-auth-atende .auth-intro { margin: -2px 0 12px; }
  #authScreen.hg-auth-atende .auth-purchase-link { margin: 10px 0 5px; }
  #authScreen.hg-auth-atende .auth-form { gap: 10px; }
  #verifyScreen[data-watermark="GereAtende"] .setup-card h1, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card h1 { font-size: 24px; }
  #verifyScreen[data-watermark="GereAtende"] .setup-card p, #accessRequiredScreen[data-watermark="GereAtende"] .setup-card p { line-height: 1.45; }
  body.hg-auth-vetor .authTabs { margin-bottom: 12px; }
  body.hg-auth-vetor .authForm { gap: 9px; }
  body.hg-auth-vetor .authForm h2 { margin: 2px 0; font-size: 24px; }
  body.hg-auth-vetor .authForm p { margin-block: 5px; line-height: 1.45; }

  #login.hg-auth .login-card input,
  #login.hg-auth form > button[type="submit"],
  #login-screen.hg-auth .login-box input,
  #login-screen.hg-auth .login-box button[type="submit"],
  #login-screen.hg-auth #btn-check-verification,
  .auth-page.hg-auth-imob .auth-form input,
  .auth-page.hg-auth-imob .auth-form .g-btn-primary,
  .auth-page.hg-auth-imob .auth-form .auth-google,
  #authScreen.hg-auth-atende .auth-form input,
  #authScreen.hg-auth-atende .primary,
  #authScreen.hg-auth-atende .secondary,
  #verifyScreen[data-watermark="GereAtende"] .setup-card :is(.primary, .secondary),
  #accessRequiredScreen[data-watermark="GereAtende"] .setup-card :is(.primary, .secondary),
  body.hg-auth-vetor .authForm input,
  body.hg-auth-vetor .primaryButton { min-height: 46px; }
}

/* The longer product name needs its own scale so it stays inside the viewport. */
body.hg-auth-vetor .authShell[data-watermark="GereVetorizador IA"]::before {
  font-size: clamp(42px, 7vw, 104px) !important;
}
@media (max-width: 640px) {
  body.hg-auth-vetor .authShell[data-watermark="GereVetorizador IA"]::before {
    font-size: clamp(24px, 7.5vw, 32px) !important;
  }
}

/* GereAtende: keep the complete access form visible on ordinary phone screens. */
@media (max-height: 850px) {
  #authScreen.hg-auth-atende[data-watermark="GereAtende"] { padding-block: 10px !important; }
  #authScreen.hg-auth-atende .auth-card { padding-top: 12px !important; padding-bottom: 12px !important; }
  #authScreen.hg-auth-atende .mobile-brand { margin-bottom: 5px; }
  #authScreen.hg-auth-atende .mobile-brand .brand-mark { width: 92px; height: 48px; }
  #authScreen.hg-auth-atende .auth-heading { margin: 2px 0 5px; font-size: 23px; }
  #authScreen.hg-auth-atende .auth-card > .auth-intro { margin: 0 0 8px; font-size: 12.5px; line-height: 1.35; }
  #authScreen.hg-auth-atende .auth-form { gap: 6px; }
  #authScreen.hg-auth-atende .auth-form > .auth-intro { margin: 0 0 4px; font-size: 12px; line-height: 1.35; }
  #authScreen.hg-auth-atende .auth-form input,
  #authScreen.hg-auth-atende .primary { min-height: 44px; }
  #authScreen.hg-auth-atende .auth-purchase-link { margin: 5px 0 3px; line-height: 1.35; }
  #authScreen.hg-auth-atende .auth-legal { margin-block: 3px; font-size: 11px; line-height: 1.35; }
}

@media (max-width: 380px) and (max-height: 700px) {
  #authScreen.hg-auth-atende .auth-card { padding-inline: 14px !important; }
  #authScreen.hg-auth-atende .mobile-brand .brand-mark { height: 42px; }
  #authScreen.hg-auth-atende .auth-form { gap: 4px; }
}

/* Prevent decorative glow and empty feedback from adding page scroll. */
#authScreen.hg-auth-atende[data-watermark="GereAtende"]::after {
  width: min(82vw, 860px, 100svh);
}
#authScreen.hg-auth-atende .form-error:empty { display: none; }

@media (min-width: 800px) and (max-height: 600px) {
  #authScreen.hg-auth-atende #loginForm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px;
  }
  #authScreen.hg-auth-atende #loginForm > :not(div) { grid-column: 1 / -1; }
}
