/*
 * Primeiro acesso do aplicativo desktop beta.
 *
 * O seletor .gfl-beta-channel isola esta experiencia do canal oficial. A
 * estrutura base continua sendo a mesma do login atual, portanto nenhuma
 * regra de autenticacao, sessao ou MFA e substituida por este arquivo.
 */

.login-beta-only { display: none !important; }

/* Compatibilidade do HTML compartilhado: fora do beta, os controles mantêm a
   apresentacao anterior (MFA visivel e checkbox convencional). */
.login-mfa-details { display: contents; }
.login-mfa-details > summary { display: none; }
.login-keep-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 2px 0 4px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.login-keep-row > input {
  width: 17px;
  height: 17px;
  accent-color: #15803d;
}
.login-keep-row > .login-switch { display: none; }
.login-keep-copy strong,
.login-keep-copy small { display: block; }
.login-keep-copy small { margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.4; }

body.gfl-beta-frame.gfl-beta-channel {
  --login-night: #071b14;
  --login-night-soft: #0a2b1d;
  --login-green: #0a8f4a;
  --login-green-deep: #066737;
  --login-mint: #dff9ea;
  --login-ivory: #f7faf8;
  --login-text: #10241c;
  --login-muted: #60746b;
  --login-line: #d6e5dc;
  --login-shadow: 0 34px 84px rgba(8, 36, 25, .16);
}

body.gfl-beta-frame.gfl-beta-channel .login-beta-only { display: initial !important; }

/* A barra abaixo existe somente para as capturas automatizadas da tela de
   login. Ela nao pode participar do layout do aplicativo instalado. A regra
   especifica de QA, mais abaixo, volta a exibi-la quando ?loginQa=1. */
body.gfl-beta-frame.gfl-beta-channel .login-qa-titlebar { display: none !important; }

body.gfl-beta-frame.gfl-beta-channel .access-gate {
  grid-template-columns: minmax(510px, .92fr) minmax(590px, 1.08fr);
  background: var(--login-ivory);
  color: var(--login-text);
  isolation: isolate;
}

body.gfl-beta-frame.gfl-beta-channel .access-gate::before,
body.gfl-beta-frame.gfl-beta-channel .access-gate::after {
  z-index: 0;
  filter: blur(2px);
  opacity: .78;
  animation: none;
}

body.gfl-beta-frame.gfl-beta-channel .access-gate::before {
  width: 500px;
  height: 500px;
  left: 31%;
  bottom: -390px;
  background: rgba(38, 185, 105, .16);
}

body.gfl-beta-frame.gfl-beta-channel .access-gate::after {
  width: 620px;
  height: 620px;
  right: -390px;
  top: -430px;
  background: rgba(34, 197, 94, .12);
}

body.gfl-beta-frame.gfl-beta-channel .gate-story {
  padding: clamp(38px, 4.3vw, 74px);
  align-content: center;
  gap: clamp(22px, 2.3vw, 34px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 12% 92%, rgba(43, 203, 116, .22), transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(134, 239, 172, .12), transparent 29%),
    linear-gradient(142deg, #061711 0%, #09251a 54%, #0a3c25 100%);
  box-shadow: 30px 0 80px rgba(2, 20, 13, .14);
}

body.gfl-beta-frame.gfl-beta-channel .gate-story::before {
  inset: 0;
  opacity: .38;
  transform: none;
  animation: none;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.065) 48%, transparent 58%),
    repeating-linear-gradient(90deg, rgba(167,243,208,.045) 0 1px, transparent 1px 92px),
    repeating-linear-gradient(0deg, rgba(167,243,208,.035) 0 1px, transparent 1px 92px);
}

body.gfl-beta-frame.gfl-beta-channel .gate-story::after {
  inset: auto -130px -180px auto;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(167, 243, 208, .10);
  border-radius: 50%;
  opacity: 1;
  animation: none;
  background:
    radial-gradient(circle, transparent 0 36%, rgba(167,243,208,.07) 36.3% 36.7%, transparent 37% 58%, rgba(167,243,208,.06) 58.3% 58.7%, transparent 59%),
    conic-gradient(from 26deg, transparent, rgba(167,243,208,.08), transparent 28%, rgba(167,243,208,.05), transparent 58%);
}

body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo {
  width: min(390px, 100%);
  min-height: 78px;
  padding: 12px 19px 12px 15px;
  border: 1px solid rgba(209, 250, 229, .18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 10% 10%, rgba(134,239,172,.15), transparent 42%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 20px 44px rgba(0,0,0,.20);
  backdrop-filter: none;
  animation: none !important;
}

body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo::before,
body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo::after {
  animation: none;
}

body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo .brand-lockup {
  grid-template-columns: minmax(0, 205px) minmax(110px, 1fr);
  gap: 16px;
}

body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo .brand-wordmark {
  width: min(205px, 100%);
  max-height: 48px;
}

body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo span {
  color: rgba(236, 253, 245, .78);
  font-size: 11px;
  line-height: 1.35;
}

body.gfl-beta-frame.gfl-beta-channel .gate-kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  width: max-content;
  color: #a7f3d0;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.gfl-beta-frame.gfl-beta-channel .gate-kicker::before {
  content: '';
  width: 24px;
  height: 1px;
  background: #34d399;
  box-shadow: 0 0 10px rgba(52, 211, 153, .72);
}

body.gfl-beta-frame.gfl-beta-channel .gate-story h1 {
  max-width: 640px;
  font-size: clamp(38px, 3.6vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body.gfl-beta-frame.gfl-beta-channel .gate-story h1 em {
  position: relative;
  color: #6ee7a8;
}

body.gfl-beta-frame.gfl-beta-channel .gate-story h1 em::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: -5px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #25c976, rgba(110,231,168,0));
}

body.gfl-beta-frame.gfl-beta-channel .gate-story > p {
  max-width: 570px;
  color: rgba(236, 253, 245, .70);
  font-size: 15px;
  line-height: 1.68;
}

body.gfl-beta-frame.gfl-beta-channel .gate-points {
  gap: 9px;
}

body.gfl-beta-frame.gfl-beta-channel .gate-point {
  min-height: 35px;
  padding: 8px 12px;
  border-color: rgba(209,250,229,.14);
  background: rgba(255,255,255,.055);
  color: rgba(240,253,244,.84);
  font-size: 11.5px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

body.gfl-beta-frame.gfl-beta-channel .gate-point svg {
  width: 14px;
  height: 14px;
  color: #6ee7a8;
}

body.gfl-beta-frame.gfl-beta-channel .gate-flow { display: none; }

body.gfl-beta-frame.gfl-beta-channel .gate-resume-card {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  max-width: 580px;
  padding: 14px 15px;
  border: 1px solid rgba(209,250,229,.15);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 46px rgba(0,0,0,.14);
}

body.gfl-beta-frame.gfl-beta-channel .gate-resume-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  color: #86efac;
  background: rgba(52, 211, 153, .12);
  box-shadow: inset 0 0 0 1px rgba(134,239,172,.16);
}

body.gfl-beta-frame.gfl-beta-channel .gate-resume-icon svg { width: 21px; height: 21px; }
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy { min-width: 0; }
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy small,
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy strong,
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy span { display: block; }
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy small {
  margin-bottom: 3px;
  color: #6ee7a8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy strong { color: #f0fdf4; font-size: 13px; }
body.gfl-beta-frame.gfl-beta-channel .gate-resume-copy span { margin-top: 3px; color: rgba(236,253,245,.58); font-size: 10.5px; }
body.gfl-beta-frame.gfl-beta-channel .gate-resume-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #bbf7d0;
  background: rgba(16,185,129,.11);
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
  text-transform: uppercase;
}
body.gfl-beta-frame.gfl-beta-channel .gate-resume-status::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 3px rgba(52,211,153,.12), 0 0 9px rgba(52,211,153,.50);
}

body.gfl-beta-frame.gfl-beta-channel .gate-access {
  padding: clamp(28px, 4vw, 64px);
  align-content: center;
  overflow: auto;
  background:
    linear-gradient(rgba(10,143,74,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,143,74,.025) 1px, transparent 1px),
    radial-gradient(circle at 78% 17%, rgba(64, 214, 130, .11), transparent 29%),
    linear-gradient(145deg, #fbfdfc, #f2f8f4);
  background-size: 42px 42px, 42px 42px, auto, auto;
}

body.gfl-beta-frame.gfl-beta-channel .gate-access-radar {
  display: block;
  position: absolute;
  width: 420px;
  height: 420px;
  right: -220px;
  bottom: -260px;
  border-radius: 50%;
  border: 1px solid rgba(10, 143, 74, .09);
  background: radial-gradient(circle, transparent 0 42%, rgba(10,143,74,.05) 42.5% 42.8%, transparent 43% 65%, rgba(10,143,74,.045) 65.4% 65.7%, transparent 66%);
  pointer-events: none;
}

body.gfl-beta-frame.gfl-beta-channel .gate-panel {
  position: relative;
  z-index: 2;
  width: min(610px, 100%);
  gap: 14px;
}

body.gfl-beta-frame.gfl-beta-channel .gate-access-head {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-bottom: 2px;
}

body.gfl-beta-frame.gfl-beta-channel .gate-access-seal {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(10,143,74,.20);
  border-radius: 15px;
  color: var(--login-green-deep);
  background: linear-gradient(145deg, #ffffff, #e6f8ed);
  box-shadow: 0 12px 28px rgba(7,103,55,.11), inset 0 1px 0 #fff;
}

body.gfl-beta-frame.gfl-beta-channel .gate-access-seal svg { width: 23px; height: 23px; }
body.gfl-beta-frame.gfl-beta-channel .gate-access-copy { min-width: 0; }
body.gfl-beta-frame.gfl-beta-channel .gate-access-copy small,
body.gfl-beta-frame.gfl-beta-channel .gate-access-copy strong { display: block; }
body.gfl-beta-frame.gfl-beta-channel .gate-access-copy small {
  margin-bottom: 3px;
  color: #31805a;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .105em;
  text-transform: uppercase;
}
body.gfl-beta-frame.gfl-beta-channel .gate-access-copy strong { color: #15372a; font-size: 13px; }

body.gfl-beta-frame.gfl-beta-channel .gate-access-clock {
  display: grid;
  justify-items: end;
  gap: 2px;
  color: #597168;
  font-size: 9.5px;
  font-weight: 700;
}
body.gfl-beta-frame.gfl-beta-channel .gate-access-clock strong { color: #17392c; font-size: 12px; }

body.gfl-beta-frame.gfl-beta-channel .gate-panel > .role-tag {
  width: max-content;
  min-height: 25px;
  padding: 5px 10px;
  border: 1px solid #bce6cd;
  border-radius: 999px;
  color: #087142;
  background: rgba(226, 250, 235, .82);
  font-size: 9.5px;
  letter-spacing: .085em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
}

body.gfl-beta-frame.gfl-beta-channel .gate-panel > h2 {
  margin: 1px 0 0;
  color: #10271f;
  font-size: clamp(29px, 2.25vw, 39px);
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

body.gfl-beta-frame.gfl-beta-channel .gate-panel > p {
  max-width: 565px;
  margin: -4px 0 6px;
  color: var(--login-muted);
  font-size: 13.5px;
  line-height: 1.58;
}

body.gfl-beta-frame.gfl-beta-channel .portal-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.gfl-beta-frame.gfl-beta-channel .portal-card {
  min-height: 92px;
  padding: 14px;
  gap: 12px;
  border: 1px solid var(--login-line);
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 26px rgba(13,54,37,.055), inset 0 1px 0 #fff;
}

body.gfl-beta-frame.gfl-beta-channel .portal-card:hover {
  transform: translateY(-2px);
  border-color: #78c99b;
  background: #fff;
  box-shadow: 0 17px 34px rgba(10,93,52,.12), inset 0 1px 0 #fff;
}

body.gfl-beta-frame.gfl-beta-channel .portal-card .portal-icon {
  width: 43px;
  height: 43px;
  border: 1px solid #ccebd8;
  border-radius: 12px;
  background: linear-gradient(145deg, #f4fff8, #e4f8eb);
  box-shadow: inset 0 1px 0 #fff;
}

body.gfl-beta-frame.gfl-beta-channel .portal-card .portal-icon svg { width: 19px; height: 19px; }
body.gfl-beta-frame.gfl-beta-channel .portal-card strong { color: #193b2e; font-size: 13.5px; }
body.gfl-beta-frame.gfl-beta-channel .portal-card small { color: #6b7f76; font-size: 10.5px; line-height: 1.35; }

body.gfl-beta-frame.gfl-beta-channel .login-form {
  position: relative;
  padding: 20px;
  gap: 13px;
  border: 1px solid rgba(171, 207, 187, .72);
  border-radius: 18px;
  background:
    radial-gradient(circle at 96% 0%, rgba(134,239,172,.14), transparent 30%),
    rgba(255,255,255,.94);
  box-shadow: var(--login-shadow), inset 0 1px 0 #fff;
}

body.gfl-beta-frame.gfl-beta-channel .login-form.visible {
  display: grid;
  animation: none;
}

body.gfl-beta-frame.gfl-beta-channel .login-form-title {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding-bottom: 13px;
  border-bottom: 1px solid #e2ebe6;
}

body.gfl-beta-frame.gfl-beta-channel .login-user-avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, #0b9b53, #076737);
  box-shadow: 0 11px 22px rgba(7,103,55,.20), inset 0 1px 0 rgba(255,255,255,.28);
  font-size: 13px;
  font-weight: 900;
}

body.gfl-beta-frame.gfl-beta-channel .login-form-heading { min-width: 0; }
body.gfl-beta-frame.gfl-beta-channel .login-form-heading small,
body.gfl-beta-frame.gfl-beta-channel .login-form-heading strong,
body.gfl-beta-frame.gfl-beta-channel .login-form-heading span { display: block; }
body.gfl-beta-frame.gfl-beta-channel .login-form-heading small {
  margin-bottom: 2px;
  color: #39805d;
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
body.gfl-beta-frame.gfl-beta-channel .login-form-heading strong { color: #183c2d; font-size: 13.5px; }
body.gfl-beta-frame.gfl-beta-channel .login-form-heading span {
  margin-top: 2px;
  overflow: hidden;
  color: #6e8178;
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.gfl-beta-frame.gfl-beta-channel .login-daily-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid #c9ead6;
  border-radius: 999px;
  color: #087142;
  background: #ecfdf3;
  font-size: 8.5px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}
body.gfl-beta-frame.gfl-beta-channel .login-daily-pill svg { width: 12px; height: 12px; }

body.gfl-beta-frame.gfl-beta-channel #loginRoleTitle {
  color: #17392c;
  font-size: 17px;
  letter-spacing: -.015em;
}

body.gfl-beta-frame.gfl-beta-channel .login-form .field { gap: 6px; }
body.gfl-beta-frame.gfl-beta-channel .login-form .field > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #3f574d;
  font-size: 10.5px;
  font-weight: 850;
}

body.gfl-beta-frame.gfl-beta-channel .login-form .field input {
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #c8d9cf;
  border-radius: 11px;
  color: #142f24;
  background: #fbfdfc;
  font-size: 13px;
  box-shadow: inset 0 1px 2px rgba(17,53,38,.035);
}

body.gfl-beta-frame.gfl-beta-channel .login-form .field input:hover { border-color: #9fc8b0; }
body.gfl-beta-frame.gfl-beta-channel .login-form .field input:focus {
  outline: none;
  border-color: #28a965;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(31,169,97,.11), inset 0 1px 1px rgba(17,53,38,.025);
}

body.gfl-beta-frame.gfl-beta-channel .login-password-control { position: relative; }
body.gfl-beta-frame.gfl-beta-channel .login-password-control input { padding-right: 46px; }
body.gfl-beta-frame.gfl-beta-channel .login-password-toggle {
  position: absolute;
  top: 50%;
  right: 7px;
  width: 34px;
  min-height: 34px;
  height: 34px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 9px;
  color: #557066;
  background: transparent;
  box-shadow: none;
}
body.gfl-beta-frame.gfl-beta-channel .login-password-toggle:hover {
  transform: translateY(-50%);
  color: #087142;
  background: #eaf8ef;
}
body.gfl-beta-frame.gfl-beta-channel .login-password-toggle svg { width: 16px; height: 16px; }

body.gfl-beta-frame.gfl-beta-channel .login-caps-warning {
  display: none !important;
  color: #a26005;
  font-size: 9.5px;
  font-weight: 800;
}
body.gfl-beta-frame.gfl-beta-channel .login-form[data-caps-lock="on"] .login-caps-warning { display: inline-flex !important; }

body.gfl-beta-frame.gfl-beta-channel .login-mfa-details {
  display: block;
  border: 1px solid #dde8e1;
  border-radius: 11px;
  background: #f8fbf9;
  overflow: hidden;
}
body.gfl-beta-frame.gfl-beta-channel .login-mfa-details summary {
  min-height: 36px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #496158;
  cursor: pointer;
  list-style: none;
  font-size: 10.5px;
  font-weight: 800;
}
body.gfl-beta-frame.gfl-beta-channel .login-mfa-details summary::-webkit-details-marker { display: none; }
body.gfl-beta-frame.gfl-beta-channel .login-mfa-details summary::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 7px;
  color: #087142;
  background: #e4f7eb;
  font-size: 14px;
}
body.gfl-beta-frame.gfl-beta-channel .login-mfa-details[open] summary::after { content: '\2212'; }
body.gfl-beta-frame.gfl-beta-channel .login-mfa-details .field { padding: 0 11px 11px; }

body.gfl-beta-frame.gfl-beta-channel .login-keep-row {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 1px 0;
  color: #2c493d;
  cursor: pointer;
}
body.gfl-beta-frame.gfl-beta-channel .login-keep-row > .login-switch { display: block; }
body.gfl-beta-frame.gfl-beta-channel .login-keep-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
body.gfl-beta-frame.gfl-beta-channel .login-switch {
  position: relative;
  width: 38px;
  height: 22px;
  border: 1px solid #9fb8aa;
  border-radius: 999px;
  background: #dce7e0;
  box-shadow: inset 0 2px 5px rgba(19,55,40,.10);
}
body.gfl-beta-frame.gfl-beta-channel .login-switch::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(19,55,40,.20);
  transition: transform .16s ease;
}
body.gfl-beta-frame.gfl-beta-channel .login-keep-row input:checked + .login-switch {
  border-color: #159553;
  background: linear-gradient(135deg, #12a65a, #087142);
}
body.gfl-beta-frame.gfl-beta-channel .login-keep-row input:checked + .login-switch::after { transform: translateX(16px); }
body.gfl-beta-frame.gfl-beta-channel .login-keep-copy strong,
body.gfl-beta-frame.gfl-beta-channel .login-keep-copy small { display: block; }
body.gfl-beta-frame.gfl-beta-channel .login-keep-copy strong { font-size: 10.5px; }
body.gfl-beta-frame.gfl-beta-channel .login-keep-copy small { margin-top: 2px; color: #74877e; font-size: 9.5px; font-weight: 500; line-height: 1.35; }

body.gfl-beta-frame.gfl-beta-channel .login-form .primary {
  min-height: 46px;
  border: 1px solid #087142;
  border-radius: 11px;
  color: #fff;
  background:
    linear-gradient(115deg, transparent 0 25%, rgba(255,255,255,.13) 45%, transparent 65%),
    linear-gradient(135deg, #0da358, #087142);
  background-size: 180% 100%, auto;
  box-shadow: 0 13px 24px rgba(7,113,66,.20), inset 0 1px 0 rgba(255,255,255,.20);
  font-size: 12px;
  font-weight: 850;
}
body.gfl-beta-frame.gfl-beta-channel .login-form .primary:hover {
  transform: translateY(-1px);
  background-position: 100% 0, 0 0;
  box-shadow: 0 16px 28px rgba(7,113,66,.25), inset 0 1px 0 rgba(255,255,255,.22);
}
body.gfl-beta-frame.gfl-beta-channel .login-form .primary svg { width: 16px; height: 16px; }

body.gfl-beta-frame.gfl-beta-channel #loginBackBtn {
  min-height: 34px;
  border: 0;
  border-radius: 9px;
  color: #496158;
  background: transparent;
  box-shadow: none;
  font-size: 10.5px;
}
body.gfl-beta-frame.gfl-beta-channel #loginBackBtn:hover { color: #087142; background: #edf8f1; }

body.gfl-beta-frame.gfl-beta-channel .login-trust-row {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #71847b;
  font-size: 8.8px;
  font-weight: 700;
}
body.gfl-beta-frame.gfl-beta-channel .login-trust-row span { display: inline-flex; align-items: center; gap: 4px; }
body.gfl-beta-frame.gfl-beta-channel .login-trust-row span + span::before {
  content: '';
  width: 3px;
  height: 3px;
  margin-right: 8px;
  border-radius: 50%;
  background: #79a98f;
}
body.gfl-beta-frame.gfl-beta-channel .login-trust-row svg { width: 11px; height: 11px; color: #178653; }

body.gfl-beta-frame.gfl-beta-channel .gate-note {
  min-height: 42px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  border: 1px solid #cce8d8;
  border-radius: 11px;
  color: #31634b;
  background: rgba(235,249,240,.82);
  font-size: 10.5px;
  line-height: 1.45;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
body.gfl-beta-frame.gfl-beta-channel .gate-note strong { color: #087142; }

body.gfl-beta-frame.gfl-beta-channel .access-gate[data-access-mode="daily"] .gate-panel > .role-tag { display: none; }
body.gfl-beta-frame.gfl-beta-channel .access-gate[data-access-mode="daily"] .gate-panel > h2 { font-size: clamp(30px, 2.45vw, 42px); }
body.gfl-beta-frame.gfl-beta-channel .access-gate[data-access-mode="daily"] .gate-panel { gap: 12px; }
body.gfl-beta-frame.gfl-beta-channel .access-gate[data-access-mode="daily"] .gate-resume-card { border-color: rgba(110,231,168,.28); }
body.gfl-beta-frame.gfl-beta-channel .access-gate[data-access-mode="daily"] #loginBackBtn { display: none; }

/* Titulo nativo simulado somente pelo ambiente de captura local. No aplicativo
   instalado o cabecalho Electron real continua sendo utilizado. */
body.gfl-beta-frame.gfl-beta-channel[data-login-qa="1"] .login-qa-titlebar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 140;
  height: 44px;
  display: grid !important;
  grid-template-columns: minmax(220px, .7fr) minmax(360px, 1.5fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  color: #fff;
  background: linear-gradient(90deg, #062319, #0a7446 52%, #052b1e);
  border-bottom: 1px solid rgba(187,247,208,.26);
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
}
body.gfl-beta-frame.gfl-beta-channel[data-login-qa="1"] .access-gate { inset: 44px 0 0 !important; }
body[data-login-qa="1"] .login-qa-titlebar strong,
body[data-login-qa="1"] .login-qa-titlebar span { display: block; }
body[data-login-qa="1"] .login-qa-titlebar strong { font-size: 12px; }
body[data-login-qa="1"] .login-qa-titlebar span { margin-top: 2px; color: rgba(220,252,231,.78); font-size: 8px; font-weight: 750; }
body[data-login-qa="1"] .login-qa-context {
  min-width: 0;
  padding: 5px 11px;
  border: 1px solid rgba(187,247,208,.25);
  border-radius: 10px;
  background: rgba(255,255,255,.075);
}
body[data-login-qa="1"] .login-qa-context strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-login-qa="1"] .login-qa-channel {
  justify-self: end;
  padding: 6px 10px;
  border-radius: 999px;
  color: #d1fae5;
  background: rgba(52,211,153,.12);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 1280px) {
  body.gfl-beta-frame.gfl-beta-channel .access-gate { grid-template-columns: minmax(410px, .78fr) minmax(560px, 1.22fr); }
  body.gfl-beta-frame.gfl-beta-channel .gate-story { padding: 38px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-story h1 { font-size: clamp(36px, 4vw, 48px); }
  body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo { width: min(350px, 100%); }
  body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo .brand-lockup { grid-template-columns: minmax(0,180px) minmax(90px,1fr); gap: 12px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo .brand-wordmark { width: min(180px,100%); }
  body.gfl-beta-frame.gfl-beta-channel .gate-access { padding: 30px; }
}

@media (max-width: 980px) {
  body.gfl-beta-frame.gfl-beta-channel .access-gate {
    grid-template-columns: 1fr;
    overflow: auto;
  }
  body.gfl-beta-frame.gfl-beta-channel .gate-story {
    min-height: 330px;
    padding: 32px;
    align-content: center;
  }
  body.gfl-beta-frame.gfl-beta-channel .gate-story h1 { max-width: 720px; font-size: 38px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-story > p { display: none; }
  body.gfl-beta-frame.gfl-beta-channel .gate-points { display: none; }
  body.gfl-beta-frame.gfl-beta-channel .gate-access { min-height: 600px; }
}

@media (max-height: 760px) and (min-width: 981px) {
  body.gfl-beta-frame.gfl-beta-channel .gate-story { gap: 18px; padding-block: 26px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-story h1 { font-size: clamp(34px, 3.45vw, 47px); }
  body.gfl-beta-frame.gfl-beta-channel .gate-story > p { font-size: 13px; line-height: 1.5; }
  body.gfl-beta-frame.gfl-beta-channel .gate-resume-card { padding: 11px 13px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-access { padding-block: 22px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-panel { gap: 10px; }
  body.gfl-beta-frame.gfl-beta-channel .login-form { padding: 16px; gap: 10px; }
  body.gfl-beta-frame.gfl-beta-channel .login-form .field input { min-height: 41px; }
  body.gfl-beta-frame.gfl-beta-channel .login-form .primary { min-height: 42px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-note { min-height: 36px; padding-block: 8px; }
}

@media (max-width: 640px) {
  body.gfl-beta-frame.gfl-beta-channel .gate-story { min-height: 280px; padding: 25px 20px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-brand.single-logo { width: 100% !important; }
  body.gfl-beta-frame.gfl-beta-channel .gate-story h1 { font-size: 32px; }
  body.gfl-beta-frame.gfl-beta-channel .gate-resume-card { grid-template-columns: 40px minmax(0,1fr); }
  body.gfl-beta-frame.gfl-beta-channel .gate-resume-status { display: none; }
  body.gfl-beta-frame.gfl-beta-channel .gate-access { min-height: 640px; padding: 24px 16px; }
  body.gfl-beta-frame.gfl-beta-channel .portal-cards { grid-template-columns: 1fr; }
  body.gfl-beta-frame.gfl-beta-channel .gate-access-head { grid-template-columns: 44px minmax(0,1fr); }
  body.gfl-beta-frame.gfl-beta-channel .gate-access-clock { display: none; }
  body.gfl-beta-frame.gfl-beta-channel .login-form { padding: 15px; }
  body.gfl-beta-frame.gfl-beta-channel .login-form-title { grid-template-columns: 40px minmax(0,1fr); }
  body.gfl-beta-frame.gfl-beta-channel .login-daily-pill { display: none !important; }
  body.gfl-beta-frame.gfl-beta-channel .login-trust-row { flex-wrap: wrap; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  body.gfl-beta-frame.gfl-beta-channel .login-switch::after,
  body.gfl-beta-frame.gfl-beta-channel .portal-card,
  body.gfl-beta-frame.gfl-beta-channel .login-form .primary { transition: none !important; }
}
