/* --- block 1 --- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body {
  -webkit-text-size-adjust: none;
}
mark {
  background-color: transparent;
  color: inherit;
}
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input[type="text"],
input[type="email"],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  line-height: 1;
  min-height: var(--viewport-height);
  min-width: 320px;
  overflow-x: hidden;
  word-wrap: break-word;
  background-color: #f7f6f1;
}
:root {
  --background-height: 100vh;
  --site-language-alignment: left;
  --site-language-direction: ltr;
  --site-language-flex-alignment: flex-start;
  --site-language-indent-left: 1;
  --site-language-indent-right: 0;
  --site-language-margin-left: 0;
  --site-language-margin-right: auto;
  --viewport-height: 100vh;
}
html {
  font-size: 19pt;
}
u {
  text-decoration: underline;
}
strong {
  color: inherit;
  font-weight: bolder;
}
em {
  font-style: italic;
}
code {
  background-color: rgba(144, 144, 144, 0.25);
  border-radius: 0.25em;
  font-family: "Lucida Console", "Courier New", monospace;
  font-size: 0.9em;
  font-weight: normal;
  letter-spacing: 0;
  margin: 0 0.25em;
  padding: 0.25em 0.5em;
  text-indent: 0;
}
mark {
  background-color: rgba(144, 144, 144, 0.25);
}
spoiler-text {
  -webkit-text-stroke: 0;
  background-color: rgba(32, 32, 32, 0.75);
  text-shadow: none;
  text-stroke: 0;
  color: transparent;
  cursor: pointer;
  transition: color 0.1s ease-in-out;
}
spoiler-text.active {
  color: #ffffff;
  cursor: text;
}
s {
  text-decoration: line-through;
}
sub {
  font-size: smaller;
  vertical-align: sub;
}
sup {
  font-size: smaller;
  vertical-align: super;
}
a {
  color: inherit;
  text-decoration: underline;
  transition: color 0.25s ease;
}
a[onclick]:not([href]) {
  cursor: pointer;
}
unloaded-script {
  display: none;
}
.site-wrapper {
  -webkit-overflow-scrolling: touch;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--viewport-height);
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.site-main {
  --alignment: center;
  --flex-alignment: center;
  --indent-left: 1;
  --indent-right: 1;
  --margin-left: auto;
  --margin-right: auto;
  --border-radius-tl: 0;
  --border-radius-tr: 0;
  --border-radius-br: 0;
  --border-radius-bl: 0;
  align-items: center;
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  justify-content: center;
  max-width: 100%;
  position: relative;
  text-align: var(--alignment);
  z-index: 1;
}
.site-main > .inner {
  --padding-horizontal: 0.375rem;
  --padding-vertical: 0rem;
  --spacing: 1rem;
  --width: 81rem;
  border-radius: var(--border-radius-tl) var(--border-radius-tr)
    var(--border-radius-br) var(--border-radius-bl);
  max-width: 100%;
  position: relative;
  width: var(--width);
  z-index: 1;
  padding: var(--padding-vertical) var(--padding-horizontal);
}
.site-main > .inner > * {
  margin-top: var(--spacing);
  margin-bottom: var(--spacing);
}
.site-main > .inner > :first-child {
  margin-top: 0 !important;
}
.site-main > .inner > :last-child {
  margin-bottom: 0 !important;
}
.site-main > .inner > .full {
  margin-left: calc(var(--padding-horizontal) * -1);
  max-width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);
  width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px);
}
.site-main > .inner > .full:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  margin-top: calc(var(--padding-vertical) * -1) !important;
}
.site-main > .inner > .full:last-child {
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  margin-bottom: calc(var(--padding-vertical) * -1) !important;
}
.site-main > .inner > .full.screen {
  border-radius: 0 !important;
  max-width: 100vw;
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  right: auto;
}
body.is-instant .site-main,
body.is-instant .site-main > .inner > *,
body.is-instant .site-main > .inner > section > * {
  transition: none !important;
}
body.is-instant::after {
  display: none !important;
  transition: none !important;
}
@media (max-width: 1920px) {
}
@media (max-width: 1680px) {
  html {
    font-size: 14pt;
  }
}
@media (max-width: 1280px) {
  html {
    font-size: 14pt;
  }
}
@media (max-width: 1024px) {
}
@media (max-width: 980px) {
  html {
    font-size: 12pt;
  }
}
@media (max-width: 736px) {
  html {
    font-size: 10pt;
  }
  .site-main {
    --alignment: center;
    --flex-alignment: center;
    --indent-left: 1;
    --indent-right: 1;
    --margin-left: auto;
    --margin-right: auto;
  }
  .site-main > .inner {
    --padding-horizontal: 0.375rem;
    --padding-vertical: 0rem;
    --spacing: 1rem;
  }
}
@media (max-width: 480px) {
  .site-main > .inner {
    --spacing: 0.875rem;
  }
}
@media (max-width: 360px) {
  .site-main > .inner {
    --padding-horizontal: 0.28125rem;
    --padding-vertical: 0rem;
    --spacing: 0.75rem;
  }
}

/* --- block 2 --- */
:root {
  --bg: #f7f6f1;
  --card: #ffffff;
  --primary: #106146;
  --primary-dark: #0f3327;
  --text: #111111;
  --muted: #7b8087;
  --border: #e8e7e2;
}
html,
body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  font-family: "Inter", sans-serif;
}
#gvApp {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  background:
    radial-gradient(circle at 20% 10%, rgba(16, 97, 70, 0.05), transparent 35%),
    radial-gradient(circle at 85% 20%, rgba(16, 97, 70, 0.04), transparent 40%),
    var(--bg);
  overflow-x: hidden;
}
.gvScreen {
  display: none;
  width: 100%;
  min-height: 100dvh;
  padding: 28px 22px 50px;
}
.gvScreen.active {
  display: block;
}
.gvHeader {
  max-width: 920px;
  margin: 0 auto 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.gvLogo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}
.gvLogoIcon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  overflow: hidden;
  flex-shrink: 0;
}
.gvLogoIcon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.gvLogoText h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--primary-dark);
  line-height: 1;
}
.gvLogoText span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  letter-spacing: 0.18em;
  font-weight: 600;
  color: var(--primary);
}
.gvSigninBtn {
  border: none;
  background: var(--primary);
  color: #fff;
  height: 45px;
  padding: 0 26px;
  border-radius: 999px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.2);
}
.gvSigninBtn:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}
.gvHero {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}
.gvHero h1 {
  margin: 0 0 14px;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.08;
  color: var(--primary-dark);
}
.gvHero p {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
}
.gvFormCard {
  max-width: 920px;
  margin: 0 auto;
  background: #fff;
  border-radius: 30px;
  padding: 34px;
  border: 1px solid var(--border);
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.03),
    0 16px 40px rgba(15, 23, 42, 0.06);
}
#gvRegisterForm {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.gvGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.gvField label {
  display: block;
  margin-bottom: 12px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.gvInput {
  position: relative;
  display: flex;
  align-items: center;
  height: 45px;
  border: 1.5px solid var(--border);
  border-radius: 999px;
  background: #fff;
  transition: 0.25s;
}
.gvInput:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(16, 97, 70, 0.08);
}
.gvInput.hasIcon {
  padding-left: 54px;
}
.gvInput.hasRight input {
  padding-right: 56px;
}
.gvInput svg {
  position: absolute;
  left: 20px;
  width: 20px;
  height: 20px;
  color: #9aa0a9;
}
.gvInput input {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 22px;
  text-align: left;
  font-size: 12px;
  text-align: left;
  font-family: "Inter", sans-serif;
  color: #111;
  -webkit-text-size-adjust: 100%;
}
.gvInput input::placeholder {
  color: #b4b7bd;
}
.gvTogglePassword {
  position: absolute;
  right: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}
.gvInput select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 22px;
  font-size: 12px;
  font-family: "Inter", sans-serif;
  color: #111;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.gvTogglePassword svg {
  position: static;
  width: 22px;
  height: 22px;
  color: #9aa0a9;
}
.gvSubmitBtn {
  margin-top: 8px;
  height: 50px;
  border: none;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 14px 28px rgba(16, 97, 70, 0.18);
}
.gvSubmitBtn:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}
#gvToast {
  position: fixed;
  left: 50%;
  bottom: 105px;
  transform: translateX(-50%) translateY(120px);
  min-width: 300px;
  max-width: 90%;
  padding: 16px 22px;
  border-radius: 18px;
  background: #111;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  opacity: 0;
  transition: 0.35s;
  z-index: 9999999;
}
#gvToast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
</style > <style > #dashboardScreen {
  background: #f7f6f1;
  padding: 22px 18px 110px;
  min-height: 100dvh;
}
.gvDash {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.gvDashHeader {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 24px;
}
.gvDashUser {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.gvDashLogo {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.12);
}
.gvDashLogo svg {
  width: 100%;
  height: 100%;
  display: block;
}
.gvDashInfo {
  min-width: 0;
}
.gvDashInfo h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 10px;
  font-weight: 600;
  text-align: left;
  color: #0f3327;
  line-height: 1.1;
}
.gvDashInfo p {
  margin: 6px 0 0;
  font-size: 16px;
  text-align: left;
  font-weight: 600;
  color: #6d756f;
}
.gvBalanceBox {
  text-align: right;
  flex-shrink: 0;
}
.gvBalanceLabel {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #106146;
}
.gvBalance {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  height: 54px;
  padding: 0 18px;
  background: #fff;
  border: 1.5px solid rgba(16, 97, 70, 0.18);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(16, 97, 70, 0.08);
}
.gvBalance svg {
  width: 22px;
  height: 22px;
  color: #106146;
  flex-shrink: 0;
}
.gvBalance strong {
  font-family: "Poppins", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #0f3327;
  line-height: 1;
}
.gvStorage {
  margin-bottom: 26px;
}
.gvStorageTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.gvStorageTop span:first-child {
  font-size: 16px;
  font-weight: 500;
  color: #106146;
}
.gvStorageTop span:last-child {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #4a534e;
}
.gvStorageBar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #e3e6e1;
  overflow: hidden;
}
.gvStorageFill {
  width: 18%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #106146, #2f8a6d);
}
@media (max-width: 640px) {
  .gvDashHeader {
    align-items: flex-start;
  }
  .gvDashInfo h2 {
    font-size: 18px;
  }
  .gvDashInfo p {
    font-size: 13px;
  }
  .gvBalance {
    height: 48px;
    padding: 0 14px;
  }
  .gvBalance strong {
    font-size: 20px;
  }
  .gvBalanceLabel {
    font-size: 10px;
  }
  .gvStorageTop span {
    font-size: 14px !important;
  }
}
.gvDashLogo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gvDashLogo img {
  height: 42px;
  width: auto;
  display: block;
  object-fit: contain;
}
.gvNextelLogo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  display: block;
} /* ========================== LOGIN PAGE ========================== */
#loginScreen {
  display: none;
}
#loginScreen.active {
  display: block;
}
.gvForgotWrap {
  display: flex;
  justify-content: flex-end;
  margin: 12px 0 24px;
}
#gvForgotPassword {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #106146;
}
.gvLoginFooter {
  margin-top: 24px;
  text-align: center;
  font-size: 15px;
  color: #666;
}
#gvBackToRegister {
  border: none;
  background: none;
  padding: 0 0 0 6px;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #106146;
}
#gvBackToRegister:hover,
#gvForgotPassword:hover {
  opacity: 0.8;
}
.gvSigninBtn:disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}
#loginScreen .gvHero {
  margin: 0 auto 22px;
} /* LOGIN BUTTON */
#gvLoginBtn {
  display: block;
  width: 100%;
  height: 56px;
  margin-top: 24px;
  border: none;
  border-radius: 999px;
  background: #106146;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(16, 97, 70, 0.18);
}
#gvLoginBtn:hover {
  background: #0f3327;
}
#loginScreen .gvField {
  margin-bottom: 18px;
}

/* --- block 3 --- */
/* ===== NEXTEL VIRTUAL CARD ===== */
.gvVirtualCardWrap {
  margin: 28px 0 34px;
  perspective: 1200px;
}
.gvCard {
  position: relative;
  width: 100%;
  height: 245px;
  cursor: pointer;
}
.gvCardLogo {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.gvCardLogoImg {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}
.gvCardInner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.gvCard.flipped .gvCardInner {
  transform: rotateY(180deg);
}
.gvCardFace {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-radius: 28px;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: linear-gradient(145deg, #106146, #0f3327);
  box-shadow: 0 16px 38px rgba(16, 97, 70, 0.2);
}
.gvCardBack {
  transform: rotateY(180deg);
  justify-content: space-between;
}
.gvCardFront::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -70px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
}
.gvCardFront::after {
  content: "";
  position: absolute;
  bottom: -90px;
  left: -70px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}
.gvCardTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}
.gvCardBrand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gvCardLogo {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.gvCardLogo svg {
  width: 100%;
  height: 100%;
  display: block;
}
.gvCardBrandText strong {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}
.gvCardBrandText span {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
}
.gvSignalWrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.gvSignalIcon {
  width: 22px;
  height: 22px;
  color: #f7f6f1;
  flex-shrink: 0;
}
.gvEsim {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(247, 246, 241, 0.12);
  border: 1px solid rgba(247, 246, 241, 0.15);
  backdrop-filter: blur(10px);
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #f7f6f1;
} /* ===== REAL SIM CHIP ===== */
.gvChip {
  margin: 22px 0 18px;
  width: 62px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gvChipPlate {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(
    145deg,
    #ffe48a 0%,
    #e2bc52 30%,
    #c9922c 65%,
    #f4d97a 100%
  );
  border: 1px solid #a36f19;
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.45),
    inset 0 -1px 2px rgba(0, 0, 0, 0.18),
    0 3px 10px rgba(0, 0, 0, 0.18);
  overflow: hidden;
} /* Vertical contacts */
.gvChipPlate .v {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #9a6b16;
}
.gvChipPlate .v1 {
  left: 21px;
}
.gvChipPlate .v2 {
  right: 21px;
} /* Horizontal contacts */
.gvChipPlate .h {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #9a6b16;
}
.gvChipPlate .h1 {
  top: 15px;
}
.gvChipPlate .h2 {
  bottom: 15px;
} /* Centre contact */
.gvChipPlate .c {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: #a36f19;
} /* Metallic shine */
.gvChipPlate::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.45),
    transparent
  );
}
.gvCardNumber {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.gvCardNumber span {
  flex: 1;
  min-width: 180px;
  font-family: "Poppins", sans-serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}
.gvCardNumber button {
  height: 34px;
  padding: 0 15px;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(8px);
  cursor: pointer;
  transition: 0.25s;
}
.gvCardNumber button:hover {
  background: rgba(255, 255, 255, 0.24);
}
.gvCardBottom {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.gvCardBottom label {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}
.gvCardBottom strong {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.gvFlipHint {
  margin-top: 18px;
  align-self: flex-end;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
}
.gvBlackStrip {
  height: 44px;
  margin: -24px -24px 22px;
  background: #111;
}
.gvBackContent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex: 1;
}
.gvQR {
  width: 96px;
  height: 96px;
  padding: 8px;
  border-radius: 18px;
  background: #fff;
  flex-shrink: 0;
}
.gvQR svg {
  width: 100%;
  height: 100%;
  display: block;
}
.gvInviteArea {
  flex: 1;
  text-align: right;
}
.gvInviteArea h4 {
  margin: 0 0 4px;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}
.gvInviteArea p {
  margin: 0 0 14px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.72);
}
.gvInviteArea h2 {
  margin: 0 0 16px;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #f7f6f1;
}
.gvInviteArea button {
  height: 38px;
  padding: 0 18px;
  border: none;
  border-radius: 999px;
  background: #f7f6f1;
  color: #106146;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.25s;
}
.gvInviteArea button:hover {
  transform: translateY(-2px);
}
@media (max-width: 640px) {
  .gvCard {
    height: 266px;
  }
  .gvCardFace {
    padding: 18px;
  }
  .gvCardNumber span {
    font-size: 18px;
  }
  .gvCardBottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6px;
    margin-top: 16px;
    padding-right: 6px;
  }
  .gvCardBottom > div {
    flex: 1;
    min-width: 0;
  }
  .gvCardBottom > div:last-child {
    flex: 0 1 auto;
    text-align: right;
  }
  .gvCardBottom label {
    font-size: 9px;
  }
  .gvCardBottom strong {
    font-size: 12px;
    line-height: 1.2;
  }
  .gvBackContent {
    gap: 16px;
  }
  .gvQR {
    width: 72px;
    height: 72px;
  }
  .gvInviteArea h2 {
    font-size: 18px;
  }
  .gvInviteArea button {
    height: 34px;
    font-size: 12px;
    padding: 0 14px;
  }
}

/* --- block 4 --- */
/* ======================================================= NEXTEL CONTACTS PART 1 - CONTAINER + FAVORITES ======================================================= */
.gvContactsWrap {
  margin: 34px 0 40px;
  padding: 20px;
  background: #fff;
  border-radius: 30px;
  border: 1px solid #e7ece8;
  box-shadow: 0 14px 36px rgba(16, 97, 70, 0.08);
}
.gvSectionTitle {
  margin: 0 0 22px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #0f3327;
}
.gvFavorites {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 34px;
}
.gvFavItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.gvFavAvatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #106146;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 25px;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 10px 22px rgba(16, 97, 70, 0.15);
  transition: 0.25s;
}
.gvFavItem:hover .gvFavAvatar {
  transform: translateY(-3px);
}
.gvFavItem span {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 500;
  color: #23362e;
}
.gvFavAdd .gvFavAvatar {
  background: transparent;
  border: 2px dashed rgba(16, 97, 70, 0.28);
  box-shadow: none;
  color: #106146;
}
.gvFavAdd svg {
  width: 25px;
  height: 25px;
}
.gvPhonebookHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}
.gvManageBtn {
  height: 40px;
  padding: 0 20px;
  border: none;
  border-radius: 999px;
  background: #106146;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 10px 22px rgba(16, 97, 70, 0.12);
}
.gvManageBtn:hover {
  transform: translateY(-2px);
  background: #0f3327;
}
#gvPhonebookList {
  display: flex;
  flex-direction: column;
  gap: 18px;
} /* ======================================================= NEXTEL CONTACTS PART 2 - PHONEBOOK CARDS ======================================================= */
.gvContact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 22px;
  min-height: 108px;
  box-shadow: 0 4px 14px rgba(16, 97, 70, 0.06);
}
.gvContactLeft {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex: 1;
  min-width: 0;
}
.gvContactAvatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #106146;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "Poppins", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}
.gvContactInfo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}
.gvContactInfo h4 {
  margin: 0 0 3px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  text-align: left;
  font-weight: 700;
  line-height: 1.2;
  color: #0f3327;
}
.gvContactInfo p {
  margin: 4px 0;
  font-size: 10px;
  text-align: left;
  color: #70777a;
}
.gvIdle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #2e8c68;
}
.gvIdle::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #39c66d;
}
.gvCallBtn {
  width: 70px;
  height: 45px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  background: #106146;
  border: none;
  border-radius: 14px;
  color: #fff;
  flex-shrink: 0;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 8px 18px rgba(16, 97, 70, 0.15);
}
.gvCallBtn:hover {
  background: #0f3327;
  transform: translateY(-2px);
}
.gvCallBtn small {
  font-size: 10px;
  font-weight: 600;
  margin: 0;
  opacity: 0.9;
} /* ======================================================= NEXTEL CONTACTS PART 3 - NOTE + MOBILE ======================================================= */
.gvPhonebookNote {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(16, 97, 70, 0.08);
  color: #6f7a76;
  font-size: 14px;
  line-height: 1.6;
}
.gvPhonebookNote svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #106146;
  margin-top: 2px;
}
.gvPhonebookNote p {
  margin: 0;
  text-align: left;
} /* ================= Mobile ================= */
@media (max-width: 640px) {
  .gvContactsWrap {
    padding: 20px;
    border-radius: 24px;
  }
  .gvSectionTitle {
    font-size: 15px;
    margin-bottom: 18px;
  }
  .gvFavorites {
    gap: 12px;
    margin-bottom: 28px;
  }
  .gvFavAvatar {
    width: 50px;
    height: 50px;
    font-size: 25px;
  }
  .gvFavItem span {
    font-size: 13px;
    margin-top: 10px;
  }
  .gvPhonebookHeader {
    margin-bottom: 18px;
  }
  .gvManageBtn {
    height: 38px;
    padding: 0 18px;
    font-size: 14px;
  }
  .gvContact {
    padding: 16px;
    gap: 14px;
  }
  .gvContactAvatar {
    width: 52px;
    height: 52px;
    font-size: 22px;
  }
  .gvContactInfo h4 {
    font-size: 17px;
  }
  .gvContactInfo p {
    font-size: 13px;
  }
  .gvIdle {
    font-size: 13px;
  }
  .gvCallBtn {
    width: 70px;
    height: 45px;
    font-size: 12px;
    border-radius: 14px;
  }
  .gvCallBtn small {
    font-size: 12px;
  }
}
@media (max-width: 430px) {
  .gvContact {
    flex-direction: row;
    align-items: center;
  }
  .gvCallBtn {
    width: 70px;
    height: 45px;
    font-size: 12px;
  }
  .gvCallBtn small {
    font-size: 10px;
  }
  .gvFavorites {
    justify-content: space-between;
  }
}

/* --- block 5 --- */
/* ====================================================== EARNINGS ====================================================== */
.gvEarningsWrap {
  margin: 28px 0;
  padding: 24px;
  background: #fff;
  border-radius: 28px;
  border: 1px solid #e7ece8;
  box-shadow: 0 14px 36px rgba(16, 97, 70, 0.08);
}
.gvSectionHead {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 22px;
  gap: 12px;
}
.gvFigures {
  font-size: 13px;
  color: #6e7672;
  font-weight: 500;
}
.gvEarningsGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.gvEarnCard {
  background: #f7faf8;
  border: 1px solid #e4ece7;
  border-radius: 20px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  transition: 0.25s;
}
.gvEarnCard:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.08);
}
.gvEarnIcon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #eef7f2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
  margin-bottom: 14px;
}
.gvEarnIcon svg {
  width: 22px;
  height: 22px;
}
.gvEarnLabel {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #6e7672;
  margin-bottom: 8px;
}
.gvEarnCard h2 {
  margin: 6px 0 0;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #106146;
  text-align: left;
}
.gvEarnCard p {
  margin: 8px 0 0;
  font-size: 13px;
  color: #7b8480;
  line-height: 1.45;
  text-align: left;
} /* Keep earning */
.gvKeepBanner {
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #106146, #178357);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #fff;
}
.gvKeepLeft {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: 14px;
}
.gvKeepLeft svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
#gvKeepTotal {
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  white-space: nowrap;
} /* Mobile */
@media (max-width: 640px) {
  .gvEarningsWrap {
    padding: 18px;
    border-radius: 22px;
  }
  .gvEarningsGrid {
    gap: 12px;
  }
  .gvEarnCard {
    padding: 15px;
  }
  .gvEarnCard h2 {
    font-size: 20px;
  }
  #gvKeepTotal {
    font-size: 18px;
  }
}
</style
            ><style>
              /* ====================================================== CALL HISTORY ====================================================== */
              .gvHistoryWrap {
  margin: 28px 0;
  padding: 24px;
  background: #fff;
  border-radius: 28px;
  border: 1px solid #e7ece8;
  box-shadow: 0 14px 36px rgba(16, 97, 70, 0.08);
}
#gvCallHistory {
  display: flex;
  flex-direction: column;
  gap: 16px;
} /* Empty State */
.gvHistoryEmpty {
  padding: 42px 24px;
  text-align: center;
  border: 2px dashed #dce8e2;
  border-radius: 22px;
  background: #fafcfb;
}
.gvHistoryIcon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #eef7f2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
}
.gvHistoryIcon svg {
  width: 34px;
  height: 34px;
}
.gvHistoryEmpty h4 {
  margin: 0 0 10px;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0f3327;
}
.gvHistoryEmpty p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #77817c;
  max-width: 280px;
  margin-inline: auto;
} /* History Card (used later by JS) */
.gvHistoryItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #f8fbf9;
  border: 1px solid #e5ece8;
  border-radius: 18px;
}
.gvHistoryLeft {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
}
.gvHistoryAvatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #106146;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.gvHistoryInfo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.gvHistoryInfo h4 {
  margin: 0;
  width: 100%;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0f3327;
  text-align: left;
}
.gvHistoryInfo p {
  margin: 5px 0 0;
  width: 100%;
  font-size: 13px;
  color: #7b8087;
  text-align: left;
}
.gvHistoryAmount {
  text-align: right;
  flex-shrink: 0;
}
.gvHistoryAmount strong {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  color: #106146;
}
.gvHistoryAmount span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #88918d;
} /* Mobile */
@media (max-width: 640px) {
  .gvHistoryWrap {
    padding: 18px;
    border-radius: 22px;
  }
  .gvHistoryEmpty {
    padding: 34px 18px;
  }
  .gvHistoryIcon {
    width: 60px;
    height: 60px;
  }
  .gvHistoryIcon svg {
    width: 28px;
    height: 28px;
  }
  .gvHistoryItem {
    padding: 14px;
  }
  .gvHistoryAvatar {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }
  .gvHistoryInfo h4 {
    font-size: 14px;
  }
  .gvHistoryAmount strong {
    font-size: 15px;
  }
}
</style
            ><style>
              /* ====================================================== REFERRAL ====================================================== */
              .gvReferralWrap {
  margin: 28px 0 120px;
}
.gvReferralCard {
  padding: 24px;
  background: linear-gradient(135deg, #106146, #178357);
  border-radius: 28px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(16, 97, 70, 0.2);
}
.gvReferralTop {
  margin-bottom: 20px;
}
.gvReferralText {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.7;
  opacity: 0.92;
}
.gvReferralCodeBox label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  opacity: 0.85;
}
.gvReferralCode {
  height: 58px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 0 8px 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#gvReferralCode {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#gvCopyReferral {
  height: 42px;
  padding: 0 18px;
  border: none;
  border-radius: 12px;
  background: #fff;
  color: #106146;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.gvReferralBtn {
  width: 100%;
  height: 54px;
  margin-top: 18px;
  border: none;
  border-radius: 16px;
  background: #d9ff63;
  color: #0f3327;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.25s;
}
.gvReferralBtn:hover {
  transform: translateY(-2px);
} /* ====================================================== BOTTOM NAVIGATION ====================================================== */
.gvBottomNav {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: min(94%, 480px);
  height: 72px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(16, 97, 70, 0.1);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  box-shadow: 0 18px 40px rgba(16, 97, 70, 0.16);
  z-index: 9999999;
}
.gvNavItem {
  flex: 1;
  height: 100%;
  border: none;
  background: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  color: #88918d;
  transition: 0.25s;
}
.gvNavItem svg {
  width: 22px;
  height: 22px;
}
.gvNavItem span {
  font-size: 12px;
  font-weight: 600;
}
.gvNavItem.active {
  color: #106146;
}
.gvNavItem.active svg {
  transform: scale(1.08);
} /* Mobile */
@media (max-width: 640px) {
  .gvReferralCard {
    padding: 20px;
    border-radius: 22px;
  }
  #gvReferralCode {
    font-size: 17px;
  }
  #gvCopyReferral {
    padding: 0 14px;
    height: 38px;
    font-size: 13px;
  }
  .gvReferralBtn {
    height: 50px;
    font-size: 15px;
  }
  .gvBottomNav {
    height: 66px;
    bottom: 12px;
    border-radius: 20px;
  }
  .gvNavItem svg {
    width: 20px;
    height: 20px;
  }
  .gvNavItem span {
    font-size: 11px;
  }
} /* ========================== CALL HISTORY ========================== */
.gvHistoryItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid #e8e7e2;
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.08);
}
.gvHistoryLeft {
  display: flex;
  align-items: center;
  gap: 14px;
}
.gvHistoryAvatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #106146;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.gvHistoryInfo h4 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #0f3327;
}
.gvHistoryInfo p {
  margin: 5px 0 0;
  font-size: 13px;
  color: #7b8087;
}
.gvHistoryRight {
  text-align: right;
}
.gvHistoryAmount {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #106146;
}
.gvHistoryTime {
  margin-top: 5px;
  font-size: 12px;
  color: #7b8087;
}
.gvHistoryEmpty {
  padding: 34px 20px;
  background: #fff;
  border: 1px dashed #d8ddd8;
  border-radius: 22px;
  text-align: center;
  color: #8c928e;
}

/* --- block 6 --- */
/* ========================================== FULL SCREEN CALL PAGE ========================================== */
#gvCallScreen {
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, #106146 0%, #0f3327 100%);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  overflow: hidden;
}
#gvCallScreen.active {
  display: flex;
}
.gvCallInner {
  width: 100%;
  height: 100%;
  padding: 28px 24px 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  box-sizing: border-box;
}
.gvCallTop {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 48px;
}
#gvCloseCall {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
}
#gvCloseCall svg {
  width: 22px;
  height: 22px;
}
.gvSignal {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  font-size: 13px;
  font-weight: 600;
}
.gvSignal svg {
  width: 18px;
  height: 18px;
}
.gvCallerAvatar {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: #f7f6f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 54px;
  font-weight: 700;
  color: #106146;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.22);
  margin-top: 24px;
}
#gvCallerName {
  margin: 28px 0 8px;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 700;
}
#gvCallState {
  margin: 0;
  font-size: 17px;
  opacity: 0.85;
}
.gvCallTimer {
  margin-top: 22px;
  font-family: "Poppins", sans-serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.gvCallEarn {
  margin-top: 34px;
  padding: 18px 26px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  text-align: center;
  min-width: 180px;
}
.gvCallEarn span {
  display: block;
  font-size: 13px;
  opacity: 0.8;
  margin-bottom: 6px;
}
.gvCallEarn strong {
  font-family: "Poppins", sans-serif;
  font-size: 34px;
  font-weight: 700;
}
.gvCallActions {
  margin-top: 90px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 18px;
}
.gvMuteBtn {
  width: 120px;
  height: 56px;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.gvEndBtn {
  width: 120px;
  height: 56px;
  border: none;
  border-radius: 999px;
  background: #e53935;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(229, 57, 53, 0.35);
}
@media (max-width: 480px) {
  .gvCallerAvatar {
    width: 110px;
    height: 110px;
    font-size: 46px;
  }
  #gvCallerName {
    font-size: 26px;
  }
  .gvCallTimer {
    font-size: 36px;
  }
  .gvCallEarn strong {
    font-size: 28px;
  }
  .gvCallEarn {
    display: none !important;
  }
} /* =========================== CALL ANIMATIONS =========================== */
@keyframes gvPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.22);
  }
  50% {
    transform: scale(1.06);
    box-shadow: 0 28px 60px rgba(255, 255, 255, 0.2);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.22);
  }
}
.gvCallerAvatar.ringing {
  animation: gvPulse 1.2s ease-in-out infinite;
}
@keyframes gvSignalPulse {
  0% {
    opacity: 0.45;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 0.45;
    transform: scale(1);
  }
}
.gvSignal.searching {
  animation: gvSignalPulse 0.9s linear infinite;
}
.gvSignal svg {
  transition: 0.3s;
}
.gvSignal.searching svg {
  transform: translateY(-1px);
}

/* --- block 7 --- */
/* ========================= FAVORITE POPUP ========================= */
#gvFavOverlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(9, 18, 14, 0.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 999999;
}
#gvFavOverlay.show {
  display: flex;
  animation: gvFadeIn 0.25s ease;
}
@keyframes gvFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.gvFavModal {
  width: 100%;
  max-width: 430px;
  max-height: 82vh;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(16, 97, 70, 0.08);
  border-radius: 28px;
  box-shadow: 0 20px 50px rgba(15, 51, 39, 0.18);
  padding: 26px;
  position: relative;
}
.gvFavClose {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: #f2f5f3;
  color: #106146;
  font-size: 20px;
  cursor: pointer;
  transition: 0.25s;
}
.gvFavClose:hover {
  background: #106146;
  color: #fff;
}
.gvFavModal h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 23px;
  font-weight: 700;
  color: #0f3327;
}
.gvFavModal p {
  margin: 12px 0 22px;
  font-size: 14px;
  line-height: 1.6;
  color: #6f7774;
}
#gvFavList {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 55vh;
  overflow-y: auto;
  padding-right: 4px;
}
#gvFavList::-webkit-scrollbar {
  width: 5px;
}
#gvFavList::-webkit-scrollbar-thumb {
  background: #d9e6df;
  border-radius: 999px;
} /* Contact */
.gvFavContact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px;
  border-radius: 18px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  background: #fbfcfb;
  cursor: pointer;
  transition: 0.25s;
}
.gvFavContact:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16, 97, 70, 0.08);
}
.gvFavContactLeft {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.gvFavCircle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #106146;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  flex-shrink: 0;
}
.gvFavInfo {
  min-width: 0;
}
.gvFavInfo h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f3327;
}
.gvFavInfo p {
  margin: 4px 0 0;
  font-size: 13px;
  color: #7b8087;
}
.gvFavReward {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #106146;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .gvFavModal {
    padding: 22px;
    border-radius: 24px;
  }
  .gvFavModal h2 {
    font-size: 20px;
  }
}

/* --- block 8 --- */
/* ========================== SPONSOR POPUP ========================== */
#gvSponsorPopup {
  position: fixed;
  left: 50%;
  bottom: 120px;
  transform: translateX(-50%) translateY(120%);
  opacity: 0;
  pointer-events: none;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
  z-index: 9999998;
}
#gvSponsorPopup.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
#gvClaimBonus {
  width: 280px;
  height: 55px;
  border: none;
  border-radius: 999px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #106146;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
  cursor: pointer;
  transition: 0.25s;
}
#gvClaimBonus:hover {
  transform: translateY(-2px);
}
#gvClaimBonus svg {
  width: 22px;
  height: 22px;
}

/* --- block 9 --- */
/* ========================================== NEXTEL PLAN PAGE ========================================== */
#gvPlanPage {
  position: fixed;
  inset: 0;
  display: none;
  background: #f7f6f1;
  z-index: 9998;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 18px 120px;
  box-sizing: border-box;
}
#gvPlanPage.active {
  display: block;
}
.gvPlanContent {
  max-width: 760px;
  margin: 0 auto;
} /* ========================================== HERO ========================================== */
.gvPlanHero {
  margin: 22px 0 28px;
  text-align: center;
}
.gvPlanHero h1 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
  line-height: 1.15;
  color: #0f3327;
}
.gvPlanHero p {
  margin: 10px 0 0;
  max-width: 320px;
  font-size: 15px;
  text-align: center;
  line-height: 1.7;
  color: #78827c;
} /* ========================================== CARD ========================================== */
.gvPlanCard {
  position: relative;
  background: #fff;
  border-radius: 32px;
  padding: 30px;
  margin-bottom: 26px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 18px 45px rgba(15, 51, 39, 0.08);
  overflow: hidden;
}
.gvPlanCard.current {
  border: 2px solid rgba(16, 97, 70, 0.14);
  background: linear-gradient(180deg, #ffffff, #fbfdfb);
}
.gvPlanTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 28px;
} /* ========================================== SPARKLE ========================================== */
.gvPlanIcon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f6ffd6, #e8f6ae);
  box-shadow: 0 10px 22px rgba(202, 228, 73, 0.25);
  color: #b6c91f;
  flex-shrink: 0;
}
.gvPlanIcon svg {
  width: 30px;
  height: 30px;
} /* ========================================== PRICE ========================================== */
.gvPlanPriceBox {
  text-align: right;
}
.gvPlanPriceBox h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: #106146;
}
.gvPlanPriceBox span {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  font-weight: 500;
  color: #8d9591;
} /* ========================================== TITLE ========================================== */
.gvPlanCard h3 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 34px;
  text-align: left;
  font-weight: 700;
  line-height: 1.15;
  color: #0f3327;
}
.gvLifetime {
  margin: 8px 0 34px;
  font-size: 17px;
  text-align: left;
  font-weight: 500;
  color: #8b928e;
}
.gvUpgradeBtn,
.gvCurrentPlanBtn {
  align-self: center;
} /* ========================================== FEATURES ========================================== */
.gvPlanFeatures {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.gvPlanFeatures li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.65;
  color: #2f3935;
}
.gvPlanFeatures svg {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  flex-shrink: 0;
  color: #106146;
} /* ========================================== BUTTONS ========================================== */
.gvUpgradeBtn,
.gvCurrentPlanBtn {
  display: block;
  width: 210px;
  max-width: 100%;
  height: 48px;
  margin: 38px auto 0;
  border: none;
  border-radius: 999px;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: 0.25s;
}
.gvUpgradeBtn {
  background: linear-gradient(180deg, #106146, #0f3327);
  color: #fff;
  box-shadow: 0 12px 26px rgba(16, 97, 70, 0.18);
}
.gvUpgradeBtn:hover {
  transform: translateY(-2px);
}
.gvCurrentPlanBtn {
  background: #eef8f2;
  border: 1px solid rgba(16, 97, 70, 0.16);
  color: #106146;
  cursor: default;
}
.gvPlanHint {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
  color: #8b928e;
} /* ========================================== ELITE ========================================== */
.gvElitePlan {
  border: 2px solid rgba(208, 229, 74, 0.42);
  background: linear-gradient(180deg, #ffffff, #fcfef5);
}
.gvEliteBadge {
  position: absolute;
  top: 24px;
  right: 24px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #d9ec64;
  color: #0f3327;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  box-shadow: 0 8px 18px rgba(217, 236, 100, 0.3);
}
.gvEliteBadge {
  top: 18px;
  right: 24px;
}
.gvPlanPriceBox {
  margin-top: 40px;
} /* ========================================== RESPONSIVE ========================================== */
@media (max-width: 640px) {
  #gvPlanPage {
    padding: 18px 14px 120px;
  }
  .gvPlanCard {
    padding: 24px;
    border-radius: 28px;
  }
  .gvPlanTop {
    margin-bottom: 22px;
  }
  .gvPlanPriceBox h2 {
    font-size: 34px;
  }
  .gvPlanCard h3 {
    font-size: 28px;
  }
  .gvLifetime {
    font-size: 15px;
    margin-bottom: 28px;
  }
  .gvPlanFeatures {
    gap: 18px;
  }
  .gvPlanFeatures li {
    font-size: 15px;
  }
  .gvUpgradeBtn,
  .gvCurrentPlanBtn {
    width: 100%;
  }
}
.gvEliteBadge {
  top: 18px;
  right: 24px;
}
.gvPlanPriceBox {
  margin-top: 40px;
}

/* --- block 10 --- */
/* ========================================== WITHDRAW PAGE ========================================== */
#gvWithdrawPage {
  position: fixed;
  inset: 0;
  display: none;
  background: #f7f6f1;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 9998;
  padding: 22px 18px 100px;
  box-sizing: border-box;
}
#gvWithdrawPage.active {
  display: block;
}
.gvWithdrawWrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
} /* ========================================== HEADER ========================================== */
.gvWithdrawHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}
.gvWithdrawBack {
  width: 54px;
  height: 54px;
  border: none;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(16, 97, 70, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.08);
  cursor: pointer;
}
.gvWithdrawBack svg {
  width: 22px;
  height: 22px;
}
.gvWithdrawHeader h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 700;
  color: #0f3327;
}
.gvWithdrawAvatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #106146, #0f3327);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 12px 30px rgba(16, 97, 70, 0.22);
} /* ========================================== BALANCE CARD ========================================== */
.gvWithdrawCard {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border-radius: 34px;
  background:
    radial-gradient(
      circle at top right,
      rgba(255, 255, 255, 0.18) 0,
      rgba(255, 255, 255, 0.08) 26%,
      transparent 27%
    ),
    linear-gradient(135deg, #106146, #157654, #0f3327);
  box-shadow: 0 22px 45px rgba(16, 97, 70, 0.22);
  margin-bottom: 24px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.gvWithdrawGlow {
  position: absolute;
  left: -90px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(199, 233, 90, 0.12);
  filter: blur(30px);
}
.gvWithdrawCircle {
  position: absolute;
  right: -70px;
  top: -70px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.gvWithdrawCard span {
  display: block;
  font-size: 14px;
  letter-spacing: 0.28em;
  font-weight: 600;
  opacity: 0.88;
  margin-bottom: 12px;
  text-align: left;
}
.gvWithdrawCard h1 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  text-align: left;
}
.gvWithdrawMinimum {
  margin-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
  font-weight: 600;
  font-size: 15px;
  align-self: flex-start;
}
.gvWithdrawMinimum svg {
  width: 20px;
  height: 20px;
  color: #c7e95a;
  flex-shrink: 0;
} /* ========================================== STATUS CARD ========================================== */
.gvWithdrawStatus {
  background: #ffffff;
  border-radius: 30px;
  padding: 26px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 14px 34px rgba(16, 97, 70, 0.08);
  margin-bottom: 22px;
  transition: 0.35s;
}
.gvWithdrawStatus.locked {
  border-left: 6px solid #e07c2c;
}
.gvWithdrawStatus.unlocked {
  border-left: 6px solid #2fbf71;
}
.gvWithdrawStatusTitle {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: left;
  margin-bottom: 12px;
}
.gvWithdrawStatus.locked .gvWithdrawStatusTitle {
  color: #d7771f;
}
.gvWithdrawStatus.unlocked .gvWithdrawStatusTitle {
  color: #2fbf71;
}
#gvWithdrawStatusText {
  margin: 0;
  font-size: 14px;
  text-align: left;
  line-height: 1.8;
  color: #6e7673;
} /* ========================================== PROGRESS ========================================== */
.gvWithdrawProgress {
  background: #ffffff;
  border-radius: 30px;
  padding: 20px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 14px 34px rgba(16, 97, 70, 0.08);
  margin-bottom: 24px;
}
.gvWithdrawProgressTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.gvWithdrawProgressTop span {
  font-size: 15px;
  text-align: left;
  color: #6e7673;
}
.gvWithdrawProgressTop strong {
  font-size: 24px;
  font-family: "Poppins", sans-serif;
  color: #106146;
}
.gvProgressBar {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: #e8ece9;
}
#gvProgressFill {
  width: 0%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #c7e95a, #106146);
  transition: 1s ease;
}
#gvWithdrawRemaining {
  margin: 18px 0 0;
  text-align: center;
  text-align: left;
  font-size: 15px;
  line-height: 1.6;
  color: #6e7673;
} /* ========================================== BUTTONS ========================================== */
.gvWithdrawBtn,
.gvWithdrawHistoryBtn {
  width: 100%;
  height: 50px;
  border: none;
  border-radius: 999px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  transition: 0.25s;
}
.gvRecentWithdrawTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #0f3327;
}
.gvWithdrawHistoryBtn svg,
.gvRecentWithdrawTitle svg {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  flex-shrink: 0;
  display: block;
  color: #106146;
}
.gvWithdrawBtn {
  background: linear-gradient(135deg, #c7e95a, #a9d83a);
  color: #0f3327;
  box-shadow: 0 16px 34px rgba(169, 216, 58, 0.28);
  margin-bottom: 20px;
}
.gvWithdrawBtn:hover {
  transform: translateY(-2px);
}
.gvWithdrawHistoryBtn {
  background: #ffffff;
  border: 1px solid rgba(16, 97, 70, 0.08);
  color: #106146;
  margin-bottom: 24px;
} /* ========================================== SECTION ========================================== */
.gvWithdrawSection {
  margin-top: 6px;
}
.gvWithdrawSectionTitle {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.gvWithdrawSectionTitle svg {
  width: 16px;
  height: 16px;
  color: #106146;
}
.gvWithdrawSectionTitle span {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #0f3327;
} /* ========================================== EMPTY ========================================== */
.gvWithdrawEmpty {
  background: #ffffff;
  border-radius: 28px;
  padding: 60px 24px;
  text-align: center;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 14px 34px rgba(16, 97, 70, 0.08);
}
.gvWithdrawEmpty svg {
  width: 40px;
  height: 40px;
  color: #c8d0cb;
  margin-bottom: 12px;
}
.gvWithdrawEmpty p {
  margin: 0;
  font-size: 14px;
  color: #8a918e;
} /* ========================================== RESPONSIVE ========================================== */
@media (max-width: 640px) {
  .gvWithdrawHeader h2 {
    font-size: 22px;
  }
  .gvWithdrawCard {
    padding: 28px;
  }
  .gvWithdrawCard h1 {
    font-size: 35px;
  }
  .gvWithdrawStatusTitle {
    font-size: 20px;
  }
  .gvWithdrawSectionTitle span {
    font-size: 20px;
  }
  .gvWithdrawBtn,
  .gvWithdrawHistoryBtn {
    height: 45px;
    font-size: 15px;
  }
}
.gvWithdrawStatusTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
  text-align: left;
}
.gvWithdrawStatusTitle svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: block;
} /* ========================================== WITHDRAWAL HISTORY ITEM ========================================== */
.gvWithdrawItem {
  background: #fff;
  border-radius: 24px;
  padding: 18px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.08);
  margin-bottom: 16px;
}
.gvWithdrawItemTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.gvWithdrawItemTitle {
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #0f3327;
}
.gvWithdrawBadge {
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff6d8;
  color: #c68a00;
  font-size: 12px;
  font-weight: 700;
}
.gvWithdrawAmount {
  font-family: "Poppins", sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #106146;
  margin-bottom: 8px;
}
.gvWithdrawDate {
  font-size: 14px;
  color: #7b8087;
}

/* --- block 11 --- */
/* ========================================== VERIFY PAGE ========================================== */
#gvWithdrawVerify {
  position: fixed;
  inset: 0;
  display: none;
  background: #f7f6f1;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 9999;
  padding: 22px 18px 100px;
  box-sizing: border-box;
}
#gvWithdrawVerify.active {
  display: block;
}
.gvVerifyWrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
} /* ========================================== HEADER ========================================== */
.gvVerifyHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}
.gvVerifyBack {
  width: 54px;
  height: 54px;
  border: none;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(16, 97, 70, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
  box-shadow: 0 10px 24px rgba(16, 97, 70, 0.08);
  cursor: pointer;
}
.gvVerifyBack svg {
  width: 22px;
  height: 22px;
}
.gvVerifyHeader h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 700;
  color: #0f3327;
}
.gvVerifyAvatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #106146, #0f3327);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 12px 30px rgba(16, 97, 70, 0.2);
} /* ========================================== BALANCE CARD ========================================== */
.gvVerifyCard {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border-radius: 34px;
  background:
    radial-gradient(
      circle at top right,
      rgba(255, 255, 255, 0.16),
      transparent 45%
    ),
    linear-gradient(135deg, #106146, #157654, #0f3327);
  color: #fff;
  box-shadow: 0 22px 45px rgba(16, 97, 70, 0.22);
  margin-bottom: 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.gvVerifyGlow {
  position: absolute;
  left: -90px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(199, 233, 90, 0.1);
  filter: blur(30px);
}
.gvVerifyCircle {
  position: absolute;
  top: -70px;
  right: -70px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.gvVerifyCard span {
  position: relative;
  display: block;
  font-size: 14px;
  letter-spacing: 0.24em;
  font-weight: 600;
  margin-bottom: 12px;
  opacity: 0.88;
  text-align: left;
  align-self: flex-start;
}
.gvVerifyCard h1 {
  position: relative;
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 600;
  text-align: left;
  line-height: 1;
}
.gvVerifyCard p {
  position: relative;
  margin: 16px 0 0;
  font-size: 12px;
  text-align: left;
  opacity: 0.92;
  line-height: 1.7;
} /* ========================================== FORM ========================================== */
.gvVerifyBox {
  background: #ffffff;
  border-radius: 30px;
  padding: 28px;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 16px 36px rgba(16, 97, 70, 0.08);
}
.gvVerifyBox h3 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  font-weight: 700;
  text-align: left;
  color: #0f3327;
}
.gvVerifyBox p {
  margin: 10px 0 26px;
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
  color: #727a77;
}
.gvVerifyBox label {
  display: block;
  margin-bottom: 10px;
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  color: #106146;
}
#gvEsimInput {
  width: 100%;
  height: 60px;
  padding: 0 20px;
  border-radius: 18px;
  border: 2px solid #e5ece8;
  outline: none;
  box-sizing: border-box;
  font-size: 18px;
  font-family: "Poppins", sans-serif;
  transition: 0.25s;
  background: #fcfdfc;
}
#gvEsimInput:focus {
  border-color: #106146;
  box-shadow: 0 0 0 4px rgba(16, 97, 70, 0.08);
}
#gvEsimInput.error {
  border-color: #e53935;
  box-shadow: 0 0 0 4px rgba(229, 57, 53, 0.08);
}
.gvEsimError {
  min-height: 22px;
  margin-top: 10px;
  margin-bottom: 24px;
  font-size: 14px;
  font-weight: 600;
  color: #e53935;
} /* ========================================== BUTTONS ========================================== */
.gvVerifyBtn {
  width: 100%;
  height: 58px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #106146, #0f3327);
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 14px 28px rgba(16, 97, 70, 0.18);
}
.gvVerifyBtn:hover {
  transform: translateY(-2px);
}
.gvGetEsim {
  width: 100%;
  height: 56px;
  margin-top: 16px;
  border: none;
  border-radius: 999px;
  background: #ecf8f2;
  color: #106146;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.25s;
}
.gvGetEsim:hover {
  background: #e1f3ea;
} /* ========================================== HELP CARD ========================================== */
.gvVerifyHelp {
  margin-top: 28px;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(16, 97, 70, 0.08);
  box-shadow: 0 14px 34px rgba(16, 97, 70, 0.08);
}
.gvVerifyHelpIcon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #ecf8f2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
  flex-shrink: 0;
}
.gvVerifyHelpIcon svg {
  width: 24px;
  height: 24px;
}
.gvVerifyHelpText {
  flex: 1;
  text-align: right;
}
.gvVerifyHelpText h4 {
  margin: 0 0 8px;
  font-family: "Poppins", sans-serif;
  text-align: right;
  font-size: 19px;
  font-weight: 700;
  color: #0f3327;
}
.gvVerifyHelpText p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  text-align: right;
  color: #727a77;
} /* ========================================== RESPONSIVE ========================================== */
@media (max-width: 640px) {
  .gvVerifyHeader h2 {
    font-size: 24px;
  }
  .gvVerifyCard {
    padding: 28px;
  }
  .gvVerifyCard h1 {
    font-size: 35px;
  }
  .gvVerifyBox {
    padding: 22px;
  }
  .gvVerifyBox h3 {
    font-size: 20px;
  }
  .gvVerifyHelp {
    padding: 20px;
  }
} /* ========================================== WITHDRAWAL SUCCESS POPUP ========================================== */
#gvEsimPicker {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 51, 39, 0.45);
  backdrop-filter: blur(10px);
  padding: 24px;
  z-index: 999999;
}
#gvEsimPicker.active {
  display: flex;
}
.gvEsimPickerCard {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 32px;
  padding: 34px 28px;
  text-align: center;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.18);
  position: relative;
}
.gvEsimPickerClose {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: #f2f4f2;
  color: #0f3327;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.gvEsimPickerCard h3 {
  margin: 0 0 8px;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #0f3327;
}
.gvEsimPickerCard > p {
  margin: 0 0 22px;
  font-size: 14px;
  color: #6e7673;
}
.gvEsimPickerOption {
  width: 100%;
  height: 64px;
  margin-bottom: 12px;
  padding: 0 20px;
  border: 1px solid rgba(15, 51, 39, 0.12);
  border-radius: 18px;
  background: #f7f6f1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: 0.2s;
  font-family: "Poppins", sans-serif;
}
.gvEsimPickerOption:hover {
  background: #eaf3ee;
  border-color: #106146;
}
.gvEsimPickerOption:active {
  transform: scale(0.98);
}
.gvEsimPickerName {
  font-size: 15px;
  font-weight: 600;
  color: #0f3327;
}
.gvEsimPickerPrice {
  font-size: 14px;
  font-weight: 700;
  color: #106146;
}
#gvWithdrawSuccess {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 51, 39, 0.45);
  backdrop-filter: blur(10px);
  padding: 24px;
  z-index: 999999;
}
#gvWithdrawSuccess.active {
  display: flex;
}
.gvWithdrawSuccessCard {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 32px;
  padding: 34px 28px;
  text-align: center;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.18);
}
.gvWithdrawSuccessIcon {
  width: 82px;
  height: 82px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #eaf8ef;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
}
.gvWithdrawSuccessIcon svg {
  width: 42px;
  height: 42px;
}
.gvWithdrawSuccessCard h2 {
  margin: 0 0 14px;
  font-family: "Poppins", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #0f3327;
}
.gvWithdrawSuccessCard p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: #6e7673;
}
#gvWithdrawalHistoryBtn {
  width: 100%;
  height: 54px;
  margin-top: 30px;
  border: none;
  border-radius: 999px;
  background: #106146;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.25s;
}
#gvWithdrawalHistoryBtn:hover {
  background: #0f3327;
}
.gvWithdrawBottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  gap: 20px;
}
.gvWithdrawAmount {
  margin: 0;
}
.gvWithdrawDate {
  margin: 0;
  font-size: 14px;
  color: #7b8087;
  white-space: nowrap;
}

/* --- block 12 --- */
/* ========================================== NEXTEL PROFILE PAGE ========================================== */
#gvProfilePage {
  position: fixed;
  inset: 0;
  display: none;
  background: #f7f6f1;
  z-index: 999998;
  overflow-y: auto;
  padding: 22px 18px 120px;
  box-sizing: border-box;
}
#gvProfilePage.active {
  display: block;
}
.gvProfileInner {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
} /* HEADER */
.gvProfileHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
#gvProfileBack {
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 14px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #106146;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(16, 97, 70, 0.08);
}
#gvProfileBack svg {
  width: 22px;
  height: 22px;
}
.gvProfileHeader h2 {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #0f3327;
} /* CARD */
.gvProfileCard {
  background: #fff;
  border-radius: 28px;
  padding: 26px;
  text-align: center;
  border: 1px solid #e7ece8;
  box-shadow: 0 14px 34px rgba(16, 97, 70, 0.08);
  margin-bottom: 22px;
}
.gvProfileAvatarWrap {
  position: relative;
  width: 110px;
  margin: auto;
}
.gvProfileAvatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  background: #eef4f1;
  border: 4px solid #106146;
}
.gvProfileAvatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gvProfileCamera {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #106146;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.gvProfileCamera svg {
  width: 18px;
  height: 18px;
}
.gvProfileCard h3 {
  margin: 16px 0 6px;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #0f3327;
}
.gvProfileCard p {
  margin: 0;
  font-size: 15px;
  color: #6d756f;
}
.gvMemberBadge {
  display: inline-flex;
  margin-top: 14px;
  padding: 9px 18px;
  border-radius: 999px;
  background: #eaf5f0;
  color: #106146;
  font-size: 13px;
  font-weight: 700;
}
.gvProfileCard span {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  color: #8a918d;
} /* STATS */
.gvProfileStats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.gvStatBox {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  text-align: center;
  border: 1px solid #e6ece7;
}
.gvStatBox strong {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #106146;
  margin-bottom: 6px;
}
.gvStatBox span {
  font-size: 13px;
  color: #707874;
} /* TABS */
.gvProfileTabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.gvProfileTab {
  flex: 1;
  height: 46px;
  border: none;
  border-radius: 999px;
  background: #fff;
  color: #5b645e;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid #e5ece7;
  transition: 0.25s;
}
.gvProfileTab.active {
  background: #106146;
  color: #fff;
  border-color: #106146;
} /* CONTENT */
.gvProfileSection {
  display: none;
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid #e7ece8;
  box-shadow: 0 10px 28px rgba(16, 97, 70, 0.07);
}
.gvProfileSection.active {
  display: block;
}
.gvProfileSection .gvField {
  margin-bottom: 18px;
}
.gvProfileSection label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #0f3327;
}
.gvProfileSection .gvInput {
  height: 50px;
}
.gvProfileSection input,
.gvProfileSection select {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 18px;
  font-size: 15px;
  font-family: "Inter", sans-serif;
  color: #111;
}
.gvProfileSection input[readonly] {
  background: #f8faf9;
  color: #68716c;
  font-weight: 600;
  cursor: not-allowed;
}
.gvProfileSave {
  width: 100%;
  height: 54px;
  margin-top: 8px;
  border: none;
  border-radius: 999px;
  background: #106146;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(16, 97, 70, 0.18);
} /* MOBILE */
@media (max-width: 640px) {
  .gvProfileStats {
    gap: 10px;
  }
  .gvStatBox {
    padding: 16px 10px;
  }
  .gvStatBox strong {
    font-size: 18px;
  }
  .gvStatBox span {
    font-size: 12px;
  }
  .gvProfileCard {
    padding: 22px;
  }
}
