:root {
    --gy-bg: #f7f7f5;
    --gy-surface: #fffaf6;
    --gy-surface-strong: #ffffff;
    --gy-ink: #171513;
    --gy-muted: #706a65;
    --gy-line: rgba(76, 59, 48, .12);
    --gy-gold: #ef6500;
    --gy-gold-strong: #cf4f00;
    --gy-gold-soft: #fff0e5;
    --gy-green: #188351;
    --gy-danger: #be3f34;
    --gy-shadow: 0 18px 55px rgba(67, 42, 24, .1);
    --gy-radius: 24px;
    --gy-shell-width: 480px;
    --gy-app-bar-height: 82px;
}

/* Approved VinTech mobile dashboard — scoped so unfinished pages retain their current layout. */
html body.gy-user-body.gy-home-body {
    --vt-approved-ink: #1e2022;
    --vt-approved-muted: #898b90;
    --vt-approved-line: #ececee;
    --vt-approved-orange: #a83c13;
    --vt-approved-green: #26b873;
    --vt-approved-red: #f25f63;
    background: #f3f3f3;
    color: var(--vt-approved-ink);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}

html body.gy-user-body.gy-home-body .gy-shell {
    width: min(100%, 430px);
    min-height: 100dvh;
    overflow: hidden;
    padding-bottom: 0;
    background: #fff;
    box-shadow: 0 20px 60px rgba(23, 23, 23, .12);
}

html body.gy-user-body.gy-home-body .gy-app-bar { display: none; }

html body.gy-user-body.gy-home-body [data-gy-app-view] {
    min-height: 100dvh;
}

html body.gy-user-body.gy-home-body .vt-approved-dashboard,
html body.gy-user-body.gy-home-body .vt-approved-dashboard * { box-sizing: border-box; }

html body.gy-user-body.gy-home-body .vt-approved-dashboard button,
html body.gy-user-body.gy-home-body .vt-approved-dashboard a,
html body.gy-user-body.gy-home-body .vt-approved-modal button,
html body.gy-user-body.gy-home-body .vt-approved-modal a,
html body.gy-user-body.gy-home-body .vt-approved-modal input { font: inherit; }

html body.gy-user-body.gy-home-body .vt-approved-dashboard {
    position: relative;
    min-height: 100dvh;
    background: #fff;
    color: var(--vt-approved-ink);
}

html body.gy-user-body.gy-home-body .vt-approved-hero {
    position: relative;
    height: 314px;
    overflow: hidden;
    padding: max(13px, env(safe-area-inset-top)) 20px 0;
    background: linear-gradient(158deg, #111516 0%, #171314 42%, #35140a 72%, #76270c 100%);
    color: #fff;
}

html body.gy-user-body.gy-home-body .vt-approved-topbar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 7px;
}

html body.gy-user-body.gy-home-body .vt-approved-account {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    text-align: left;
}

html body.gy-user-body.gy-home-body .vt-approved-avatar {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    border: 2px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
}

html body.gy-user-body.gy-home-body .vt-approved-account span { min-width: 0; }
html body.gy-user-body.gy-home-body .vt-approved-account small,
html body.gy-user-body.gy-home-body .vt-approved-account strong { display: block; }
html body.gy-user-body.gy-home-body .vt-approved-account small { color: rgba(255,255,255,.65); font-size: 10px; line-height: 1.2; }
html body.gy-user-body.gy-home-body .vt-approved-account strong { max-width: 160px; margin-top: 2px; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.gy-home-body .vt-approved-top-actions { display: flex; gap: 9px; }
html body.gy-user-body.gy-home-body .vt-approved-round-button {
    position: relative;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    color: #fff;
    font-size: 20px;
    text-decoration: none;
}
html body.gy-user-body.gy-home-body .vt-approved-alert-dot { position: absolute; top: 9px; right: 9px; width: 6px; height: 6px; border: 1px solid #23130e; border-radius: 50%; background: #ff9b66; }

html body.gy-user-body.gy-home-body .vt-approved-balance { position: relative; z-index: 2; margin-top: 20px; }
html body.gy-user-body.gy-home-body .vt-approved-balance > p { margin: 0 0 3px; color: rgba(255,255,255,.64); font-size: 11px; }
html body.gy-user-body.gy-home-body .vt-approved-balance > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.gy-user-body.gy-home-body .vt-approved-balance h1 {
    max-width: calc(100% - 42px);
    margin: 0;
    overflow: hidden;
    font-size: 42px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
html body.gy-user-body.gy-home-body .vt-approved-eye { padding: 4px; border: 0; background: transparent; color: rgba(255,255,255,.92); font-size: 20px; }
html body.gy-user-body.gy-home-body .vt-approved-eye .gy-eye-closed { display: none; }
html.gy-balances-hidden body.gy-user-body.gy-home-body .vt-approved-eye .gy-eye-open { display: none; }
html.gy-balances-hidden body.gy-user-body.gy-home-body .vt-approved-eye .gy-eye-closed { display: inline-block; }
html body.gy-user-body.gy-home-body .vt-approved-wallet-id { display: flex; align-items: center; gap: 7px; margin-top: 6px; color: rgba(255,255,255,.65); font-size: 10px; }
html body.gy-user-body.gy-home-body .vt-approved-wallet-id i { font-size: 12px; }

html body.gy-user-body.gy-home-body .vt-approved-money-actions {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1.35fr 52px;
    gap: 10px;
    margin-top: 21px;
}
html body.gy-user-body.gy-home-body .vt-approved-money-actions a,
html body.gy-user-body.gy-home-body .vt-approved-money-actions button {
    display: flex;
    height: 50px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #202224;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
}
html body.gy-user-body.gy-home-body .vt-approved-money-actions .is-send { background: linear-gradient(145deg, #bc461a, #8a2b0c); color: #fff; }
html body.gy-user-body.gy-home-body .vt-approved-money-actions .is-more { width: 52px; padding: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 22px; }
html body.gy-user-body.gy-home-body .vt-approved-money-actions button.is-more { border: 0 !important; box-shadow: none !important; }
html body.gy-user-body.gy-home-body .vt-approved-handle { position: absolute; z-index: 2; right: 50%; bottom: 29px; width: 81px; height: 4px; border-radius: 9px; background: rgba(255,255,255,.9); transform: translateX(50%); }

html body.gy-user-body.gy-home-body .vt-approved-sheet {
    position: relative;
    z-index: 3;
    min-height: calc(100dvh - 296px);
    margin-top: -18px;
    padding: 18px 16px calc(102px + env(safe-area-inset-bottom));
    border-radius: 24px 24px 0 0;
    background: #fff;
}
html body.gy-user-body.gy-home-body .vt-approved-quick-card {
    padding: 14px 12px 12px;
    border: 1px solid #f0f0f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(32,33,36,.06);
}
html body.gy-user-body.gy-home-body .vt-approved-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
html body.gy-user-body.gy-home-body .vt-approved-section-head h2 { margin: 0; color: #292b2e; font-size: 15px; font-weight: 600; letter-spacing: -.015em; }
html body.gy-user-body.gy-home-body .vt-approved-section-head a,
html body.gy-user-body.gy-home-body .vt-approved-section-head button { padding: 0; border: 0; background: transparent; color: #62656a; font-size: 11px; text-decoration: none; }
html body.gy-user-body.gy-home-body .vt-approved-section-head i { margin-left: 2px; font-size: 11px; }

html body.gy-user-body.gy-home-body .vt-approved-quick-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a { min-width: 0; color: inherit; text-align: center; text-decoration: none; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a > span { display: grid; width: 43px; height: 43px; place-items: center; margin: 0 auto; border: 2px solid #f1f1f1; border-radius: 50%; background: #f5f5f4; color: #98320f; font-size: 17px; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a:nth-child(2) > span { background: #fff3ed; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a:nth-child(3) > span { background: #f7eee9; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a:nth-child(4) > span { background: #f3f4f3; color: #4c4f52; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a:nth-child(5) > span { background: #fff0e8; color: #bd461a; }
html body.gy-user-body.gy-home-body .vt-approved-quick-actions small { display: block; margin-top: 4px; overflow: hidden; color: #5f6266; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.gy-home-body .vt-approved-transactions,
html body.gy-user-body.gy-home-body .vt-approved-summary { padding: 21px 1px 0; }
html body.gy-user-body.gy-home-body .vt-approved-transaction { display: grid; min-height: 62px; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #f3f5f4; color: #c83f10; font-size: 17px; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-icon.is-credit { color: #36b971; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-icon.is-pending { background: #fff3ed; color: #bd461a; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-copy,
html body.gy-user-body.gy-home-body .vt-approved-transaction-value { min-width: 0; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-copy strong,
html body.gy-user-body.gy-home-body .vt-approved-transaction-copy small,
html body.gy-user-body.gy-home-body .vt-approved-transaction-value strong,
html body.gy-user-body.gy-home-body .vt-approved-transaction-value small { display: block; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-copy strong { overflow: hidden; color: #292b2e; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-copy small { margin-top: 3px; overflow: hidden; color: #85878c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-value { text-align: right; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-value strong { color: var(--vt-approved-red); font-size: 12px; font-weight: 600; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-value.is-credit strong { color: var(--vt-approved-green); }
html body.gy-user-body.gy-home-body .vt-approved-transaction-value.is-pending strong { color: #bd461a; }
html body.gy-user-body.gy-home-body .vt-approved-transaction-value small { margin-top: 3px; color: #7f8185; font-size: 8px; }
html body.gy-user-body.gy-home-body .vt-approved-empty { display: grid; place-items: center; padding: 28px 16px 16px; color: #777a7e; text-align: center; }
html body.gy-user-body.gy-home-body .vt-approved-empty span { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 8px; border-radius: 50%; background: #f4f4f3; color: #a83c13; }
html body.gy-user-body.gy-home-body .vt-approved-empty strong { color: #343638; font-size: 12px; font-weight: 600; }
html body.gy-user-body.gy-home-body .vt-approved-empty small { margin-top: 3px; font-size: 9px; }

html body.gy-user-body.gy-home-body .vt-approved-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 12px 0 0; }
html body.gy-user-body.gy-home-body .vt-approved-summary dl > div { min-width: 0; padding: 12px 10px; border: 1px solid #efefef; border-radius: 14px; background: #fafafa; }
html body.gy-user-body.gy-home-body .vt-approved-summary dt { color: #8b8d91; font-size: 8px; }
html body.gy-user-body.gy-home-body .vt-approved-summary dd { margin: 4px 0 0; overflow: hidden; color: #292b2e; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.gy-home-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; }
html body.gy-user-body.gy-home-body .gy-bottom-nav-inner { display: grid; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.gy-home-body .gy-nav-item,
html body.gy-user-body.gy-home-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; align-items: center; justify-content: center; gap: 4px; flex-direction: column; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #85888c; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.gy-home-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.gy-home-body .gy-nav-item.is-active { color: #252729; font-weight: 600; }
html body.gy-user-body.gy-home-body .gy-nav-primary { width: 60px; height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c); color: #fff; box-shadow: 0 8px 18px rgba(120,42,13,.28); }
html body.gy-user-body.gy-home-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.gy-home-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.gy-home-body .gy-nav-label { display: block; font-size: 9px; }

html body.gy-user-body.gy-home-body.gy-modal-open { overflow: hidden; }
html body.gy-user-body.gy-home-body .vt-approved-modal { position: fixed; z-index: 2100; inset: 0; display: grid; place-items: center; padding: 18px; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.gy-home-body .vt-approved-modal.hidden { display: none !important; }
html body.gy-user-body.gy-home-body .vt-approved-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(18,18,19,.55); backdrop-filter: blur(3px); }
html body.gy-user-body.gy-home-body .vt-approved-modal-card { position: relative; z-index: 1; width: min(100%,396px); max-height: calc(100dvh - 36px); overflow: auto; padding: 17px; border-radius: 20px; background: #fff; color: #232527; box-shadow: 0 22px 60px rgba(0,0,0,.24); }
html body.gy-user-body.gy-home-body .vt-approved-modal-head { display: flex; align-items: center; gap: 10px; }
html body.gy-user-body.gy-home-body .vt-approved-modal-head > div { min-width: 0; flex: 1; }
html body.gy-user-body.gy-home-body .vt-approved-modal-head small { display: block; color: #a83c13; font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.gy-home-body .vt-approved-modal-head h2 { margin: 2px 0 0; font-size: 16px; font-weight: 600; }
html body.gy-user-body.gy-home-body .vt-approved-modal-head h2:focus { outline: 0; }
html body.gy-user-body.gy-home-body .vt-approved-modal-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #fff0e8; color: #a83c13; }
html body.gy-user-body.gy-home-body .vt-approved-modal-close { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #f2f2f2; color: #555; font-size: 16px; }
html body.gy-user-body.gy-home-body .vt-approved-modal-card > p { margin: 10px 0 0; color: #74767a; font-size: 10px; line-height: 1.55; }
html body.gy-user-body.gy-home-body .vt-approved-announcement-art { display: block; width: 100%; max-height: 48dvh; margin-top: 12px; border-radius: 14px; background: #f5f5f4; object-fit: contain; }
html body.gy-user-body.gy-home-body .vt-approved-modal-primary { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; border-radius: 999px; background: linear-gradient(145deg,#b54016,#82290c); color: #fff; font-size: 11px; font-weight: 500; text-decoration: none; }
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal { align-items: end; padding: 0; }
html body.gy-user-body.gy-home-body .vt-approved-more-card { width: min(100%,430px); padding: 10px 18px calc(22px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
html body.gy-user-body.gy-home-body .vt-approved-sheet-grabber { width: 46px; height: 4px; margin: 0 auto 15px; border-radius: 4px; background: #dedede; }
html body.gy-user-body.gy-home-body .vt-approved-more-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 17px; }
html body.gy-user-body.gy-home-body .vt-approved-more-grid a,
html body.gy-user-body.gy-home-body .vt-approved-more-grid button { display: flex; min-width: 0; align-items: center; gap: 8px; flex-direction: column; padding: 12px 5px; border: 1px solid #efefef; border-radius: 14px; background: #fff; color: #313335; text-align: center; text-decoration: none; }
html body.gy-user-body.gy-home-body .vt-approved-more-grid span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #fff0e8; color: #a83c13; font-size: 17px; }
html body.gy-user-body.gy-home-body .vt-approved-more-grid strong { font-size: 10px; font-weight: 500; }
html body.gy-user-body.gy-home-body .vt-approved-gift-form { margin-top: 15px; }
html body.gy-user-body.gy-home-body .vt-approved-gift-form label { display: block; margin-bottom: 6px; color: #56585b; font-size: 10px; }
html body.gy-user-body.gy-home-body .vt-approved-gift-form > div { display: flex; min-height: 47px; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid #e7e7e7; border-radius: 13px; background: #fafafa; color: #a83c13; }
html body.gy-user-body.gy-home-body .vt-approved-gift-form input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #292b2e; font-size: 12px; }
html body.gy-user-body.gy-home-body .vt-approved-gift-form > button { width: 100%; min-height: 46px; margin-top: 11px; border: 0; border-radius: 999px; background: #9c330f; color: #fff; font-size: 11px; }
html body.gy-user-body.gy-home-body .vt-approved-field-error { display: block; margin-top: 6px; color: #c94747; font-size: 9px; }

html body.gy-user-body.gy-home-body .iziToast-wrapper { top: 14px !important; }

@media (max-width: 350px) {
    html body.gy-user-body.gy-home-body .vt-approved-hero { padding-right: 14px; padding-left: 14px; }
    html body.gy-user-body.gy-home-body .vt-approved-balance h1 { font-size: 36px; }
    html body.gy-user-body.gy-home-body .vt-approved-money-actions { gap: 7px; }
    html body.gy-user-body.gy-home-body .vt-approved-quick-actions { gap: 2px; }
    html body.gy-user-body.gy-home-body .vt-approved-quick-actions a > span { width: 39px; height: 39px; }
}

@media (min-width: 700px) {
    html body.gy-user-body.gy-home-body { padding: 28px 0; }
    html body.gy-user-body.gy-home-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.gy-home-body .vt-approved-dashboard { min-height: 844px; }
    html body.gy-user-body.gy-home-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.gy-home-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

html {
    background: var(--gy-bg);
}

body.gy-user-body,
body.gy-auth-body {
    margin: 0;
    min-height: 100vh;
    color: var(--gy-ink);
    background:
        radial-gradient(circle at 18% -10%, rgba(255, 199, 157, .28), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--gy-bg) 48%, #f5f2ef 100%);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
    letter-spacing: 0;
}

.gy-auth-card :where(h1, h2, h3, h4, h5, h6, p, a, button, label, span, strong, b, input),
.gy-topbar :where(h1, h2, h3, h4, h5, h6, p, a, button, label, span, strong, b),
.gy-content :where(h1, h2, h3, h4, h5, h6, p, a, button, label, span, strong, b, input),
.gy-page :where(h1, h2, h3, h4, h5, h6, p, a, button, label, span, strong, b, input, select, textarea),
.gy-bottom-nav :where(a, span) {
    font-family: inherit;
    font-weight: 400;
}

.gy-shell {
    position: relative;
    width: min(100%, var(--gy-shell-width));
    min-height: 100vh;
    margin: 0 auto;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .72);
}

[data-gy-app-view] {
    min-height: calc(100vh - var(--gy-app-bar-height) - 92px);
    outline: none;
}

[data-gy-app-view][data-gy-context="guest"] {
    display: grid;
    width: 100%;
    min-height: auto;
    place-items: center;
}

[data-gy-app-view][aria-busy="true"] {
    pointer-events: none;
}

.gy-app-bar {
    position: sticky;
    top: 0;
    z-index: 45;
    display: grid;
    min-height: calc(var(--gy-app-bar-height) + env(safe-area-inset-top));
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 12px;
    padding: calc(12px + env(safe-area-inset-top)) 18px 12px;
    border-bottom: 1px solid rgba(76, 59, 48, .08);
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(18px);
}

.gy-app-bar-button {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fff;
    color: var(--gy-ink);
    box-shadow: 0 8px 24px rgba(67, 42, 24, .07);
    cursor: pointer;
}

.gy-app-bar-button svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.gy-app-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}

.gy-app-logo {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 8px 22px rgba(67, 42, 24, .14);
}

.gy-app-identity-copy {
    min-width: 0;
}

.gy-app-identity-copy span,
.gy-app-identity-copy strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-app-identity-copy span {
    color: var(--gy-muted);
    font-size: 12px;
}

.gy-app-identity-copy strong {
    margin-top: 2px;
    color: var(--gy-ink);
    font-size: 16px;
    font-weight: 600;
}

.gy-drawer {
    position: fixed;
    inset: 0;
    z-index: 2200;
    visibility: hidden;
    pointer-events: none;
}

.gy-drawer.is-open {
    visibility: visible;
    pointer-events: auto;
}

.gy-drawer-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(22, 17, 13, .4);
    opacity: 0;
    transition: opacity .2s ease;
    backdrop-filter: blur(3px);
}

.gy-drawer.is-open .gy-drawer-backdrop {
    opacity: 1;
}

.gy-drawer-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: min(86vw, 340px);
    flex-direction: column;
    padding: calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
    background: #fff;
    box-shadow: 26px 0 70px rgba(41, 24, 13, .2);
    transform: translateX(-102%);
    transition: transform .24s ease;
}

.gy-drawer.is-open .gy-drawer-panel {
    transform: translateX(0);
}

.gy-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--gy-line);
}

.gy-drawer-links {
    display: grid;
    gap: 4px;
    padding: 18px 0;
}

.gy-drawer-links a,
.gy-drawer-logout button {
    display: flex;
    min-height: 48px;
    width: 100%;
    align-items: center;
    border: 0;
    border-radius: 15px;
    background: transparent;
    color: var(--gy-ink);
    padding: 0 14px;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

.gy-drawer-links a:hover,
.gy-drawer-links a:focus-visible {
    background: var(--gy-gold-soft);
    color: var(--gy-gold-strong);
}

.gy-drawer-logout {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--gy-line);
}

.gy-drawer-logout button {
    color: var(--gy-danger);
}

.gy-drawer-panel {
    width: min(90vw, 360px);
    overflow: hidden;
    border-radius: 0 28px 28px 0;
    background: #faf8f6;
    padding: calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));
}

.gy-drawer-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    align-items: start;
    gap: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 23px;
    background:
        radial-gradient(circle at 96% 0%, rgba(255, 226, 205, .27), transparent 36%),
        linear-gradient(145deg, #fb7418, #e95805 58%, #cc4500);
    padding: 15px;
    color: #fff;
    box-shadow: 0 13px 27px rgba(190, 63, 0, .2);
}

.gy-drawer-head::after {
    position: absolute;
    right: -45px;
    bottom: -70px;
    width: 145px;
    height: 145px;
    border: 25px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.gy-drawer-account,
.gy-drawer-close {
    position: relative;
    z-index: 1;
}

.gy-drawer-account {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.gy-drawer-logo {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255, 255, 255, .62);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 7px 17px rgba(91, 24, 0, .2);
}

.gy-drawer-account > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-drawer-account span {
    color: rgba(255, 255, 255, .72);
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gy-drawer-account strong {
    overflow: hidden;
    color: #fff;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-drawer-account small {
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgba(255, 255, 255, .8);
    font-size: 8px;
}

.gy-drawer-account small i {
    width: 6px;
    height: 6px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    background: #58d594;
}

.gy-drawer-close {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 14px;
    background: rgba(103, 25, 0, .16);
    color: #fff;
    cursor: pointer;
}

.gy-drawer-close svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.gy-drawer-links {
    display: block;
    min-height: 0;
    overflow-y: auto;
    padding: 12px 1px 10px;
    scrollbar-width: thin;
    scrollbar-color: rgba(218, 77, 0, .2) transparent;
}

.gy-drawer-group + .gy-drawer-group {
    margin-top: 13px;
}

.gy-drawer-group > p {
    margin: 0 8px 6px;
    color: #a08373;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gy-drawer-links .gy-drawer-group > a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 18px;
    min-height: 57px;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
    border: 1px solid transparent;
    border-radius: 17px;
    background: transparent;
    padding: 7px 9px;
    color: #2a211d;
}

.gy-drawer-links .gy-drawer-group > a:hover,
.gy-drawer-links .gy-drawer-group > a:focus-visible {
    border-color: rgba(218, 77, 0, .1);
    background: #fff4ec;
    color: #c84600;
}

.gy-drawer-links .gy-drawer-group > a.is-active {
    border-color: rgba(218, 77, 0, .13);
    background: linear-gradient(105deg, #fff0e5, #fff9f5);
    color: #c84600;
    box-shadow: 0 7px 18px rgba(74, 38, 17, .06);
}

.gy-drawer-link-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: #fff0e6;
    color: #da4d00;
}

.gy-drawer-links a.is-active .gy-drawer-link-icon {
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    box-shadow: 0 7px 16px rgba(218, 77, 0, .19);
}

.gy-drawer-link-icon svg,
.gy-drawer-logout-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gy-drawer-link-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-drawer-link-copy strong {
    overflow: hidden;
    color: currentColor;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-drawer-link-copy small {
    overflow: hidden;
    color: #94847b;
    font-size: 8px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-drawer-chevron {
    color: #b19889;
    font-size: 20px;
    line-height: 1;
    text-align: center;
}

.gy-drawer-logout {
    margin-top: 0;
    border-top: 1px solid #eadfd9;
    padding: 10px 1px 0;
}

.gy-drawer-logout button {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 18px;
    min-height: 55px;
    gap: 10px;
    border: 1px solid rgba(190, 63, 52, .12);
    border-radius: 17px;
    background: #fff5f3;
    color: #b83c32;
    padding: 7px 9px;
    font-size: 11px;
    font-weight: 650;
}

.gy-drawer-logout-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: #ffe5e1;
}

.gy-drawer-logout button > span:last-child {
    color: #c8918c;
    font-size: 20px;
    text-align: center;
}

body.gy-user-body .gy-drawer-close:focus,
body.gy-user-body .gy-drawer-close:focus-visible {
    border-color: rgba(255, 255, 255, .6);
    outline: none !important;
    box-shadow: none !important;
}

body.gy-drawer-open {
    overflow: hidden;
}

.gy-impersonation-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #f1cc75;
    background: #fff3cd;
    color: #6f4d00;
    padding: 10px 18px;
    font-size: 13px;
}

.gy-impersonation-banner p {
    margin: 0;
}

.gy-impersonation-banner button {
    border: 0;
    border-radius: 10px;
    background: #6f4d00;
    color: #fff;
    padding: 8px 10px;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.gy-auth-page {
    background-image:
        linear-gradient(135deg, rgba(185, 130, 19, .04) 25%, transparent 25%),
        linear-gradient(315deg, rgba(185, 130, 19, .03) 25%, transparent 25%);
    background-position: 0 0;
    background-size: 28px 28px;
}

.gy-content {
    padding: 0 18px 24px;
}

.gy-page {
    min-height: 100vh;
    padding-bottom: 24px;
}

.gy-page-content {
    padding: 18px;
}

.gy-stack {
    display: grid;
    gap: 14px;
}

.gy-page-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px 10px;
}

.gy-page-back {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--gy-line);
    border-radius: 15px;
    background: rgba(255, 253, 248, .88);
    color: var(--gy-ink);
    box-shadow: 0 10px 22px rgba(78, 56, 18, .06);
}

.gy-page-back svg {
    width: 18px;
    height: 18px;
}

.gy-page-heading {
    min-width: 0;
}

.gy-page-heading p,
.gy-page-heading h1 {
    margin: 0;
}

.gy-page-heading p {
    color: var(--gy-muted);
    font-size: 12px;
}

.gy-page-heading h1 {
    color: var(--gy-ink);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
}

.gy-card {
    border: 1px solid var(--gy-line);
    border-radius: 24px;
    background: var(--gy-surface-strong);
    padding: 16px;
    box-shadow: 0 12px 30px rgba(78, 56, 18, .07);
}

.gy-card-dark {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 26px;
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 217, 112, .34), transparent 30%),
        linear-gradient(135deg, #171107, #3b2a0f 52%, #b47c10);
    color: #fff;
    padding: 18px;
    box-shadow: 0 18px 42px rgba(78, 56, 18, .2);
}

.gy-card-dark::before,
.gy-balance-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .46;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .07) 12.5%, transparent 12.5%, transparent 50%, rgba(255, 255, 255, .07) 50%, rgba(255, 255, 255, .07) 62.5%, transparent 62.5%, transparent 100%) 0 0 / 34px 34px,
        radial-gradient(circle at 20% 18%, rgba(255, 255, 255, .08) 0 1px, transparent 1.5px) 0 0 / 22px 22px;
    mix-blend-mode: screen;
}

.gy-card-dark > * {
    position: relative;
    z-index: 1;
}

.gy-card-title {
    margin: 0;
    color: var(--gy-ink);
    font-size: 17px;
    line-height: 1.25;
    font-weight: 600;
}

.gy-card-subtitle {
    margin: 5px 0 0;
    color: var(--gy-muted);
    font-size: 12px;
    line-height: 1.45;
}

.gy-muted {
    color: var(--gy-muted);
}

.gy-mini-label {
    color: var(--gy-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.gy-value {
    color: var(--gy-ink);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
}

.gy-form-card {
    display: grid;
    gap: 16px;
}

.gy-form-row {
    display: grid;
    gap: 8px;
}

.gy-select {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fffefa;
    color: var(--gy-ink);
    padding: 0 14px;
    outline: none;
}

.gy-input-with-prefix,
.gy-input-with-suffix {
    position: relative;
}

.gy-input-prefix,
.gy-input-suffix {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gy-gold-strong);
    font-size: 14px;
}

.gy-input-prefix {
    left: 14px;
}

.gy-input-suffix {
    right: 14px;
}

.gy-input-with-prefix .gy-input {
    padding-left: 38px;
}

.gy-input-with-suffix .gy-input {
    padding-right: 44px;
}

.gy-amount-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.gy-amount-option {
    min-height: 48px;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fffefa;
    color: var(--gy-ink);
    font: inherit;
    cursor: pointer;
}

.gy-note-card {
    display: grid;
    gap: 10px;
    border: 1px solid rgba(217, 166, 37, .22);
    border-radius: 20px;
    background: #fff8e4;
    padding: 14px;
}

.gy-note-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #5f4c29;
    font-size: 13px;
    line-height: 1.4;
}

.gy-note-row svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: var(--gy-gold-strong);
}

.gy-filter-strip {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 0 2px;
    scrollbar-width: none;
}

.gy-filter-strip::-webkit-scrollbar {
    display: none;
}

.gy-filter {
    flex: 0 0 auto;
    border: 1px solid var(--gy-line);
    border-radius: 999px;
    background: rgba(255, 253, 248, .78);
    color: var(--gy-muted);
    padding: 9px 14px;
    font-size: 12px;
}

.gy-filter.is-active {
    border-color: #171107;
    background: #171107;
    color: var(--gy-gold);
}

.gy-list {
    display: grid;
    gap: 12px;
}

.gy-list-item {
    border: 1px solid var(--gy-line);
    border-radius: 20px;
    background: var(--gy-surface-strong);
    padding: 14px;
    box-shadow: 0 10px 24px rgba(78, 56, 18, .06);
}

.gy-list-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gy-list-title {
    margin: 0;
    color: var(--gy-ink);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
}

.gy-list-meta {
    margin: 4px 0 0;
    color: var(--gy-muted);
    font-size: 12px;
}

.gy-list-amount {
    flex: 0 0 auto;
    color: var(--gy-ink);
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
    text-align: right;
}

.gy-list-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
}

.gy-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    line-height: 1;
    text-transform: capitalize;
}

.gy-badge-success {
    background: rgba(24, 131, 81, .12);
    color: #126540;
}

.gy-badge-warning {
    background: rgba(217, 166, 37, .16);
    color: #8a5a08;
}

.gy-badge-danger {
    background: rgba(190, 63, 52, .12);
    color: var(--gy-danger);
}

.gy-badge-info {
    background: rgba(34, 158, 217, .12);
    color: #17769f;
}

.gy-empty {
    border: 1px dashed var(--gy-line);
    border-radius: 24px;
    background: rgba(255, 253, 248, .72);
    padding: 28px 18px;
    color: var(--gy-muted);
    text-align: center;
}

.gy-empty h3 {
    margin: 0;
    color: var(--gy-ink);
    font-size: 16px;
    font-weight: 500;
}

.gy-empty p {
    margin: 6px 0 0;
    font-size: 13px;
}

.gy-detail-grid {
    display: grid;
    gap: 10px;
}

.gy-mini-stat {
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fffaf0;
    padding: 12px 8px;
    text-align: center;
}

.gy-mini-stat label {
    display: block;
    color: var(--gy-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.gy-mini-stat span {
    display: block;
    margin-top: 5px;
    color: var(--gy-ink);
    font-size: 14px;
    line-height: 1.2;
}

.gy-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fffaf0;
    padding: 12px;
}

.gy-detail-row label {
    color: var(--gy-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.gy-detail-row span,
.gy-detail-row div {
    color: var(--gy-ink);
    font-size: 14px;
    text-align: right;
}

.gy-small-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff8e4;
    color: #8a5a08;
    padding: 8px 12px;
    font-size: 12px;
}

.gy-menu-list {
    display: grid;
    gap: 10px;
}

.gy-menu-list form {
    margin: 0;
}

.gy-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    border: 1px solid var(--gy-line);
    border-radius: 20px;
    background: var(--gy-surface-strong);
    box-shadow: 0 10px 24px rgba(78, 56, 18, .06);
    color: var(--gy-ink);
    padding: 12px;
    text-align: left;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.gy-menu-item:hover {
    border-color: rgba(185, 126, 14, .28);
    background: #fffdf8;
    box-shadow: 0 14px 30px rgba(78, 56, 18, .08);
    transform: translateY(-1px);
}

.gy-menu-left {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.gy-menu-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 16px;
    background: #171107;
    color: var(--gy-gold);
}

.gy-menu-icon .icon,
.gy-menu-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.gy-menu-label {
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-profile-balance-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 18px;
}

.gy-profile-balance-meta > div {
    display: grid;
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 15px;
    background: rgba(255, 255, 255, .13);
    padding: 11px 12px;
}

.gy-profile-balance-meta span {
    color: rgba(255, 255, 255, .72);
    font-size: 9px;
}

.gy-profile-balance-meta strong {
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-profile-quick-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 13px;
}

.gy-profile-quick-actions a {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 14px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.gy-profile-quick-actions a:first-child {
    background: #fff;
    color: #d94d00;
}

.gy-profile-quick-actions svg,
.gy-profile-row-icon svg,
.gy-profile-logout svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.gy-profile-section {
    display: grid;
    gap: 8px;
}

.gy-profile-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 3px;
}

.gy-profile-section-head h2 {
    margin: 0;
    color: #1f1815;
    font-size: 17px;
    font-weight: 650;
}

.gy-profile-section-head > span {
    color: #d94d00;
    font-size: 10px;
}

.gy-profile-card-list {
    overflow: hidden;
    border: 1px solid #eee5df;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(52, 34, 23, .05);
}

.gy-profile-row {
    display: grid;
    min-height: 70px;
    grid-template-columns: 42px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 11px;
    color: #201916;
    padding: 10px 13px;
}

.gy-profile-row + .gy-profile-row {
    border-top: 1px solid #f0e9e5;
}

.gy-profile-row-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(145deg, #fff2e9, #ffe7d8);
    color: #dc5205;
}

.gy-profile-row-copy,
.gy-profile-row-copy strong,
.gy-profile-row-copy small {
    display: block;
    min-width: 0;
}

.gy-profile-row-copy strong {
    color: #211a17;
    font-size: 13px;
    font-weight: 600;
}

.gy-profile-row-copy small {
    overflow: hidden;
    margin-top: 3px;
    color: #817772;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-profile-chevron {
    color: #987a68;
    font-size: 24px;
    font-weight: 300;
    text-align: right;
}

.gy-profile-community {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.gy-profile-community > a {
    display: grid;
    justify-items: center;
    gap: 4px;
    border: 1px solid #eee5df;
    border-radius: 19px;
    background: #fff;
    color: #211a17;
    padding: 14px 8px;
    text-align: center;
    box-shadow: 0 8px 22px rgba(52, 34, 23, .05);
}

.gy-profile-community > a > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
}

.gy-profile-community svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
    stroke: none;
}

.gy-profile-community strong {
    margin-top: 3px;
    font-size: 12px;
}

.gy-profile-community small {
    color: #827873;
    font-size: 9px;
}

.gy-profile-logout-form {
    margin-top: 3px;
}

.gy-profile-logout {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(190, 63, 52, .18);
    border-radius: 16px;
    background: #fff8f7;
    color: #bd433b;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
}

.gy-menu-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #fff8e4;
    color: #8a5a08;
    padding: 8px 12px;
    font-size: 12px;
}

.gy-menu-icon.is-telegram {
    background: #229ed9;
    color: #fff;
}

.gy-menu-icon.is-whatsapp {
    background: #25d366;
    color: #fff;
}

.gy-menu-icon.is-whatsapp .icon,
.gy-menu-icon.is-telegram .icon {
    fill: currentColor;
    stroke: none;
}

.gy-menu-item.is-danger {
    border-color: rgba(190, 63, 52, .16);
}

.gy-menu-item.is-danger .gy-menu-icon {
    background: rgba(190, 63, 52, .1);
    color: var(--gy-danger);
}

.gy-menu-item.is-danger .gy-menu-label,
.gy-menu-item.is-danger .gy-menu-action {
    color: var(--gy-danger);
}

.gy-menu-item.is-danger .gy-menu-action {
    background: rgba(190, 63, 52, .08);
}

.gy-copy-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
    padding: 12px;
}

.gy-copy-box span {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    color: #fff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-copy-box .gy-small-action {
    min-width: 52px;
    flex: 0 0 auto;
    padding-right: 10px;
    padding-left: 10px;
}

.gy-upload-box {
    border: 1px dashed rgba(217, 166, 37, .58);
    border-radius: 20px;
    background: #fff8e4;
    padding: 18px;
    text-align: center;
}

.gy-upload-box label {
    display: grid;
    gap: 6px;
    place-items: center;
    cursor: pointer;
}

.gy-upload-box svg {
    width: 30px;
    height: 30px;
    color: #9b6509;
}

.gy-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.gy-tab {
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: rgba(255, 253, 248, .72);
    color: var(--gy-muted);
    padding: 11px 8px;
    font-size: 12px;
    text-align: center;
}

.gy-tab.is-active {
    border-color: #171107;
    background: #171107;
    color: var(--gy-gold);
}

.gy-auth-page {
    position: relative;
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 24px 18px;
    overflow: hidden;
}

.gy-auth-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 0%, rgba(230, 177, 45, .42), transparent 34%),
        linear-gradient(145deg, rgba(22, 17, 8, .08), transparent 42%);
    pointer-events: none;
}

.gy-auth-card {
    position: relative;
    width: min(100%, 430px);
    border: 1px solid var(--gy-line);
    border-radius: 28px;
    background: rgba(255, 253, 248, .94);
    box-shadow: var(--gy-shadow);
    padding: 26px 20px 22px;
}

.gy-brand-lockup {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gy-brand-mark {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border-radius: 18px;
    object-fit: cover;
    background: #1f1a10;
    box-shadow: 0 12px 28px rgba(76, 54, 14, .2);
}

.gy-auth-logo {
    width: 74px;
    height: 74px;
    margin: 0 auto 14px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 14px 32px rgba(87, 62, 13, .18);
}

.gy-eyebrow {
    margin: 0;
    color: var(--gy-gold-strong);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.gy-title {
    margin: 4px 0 0;
    color: var(--gy-ink);
    font-size: 26px;
    line-height: 1.08;
    font-weight: 600;
}

.gy-subtitle {
    margin: 8px 0 0;
    color: var(--gy-muted);
    font-size: 14px;
    line-height: 1.5;
}

.gy-form {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}

.gy-field {
    display: grid;
    gap: 8px;
}

.gy-label {
    color: #3b2d14;
    font-size: 13px;
    font-weight: 500;
}

.gy-input-wrap {
    position: relative;
}

.gy-input-icon,
.gy-password-toggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--gy-gold-strong);
}

.gy-input-icon {
    left: 7px;
}

.gy-password-toggle {
    right: 7px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.gy-input {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: #fffefa;
    color: var(--gy-ink);
    padding: 0 16px 0 48px;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.gy-input-plain {
    padding-right: 16px;
    padding-left: 16px;
}

.gy-input:focus {
    border-color: rgba(217, 166, 37, .72);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(217, 166, 37, .16);
}

.gy-input-wrap .gy-input.gy-has-action {
    padding-right: 48px;
}

.gy-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #171107, #4b3510 48%, var(--gy-gold));
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    box-shadow: 0 14px 28px rgba(88, 61, 12, .18);
    cursor: pointer;
}

.gy-button-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.gy-button-secondary {
    background: #fff8e4;
    color: #271d0b;
    border: 1px solid rgba(217, 166, 37, .35);
    box-shadow: none;
}

.gy-auth-switch {
    margin: 4px 0 0;
    color: var(--gy-muted);
    font-size: 14px;
    text-align: center;
}

.gy-auth-switch a,
.gy-link {
    color: #9b6509;
    font-weight: 500;
}

.gy-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 18px 12px;
}

.gy-topbar-meta {
    min-width: 0;
}

.gy-topbar-meta p,
.gy-topbar-meta h1 {
    margin: 0;
}

.gy-topbar-meta p {
    color: var(--gy-muted);
    font-size: 12px;
    font-weight: 500;
}

.gy-topbar-meta h1 {
    overflow: hidden;
    color: var(--gy-ink);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-icon-button {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--gy-line);
    border-radius: 16px;
    background: rgba(255, 253, 248, .82);
    color: #3c2b0c;
    box-shadow: 0 10px 28px rgba(78, 56, 18, .08);
}

.gy-balance-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 86% 20%, rgba(255, 230, 149, .52), transparent 30%),
        linear-gradient(135deg, #171107 0%, #3b2a0f 48%, #c8941c 100%);
    color: #fff;
    padding: 24px 22px;
    box-shadow: 0 22px 46px rgba(76, 54, 14, .22);
}

.gy-balance-card::after {
    content: "";
    position: absolute;
    right: -46px;
    bottom: -72px;
    z-index: 0;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    border: 34px solid rgba(255, 255, 255, .08);
}

.gy-card-label {
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.gy-balance-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.gy-balance-toggle {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 14px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.gy-balance-toggle:hover {
    border-color: rgba(255, 255, 255, .36);
    background: rgba(255, 255, 255, .18);
    transform: translateY(-1px);
}

.gy-eye-icon {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.gy-eye-closed,
html.gy-balances-hidden .gy-eye-open {
    display: none !important;
}

html.gy-balances-hidden .gy-eye-closed {
    display: block !important;
}

.gy-balance-amount {
    position: relative;
    z-index: 1;
    margin: 8px 0 22px;
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0;
}

.gy-balance-row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.gy-stat-pill {
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 18px;
    background: rgba(255, 255, 255, .12);
    padding: 12px;
}

.gy-stat-pill span {
    display: block;
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 400;
}

.gy-stat-pill strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

.gy-section {
    margin-top: 22px;
}

.gy-plan-image-card {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid var(--gy-line);
    border-radius: 24px;
    background: var(--gy-surface-strong);
    box-shadow: 0 14px 34px rgba(78, 56, 18, .09);
}

.gy-plan-image-card img {
    display: block;
    width: 100%;
    height: auto;
}

.gy-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.gy-section-head h2 {
    margin: 0;
    color: var(--gy-ink);
    font-size: 19px;
    font-weight: 600;
}

.gy-section-head a,
.gy-section-head span {
    color: #9b6509;
    font-size: 12px;
    font-weight: 500;
}

.gy-action-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.gy-action {
    display: flex;
    min-width: 0;
    min-height: 86px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--gy-line);
    border-radius: 20px;
    background: var(--gy-surface-strong);
    color: var(--gy-ink);
    font: inherit;
    text-align: center;
    box-shadow: 0 12px 28px rgba(78, 56, 18, .07);
    cursor: pointer;
}

.gy-action-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 14px;
    background: var(--gy-gold-soft);
    color: #9b6509;
}

.gy-action span:last-child {
    max-width: 100%;
    overflow: hidden;
    font-size: 11px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-info-grid {
    display: grid;
    gap: 10px;
}

.gy-info-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid var(--gy-line);
    border-radius: 20px;
    background: var(--gy-surface-strong);
    padding: 14px;
    box-shadow: 0 10px 24px rgba(78, 56, 18, .06);
}

.gy-info-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 14px;
    background: #171107;
    color: var(--gy-gold);
}

.gy-info-card h3,
.gy-info-card p {
    margin: 0;
}

.gy-info-card h3 {
    color: var(--gy-ink);
    font-size: 14px;
    font-weight: 500;
}

.gy-info-card p {
    margin-top: 3px;
    color: var(--gy-muted);
    font-size: 12px;
    line-height: 1.45;
}

.gy-community-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gy-community-card {
    position: relative;
    overflow: hidden;
    min-height: 126px;
    border: 1px solid var(--gy-line);
    border-radius: 24px;
    background: var(--gy-surface-strong);
    padding: 16px;
    box-shadow: 0 12px 28px rgba(78, 56, 18, .07);
}

.gy-community-card::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -36px;
    width: 96px;
    height: 96px;
    border-radius: 999px;
    opacity: .1;
}

.gy-community-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    box-shadow: 0 12px 22px rgba(22, 17, 8, .12);
}

.gy-community-icon svg {
    width: 25px;
    height: 25px;
}

.gy-community-card h3,
.gy-community-card p {
    position: relative;
    z-index: 1;
    margin: 0;
}

.gy-community-card h3 {
    margin-top: 13px;
    color: var(--gy-ink);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
}

.gy-community-card p {
    margin-top: 4px;
    color: var(--gy-muted);
    font-size: 12px;
    line-height: 1.35;
}

.gy-community-telegram::after {
    background: #229ed9;
}

.gy-community-telegram .gy-community-icon {
    background: linear-gradient(135deg, #37b8ed, #168ac4);
}

.gy-community-whatsapp::after {
    background: #25d366;
}

.gy-community-whatsapp .gy-community-icon {
    background: linear-gradient(135deg, #35dc73, #118c46);
}

.gy-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(18, 13, 5, .64);
}

.gy-modal-panel {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 2101;
    width: min(90%, 390px);
    transform: translate(-50%, -50%);
    border: 1px solid var(--gy-line);
    border-radius: 24px;
    background: var(--gy-surface-strong);
    padding: 20px;
    box-shadow: 0 24px 70px rgba(18, 13, 5, .28);
}

.gy-announcement-overlay {
    border: 0;
    backdrop-filter: blur(5px);
    cursor: default;
}

.gy-announcement-panel {
    width: min(calc(100% - 28px), 420px);
    max-height: min(88vh, 720px);
    overflow-y: auto;
    border-color: rgba(218, 77, 0, .18);
    border-radius: 28px;
    background: #fff;
    padding: 20px;
    box-shadow: 0 28px 80px rgba(73, 35, 12, .3);
    scrollbar-width: thin;
    scrollbar-color: rgba(218, 77, 0, .35) transparent;
}

.gy-announcement-panel::before {
    position: absolute;
    top: 0;
    right: 26px;
    left: 26px;
    height: 4px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, #ff7a16, #d94d00);
    content: "";
}

.gy-announcement-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 11px;
}

.gy-announcement-head p,
.gy-announcement-head h3,
.gy-announcement-intro,
.gy-announcement-list p,
.gy-announcement-list strong,
.gy-announcement-list small {
    margin: 0;
}

.gy-announcement-head p {
    color: var(--gy-orange-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gy-announcement-head h3 {
    margin-top: 2px;
    color: var(--gy-ink);
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.gy-announcement-mark,
.gy-announcement-close {
    display: grid;
    place-items: center;
    border-radius: 14px;
}

.gy-announcement-mark {
    width: 42px;
    height: 42px;
    background: linear-gradient(145deg, #ff7a16, #d94d00);
    color: #fff;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    box-shadow: 0 8px 20px rgba(218, 77, 0, .22);
}

.gy-announcement-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(218, 77, 0, .12);
    background: #fff6ef;
    color: var(--gy-orange-deep);
}

.gy-announcement-close svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.gy-announcement-intro {
    margin-top: 13px;
    color: var(--gy-muted);
    font-size: 12px;
    line-height: 1.45;
}

.gy-announcement-list {
    display: grid;
    gap: 7px;
    margin-top: 14px;
}

.gy-announcement-list > div {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 56px;
    border: 1px solid rgba(218, 77, 0, .1);
    border-radius: 17px;
    background: linear-gradient(105deg, #fff8f2, #fff);
    padding: 8px 11px;
}

.gy-announcement-list > div > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: rgba(238, 88, 0, .1);
    color: var(--gy-orange-deep);
}

.gy-announcement-list svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gy-announcement-list p {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.gy-announcement-list strong {
    color: var(--gy-ink);
    font-size: 13px;
    line-height: 1.25;
    font-weight: 650;
}

.gy-announcement-list small {
    color: var(--gy-muted);
    font-size: 11px;
    line-height: 1.3;
}

.gy-announcement-action {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 14px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f87516, #d94d00);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(218, 77, 0, .2);
}

.gy-announcement-action svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.gy-gift-modal-panel {
    width: min(calc(100% - 28px), 400px);
    overflow: hidden;
    border-color: rgba(218, 77, 0, .16);
    border-radius: 28px;
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 211, 178, .28), transparent 34%),
        #fff;
    padding: 21px;
    box-shadow: 0 28px 80px rgba(73, 35, 12, .3);
}

.gy-gift-modal-panel::before {
    position: absolute;
    top: 0;
    right: 25px;
    left: 25px;
    height: 4px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, #ff7a16, #d94d00);
    content: "";
}

.gy-gift-modal-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 40px;
    align-items: start;
    gap: 12px;
}

.gy-gift-modal-head p,
.gy-gift-modal-head h3 {
    margin: 0;
}

.gy-gift-modal-head .gy-eyebrow {
    color: var(--gy-orange-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.gy-gift-modal-head h3 {
    margin-top: 2px;
    color: var(--gy-ink);
    font-size: 23px;
    line-height: 1.12;
    font-weight: 700;
}

.gy-gift-modal-head h3 + p {
    margin-top: 6px;
    color: var(--gy-muted);
    font-size: 12px;
    line-height: 1.4;
}

.gy-gift-modal-mark {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(145deg, #ff7a16, #d94d00);
    color: #fff;
    box-shadow: 0 9px 22px rgba(218, 77, 0, .22);
}

.gy-gift-modal-mark svg,
.gy-gift-modal-submit svg,
.gy-gift-code-input > svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gy-gift-modal-mark svg {
    width: 25px;
    height: 25px;
}

.gy-gift-modal-close {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(218, 77, 0, .18);
    border-radius: 14px;
    background: #fff5ed;
    color: #6b2b08;
    cursor: pointer;
}

.gy-gift-modal-close svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
}

.gy-gift-modal-form {
    gap: 15px;
    margin-top: 22px;
}

.gy-gift-modal-form .gy-label {
    color: var(--gy-ink);
    font-size: 12px;
    font-weight: 650;
}

.gy-gift-code-input {
    position: relative;
}

.gy-gift-code-input > svg {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 1;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    color: var(--gy-orange-deep);
    pointer-events: none;
}

.gy-gift-code-input .gy-input {
    min-height: 56px;
    border-color: rgba(218, 77, 0, .18);
    border-radius: 17px;
    background: #fffaf6;
    padding-right: 15px;
    padding-left: 46px;
    font-size: 14px;
    letter-spacing: .08em;
}

.gy-gift-code-input .gy-input:focus {
    border-color: rgba(218, 77, 0, .62);
    box-shadow: 0 0 0 4px rgba(239, 101, 0, .11);
}

.gy-gift-modal-form .gy-field > small {
    color: var(--gy-muted);
    font-size: 10px;
    line-height: 1.35;
}

.gy-gift-modal-submit {
    min-height: 54px;
    background: linear-gradient(135deg, #f87516, #d94d00);
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 12px 25px rgba(218, 77, 0, .22);
}

.gy-gift-modal-submit svg {
    width: 20px;
    height: 20px;
}

@media (max-height: 720px) {
    .gy-announcement-panel {
        max-height: calc(100vh - 24px);
        padding: 17px;
    }

    .gy-announcement-intro {
        display: none;
    }

    .gy-announcement-list {
        gap: 5px;
        margin-top: 11px;
    }

    .gy-announcement-list > div {
        min-height: 50px;
        padding-top: 6px;
        padding-bottom: 6px;
    }
}

.gy-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255, 253, 248, .88);
    border-top: 1px solid var(--gy-line);
    backdrop-filter: blur(18px);
}

.gy-bottom-nav-inner {
    display: grid;
    width: min(100%, var(--gy-shell-width));
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin: 0 auto;
}

.gy-nav-item {
    display: flex;
    min-width: 0;
    min-height: 58px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 18px;
    color: #7e725f;
    font-size: 11px;
    font-weight: 500;
}

.gy-nav-item svg {
    width: 22px;
    height: 22px;
}

.gy-nav-item.is-active {
    background: linear-gradient(135deg, var(--gy-gold), var(--gy-gold-strong));
    color: #fff;
}

.gy-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    background: rgba(255, 255, 255, .38);
    transition: opacity .12s ease;
    backdrop-filter: blur(1.5px);
}

.gy-loader::before {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    border: 3px solid rgba(239, 101, 0, .18);
    border-top-color: var(--gy-gold);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(207, 79, 0, .16);
    animation: gy-loader-spin .62s linear infinite;
}

.gy-loader.is-loading {
    opacity: 1;
}

body.gy-user-body :where(a, button, input, select, textarea, label, [role="button"]),
body.gy-auth-body :where(a, button, input, select, textarea, label, [role="button"]) {
    -webkit-tap-highlight-color: transparent;
}

body.gy-user-body :where(a, button, input, select, textarea, [tabindex]):focus,
body.gy-auth-body :where(a, button, input, select, textarea, [tabindex]):focus {
    outline: none !important;
}

body.gy-user-body :where(a, button, input, select, textarea, [tabindex]):focus:not(:focus-visible),
body.gy-auth-body :where(a, button, input, select, textarea, [tabindex]):focus:not(:focus-visible) {
    box-shadow: none !important;
}

body.gy-user-body :where(a, button, input, select, textarea, [tabindex]):focus-visible,
body.gy-auth-body :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid rgba(217, 166, 37, .62) !important;
    outline-offset: 3px;
}

body.gy-user-body .gy-announcement-close:focus,
body.gy-user-body .gy-announcement-close:focus-visible {
    border-color: rgba(218, 77, 0, .34);
    outline: none !important;
    background: #ffecdf;
    box-shadow: none !important;
}

body.gy-user-body .gy-gift-modal-close:focus,
body.gy-user-body .gy-gift-modal-close:focus-visible {
    border-color: rgba(218, 77, 0, .42);
    outline: none !important;
    background: #ffe9d9;
    box-shadow: none !important;
}

body.gy-user-body .iziToast-wrapper,
body.gy-auth-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 12px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 0 14px !important;
    pointer-events: none;
}

body.gy-user-body .iziToast-capsule,
body.gy-auth-body .iziToast-capsule {
    pointer-events: none;
}

body.gy-user-body .iziToast.gy-toast,
body.gy-auth-body .iziToast.gy-toast {
    width: min(430px, calc(100vw - 28px)) !important;
    min-height: 0 !important;
    margin: 0 auto 10px !important;
    border: 1px solid rgba(217, 166, 37, .22) !important;
    border-radius: 18px !important;
    background: rgba(255, 253, 248, .96) !important;
    box-shadow: 0 18px 45px rgba(36, 25, 8, .18) !important;
    color: var(--gy-ink) !important;
    overflow: hidden !important;
    pointer-events: auto;
    backdrop-filter: blur(14px);
}

body.gy-user-body .iziToast.gy-toast::before,
body.gy-auth-body .iziToast.gy-toast::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--gy-gold);
}

body.gy-user-body .iziToast.gy-toast::after,
body.gy-auth-body .iziToast.gy-toast::after {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--gy-gold);
    box-shadow: 0 0 0 5px rgba(217, 166, 37, .12);
    transform: translateY(-50%);
}

body.gy-user-body .iziToast.gy-toast-success::before,
body.gy-user-body .iziToast.gy-toast-success::after,
body.gy-auth-body .iziToast.gy-toast-success::before,
body.gy-auth-body .iziToast.gy-toast-success::after {
    background: #20a162;
}

body.gy-user-body .iziToast.gy-toast-error::before,
body.gy-user-body .iziToast.gy-toast-error::after,
body.gy-auth-body .iziToast.gy-toast-error::before,
body.gy-auth-body .iziToast.gy-toast-error::after {
    background: var(--gy-danger);
}

body.gy-user-body .iziToast.gy-toast-warning::before,
body.gy-user-body .iziToast.gy-toast-warning::after,
body.gy-auth-body .iziToast.gy-toast-warning::before,
body.gy-auth-body .iziToast.gy-toast-warning::after {
    background: #c98200;
}

body.gy-user-body .iziToast.gy-toast > .iziToast-body,
body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px 46px 15px 46px !important;
    text-align: left !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-texts,
body.gy-auth-body .iziToast.gy-toast .iziToast-texts {
    display: grid !important;
    gap: 3px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-icon,
body.gy-auth-body .iziToast.gy-toast .iziToast-icon {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-title,
body.gy-auth-body .iziToast.gy-toast .iziToast-title {
    display: block !important;
    float: none !important;
    margin: 0 0 3px !important;
    color: var(--gy-ink) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-message,
body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    color: var(--gy-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close,
body.gy-auth-body .iziToast.gy-toast .iziToast-close {
    top: 50% !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    background-color: rgba(23, 17, 7, .06) !important;
    background-size: 9px !important;
    opacity: 1 !important;
    transform: translateY(-50%);
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar {
    height: 3px !important;
    background: rgba(217, 166, 37, .12) !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar div,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar div {
    height: 3px !important;
}

body.gy-user-body .gy-topbar,
body.gy-user-body .gy-page-header,
body.gy-user-body .gy-content > *,
body.gy-user-body .gy-page-content > *,
body.gy-auth-body .gy-auth-card {
    animation: gy-rise-in .52s cubic-bezier(.16, .84, .32, 1) both;
}

body.gy-user-body .gy-content > *:nth-child(2),
body.gy-user-body .gy-page-content > *:nth-child(2) {
    animation-delay: .04s;
}

body.gy-user-body .gy-content > *:nth-child(3),
body.gy-user-body .gy-page-content > *:nth-child(3) {
    animation-delay: .08s;
}

body.gy-user-body .gy-content > *:nth-child(4),
body.gy-user-body .gy-page-content > *:nth-child(4) {
    animation-delay: .12s;
}

body.gy-user-body .gy-content > *:nth-child(n+5),
body.gy-user-body .gy-page-content > *:nth-child(n+5) {
    animation-delay: .16s;
}

body.gy-user-body .gy-action,
body.gy-user-body .gy-menu-item,
body.gy-user-body .gy-list-item,
body.gy-user-body .gy-card,
body.gy-user-body .gy-form-card {
    animation: gy-soft-pop .48s cubic-bezier(.16, .84, .32, 1) both;
}

body.gy-user-body .gy-action:nth-child(2),
body.gy-user-body .gy-menu-item:nth-child(2),
body.gy-user-body .gy-list-item:nth-child(2) {
    animation-delay: .04s;
}

body.gy-user-body .gy-action:nth-child(3),
body.gy-user-body .gy-menu-item:nth-child(3),
body.gy-user-body .gy-list-item:nth-child(3) {
    animation-delay: .08s;
}

body.gy-user-body .gy-action:nth-child(4),
body.gy-user-body .gy-menu-item:nth-child(4),
body.gy-user-body .gy-list-item:nth-child(4) {
    animation-delay: .12s;
}

body.gy-user-body .gy-action:nth-child(n+5),
body.gy-user-body .gy-menu-item:nth-child(n+5),
body.gy-user-body .gy-list-item:nth-child(n+5) {
    animation-delay: .16s;
}

.gy-card-dark::before,
.gy-balance-card::before {
    animation: gy-pattern-drift 18s linear infinite;
}

.gy-balance-card::after {
    animation: gy-orbit-glow 8s ease-in-out infinite;
}

@keyframes gy-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes gy-rise-in {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gy-soft-pop {
    0% {
        opacity: 0;
        transform: translateY(8px) scale(.985);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gy-pattern-drift {
    0% {
        background-position: 0 0, 0 0;
    }
    100% {
        background-position: 34px 34px, 22px 22px;
    }
}

@keyframes gy-orbit-glow {
    0%, 100% {
        opacity: .78;
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        opacity: 1;
        transform: translate3d(-8px, -5px, 0) scale(1.04);
    }
}

@media (min-width: 768px) {
    .gy-auth-card {
        padding: 32px 30px 28px;
    }

    .gy-shell {
        border-right: 1px solid var(--gy-line);
        border-left: 1px solid var(--gy-line);
        box-shadow: 0 0 50px rgba(67, 42, 24, .08);
    }

    .gy-app-bar {
        padding-right: 28px;
        padding-left: 28px;
    }

    .gy-content,
    .gy-page-content {
        padding-right: 28px;
        padding-left: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gy-loader::before {
        animation-duration: 1.4s;
    }

    body.gy-user-body .gy-topbar,
    body.gy-user-body .gy-page-header,
    body.gy-user-body .gy-content > *,
    body.gy-user-body .gy-page-content > *,
    body.gy-user-body .gy-action,
    body.gy-user-body .gy-menu-item,
    body.gy-user-body .gy-list-item,
    body.gy-user-body .gy-card,
    body.gy-user-body .gy-form-card,
    body.gy-auth-body .gy-auth-card,
    .gy-card-dark::before,
    .gy-balance-card::before,
    .gy-balance-card::after {
        animation: none !important;
    }
}

/* Mobile-first shell and white/orange authentication revision. */
body.gy-user-body {
    background:
        radial-gradient(circle at 50% -8%, rgba(255, 171, 106, .18), transparent 26%),
        #f4f3f2;
}

body.gy-auth-body {
    background:
        radial-gradient(circle at 50% -6%, rgba(255, 147, 65, .3), transparent 30%),
        linear-gradient(180deg, #fff9f5 0%, #f6f5f4 55%, #f0efed 100%);
}

.gy-auth-page {
    width: min(100%, var(--gy-shell-width));
    margin: 0 auto;
    padding: 24px 18px;
    background: rgba(255, 255, 255, .55);
    box-shadow: 0 0 55px rgba(59, 36, 21, .08);
}

.gy-auth-page::before {
    background:
        radial-gradient(circle at 15% 12%, rgba(255, 112, 0, .14), transparent 24%),
        radial-gradient(circle at 92% 88%, rgba(255, 157, 82, .12), transparent 28%);
}

.gy-auth-card {
    width: min(100%, 420px);
    border: 1px solid rgba(89, 63, 46, .1);
    border-radius: 30px;
    background: rgba(255, 255, 255, .97);
    padding: 30px 24px 25px;
    box-shadow: 0 20px 58px rgba(59, 36, 21, .11);
}

.gy-auth-logo {
    width: 80px;
    height: 80px;
    margin-bottom: 16px;
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 11px 30px rgba(207, 79, 0, .2);
}

.gy-auth-card .gy-eyebrow {
    color: var(--gy-gold-strong);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
}

.gy-auth-card .gy-title {
    margin-top: 7px;
    color: #171513;
    font-size: 28px;
    font-weight: 700;
}

.gy-auth-card .gy-subtitle {
    max-width: 310px;
    margin: 9px auto 0;
    color: #77716d;
    font-size: 13px;
}

.gy-auth-card .gy-form {
    gap: 17px;
    margin-top: 25px;
}

.gy-auth-card .gy-label {
    color: #403a36;
    font-size: 12px;
    font-weight: 600;
}

.gy-auth-card .gy-input {
    min-height: 54px;
    border-color: rgba(89, 63, 46, .13);
    border-radius: 17px;
    background: #fbfaf9;
}

.gy-auth-card .gy-input:focus {
    border-color: rgba(239, 101, 0, .7);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(239, 101, 0, .12);
}

.gy-auth-card .gy-input-icon,
.gy-auth-card .gy-password-toggle {
    color: var(--gy-gold-strong);
}

.gy-auth-card .gy-button {
    min-height: 54px;
    border-radius: 17px;
    background: linear-gradient(135deg, #f87516, #d94d00);
    font-weight: 600;
    box-shadow: 0 13px 27px rgba(218, 77, 0, .22);
}

.gy-auth-card .gy-auth-switch {
    margin-top: 2px;
    color: #77716d;
    font-size: 13px;
}

.gy-auth-card .gy-auth-switch a {
    color: var(--gy-gold-strong);
    font-weight: 600;
}

.gy-home-balance-amount[data-gy-fit-balance] {
    width: 100%;
    max-width: 100%;
    overflow: visible;
    font-variant-numeric: tabular-nums;
}

@media (min-width: 481px) {
    .gy-shell,
    .gy-auth-page {
        border-right: 1px solid var(--gy-line);
        border-left: 1px solid var(--gy-line);
    }
}

@media (max-width: 390px) {
    .gy-auth-page {
        padding: 16px 12px;
    }

    .gy-auth-card {
        border-radius: 25px;
        padding: 24px 18px 21px;
    }

    .gy-auth-logo {
        width: 70px;
        height: 70px;
    }
}

/* Phase 2: mockup-matched home dashboard. */
.gy-home-body .gy-shell {
    background: #f8f8f7;
}

.gy-home-content {
    padding: 18px 18px 30px;
}

.gy-home-balance {
    position: relative;
    display: flex;
    min-height: 272px;
    overflow: hidden;
    border: 1px solid rgba(80, 56, 42, .1);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 100%, rgba(255, 188, 112, .42), transparent 28%),
        linear-gradient(135deg, #fff 0%, #fff 70%, #fff5eb 100%);
    box-shadow: 0 13px 34px rgba(49, 35, 26, .09);
}

.gy-home-balance::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -80px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: rgba(255, 157, 54, .13);
    filter: blur(2px);
}

.gy-home-balance-copy {
    position: relative;
    z-index: 2;
    display: flex;
    width: 61%;
    flex-direction: column;
    padding: 28px 24px 24px;
}

.gy-home-balance-label {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #605c59;
    font-size: 14px;
    letter-spacing: .015em;
    text-transform: uppercase;
}

.gy-home-eye {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 0;
    border-radius: 14px;
    background: #f5f5f4;
    color: #171513;
    cursor: pointer;
}

.gy-home-balance-amount {
    margin: 17px 0 25px;
    color: #c94c00;
    font-size: clamp(38px, 6vw, 56px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: .01em;
    white-space: nowrap;
}

.gy-home-balance-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: auto;
}

.gy-home-stat {
    min-width: 0;
    border: 1px solid rgba(112, 83, 65, .13);
    border-radius: 17px;
    background: rgba(255, 255, 255, .72);
    padding: 13px 15px;
}

.gy-home-stat span,
.gy-home-stat strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-home-stat span {
    color: #8a7568;
    font-size: 12px;
}

.gy-home-stat strong {
    margin-top: 6px;
    color: #171513;
    font-size: 15px;
    font-weight: 600;
}

.gy-home-wallet-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 45%;
    overflow: hidden;
}

.gy-home-wallet {
    position: absolute;
    top: -27%;
    right: -5%;
    width: auto;
    max-width: none;
    height: 158%;
    object-fit: contain;
    filter: drop-shadow(0 18px 18px rgba(160, 62, 0, .22));
}

.gy-home-plan-card {
    display: block;
    overflow: hidden;
    margin-top: 20px;
    border: 1px solid rgba(80, 56, 42, .1);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 13px 34px rgba(49, 35, 26, .08);
}

.gy-home-plan-card img {
    display: block;
    width: 100%;
    height: auto;
}

.gy-home-section {
    margin-top: 28px;
}

.gy-home-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
    padding: 0 5px;
}

.gy-home-section-head h2 {
    margin: 0;
    color: #171513;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
}

.gy-home-section-head a,
.gy-home-section-head span {
    color: var(--gy-gold-strong);
    font-size: 13px;
}

.gy-home-actions {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.gy-home-action {
    display: flex;
    min-width: 0;
    min-height: 104px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid rgba(80, 56, 42, .1);
    border-radius: 19px;
    background: #fff;
    color: #26211e;
    padding: 11px 6px;
    font: inherit;
    box-shadow: 0 9px 24px rgba(49, 35, 26, .07);
    cursor: pointer;
}

.gy-home-action-icon {
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    box-shadow: 0 7px 15px rgba(218, 77, 0, .2);
}

.gy-home-action-icon svg,
.gy-home-info-icon svg,
.gy-home-community-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.gy-home-action > span:last-child {
    overflow: hidden;
    max-width: 100%;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-home-info-list {
    display: grid;
    gap: 6px;
}

.gy-home-info-row {
    display: grid;
    width: 100%;
    min-height: 72px;
    grid-template-columns: 46px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(80, 56, 42, .09);
    border-radius: 18px;
    background: #fff;
    color: #171513;
    padding: 10px 14px;
    font: inherit;
    text-align: left;
    box-shadow: 0 7px 20px rgba(49, 35, 26, .055);
    cursor: pointer;
}

.gy-home-info-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
}

.gy-home-info-copy,
.gy-home-info-copy strong,
.gy-home-info-copy small,
.gy-home-community-copy,
.gy-home-community-copy strong,
.gy-home-community-copy small {
    display: block;
    min-width: 0;
}

.gy-home-info-copy strong,
.gy-home-community-copy strong {
    color: #171513;
    font-size: 14px;
    font-weight: 600;
}

.gy-home-info-copy small,
.gy-home-community-copy small {
    overflow: hidden;
    margin-top: 3px;
    color: #77716d;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.gy-home-chevron {
    color: #806959;
    font-size: 26px;
    font-weight: 300;
    text-align: center;
}

.gy-home-community {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gy-home-community-card {
    display: grid;
    min-height: 98px;
    grid-template-columns: 54px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 13px;
    border: 1px solid rgba(80, 56, 42, .09);
    border-radius: 22px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 9px 24px rgba(49, 35, 26, .065);
}

.gy-home-community-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
}

.gy-home-community-icon svg {
    width: 27px;
    height: 27px;
}

.gy-modal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.gy-modal-heading h3,
.gy-modal-heading p {
    margin: 0;
}

.gy-modal-heading h3 {
    color: #171513;
    font-size: 21px;
    font-weight: 600;
}

.gy-modal-heading h3 + p {
    margin-top: 5px;
    color: var(--gy-muted);
    font-size: 13px;
}

body.gy-modal-open {
    overflow: hidden;
}

@media (max-width: 719px) {
    .gy-home-content {
        padding: 14px 14px 24px;
    }

    .gy-home-balance {
        min-height: 244px;
        border-radius: 24px;
    }

    .gy-home-balance-copy {
        width: 72%;
        padding: 22px 16px 18px;
    }

    .gy-home-balance-label {
        font-size: 12px;
    }

    .gy-home-balance-amount {
        margin: 15px 0 21px;
        font-size: clamp(34px, 10.5vw, 43px);
    }

    .gy-home-balance-stats {
        gap: 8px;
    }

    .gy-home-stat {
        padding: 11px 10px;
    }

    .gy-home-stat span {
        font-size: 10px;
    }

    .gy-home-stat strong {
        font-size: 13px;
    }

    .gy-home-wallet-wrap {
        width: 48%;
    }

    .gy-home-wallet {
        top: -11%;
        right: -34%;
        height: 132%;
        opacity: .9;
    }

    .gy-home-plan-card {
        margin-top: 14px;
        border-radius: 21px;
    }

    .gy-home-section {
        margin-top: 24px;
    }

    .gy-home-section-head h2 {
        font-size: 18px;
    }

    .gy-home-actions {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 9px;
    }

    .gy-home-action {
        min-height: 88px;
        border-radius: 17px;
    }

    .gy-home-action-icon {
        width: 36px;
        height: 36px;
    }

    .gy-home-community {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .gy-home-community-card {
        min-height: 82px;
        border-radius: 18px;
        padding: 12px 14px;
    }
}

@media (max-width: 420px) {
    .gy-home-balance-copy {
        width: 78%;
    }

    .gy-home-wallet-wrap {
        width: 44%;
    }

    .gy-home-wallet {
        right: -49%;
    }
}

/* Mobile-first auth shell: one focused task, with no promotional side panel. */
body.gy-auth-body .gy-auth-page {
    grid-template-columns: minmax(0, 1fr);
    width: min(520px, calc(100% - 24px));
}

/* Quiet loading state for authentication and partial navigation. */
body.gy-auth-body .gy-loader {
    background: rgba(250, 250, 249, .72);
    backdrop-filter: blur(3px);
}

body.gy-auth-body .gy-loader::before {
    display: none;
}

.vt-auth-loader-orbit {
    position: relative;
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid #e7e4e0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 34px rgba(41, 35, 29, .1);
}

body.gy-auth-body .gy-loader.is-loading .vt-auth-loader-orbit {
    display: block;
}

.vt-auth-loader-orbit::before,
.vt-auth-loader-orbit::after {
    position: absolute;
    border-radius: 50%;
    content: "";
}

.vt-auth-loader-orbit::before {
    inset: 8px;
    border: 2px solid #ece9e5;
    border-top-color: #8a5b45;
    animation: vt-auth-orbit 1s cubic-bezier(.55, .15, .45, .85) infinite;
}

.vt-auth-loader-orbit::after {
    inset: 18px;
    background: #565654;
    box-shadow: 0 0 0 4px rgba(86, 86, 84, .07);
}

@keyframes vt-auth-orbit {
    to { transform: rotate(360deg); }
}

/* Compact shared notification presented at the centered top edge. */
body.gy-user-body .iziToast-wrapper,
body.gy-auth-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 10px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    padding: 0 12px !important;
}

body.gy-user-body .iziToast.gy-toast,
body.gy-auth-body .iziToast.gy-toast {
    width: fit-content !important;
    max-width: min(300px, calc(100vw - 24px)) !important;
    min-height: 34px !important;
    margin: 0 auto 6px !important;
    border: 1px solid #e5e2de !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .98) !important;
    color: #282927 !important;
    box-shadow: 0 8px 22px rgba(35, 31, 27, .1) !important;
    backdrop-filter: blur(14px);
}

body.gy-user-body .iziToast.gy-toast::before,
body.gy-auth-body .iziToast.gy-toast::before {
    display: none;
}

body.gy-user-body .iziToast.gy-toast::after,
body.gy-auth-body .iziToast.gy-toast::after {
    top: 50%;
    left: 10px;
    width: 16px;
    height: 16px;
    border: 0;
    border-radius: 50%;
    background: rgba(var(--gy-toast-accent-rgb), .12);
    font-size: 10px;
    box-shadow: none;
}

body.gy-user-body .iziToast.gy-toast-error::after,
body.gy-auth-body .iziToast.gy-toast-error::after {
    font-size: 13px;
}

body.gy-user-body .iziToast.gy-toast > .iziToast-body,
body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
    min-height: 32px !important;
    padding: 8px 12px 8px 32px !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-title,
body.gy-auth-body .iziToast.gy-toast .iziToast-title {
    display: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-message,
body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    color: #4f514e !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close,
body.gy-auth-body .iziToast.gy-toast .iziToast-close {
    display: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close::before,
body.gy-user-body .iziToast.gy-toast .iziToast-close::after,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::before,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::after {
    top: 16px;
    left: 11px;
    width: 12px;
    height: 1px;
    background: #858783;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar {
    display: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar div,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar div {
    height: 1px !important;
    opacity: .45;
}

@media (max-width: 420px) {
    body.gy-auth-body .gy-auth-page {
        width: 100%;
    }

    body.gy-user-body .iziToast.gy-toast,
    body.gy-auth-body .iziToast.gy-toast {
        min-height: 34px !important;
        border-radius: 999px !important;
    }

    body.gy-user-body .iziToast.gy-toast > .iziToast-body,
    body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
        min-height: 32px !important;
        padding: 8px 12px 8px 32px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vt-auth-loader-orbit::before {
        animation-duration: 1.8s;
    }
}

/* VinTech final palette correction: remove legacy orange from live Phase 2 surfaces. */
body.gy-auth-body,
body.gy-user-body {
    --gy-gold: #ff7a00;
    --gy-gold-strong: #e85d00;
    --gy-gold-soft: rgba(255, 122, 0, .1);
    --gy-orange: #ff7a00;
    --gy-orange-deep: #e85d00;
}

body.gy-auth-body .gy-button,
body.gy-user-body .gy-button,
body.gy-user-body .gy-confirm-actions .gy-button,
body.gy-home-body .gy-announcement-action,
body.gy-home-body .gy-gift-modal-submit {
    border-color: transparent;
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
    box-shadow: 0 16px 34px -22px rgba(255, 173, 51, .95);
}

body.gy-auth-body .gy-input:focus,
body.gy-user-body .gy-input:focus,
body.gy-home-body .gy-gift-code-input .gy-input:focus {
    border-color: rgba(255, 122, 0, .58);
    box-shadow: 0 0 0 4px rgba(255, 122, 0, .09);
}

body.gy-auth-body .gy-input-icon,
body.gy-auth-body .gy-password-toggle,
body.gy-home-body .gy-gift-code-input > svg {
    color: #ff7a00;
}

body.gy-auth-body .gy-loader,
body.gy-user-body .gy-loader {
    background: rgba(18, 19, 19, .42);
}

body.gy-auth-body .gy-loader::before,
body.gy-user-body .gy-loader::before {
    border-color: rgba(255, 122, 0, .18);
    border-top-color: #ff7a00;
    box-shadow: 0 8px 24px rgba(255, 122, 0, .13);
}

body.gy-home-body .gy-announcement-panel::before,
body.gy-home-body .gy-gift-modal-panel::before {
    background: linear-gradient(90deg, #ffad33, #e85d00);
}

body.gy-home-body .gy-announcement-mark,
body.gy-home-body .gy-gift-modal-mark {
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
    box-shadow: 0 9px 22px rgba(255, 122, 0, .17);
}

body.gy-home-body .gy-announcement-close,
body.gy-home-body .gy-gift-modal-close,
body.gy-user-body .gy-announcement-close:focus,
body.gy-user-body .gy-announcement-close:focus-visible,
body.gy-user-body .gy-gift-modal-close:focus,
body.gy-user-body .gy-gift-modal-close:focus-visible {
    border-color: rgba(255, 122, 0, .18);
    background: #292a29;
    color: #d8d9d2;
}

body.gy-user-body .gy-impersonation-banner {
    border-color: rgba(255, 122, 0, .2);
    background: #252621;
    color: #dddcd5;
}

body.gy-user-body .gy-impersonation-banner button {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
}

/* VinTech Digitals approved auth, shell, and home integration. */
html {
    min-height: 100%;
    background-color: #242729;
    overscroll-behavior-y: none;
}

body.gy-auth-body,
body.gy-user-body {
    min-height: 100svh;
    color: #f7f6f0;
    background:
        radial-gradient(circle at 50% -12%, rgba(255, 122, 0, .14), transparent 34rem),
        radial-gradient(circle at 6% 92%, rgba(255, 122, 0, .06), transparent 28rem),
        linear-gradient(145deg, #373b3e, #2e3235 48%, #242729);
    background-color: #242729;
    background-repeat: no-repeat;
    overscroll-behavior-y: none;
    font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.gy-auth-body .gy-auth-page {
    min-height: 100vh;
    padding: clamp(18px, 4vw, 46px) 16px;
}

body.gy-auth-body .gy-auth-page::before {
    inset: -12rem -8rem auto;
    height: 28rem;
    background: radial-gradient(circle, rgba(255, 122, 0, .16), transparent 68%);
}

body.gy-auth-body .gy-auth-card {
    width: min(100%, 440px);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 38px;
    background: #121313;
    padding: clamp(26px, 6vw, 38px) clamp(20px, 6vw, 34px) 30px;
    color: #f7f6f0;
    box-shadow: 0 34px 80px -38px rgba(0, 0, 0, .9), inset 0 1px rgba(255, 255, 255, .04);
}

.gy-vintech-auth-brand {
    display: flex;
    align-items: center;
    gap: 11px;
}

body.gy-auth-body .gy-auth-logo {
    width: 46px;
    height: 46px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 15px;
    background: #050505;
    box-shadow: 0 12px 28px -16px rgba(255, 122, 0, .8);
}

.gy-vintech-auth-brand > div {
    min-width: 0;
}

.gy-vintech-auth-brand strong,
.gy-vintech-auth-brand span {
    display: block;
}

.gy-vintech-auth-brand strong {
    color: #f7f6f0;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.gy-vintech-auth-brand span {
    margin-top: 2px;
    color: #b5b7b0;
    font-size: 10px;
}

.gy-vintech-auth-heading {
    margin: 48px 0 28px;
}

body.gy-auth-body .gy-eyebrow {
    margin: 0 0 9px;
    color: #ff7a00;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

body.gy-auth-body .gy-title {
    max-width: 340px;
    margin: 0;
    color: #f7f6f0;
    font-size: clamp(31px, 9vw, 42px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.055em;
}

body.gy-auth-body .gy-subtitle {
    max-width: 340px;
    margin: 13px 0 0;
    color: #b5b7b0;
    font-size: 13px;
    line-height: 1.7;
}

body.gy-auth-body .gy-form {
    gap: 16px;
    margin-top: 0;
}

body.gy-auth-body .gy-label {
    color: #d7d8d1;
    font-size: 11px;
    font-weight: 700;
}

body.gy-auth-body .gy-label .text-gray-500 {
    color: #b5b7b0;
}

body.gy-auth-body .gy-input {
    min-height: 54px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 16px;
    background: #191a1a;
    color: #f7f6f0;
    font-size: 13px;
}

body.gy-auth-body .gy-input::placeholder {
    color: #969991;
    opacity: 1;
}

body.gy-auth-body .gy-input:focus {
    border-color: rgba(255, 122, 0, .58);
    background: #1d1e1d;
    box-shadow: 0 0 0 4px rgba(255, 122, 0, .08);
}

body.gy-auth-body .gy-input-icon,
body.gy-auth-body .gy-password-toggle {
    color: #ff7a00;
}

body.gy-auth-body .gy-button {
    min-height: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    box-shadow: 0 16px 34px -22px rgba(255, 173, 51, .95);
}

body.gy-auth-body .gy-auth-assurance,
body.gy-auth-body .gy-referral-applied,
body.gy-auth-body .gy-auth-switch {
    color: #b5b7b0;
}

body.gy-auth-body .gy-auth-switch a {
    color: #ff7a00;
    font-weight: 800;
}

body.gy-user-body .gy-shell {
    min-height: 100vh;
    border-right: 1px solid rgba(255, 255, 255, .06);
    border-left: 1px solid rgba(255, 255, 255, .06);
    background: #121313;
    box-shadow: 0 34px 80px -38px rgba(0, 0, 0, .9);
}

body.gy-home-body .gy-shell {
    width: min(100%, 1120px);
    background: #121313;
}

body.gy-user-body .gy-app-bar {
    min-height: calc(76px + env(safe-area-inset-top));
    grid-template-columns: 46px minmax(0, 1fr) 46px;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    background: rgba(18, 19, 19, .9);
    backdrop-filter: blur(18px);
}

body.gy-user-body .gy-app-bar-button {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 15px;
    background: #191a1a;
    color: #d8d9d2;
    box-shadow: none;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

body.gy-user-body .gy-app-bar-button:hover,
body.gy-user-body .gy-app-bar-button:focus-visible {
    border-color: rgba(255, 122, 0, .34);
    background: #292a29;
}

body.gy-user-body .gy-app-logo {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: #050505;
    box-shadow: 0 12px 25px -16px rgba(255, 122, 0, .75);
}

body.gy-user-body .gy-app-identity-copy span {
    color: #b5b7b0;
    font-size: 9px;
}

body.gy-user-body .gy-app-identity-copy strong {
    color: #f7f6f0;
    font-size: 14px;
    font-weight: 700;
}

body.gy-user-body .gy-drawer-backdrop {
    background: rgba(0, 0, 0, .68);
    backdrop-filter: blur(5px);
}

body.gy-user-body .gy-drawer-panel {
    width: min(86vw, 340px);
    border-right: 1px solid rgba(255, 255, 255, .08);
    border-radius: 0;
    background: #171818;
    box-shadow: 28px 0 70px -35px #000;
}

body.gy-user-body .gy-drawer-head {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    background: linear-gradient(145deg, #242521, #1b1c1b);
    color: #f7f6f0;
    box-shadow: none;
}

body.gy-user-body .gy-drawer-logo {
    border-color: rgba(255, 122, 0, .3);
    border-radius: 14px;
    background: #050505;
}

body.gy-user-body .gy-drawer-account span,
body.gy-user-body .gy-drawer-account small,
body.gy-user-body .gy-drawer-link-copy small,
body.gy-user-body .gy-drawer-chevron {
    color: #b5b7b0;
}

body.gy-user-body .gy-drawer-group > p {
    color: #a3a69e;
    font-size: 9px;
}

body.gy-user-body .gy-drawer-links .gy-drawer-group > a {
    color: #d7d8d1;
}

body.gy-user-body .gy-drawer-links .gy-drawer-group > a:hover,
body.gy-user-body .gy-drawer-links .gy-drawer-group > a:focus-visible,
body.gy-user-body .gy-drawer-links .gy-drawer-group > a.is-active {
    border-color: rgba(255, 122, 0, .18);
    background: #212222;
    color: #ff7a00;
    box-shadow: none;
}

body.gy-user-body .gy-drawer-link-icon,
body.gy-user-body .gy-drawer-links a.is-active .gy-drawer-link-icon {
    background: #2a2b28;
    color: #ff7a00;
    box-shadow: none;
}

body.gy-user-body .gy-drawer-close {
    border-color: rgba(255, 255, 255, .1);
    background: #292a29;
    color: #d8d9d2;
}

body.gy-user-body .gy-drawer-logout {
    border-color: rgba(255, 255, 255, .08);
}

body.gy-user-body .gy-drawer-logout button {
    border-color: rgba(239, 143, 143, .18);
    background: rgba(239, 143, 143, .07);
    color: #ef9c9c;
}

body.gy-user-body .gy-drawer-logout-icon {
    background: rgba(239, 143, 143, .1);
}

body.gy-user-body .gy-bottom-nav {
    right: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 50%;
    width: min(calc(100% - 28px), 520px);
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 22px;
    background: rgba(35, 36, 35, .94);
    box-shadow: 0 22px 48px -20px rgba(0, 0, 0, .95), 0 0 0 1px rgba(0, 0, 0, .16);
    transform: translateX(-50%);
    backdrop-filter: blur(18px);
}

body.gy-user-body .gy-bottom-nav-inner {
    width: 100%;
}

body.gy-user-body .gy-nav-item {
    min-height: 54px;
    border-radius: 15px;
    color: #b5b7b0;
    font-size: 9px;
}

body.gy-user-body .gy-nav-item.is-active {
    background: rgba(255, 122, 0, .08);
    color: #ff7a00;
}

body.gy-home-body .gy-home-content {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: 18px;
    padding: 20px clamp(16px, 4vw, 28px) 118px;
}

body.gy-home-body .gy-home-balance.gy-wallet-balance-card {
    grid-column: 1;
    grid-row: 1;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 122, 0, .15), transparent 48%),
        linear-gradient(150deg, #20211f, #181918 72%);
    color: #f7f6f0;
    box-shadow: 0 26px 54px -42px rgba(0, 0, 0, .95);
}

body.gy-home-body .gy-home-balance.gy-wallet-balance-card::after {
    border-color: rgba(255, 122, 0, .055);
}

body.gy-home-body .gy-wallet-account-avatar {
    border: 1px solid rgba(255, 122, 0, .24);
    border-radius: 13px;
    background: #292a26;
    color: #ffad33;
    box-shadow: none;
}

body.gy-home-body .gy-wallet-account-copy small,
body.gy-home-body .gy-wallet-balance-main > span,
body.gy-home-body .gy-wallet-balance-card .gy-wallet-meta span {
    color: #b5b7b0;
}

body.gy-home-body .gy-wallet-visibility,
body.gy-home-body .gy-wallet-balance-card .gy-wallet-meta > div,
body.gy-home-body .gy-wallet-balance-card .gy-wallet-actions a {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .045);
    color: #f7f6f0;
}

body.gy-home-body .gy-wallet-balance-card .gy-wallet-actions a {
    min-height: 54px;
}

body.gy-home-body .gy-wallet-balance-card .gy-wallet-actions svg {
    color: #ff7a00;
}

body.gy-home-body .gy-home-plan-card {
    grid-column: 1;
    grid-row: 2;
    height: 230px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 30px;
    background: #1b1c1b;
    box-shadow: none;
}

body.gy-home-body .gy-home-plan-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 9%;
}

body.gy-home-body .gy-home-section {
    margin: 0;
    padding: 19px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 22px;
    background: #191a1a;
}

body.gy-home-body .gy-home-section[aria-labelledby="quick-actions-title"] {
    grid-column: 1;
    grid-row: 3;
}

body.gy-home-body .gy-home-section[aria-labelledby="vintech-info-title"] {
    grid-column: 2;
    grid-row: 1 / span 2;
}

body.gy-home-body .gy-home-section[aria-labelledby="community-title"] {
    grid-column: 2;
    grid-row: 3;
}

body.gy-home-body .gy-home-section-head {
    margin-bottom: 14px;
    padding: 0;
}

body.gy-home-body .gy-home-section-head h2 {
    color: #f7f6f0;
    font-size: 15px;
    font-weight: 800;
}

body.gy-home-body .gy-home-section-head a,
body.gy-home-body .gy-home-section-head span {
    color: #b5b7b0;
    font-size: 9px;
}

body.gy-home-body .gy-home-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

body.gy-home-body .gy-home-action {
    min-height: 86px;
    gap: 8px;
    border-color: rgba(255, 255, 255, .08);
    border-radius: 15px;
    background: #212222;
    color: #f7f6f0;
    box-shadow: none;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
}

body.gy-home-body .gy-home-action:hover,
body.gy-home-body .gy-home-action:focus-visible,
body.gy-home-body .gy-home-info-row:hover,
body.gy-home-body .gy-home-info-row:focus-visible,
body.gy-home-body .gy-home-community-card:hover,
body.gy-home-body .gy-home-community-card:focus-visible {
    border-color: rgba(255, 122, 0, .3);
    background: #292a29;
    transform: translateY(-2px);
}

body.gy-home-body .gy-home-action-icon,
body.gy-home-body .gy-home-info-icon,
body.gy-home-body .gy-home-community-icon {
    border-radius: 11px;
    background: #2a2b28;
    color: #ff7a00;
    box-shadow: none;
}

body.gy-home-body .gy-home-action > span:last-child {
    font-size: 9px;
    font-weight: 700;
}

body.gy-home-body .gy-home-info-list {
    gap: 9px;
}

body.gy-home-body .gy-home-info-row,
body.gy-home-body .gy-home-community-card {
    border-color: rgba(255, 255, 255, .08);
    border-radius: 15px;
    background: #212222;
    color: #f7f6f0;
    box-shadow: none;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
}

body.gy-home-body .gy-home-info-copy strong,
body.gy-home-body .gy-home-community-copy strong {
    color: #f7f6f0;
    font-size: 11px;
}

body.gy-home-body .gy-home-info-copy small,
body.gy-home-body .gy-home-community-copy small,
body.gy-home-body .gy-home-chevron {
    color: #b5b7b0;
}

body.gy-home-body .gy-home-info-copy small,
body.gy-home-body .gy-home-community-copy small {
    font-size: 9px;
    line-height: 1.55;
}

body.gy-home-body .gy-home-community {
    gap: 9px;
}

body.gy-home-body .gy-home-community-card {
    min-height: 116px;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    padding: 14px;
}

body.gy-home-body .gy-home-community-icon {
    width: 42px;
    height: 42px;
}

body.gy-home-body .gy-announcement-overlay,
body.gy-home-body .gy-modal-overlay {
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(5px);
}

body.gy-home-body .gy-announcement-panel,
body.gy-home-body .gy-gift-modal-panel {
    width: min(calc(100% - 28px), 480px);
    max-height: calc(100vh - 34px);
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 27px;
    background: #1b1c1b;
    color: #f7f6f0;
    box-shadow: 0 34px 80px -38px rgba(0, 0, 0, .95);
}

body.gy-home-body .gy-announcement-head p,
body.gy-home-body .gy-announcement-head h3,
body.gy-home-body .gy-gift-modal-head h3 {
    color: #f7f6f0;
}

body.gy-home-body .gy-announcement-head p,
body.gy-home-body .gy-gift-modal-head .gy-eyebrow {
    color: #ff7a00;
}

.gy-vintech-announcement-art {
    display: block;
    width: 100%;
    max-height: min(68vh, 760px);
    margin-top: 14px;
    border: 1px solid rgba(255, 122, 0, .24);
    border-radius: 18px;
    background: #080808;
    object-fit: contain;
}

body.gy-home-body .gy-announcement-close,
body.gy-home-body .gy-gift-modal-close {
    border-color: rgba(255, 255, 255, .1);
    background: #292a29;
    color: #d8d9d2;
}

body.gy-home-body .gy-announcement-action,
body.gy-home-body .gy-gift-modal-submit {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
}

body.gy-home-body .gy-gift-modal-panel .gy-label,
body.gy-home-body .gy-gift-modal-panel small {
    color: #b5b7b0;
}

body.gy-home-body .gy-gift-modal-panel .gy-input {
    border-color: rgba(255, 255, 255, .1);
    background: #212222;
    color: #f7f6f0;
}

body.gy-home-body .gy-gift-modal-panel .gy-input::placeholder {
    color: #969991;
}

@media (max-width: 719px) {
    body.gy-auth-body .gy-auth-page {
        padding: 0;
    }

    body.gy-auth-body .gy-auth-card {
        min-height: 100vh;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        padding-top: calc(28px + env(safe-area-inset-top));
    }

    body.gy-home-body .gy-home-content {
        display: block;
        padding: 14px 14px 118px;
    }

    body.gy-home-body .gy-home-plan-card,
    body.gy-home-body .gy-home-section {
        margin-top: 18px;
    }

    body.gy-home-body .gy-home-plan-card {
        height: 220px;
    }

    body.gy-home-body .gy-home-community {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gy-home-body .gy-home-community-card {
        display: block;
        min-width: 0;
    }

    body.gy-home-body .gy-home-community-copy strong {
        margin-top: 12px;
    }

    body.gy-home-body .gy-home-community-card .gy-home-chevron {
        display: none;
    }
}

@media (max-width: 360px) {
    body.gy-home-body .gy-home-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.gy-home-body .gy-home-community {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-auth-body *,
    body.gy-user-body * {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* VinTech Digitals lifetime reward levels */
.gy-level-rewards-entry {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(239, 101, 0, .18);
    border-radius: 20px;
    background: linear-gradient(135deg, #fff 0%, #fff5ed 100%);
    padding: 14px;
    color: var(--gy-ink);
    box-shadow: 0 12px 32px rgba(151, 64, 10, .08);
    text-decoration: none;
}

.gy-level-rewards-entry-icon,
.gy-rewards-trophy {
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #ff781c, #e34f00);
    color: #fff;
    box-shadow: 0 9px 22px rgba(221, 80, 0, .22);
}

.gy-level-rewards-entry-icon { width: 48px; height: 48px; }
.gy-level-rewards-entry-icon svg,
.gy-rewards-trophy svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.gy-level-rewards-entry > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.gy-level-rewards-entry small { color: var(--gy-gold-strong); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gy-level-rewards-entry strong { font-size: 16px; font-weight: 750; }
.gy-level-rewards-entry em { overflow: hidden; color: var(--gy-muted); font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.gy-growth-flow .gy-reward-levels { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gy-rewards-flow { gap: 18px; padding-bottom: 26px; }
.gy-rewards-hero {
    overflow: hidden;
    position: relative;
    border-radius: 25px;
    background: linear-gradient(145deg, #ff7215 0%, #e65100 62%, #bf3e00 100%);
    padding: 20px;
    color: #fff;
    box-shadow: 0 20px 42px rgba(194, 63, 0, .22);
}
.gy-rewards-hero::after { content: ""; position: absolute; right: -54px; bottom: -75px; width: 180px; height: 180px; border: 32px solid rgba(255,255,255,.09); border-radius: 50%; }
.gy-rewards-hero-head { position: relative; z-index: 1; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 13px; align-items: start; }
.gy-rewards-trophy { width: 54px; height: 54px; background: rgba(255,255,255,.18); box-shadow: none; }
.gy-rewards-hero-head > div > span { color: rgba(255,255,255,.78); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.gy-rewards-hero h1 { margin: 3px 0 4px; color: #fff; font-size: 23px; font-weight: 800; line-height: 1.15; }
.gy-rewards-hero p { margin: 0; color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.45; }
.gy-rewards-hero-stats { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; gap: 9px; margin-top: 18px; }
.gy-rewards-hero-stats > div { display: grid; gap: 4px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(97,29,0,.13); padding: 12px; backdrop-filter: blur(8px); }
.gy-rewards-hero-stats span { color: rgba(255,255,255,.74); font-size: 9px; text-transform: uppercase; }
.gy-rewards-hero-stats strong { color: #fff; font-size: 18px; font-weight: 760; }

.gy-rewards-progress,
.gy-rewards-history,
.gy-rewards-guide,
.gy-rewards-rules { border: 1px solid var(--gy-line); border-radius: 22px; background: #fff; padding: 17px; box-shadow: 0 12px 34px rgba(67,42,24,.06); }
.gy-rewards-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.gy-rewards-section-head > div { display: grid; gap: 2px; }
.gy-rewards-section-head span { color: var(--gy-gold-strong); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gy-rewards-section-head h2 { margin: 0; font-size: 17px; font-weight: 760; }
.gy-rewards-section-head > strong { color: var(--gy-gold-strong); font-size: 15px; font-weight: 750; }
.gy-rewards-progress > p { margin: 8px 0 16px; color: var(--gy-muted); font-size: 10px; line-height: 1.5; }
.gy-rewards-progress-row { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; margin-top: 13px; }
.gy-rewards-progress-row > div:first-child { display: flex; grid-column: 1/-1; align-items: center; justify-content: space-between; gap: 8px; }
.gy-rewards-progress-row span { color: var(--gy-muted); font-size: 10px; }
.gy-rewards-progress-row strong { font-size: 12px; font-weight: 700; }
.gy-rewards-progress-track { overflow: hidden; height: 8px; border-radius: 999px; background: #f3e8e0; }
.gy-rewards-progress-track i,
.gy-rewards-level-copy > div i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff851f, #e65100); }
.gy-rewards-progress-row small { min-width: 35px; color: var(--gy-gold-strong); font-size: 9px; font-weight: 700; text-align: right; }
.gy-rewards-qualifying { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; border-radius: 14px; background: var(--gy-gold-soft); padding: 11px 12px; }
.gy-rewards-qualifying span { color: #885331; font-size: 10px; }
.gy-rewards-qualifying strong { color: var(--gy-gold-strong); font-size: 16px; font-weight: 800; }
.gy-rewards-complete-badge { border-radius: 999px; background: #e7f6ee; color: var(--gy-green) !important; padding: 6px 9px; }

.gy-rewards-list-head { margin-bottom: 9px; }
.gy-rewards-level-list { display: grid; gap: 8px; }
.gy-rewards-level { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--gy-line); border-radius: 18px; background: #fff; padding: 12px; }
.gy-rewards-level.is-current { border-color: rgba(239,101,0,.38); background: #fff8f2; box-shadow: 0 10px 24px rgba(188,71,0,.08); }
.gy-rewards-level.is-attained { border-color: rgba(24,131,81,.18); background: #fbfffc; }
.gy-rewards-level-number { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: #f1ece8; color: #8c817a; font-size: 15px; font-weight: 800; }
.is-current .gy-rewards-level-number { background: linear-gradient(135deg,#ff7c1a,#e55200); color: #fff; }
.is-attained .gy-rewards-level-number { background: #e4f5ec; color: var(--gy-green); }
.gy-rewards-level-copy { display: grid; min-width: 0; gap: 3px; }
.gy-rewards-level-copy small { color: var(--gy-muted); font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.gy-rewards-level-copy strong { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.gy-rewards-level-copy > div { overflow: hidden; width: 100%; height: 4px; margin-top: 3px; border-radius: 999px; background: #f1e8e2; }
.gy-rewards-level-reward { display: grid; justify-items: end; gap: 2px; text-align: right; }
.gy-rewards-level-reward span { color: var(--gy-muted); font-size: 8px; }
.gy-rewards-level-reward strong { color: var(--gy-gold-strong); font-size: 12px; font-weight: 800; }
.gy-rewards-level-reward small { color: var(--gy-green); font-size: 7px; }

.gy-rewards-history-list { display: grid; gap: 7px; margin-top: 12px; }
.gy-rewards-history-list article { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; border-top: 1px solid var(--gy-line); padding-top: 10px; }
.gy-rewards-history-list article:first-child { border-top: 0; padding-top: 0; }
.gy-rewards-history-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: #e5f5ed; color: var(--gy-green); font-size: 12px; font-weight: 800; }
.gy-rewards-history-list article > div { display: grid; gap: 3px; }
.gy-rewards-history-list article > div strong { font-size: 11px; font-weight: 720; }
.gy-rewards-history-list article small { color: var(--gy-muted); font-size: 8px; }
.gy-rewards-history-list article > strong { color: var(--gy-green); font-size: 11px; font-weight: 800; }
.gy-rewards-history-empty { display: grid; justify-items: center; gap: 5px; padding: 16px 0 4px; text-align: center; }
.gy-rewards-history-empty > span { color: var(--gy-gold); font-size: 24px; }
.gy-rewards-history-empty strong { font-size: 12px; font-weight: 700; }
.gy-rewards-history-empty p { margin: 0; color: var(--gy-muted); font-size: 9px; }

.gy-rewards-guide > div > span { color: var(--gy-gold-strong); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gy-rewards-guide h2 { margin: 3px 0; font-size: 17px; font-weight: 760; }
.gy-rewards-guide p { margin: 0 0 13px; color: var(--gy-muted); font-size: 10px; line-height: 1.45; }
.gy-rewards-guide > button { overflow: hidden; position: relative; width: 100%; border: 0; border-radius: 17px; background: #fff4eb; padding: 0; cursor: pointer; }
.gy-rewards-guide img { display: block; width: 100%; height: auto; }
.gy-rewards-guide > button > span { position: absolute; right: 10px; bottom: 10px; border-radius: 999px; background: rgba(28,18,13,.88); color: #fff; padding: 7px 10px; font-size: 9px; font-weight: 700; }
.gy-rewards-rules strong { font-size: 13px; font-weight: 760; }
.gy-rewards-rules ul { display: grid; gap: 7px; margin: 11px 0 0; padding-left: 18px; color: var(--gy-muted); font-size: 10px; line-height: 1.45; }
.gy-rewards-rules li::marker { color: var(--gy-gold); }

.gy-rewards-guide-modal { position: fixed; z-index: 2101; top: max(14px, env(safe-area-inset-top)); right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); left: 14px; overflow: auto; width: min(calc(100% - 28px), 452px); margin: 0 auto; border: 1px solid rgba(239,101,0,.2); border-radius: 24px; background: #fff; box-shadow: 0 28px 80px rgba(30,18,11,.28); }
.gy-rewards-guide-modal > div { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--gy-line); background: rgba(255,255,255,.94); padding: 12px 14px; backdrop-filter: blur(14px); }
.gy-rewards-guide-modal h3 { margin: 0; font-size: 15px; font-weight: 750; }
.gy-rewards-guide-modal button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--gy-line); border-radius: 14px; background: #fff; color: var(--gy-ink); cursor: pointer; }
.gy-rewards-guide-modal button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.gy-rewards-guide-modal > img { display: block; width: 100%; height: auto; }

@media (max-width: 350px) {
    .gy-rewards-hero { padding: 16px; }
    .gy-rewards-level { grid-template-columns: 38px minmax(0,1fr) auto; gap: 8px; padding: 10px; }
    .gy-rewards-level-number { width: 38px; height: 38px; }
    .gy-rewards-level-copy strong { font-size: 10px; }
    .gy-rewards-level-reward strong { font-size: 10px; }
}

/* Keep the shared wallet card authoritative over earlier phase-specific rules. */
.gy-home-balance.gy-wallet-balance-card,
.gy-profile-balance.gy-wallet-balance-card {
    display: block;
    min-height: 0;
    border-color: rgba(255, 255, 255, .28);
    background:
        radial-gradient(circle at 90% 2%, rgba(255, 224, 196, .28), transparent 30%),
        linear-gradient(145deg, #fb7418 0%, #e95805 52%, #c94300 100%);
    padding: 19px;
}

.gy-wallet-balance-card .gy-home-balance-amount,
.gy-wallet-balance-card .gy-balance-amount {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(31px, 9vw, 39px);
    line-height: 1.08;
    letter-spacing: -.025em;
    text-overflow: clip;
}

/* Shared account-style balance card used on Home and Profile. */
.gy-wallet-balance-card,
.gy-home-balance.gy-wallet-balance-card,
.gy-profile-balance.gy-wallet-balance-card {
    position: relative;
    display: block;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 28px;
    background:
        radial-gradient(circle at 90% 2%, rgba(255, 224, 196, .28), transparent 30%),
        linear-gradient(145deg, #fb7418 0%, #e95805 52%, #c94300 100%);
    padding: 19px;
    color: #fff;
    box-shadow: 0 18px 38px rgba(183, 59, 0, .25);
}

.gy-home-balance.gy-wallet-balance-card::after,
.gy-profile-balance.gy-wallet-balance-card::after {
    position: absolute;
    right: -56px;
    bottom: -76px;
    width: 210px;
    height: 210px;
    border: 35px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    background: transparent;
    content: "";
    filter: none;
    pointer-events: none;
}

.gy-wallet-account-row,
.gy-wallet-balance-main,
.gy-wallet-meta,
.gy-wallet-actions {
    position: relative;
    z-index: 1;
}

.gy-wallet-account-row {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 11px;
}

.gy-wallet-account-avatar {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(100, 29, 0, .2);
    color: #fff;
    font-size: 18px;
    font-weight: 750;
    box-shadow: 0 8px 18px rgba(104, 26, 0, .16);
}

.gy-wallet-account-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-wallet-account-copy small {
    color: rgba(255, 255, 255, .72);
    font-size: 9px;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gy-wallet-account-copy strong {
    overflow: hidden;
    color: #fff;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-wallet-visibility {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 15px;
    background: rgba(115, 31, 0, .17);
    color: #fff;
    cursor: pointer;
}

.gy-wallet-visibility .gy-eye-icon {
    width: 19px;
    height: 19px;
}

.gy-wallet-balance-main {
    margin-top: 25px;
}

.gy-wallet-balance-main > span {
    display: block;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
}

.gy-wallet-balance-card .gy-home-balance-amount,
.gy-wallet-balance-card .gy-balance-amount {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(31px, 9vw, 39px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
    text-overflow: clip;
    white-space: nowrap;
}

.gy-wallet-balance-card .gy-wallet-meta,
.gy-wallet-balance-card .gy-profile-balance-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
}

.gy-wallet-balance-card .gy-wallet-meta > div {
    display: grid;
    min-width: 0;
    gap: 3px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    background: rgba(255, 255, 255, .12);
    padding: 9px 10px;
}

.gy-wallet-balance-card .gy-wallet-meta span {
    overflow: hidden;
    color: rgba(255, 255, 255, .68);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-wallet-balance-card .gy-wallet-meta strong {
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-wallet-balance-card .gy-wallet-actions,
.gy-wallet-balance-card .gy-profile-quick-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

.gy-wallet-balance-card .gy-wallet-actions a,
.gy-wallet-balance-card .gy-profile-quick-actions a {
    display: flex;
    min-width: 0;
    min-height: 45px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 15px;
    background: rgba(91, 24, 0, .19);
    color: #fff;
    font-size: 10px;
    font-weight: 650;
    box-shadow: none;
}

.gy-wallet-balance-card .gy-wallet-actions svg,
.gy-wallet-balance-card .gy-profile-quick-actions svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 350px) {
    .gy-wallet-balance-card,
    .gy-home-balance.gy-wallet-balance-card,
    .gy-profile-balance.gy-wallet-balance-card {
        padding: 16px;
    }

    .gy-wallet-balance-card .gy-wallet-actions a,
    .gy-wallet-balance-card .gy-profile-quick-actions a {
        flex-direction: column;
        gap: 2px;
    }
}

/* Phase 3: recharge and withdrawal flows */
.gy-money-flow {
    gap: 14px;
    padding-top: 14px;
    padding-bottom: 30px;
}

.gy-flow-hero,
.gy-flow-intro {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(222, 83, 0, .12);
    border-radius: 22px;
    background: linear-gradient(135deg, #fff 35%, #fff2e9);
    padding: 17px;
    box-shadow: 0 10px 28px rgba(61, 35, 19, .06);
}

.gy-flow-hero-icon,
.gy-account-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    box-shadow: 0 8px 18px rgba(218, 77, 0, .2);
}

.gy-flow-hero-icon svg,
.gy-account-icon svg,
.gy-security-note svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.gy-flow-hero div,
.gy-flow-intro div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-flow-hero span:not(.gy-flow-hero-icon),
.gy-flow-intro small {
    color: #8b7568;
    font-size: 11px;
}

.gy-flow-hero strong,
.gy-flow-intro strong {
    color: #201713;
    font-size: 17px;
    line-height: 1.25;
}

.gy-flow-hero small {
    color: #716863;
    font-size: 12px;
    line-height: 1.4;
}

.gy-flow-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    border-radius: 15px;
    background: #f1efed;
    padding: 4px;
}

.gy-flow-links a,
.gy-flow-links span {
    display: grid;
    min-height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #7b716c;
    font-size: 13px;
    font-weight: 600;
}

.gy-flow-links .is-active {
    background: #fff;
    color: #d64b00;
    box-shadow: 0 3px 10px rgba(54, 35, 24, .08);
}

.gy-flow-card,
.gy-payment-card,
.gy-proof-card {
    border-color: rgba(83, 53, 35, .09);
    border-radius: 22px;
    box-shadow: 0 9px 26px rgba(52, 34, 23, .06);
}

.gy-field-heading,
.gy-proof-heading,
.gy-bank-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gy-field-heading > span,
.gy-proof-heading > span {
    flex: 0 0 auto;
    color: #d94d00;
    font-size: 11px;
    font-weight: 600;
}

.gy-money-flow .gy-amount-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.gy-money-flow .gy-amount-option {
    min-height: 46px;
    border: 1px solid #eadfd9;
    border-radius: 13px;
    background: #fffaf7;
    color: #49352a;
    font-size: 13px;
    font-weight: 600;
}

.gy-money-flow .gy-amount-option:hover,
.gy-money-flow .gy-amount-option.is-active,
.gy-money-flow .gy-amount-option[aria-pressed="true"] {
    border-color: #e75a09;
    background: #fff0e6;
    color: #d64b00;
}

.gy-money-flow .gy-input,
.gy-money-flow .gy-select {
    min-height: 52px;
    border-color: #e9e2de;
    border-radius: 14px;
    background-color: #fcfbfa;
}

.gy-money-flow .gy-input:focus,
.gy-money-flow .gy-select:focus {
    border-color: #eb681d;
    box-shadow: 0 0 0 3px rgba(235, 104, 29, .12);
}

.gy-money-flow .gy-button {
    min-height: 50px;
    border-radius: 15px;
    background: linear-gradient(135deg, #f46b12, #d94d00);
    box-shadow: 0 10px 20px rgba(218, 77, 0, .2);
}

.gy-flow-note {
    border-color: rgba(221, 88, 9, .12);
    border-radius: 18px;
    background: #fff8f3;
}

.gy-balance-summary,
.gy-history-summary {
    overflow: hidden;
    border-radius: 23px;
    background: linear-gradient(135deg, #f56c13, #d94d00);
    color: #fff;
    padding: 20px;
    box-shadow: 0 13px 28px rgba(207, 69, 0, .23);
}

.gy-balance-summary > div:first-child,
.gy-history-summary > div {
    display: grid;
    gap: 4px;
}

.gy-balance-summary span,
.gy-history-summary span {
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
}

.gy-balance-summary > div:first-child > strong,
.gy-history-summary strong {
    overflow: hidden;
    max-width: 100%;
    font-size: clamp(25px, 7.4vw, 32px);
    line-height: 1.2;
    text-overflow: ellipsis;
}

.gy-balance-summary-referral {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .22);
    padding-top: 13px;
}

.gy-balance-summary-referral strong {
    font-size: 14px;
}

.gy-fee-preview {
    display: flex;
    justify-content: space-between;
    border-radius: 13px;
    background: #fff5ee;
    color: #6f5749;
    padding: 11px 13px;
    font-size: 12px;
}

.gy-fee-preview strong {
    color: #d94d00;
}

.gy-account-empty {
    display: grid;
    justify-items: center;
    gap: 8px;
    text-align: center;
}

.gy-account-empty .gy-button {
    margin-top: 7px;
}

.gy-bank-card {
    background: linear-gradient(145deg, #fff, #fff8f3);
}

.gy-bank-card-head > div {
    display: grid;
    flex: 1;
    gap: 2px;
}

.gy-bank-card-head small,
.gy-bank-card-name {
    color: #84756d;
    font-size: 11px;
}

.gy-bank-card-head strong {
    color: #211916;
    font-size: 14px;
}

.gy-bank-card-head > a {
    color: #d94d00;
    font-size: 12px;
    font-weight: 600;
}

.gy-bank-card-number {
    margin-top: 18px;
    color: #251915;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .08em;
}

.gy-bank-card-name {
    margin-top: 3px;
    text-transform: uppercase;
}

.gy-account-status {
    min-height: 18px;
    margin: 5px 0 0;
    font-size: 11px;
}

.gy-security-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #766b65;
    padding: 2px 8px;
    font-size: 11px;
    line-height: 1.45;
}

.gy-security-note svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: #d94d00;
}

.gy-payment-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.gy-payment-steps span {
    display: grid;
    width: 48px;
    justify-items: center;
    gap: 4px;
    color: #a69d98;
}

.gy-payment-steps b {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #eeeae7;
    font-size: 11px;
}

.gy-payment-steps small {
    font-size: 9px;
}

.gy-payment-steps i {
    width: 45px;
    height: 2px;
    margin-top: 13px;
    background: #e7e1dd;
}

.gy-payment-steps .is-active,
.gy-payment-steps .is-complete {
    color: #d94d00;
}

.gy-payment-steps .is-active b,
.gy-payment-steps .is-complete b {
    background: #ee5b08;
    color: #fff;
}

.gy-payment-amount {
    display: grid;
    gap: 3px;
    border-radius: 18px;
    background: #fff4ec;
    padding: 16px;
}

.gy-payment-amount > span {
    color: #8d7568;
    font-size: 11px;
}

.gy-payment-amount > strong {
    color: #d34a00;
    font-size: 26px;
    line-height: 1.25;
}

.gy-payment-card .gy-detail-grid {
    overflow: hidden;
    border: 1px solid #eee6e1;
    border-radius: 17px;
}

.gy-payment-card .gy-detail-row {
    padding: 13px 14px;
}

.gy-wallet-loading {
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 18px;
    background: #fff8f3;
}

.gy-inline-spinner {
    width: 24px;
    height: 24px;
    border: 3px solid #f5c5a9;
    border-top-color: #e45505;
    border-radius: 50%;
    animation: gy-spin .7s linear infinite;
}

.gy-proof-heading {
    align-items: flex-start;
    margin-bottom: 15px;
}

.gy-proof-heading h4,
.gy-proof-heading p {
    margin: 0;
}

.gy-proof-card .gy-upload-box {
    border: 1.5px dashed #e9854c;
    border-radius: 17px;
    background: #fff9f5;
}

.gy-submitted-state {
    display: grid;
    justify-items: center;
    gap: 5px;
    border-radius: 17px;
    background: #effaf4;
    color: #176a40;
    padding: 18px;
}

.gy-submitted-state > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #1c9b5d;
    color: #fff;
    font-size: 20px;
}

.gy-history-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gy-history-summary > a {
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 12px;
    color: #fff;
    padding: 9px 11px;
    font-size: 11px;
    font-weight: 600;
}

.gy-money-flow .gy-filter-strip {
    scrollbar-width: none;
}

.gy-money-flow .gy-filter-strip::-webkit-scrollbar {
    display: none;
}

.gy-transaction-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 7px 20px rgba(51, 34, 24, .05);
}

.gy-transaction-card::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #e49a63;
    content: '';
}

.gy-transaction-card.is-approved::before,
.gy-transaction-card.is-successful::before {
    background: #22a363;
}

.gy-transaction-card.is-rejected::before {
    background: #d84949;
}

.gy-trx-code {
    overflow: hidden;
    max-width: 45%;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    text-overflow: ellipsis;
}

.gy-flow-empty {
    display: grid;
    justify-items: center;
    gap: 7px;
    border: 1px solid #eee5df;
    border-radius: 20px;
    background: #fff;
    padding: 30px 20px;
}

.gy-empty-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 15px;
    background: #fff0e6;
    color: #dd5204;
    font-size: 24px;
}

.gy-flow-empty .gy-button {
    margin-top: 7px;
    padding: 0 18px;
}

.gy-ledger-flow {
    gap: 13px;
}

.gy-ledger-summary {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 24px;
    background:
        radial-gradient(circle at 94% 8%, rgba(255, 230, 208, .27), transparent 34%),
        linear-gradient(145deg, #fb7418, #e95805 58%, #cc4500);
    padding: 18px;
    color: #fff;
    box-shadow: 0 14px 30px rgba(190, 63, 0, .22);
}

.gy-ledger-summary::after {
    position: absolute;
    right: -40px;
    bottom: -65px;
    width: 150px;
    height: 150px;
    border: 28px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.gy-ledger-summary-icon,
.gy-ledger-summary-copy,
.gy-ledger-summary > a {
    position: relative;
    z-index: 1;
}

.gy-ledger-summary-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 16px;
    background: rgba(108, 27, 0, .16);
}

.gy-ledger-summary-icon svg,
.gy-ledger-summary > a svg,
.gy-ledger-card-icon svg,
.gy-ledger-empty .gy-empty-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gy-ledger-summary-icon svg {
    width: 24px;
    height: 24px;
}

.gy-ledger-summary-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-ledger-summary-copy span,
.gy-ledger-summary-copy small {
    color: rgba(255, 255, 255, .72);
}

.gy-ledger-summary-copy span {
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.gy-ledger-summary-copy strong {
    overflow: hidden;
    color: #fff;
    font-size: clamp(24px, 7.3vw, 31px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-ledger-summary-copy small {
    font-size: 9px;
}

.gy-ledger-summary > a {
    display: flex;
    grid-column: 1 / -1;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    background: rgba(104, 26, 0, .17);
    color: #fff;
    font-size: 11px;
    font-weight: 650;
}

.gy-ledger-summary > a svg {
    width: 17px;
    height: 17px;
}

.gy-ledger-toolbar {
    display: grid;
    gap: 10px;
    border: 1px solid #eee4de;
    border-radius: 20px;
    background: #fff;
    padding: 13px;
    box-shadow: 0 7px 20px rgba(51, 34, 24, .045);
}

.gy-ledger-toolbar > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.gy-ledger-toolbar > div:first-child strong {
    color: #211916;
    font-size: 13px;
    font-weight: 650;
}

.gy-ledger-toolbar > div:first-child span {
    color: #a04a1a;
    font-size: 9px;
}

.gy-ledger-toolbar .gy-filter-strip {
    gap: 6px;
    margin: 0 -2px;
    padding: 0 2px 2px;
}

.gy-ledger-toolbar .gy-filter {
    border-color: #eee1d9;
    background: #fff9f5;
    color: #796b64;
    padding: 8px 12px;
    font-size: 10px;
    font-weight: 600;
}

.gy-ledger-toolbar .gy-filter.is-active {
    border-color: #e95b09;
    background: linear-gradient(135deg, #f87516, #df5000);
    color: #fff;
    box-shadow: 0 6px 13px rgba(218, 77, 0, .18);
}

.gy-ledger-list {
    gap: 9px;
}

.gy-ledger-card {
    overflow: hidden;
    border-color: #ede3dd;
    border-radius: 20px;
    background: #fff;
    padding: 0;
    box-shadow: 0 8px 23px rgba(54, 34, 22, .055);
}

.gy-ledger-card::before {
    display: none;
}

.gy-ledger-card-main {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 14px;
}

.gy-ledger-card-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: #fff0e6;
    color: #dc5204;
}

.gy-ledger-card.is-approved .gy-ledger-card-icon,
.gy-ledger-card.is-successful .gy-ledger-card-icon {
    background: #eaf8f0;
    color: #188351;
}

.gy-ledger-card.is-rejected .gy-ledger-card-icon,
.gy-ledger-card.is-cancelled .gy-ledger-card-icon {
    background: #fff0ef;
    color: #be3f34;
}

.gy-ledger-card-icon svg {
    width: 21px;
    height: 21px;
}

.gy-ledger-card-copy {
    min-width: 0;
}

.gy-ledger-card-copy h3,
.gy-ledger-card-copy p {
    margin: 0;
}

.gy-ledger-card-copy h3 {
    overflow: hidden;
    color: #211916;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-ledger-card-copy p {
    margin-top: 4px;
    color: #8a7c74;
    font-size: 9px;
    line-height: 1.3;
}

.gy-ledger-card-amount {
    display: grid;
    min-width: 0;
    justify-items: end;
    gap: 2px;
    text-align: right;
}

.gy-ledger-card-amount small {
    color: #9b8e87;
    font-size: 8px;
}

.gy-ledger-card-amount strong {
    max-width: 125px;
    overflow: hidden;
    color: #188351;
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-ledger-card-amount.is-debit strong {
    color: #d75208;
}

.gy-ledger-card-footer {
    display: grid;
    grid-template-columns: minmax(90px, .75fr) minmax(0, 1.25fr);
    gap: 9px;
    border-top: 1px solid #f0e8e3;
    background: #fffcfa;
    padding: 10px 14px;
}

.gy-ledger-card-footer > div {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 4px;
}

.gy-ledger-card-footer > div:last-child {
    justify-items: end;
}

.gy-ledger-card-footer small {
    color: #a0938c;
    font-size: 8px;
    text-transform: uppercase;
}

.gy-ledger-card-footer .gy-badge {
    width: fit-content;
    padding: 5px 8px;
    font-size: 9px;
}

.gy-ledger-card-footer .gy-trx-code {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    color: #62544c;
    font-size: 9px;
    font-weight: 600;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-ledger-complete {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(230, 89, 8, .13);
    background: #fff5ee;
    color: #d64b00;
    padding: 0 14px;
    font-size: 10px;
    font-weight: 700;
}

.gy-ledger-complete span {
    font-size: 20px;
    line-height: 1;
}

.gy-ledger-empty {
    min-height: 280px;
    align-content: center;
    border-color: #eee3dd;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 20%, rgba(255, 226, 205, .4), transparent 32%),
        #fff;
    padding: 32px 24px;
    text-align: center;
}

.gy-ledger-empty .gy-empty-icon {
    width: 58px;
    height: 58px;
    border-radius: 19px;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    box-shadow: 0 10px 22px rgba(218, 77, 0, .2);
}

.gy-ledger-empty .gy-empty-icon svg {
    width: 26px;
    height: 26px;
}

.gy-ledger-empty h3 {
    margin-top: 7px;
    color: #211916;
    font-size: 16px;
    font-weight: 700;
}

.gy-ledger-empty p {
    max-width: 260px;
    color: #857970;
    font-size: 11px;
    line-height: 1.5;
}

.gy-ledger-empty .gy-button {
    width: min(100%, 220px);
    margin-top: 10px;
}

@media (max-width: 350px) {
    .gy-ledger-card-main {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .gy-ledger-card-icon {
        width: 38px;
        height: 38px;
    }

    .gy-ledger-card-amount {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gy-inline-spinner {
        animation-duration: 1.5s;
    }
}

/* Phase 4: plans, activity and referral network */
.gy-growth-flow {
    gap: 14px;
    padding-top: 14px;
    padding-bottom: 30px;
}

.gy-plan-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    overflow: hidden;
    border-radius: 23px;
    background: linear-gradient(135deg, #f66c13, #d94d00);
    color: #fff;
    padding: 20px;
    box-shadow: 0 13px 28px rgba(207, 69, 0, .23);
}

.gy-plan-hero > div {
    display: grid;
    gap: 3px;
}

.gy-plan-hero span:not(.gy-plan-hero-icon) {
    color: rgba(255, 255, 255, .76);
    font-size: 11px;
}

.gy-plan-hero strong {
    font-size: 19px;
}

.gy-plan-hero small {
    max-width: 245px;
    color: rgba(255, 255, 255, .82);
    font-size: 11px;
    line-height: 1.45;
}

.gy-plan-hero-icon,
.gy-referral-gift {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 16px;
    background: rgba(255, 255, 255, .15);
}

.gy-plan-hero-icon svg,
.gy-referral-gift svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.gy-growth-head {
    margin-top: 5px;
}

.gy-growth-head h2 {
    font-size: 17px;
}

.gy-plan-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(83, 53, 35, .09);
    border-radius: 22px;
    box-shadow: 0 9px 26px rgba(52, 34, 23, .06);
}

.gy-plan-card::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 95px;
    height: 95px;
    border-radius: 0 0 0 100%;
    background: linear-gradient(135deg, rgba(255, 123, 40, .1), rgba(225, 76, 0, .18));
    content: '';
}

.gy-plan-card-head,
.gy-plan-price,
.gy-plan-stats,
.gy-plan-purchase {
    position: relative;
    z-index: 1;
}

.gy-plan-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.gy-plan-number {
    color: rgba(218, 77, 0, .24);
    font-size: 28px;
    font-weight: 800;
}

.gy-plan-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    border-radius: 15px;
    background: #fff4ec;
    padding: 12px 14px;
}

.gy-plan-price span {
    color: #8a766b;
    font-size: 11px;
}

.gy-plan-price strong {
    color: #d94d00;
    font-size: 20px;
}

.gy-plan-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
}

.gy-plan-stats .gy-mini-stat {
    min-width: 0;
    border: 1px solid #eee7e3;
    border-radius: 13px;
    background: #fff;
    padding: 10px 7px;
    text-align: center;
}

.gy-plan-stats .gy-mini-stat label,
.gy-plan-stats .gy-mini-stat span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-plan-stats .gy-mini-stat label {
    font-size: 9px;
}

.gy-plan-stats .gy-mini-stat span {
    font-size: 11px;
}

.gy-plan-purchase {
    margin-top: 14px;
}

.gy-growth-flow .gy-button {
    min-height: 49px;
    border-radius: 15px;
    background: linear-gradient(135deg, #f46b12, #d94d00);
    box-shadow: 0 10px 20px rgba(218, 77, 0, .18);
}

.gy-plan-summary {
    background: linear-gradient(135deg, #f66c13, #d94d00);
    box-shadow: 0 13px 28px rgba(207, 69, 0, .23);
}

.gy-plan-summary > span {
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    color: #fff;
    padding: 8px 10px;
    font-size: 11px;
}

.gy-investment-card {
    border-radius: 19px;
}

.gy-investment-progress {
    overflow: hidden;
    height: 6px;
    margin-top: 14px;
    border-radius: 999px;
    background: #eee9e6;
}

.gy-investment-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f46b12, #d94d00);
}

.gy-investment-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    color: #887b74;
    font-size: 9px;
}

.gy-activity-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.gy-activity-summary > div {
    display: grid;
    min-width: 0;
    gap: 5px;
    border: 1px solid #eee5df;
    border-radius: 18px;
    background: #fff;
    padding: 14px;
    box-shadow: 0 7px 20px rgba(51, 34, 24, .045);
}

.gy-activity-summary span {
    color: #8a7f79;
    font-size: 10px;
}

.gy-activity-summary strong {
    overflow: hidden;
    color: #168453;
    font-size: 15px;
    text-overflow: ellipsis;
}

.gy-activity-summary > div:last-child strong {
    color: #c7463e;
}

.gy-incomplete-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-radius: 14px;
    background: #fff4df;
    color: #8c5a0d;
    padding: 11px 13px;
    font-size: 11px;
}

.gy-incomplete-heading small {
    color: #9b8261;
    font-size: 9px;
}

.gy-incomplete-card {
    background: #fffdf9;
}

.gy-activity-card .gy-list-main {
    align-items: center;
}

.gy-activity-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.gy-activity-title > div {
    min-width: 0;
}

.gy-activity-icon {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 12px;
    background: #ecf9f2;
    color: #188253;
    font-size: 19px;
}

.gy-activity-card.is-debit .gy-activity-icon {
    background: #fff0ec;
    color: #d04e42;
}

.gy-activity-card.is-credit::before {
    background: #22a363;
}

.gy-activity-card.is-debit::before {
    background: #d84949;
}

.gy-transaction-overview {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 24px;
    background:
        radial-gradient(circle at 94% 5%, rgba(255, 230, 208, .27), transparent 33%),
        linear-gradient(145deg, #fb7418, #e95805 58%, #cc4500);
    padding: 18px;
    color: #fff;
    box-shadow: 0 14px 30px rgba(190, 63, 0, .22);
}

.gy-transaction-overview::after {
    position: absolute;
    right: -45px;
    bottom: -70px;
    width: 160px;
    height: 160px;
    border: 29px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.gy-transaction-overview-head,
.gy-transaction-totals {
    position: relative;
    z-index: 1;
}

.gy-transaction-overview-head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
}

.gy-transaction-overview-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 15px;
    background: rgba(104, 26, 0, .16);
}

.gy-transaction-overview-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gy-transaction-overview-head > div {
    display: grid;
    gap: 2px;
}

.gy-transaction-overview-head > div span {
    color: rgba(255, 255, 255, .7);
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gy-transaction-overview-head > div strong {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.gy-transaction-totals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 17px;
}

.gy-transaction-totals > div {
    display: grid;
    min-width: 0;
    gap: 3px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 15px;
    background: rgba(255, 255, 255, .12);
    padding: 11px;
}

.gy-transaction-totals span,
.gy-transaction-totals small {
    color: rgba(255, 255, 255, .68);
}

.gy-transaction-totals span {
    font-size: 9px;
}

.gy-transaction-totals strong {
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-transaction-totals small {
    font-size: 8px;
}

.gy-transaction-notice {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    border: 1px solid #f0d7b1;
    border-radius: 17px;
    background: #fff8ea;
    padding: 11px;
}

.gy-transaction-notice > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 12px;
    background: #ef9d22;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.gy-transaction-notice > div {
    display: grid;
    gap: 2px;
}

.gy-transaction-notice strong {
    color: #704813;
    font-size: 11px;
    font-weight: 700;
}

.gy-transaction-notice small {
    color: #9a794d;
    font-size: 9px;
}

.gy-transaction-toolbar {
    padding: 12px 13px;
}

.gy-activity-card.is-credit .gy-ledger-card-icon {
    background: #eaf8f0;
    color: #188351;
}

.gy-activity-card.is-debit .gy-ledger-card-icon {
    background: #fff0e8;
    color: #d75208;
}

.gy-activity-card.gy-ledger-card::before {
    display: none;
}

.gy-referral-hero {
    display: grid;
    gap: 15px;
    border-radius: 24px;
    background: linear-gradient(145deg, #f66c13, #d94d00 68%, #b93d00);
    color: #fff;
    padding: 19px;
    box-shadow: 0 14px 30px rgba(199, 64, 0, .24);
}

.gy-referral-hero-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.gy-referral-hero-head > div {
    display: grid;
    gap: 3px;
}

.gy-referral-hero-head span:not(.gy-referral-gift) {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.gy-referral-hero-head strong {
    max-width: 210px;
    font-size: 18px;
    line-height: 1.25;
}

.gy-referral-copy-group > p {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, .74);
    font-size: 10px;
}

.gy-referral-copy-box {
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 13px;
    background: rgba(255, 255, 255, .12);
    padding: 7px 8px 7px 11px;
}

.gy-referral-copy-box > span {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-referral-copy-box .gy-small-action {
    flex: 0 0 auto;
    border: 0;
    background: #fff;
    color: #d94d00;
}

.gy-reward-levels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.gy-reward-level {
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: 3px;
    border: 1px solid #ede4de;
    border-radius: 17px;
    background: #fff;
    padding: 13px 6px;
    text-align: center;
}

.gy-reward-level span,
.gy-reward-level small {
    color: #8a7b73;
    font-size: 9px;
}

.gy-reward-level strong {
    color: #251914;
    font-size: 22px;
}

.gy-reward-level.is-primary {
    border-color: #f0a579;
    background: #fff5ee;
}

.gy-reward-level.is-primary strong {
    color: #d94d00;
}

.gy-team-links {
    gap: 7px;
}

.gy-team-link {
    border-radius: 17px;
}

.gy-team-link .gy-list-main {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
}

.gy-team-level-icon,
.gy-member-avatar {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: #fff0e6;
    color: #dc5205;
    font-size: 14px;
    font-weight: 700;
}

.gy-growth-flow .gy-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    border-radius: 15px;
    background: #f1efed;
    padding: 4px;
}

.gy-growth-flow .gy-tab {
    min-height: 40px;
    border: 0;
    border-radius: 12px;
    color: #7b716c;
}

.gy-growth-flow .gy-tab.is-active {
    background: #fff;
    color: #d94d00;
    box-shadow: 0 3px 10px rgba(54, 35, 24, .08);
}

.gy-team-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 20px;
    background: linear-gradient(135deg, #f66c13, #d94d00);
    color: #fff;
    padding: 16px 18px;
    box-shadow: 0 10px 22px rgba(207, 69, 0, .2);
}

.gy-team-summary > div {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.gy-team-summary span,
.gy-team-summary small {
    color: rgba(255, 255, 255, .78);
    font-size: 10px;
}

.gy-team-summary strong {
    font-size: 24px;
}

.gy-member-card {
    border-radius: 17px;
}

.gy-member-card .gy-list-main {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
}

.gy-member-investment {
    display: grid;
    justify-items: end;
    gap: 2px;
}

.gy-member-investment small {
    color: #948780;
    font-size: 9px;
}

.gy-member-investment strong {
    color: #d94d00;
    font-size: 12px;
}

.gy-confirm-panel {
    display: grid;
    width: min(calc(100% - 32px), 390px);
    justify-items: center;
    gap: 14px;
    border-color: rgba(218, 77, 0, .14);
    background: #fff;
    padding: 22px 18px 18px;
    text-align: center;
}

[data-gy-confirm-modal] .gy-modal-overlay {
    z-index: 2300;
}

[data-gy-confirm-modal] .gy-confirm-panel {
    z-index: 2301;
}

.gy-confirm-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    box-shadow: 0 10px 22px rgba(218, 77, 0, .22);
}

.gy-confirm-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.gy-confirm-copy {
    display: grid;
    gap: 5px;
}

.gy-confirm-copy p,
.gy-confirm-copy h3 {
    margin: 0;
}

.gy-confirm-copy .gy-eyebrow {
    color: #d94d00;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gy-confirm-copy h3 {
    color: #201713;
    font-size: 20px;
    font-weight: 650;
}

.gy-confirm-copy h3 + p {
    max-width: 300px;
    color: #776b65;
    font-size: 13px;
    line-height: 1.45;
}

.gy-confirm-actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1.25fr;
    gap: 9px;
    margin-top: 3px;
}

.gy-confirm-actions > button {
    min-height: 48px;
    border-radius: 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
}

.gy-confirm-cancel {
    border: 1px solid #e8dfda;
    background: #f7f4f2;
    color: #5f534d;
}

.gy-confirm-actions .gy-button {
    border: 0;
    background: linear-gradient(135deg, #f46b12, #d94d00);
    color: #fff;
    box-shadow: 0 9px 19px rgba(218, 77, 0, .2);
}

/* Phase 5: profile, security and authentication */
.gy-profile-flow,
.gy-security-flow {
    gap: 14px;
    padding-top: 14px;
    padding-bottom: 30px;
}

.gy-profile-identity {
    display: flex;
    align-items: center;
    gap: 13px;
    border: 1px solid #eee5df;
    border-radius: 20px;
    background: #fff;
    padding: 14px;
    box-shadow: 0 8px 24px rgba(52, 34, 23, .055);
}

.gy-profile-avatar {
    display: grid;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(145deg, #f87516, #d94d00);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(218, 77, 0, .2);
}

.gy-profile-identity > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gy-profile-identity span:not(.gy-profile-avatar) {
    color: #8b7d75;
    font-size: 10px;
}

.gy-profile-identity strong {
    overflow: hidden;
    color: #211916;
    font-size: 16px;
    text-overflow: ellipsis;
}

.gy-profile-identity small {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #218454;
    font-size: 10px;
}

.gy-profile-identity small i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #26a665;
}

.gy-profile-balance {
    border-color: rgba(255, 255, 255, .14);
    background: linear-gradient(135deg, #f66c13, #d94d00);
    box-shadow: 0 13px 28px rgba(207, 69, 0, .23);
}

.gy-profile-balance .gy-balance-amount {
    overflow: hidden;
    max-width: 100%;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
}

.gy-profile-balance .gy-stat-pill {
    border-color: rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .13);
}

.gy-profile-balance .gy-button {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .14);
    color: #fff;
    box-shadow: none;
}

.gy-profile-balance .gy-button-secondary {
    background: #fff;
    color: #d94d00;
}

.gy-profile-menu {
    gap: 7px;
}

.gy-menu-section-title {
    margin: 16px 4px 3px;
    color: #6e625c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.gy-menu-section-title:first-child {
    margin-top: 2px;
}

.gy-profile-menu .gy-menu-item {
    min-height: 66px;
    border-color: #eee6e1;
    border-radius: 17px;
    box-shadow: 0 6px 18px rgba(52, 34, 23, .045);
}

.gy-profile-menu .gy-menu-icon {
    border-radius: 13px;
    background: #fff0e6;
    color: #dc5205;
}

.gy-profile-menu .gy-menu-action {
    background: #fff4ec;
    color: #d94d00;
}

.gy-profile-menu .gy-menu-item.is-danger {
    background: #fffafa;
}

.gy-profile-menu .gy-menu-item.is-danger .gy-menu-label,
.gy-profile-menu .gy-menu-item.is-danger .gy-menu-action {
    color: #bd433b;
}

.gy-security-card {
    border-color: rgba(83, 53, 35, .09);
    border-radius: 22px;
    box-shadow: 0 9px 26px rgba(52, 34, 23, .06);
}

.gy-security-card .gy-input {
    min-height: 53px;
    border-color: #e9e2de;
    border-radius: 14px;
    background: #fcfbfa;
}

.gy-security-card .gy-input:focus {
    border-color: #eb681d;
    box-shadow: 0 0 0 3px rgba(235, 104, 29, .12);
}

.gy-security-card .gy-password-toggle {
    color: #d94d00;
}

.gy-security-card .gy-password-toggle svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.gy-security-card .gy-button {
    min-height: 50px;
    border-radius: 15px;
    background: linear-gradient(135deg, #f46b12, #d94d00);
    box-shadow: 0 10px 20px rgba(218, 77, 0, .2);
}

.gy-auth-assurance,
.gy-referral-applied {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: -4px 0 0;
    color: #7d746f;
    font-size: 10px;
}

.gy-auth-assurance span,
.gy-referral-applied span {
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    background: #eaf8f0;
    color: #188251;
    font-size: 9px;
    font-weight: 700;
}

.gy-referral-applied {
    justify-content: flex-start;
    margin-top: 1px;
    color: #218454;
}

.gy-impersonation-banner {
    border-bottom: 1px solid rgba(218, 77, 0, .18);
    background: #fff4ec;
    color: #713514;
    padding: 10px 14px;
    font-size: 11px;
}

.gy-impersonation-banner button {
    border-radius: 10px;
    background: linear-gradient(135deg, #f46b12, #d94d00);
    padding: 8px 10px;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .gy-home-action,
    .gy-home-info-row,
    .gy-home-community-card,
    .gy-home-wallet {
        transition: none !important;
    }
}

/* Keep the phone composition at every viewport width. */
.gy-app-bar {
    padding-right: 18px;
    padding-left: 18px;
}

.gy-content,
.gy-page-content {
    padding-right: 18px;
    padding-left: 18px;
}

.gy-home-content {
    padding: 14px 14px 24px;
}

.gy-home-balance {
    min-height: 244px;
    border-radius: 24px;
}

.gy-home-balance-copy {
    width: 72%;
    padding: 22px 16px 18px;
}

.gy-home-balance-label {
    font-size: 12px;
}

.gy-home-balance-amount {
    margin: 15px 0 21px;
    font-size: clamp(28px, 7.8vw, 34px);
}

.gy-home-balance-stats {
    gap: 8px;
}

.gy-home-stat {
    padding: 11px 10px;
}

.gy-home-stat span {
    font-size: 10px;
}

.gy-home-stat strong {
    font-size: 13px;
}

.gy-home-wallet-wrap {
    width: 48%;
}

.gy-home-wallet {
    top: -11%;
    right: -34%;
    height: 132%;
    opacity: .9;
}

.gy-home-plan-card {
    margin-top: 14px;
    border-radius: 21px;
}

.gy-home-section {
    margin-top: 24px;
}

.gy-home-section-head h2 {
    font-size: 18px;
}

.gy-home-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.gy-home-action {
    min-height: 88px;
    border-radius: 17px;
}

.gy-home-action-icon {
    width: 36px;
    height: 36px;
}

.gy-home-community {
    grid-template-columns: 1fr;
    gap: 8px;
}

.gy-home-community-card {
    min-height: 82px;
    border-radius: 18px;
    padding: 12px 14px;
}

@media (max-width: 420px) {
    .gy-home-balance-copy {
        width: 78%;
    }

    .gy-home-wallet-wrap {
        width: 44%;
    }

    .gy-home-wallet {
        right: -49%;
    }
}

/* Final VinTech palette guard; intentionally last in the cascade. */
html body.gy-auth-body .gy-button,
html body.gy-user-body .gy-button,
html body.gy-user-body .gy-confirm-actions .gy-button,
html body.gy-home-body .gy-announcement-action,
html body.gy-home-body .gy-gift-modal-submit {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
    box-shadow: 0 14px 30px -20px rgba(255, 173, 51, .9);
}

html body.gy-auth-body .gy-input:focus,
html body.gy-user-body .gy-input:focus,
html body.gy-home-body .gy-gift-code-input .gy-input:focus {
    border-color: rgba(255, 122, 0, .58);
    box-shadow: 0 0 0 4px rgba(255, 122, 0, .09);
}

html body.gy-auth-body .gy-input-icon,
html body.gy-auth-body .gy-password-toggle,
html body.gy-home-body .gy-gift-code-input > svg,
html body.gy-user-body .gy-confirm-copy .gy-eyebrow {
    color: #ff7a00;
}

html body.gy-auth-body .gy-loader::before,
html body.gy-user-body .gy-loader::before {
    border-color: rgba(255, 122, 0, .18);
    border-top-color: #ff7a00;
    box-shadow: 0 8px 24px rgba(255, 122, 0, .13);
}

html body.gy-home-body .gy-announcement-panel::before,
html body.gy-home-body .gy-gift-modal-panel::before {
    background: linear-gradient(90deg, #ffad33, #e85d00);
}

html body.gy-home-body .gy-announcement-mark,
html body.gy-home-body .gy-gift-modal-mark,
html body.gy-user-body .gy-confirm-icon {
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
    box-shadow: 0 9px 22px rgba(255, 122, 0, .17);
}

html body.gy-home-body .gy-announcement-close,
html body.gy-home-body .gy-gift-modal-close,
html body.gy-user-body .gy-announcement-close:focus,
html body.gy-user-body .gy-announcement-close:focus-visible,
html body.gy-user-body .gy-gift-modal-close:focus,
html body.gy-user-body .gy-gift-modal-close:focus-visible {
    border-color: rgba(255, 122, 0, .2);
    background: #292a29;
    color: #d8d9d2;
}

html body.gy-user-body .gy-impersonation-banner {
    border-color: rgba(255, 122, 0, .2);
    background: #252621;
    color: #dddcd5;
}

html body.gy-user-body .gy-impersonation-banner button {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
}

/* Phase 3: approved VinTech financial experience. */
body.gy-user-body .gy-money-flow,
body.gy-user-body .gy-transaction-flow {
    --gy-finance-surface: #191a1a;
    --gy-finance-surface-raised: #202120;
    --gy-finance-border: rgba(255, 255, 255, .085);
    --gy-finance-gold-border: rgba(255, 122, 0, .24);
    --gy-finance-text: #f3f3ed;
    --gy-finance-muted: #b9bbb4;
    --gy-finance-subtle: #999c95;
}

body.gy-user-body .gy-money-flow > *,
body.gy-user-body .gy-transaction-flow > * {
    animation: gy-finance-enter .42s cubic-bezier(.22, 1, .36, 1) both;
}

body.gy-user-body .gy-money-flow > :nth-child(2),
body.gy-user-body .gy-transaction-flow > :nth-child(2) {
    animation-delay: .035s;
}

body.gy-user-body .gy-money-flow > :nth-child(3),
body.gy-user-body .gy-transaction-flow > :nth-child(3) {
    animation-delay: .07s;
}

body.gy-user-body .gy-flow-hero,
body.gy-user-body .gy-flow-intro {
    border-color: var(--gy-finance-gold-border);
    background:
        radial-gradient(circle at 95% 0, rgba(255, 122, 0, .11), transparent 42%),
        linear-gradient(145deg, #232421, #191a1a);
    box-shadow: 0 20px 42px -32px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .035);
}

body.gy-user-body .gy-flow-hero-icon,
body.gy-user-body .gy-account-icon {
    border: 1px solid rgba(255, 173, 51, .28);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
    box-shadow: 0 12px 26px -17px rgba(255, 173, 51, .9);
}

body.gy-user-body .gy-flow-hero span:not(.gy-flow-hero-icon),
body.gy-user-body .gy-flow-intro small,
body.gy-user-body .gy-flow-hero small {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-flow-hero strong,
body.gy-user-body .gy-flow-intro strong,
body.gy-user-body .gy-card-title {
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-card-subtitle {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-flow-links {
    border: 1px solid var(--gy-finance-border);
    background: #151616;
}

body.gy-user-body .gy-flow-links a,
body.gy-user-body .gy-flow-links span {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-flow-links a:hover,
body.gy-user-body .gy-flow-links a:focus-visible {
    color: #ffad33;
}

body.gy-user-body .gy-flow-links .is-active {
    background: #292a27;
    color: #ffad33;
    box-shadow: inset 0 0 0 1px rgba(255, 122, 0, .16), 0 8px 20px -16px #000;
}

body.gy-user-body .gy-flow-card,
body.gy-user-body .gy-payment-card,
body.gy-user-body .gy-proof-card,
body.gy-user-body .gy-bank-card,
body.gy-user-body .gy-account-empty {
    border-color: var(--gy-finance-border);
    background: var(--gy-finance-surface);
    color: var(--gy-finance-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-money-flow .gy-label,
body.gy-user-body .gy-field-heading > span,
body.gy-user-body .gy-proof-heading > span {
    color: #d6d7d0;
}

body.gy-user-body .gy-field-heading > span,
body.gy-user-body .gy-proof-heading > span {
    color: #ff7a00;
}

body.gy-user-body .gy-money-flow .gy-amount-option {
    border-color: var(--gy-finance-border);
    background: #202120;
    color: #d8d9d2;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}

body.gy-user-body .gy-money-flow .gy-amount-option:hover,
body.gy-user-body .gy-money-flow .gy-amount-option:focus-visible,
body.gy-user-body .gy-money-flow .gy-amount-option.is-active,
body.gy-user-body .gy-money-flow .gy-amount-option[aria-pressed="true"] {
    border-color: rgba(255, 173, 51, .5);
    background: #303129;
    color: #ffd08a;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .07);
    transform: translateY(-1px);
}

body.gy-user-body .gy-money-flow .gy-input,
body.gy-user-body .gy-money-flow .gy-select {
    border-color: var(--gy-finance-border);
    background-color: #202121;
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-money-flow .gy-input::placeholder {
    color: #8f928b;
    opacity: 1;
}

body.gy-user-body .gy-money-flow .gy-select option {
    background: #202121;
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-money-flow .gy-input:focus,
body.gy-user-body .gy-money-flow .gy-select:focus {
    border-color: rgba(255, 122, 0, .58);
    background-color: #242524;
    box-shadow: 0 0 0 4px rgba(255, 122, 0, .08);
}

body.gy-user-body .gy-input-prefix {
    border-color: var(--gy-finance-border);
    background: #292a28;
    color: #ffad33;
}

body.gy-user-body .gy-flow-note,
body.gy-user-body .gy-note-card,
body.gy-user-body .gy-fee-preview {
    border-color: rgba(255, 122, 0, .16);
    background: #22231f;
    color: #c8cac3;
}

body.gy-user-body .gy-note-row,
body.gy-user-body .gy-fee-preview span {
    color: #c8cac3;
}

body.gy-user-body .gy-note-row svg,
body.gy-user-body .gy-fee-preview strong,
body.gy-user-body .gy-security-note svg {
    color: #ff7a00;
}

body.gy-user-body .gy-balance-summary,
body.gy-user-body .gy-history-summary,
body.gy-user-body .gy-ledger-summary,
body.gy-user-body .gy-transaction-overview {
    border: 1px solid rgba(255, 173, 51, .22);
    background:
        radial-gradient(circle at 94% 4%, rgba(255, 173, 51, .14), transparent 34%),
        linear-gradient(145deg, #2a2b27, #1c1d1c 62%, #171818);
    color: #f7f6f0;
    box-shadow: 0 24px 48px -34px rgba(0, 0, 0, .98), inset 0 1px rgba(255, 255, 255, .045);
}

body.gy-user-body .gy-balance-summary span,
body.gy-user-body .gy-history-summary span,
body.gy-user-body .gy-ledger-summary-copy span,
body.gy-user-body .gy-ledger-summary-copy small,
body.gy-user-body .gy-transaction-overview-head > div span,
body.gy-user-body .gy-transaction-totals span,
body.gy-user-body .gy-transaction-totals small {
    color: #bfc1ba;
}

body.gy-user-body .gy-balance-summary strong,
body.gy-user-body .gy-history-summary strong,
body.gy-user-body .gy-ledger-summary-copy strong,
body.gy-user-body .gy-transaction-overview-head > div strong,
body.gy-user-body .gy-transaction-totals strong {
    color: #f7f6f0;
}

body.gy-user-body .gy-balance-summary-referral,
body.gy-user-body .gy-transaction-totals > div,
body.gy-user-body .gy-ledger-summary > a {
    border-color: rgba(255, 255, 255, .1);
}

body.gy-user-body .gy-transaction-totals > div,
body.gy-user-body .gy-ledger-summary > a,
body.gy-user-body .gy-ledger-summary-icon,
body.gy-user-body .gy-transaction-overview-icon {
    background: rgba(255, 122, 0, .075);
}

body.gy-user-body .gy-ledger-summary > a {
    color: #ffd08a;
    transition: background-color .18s ease, transform .18s ease;
}

body.gy-user-body .gy-ledger-summary > a:hover,
body.gy-user-body .gy-ledger-summary > a:focus-visible {
    background: rgba(255, 122, 0, .14);
    transform: translateY(-1px);
}

body.gy-user-body .gy-bank-card-head small,
body.gy-user-body .gy-bank-card-name,
body.gy-user-body .gy-security-note {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-bank-card-head strong,
body.gy-user-body .gy-bank-card-number {
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-bank-card-head > a,
body.gy-user-body .gy-account-status.text-emerald-600 {
    color: #ff7a00;
}

body.gy-user-body .gy-payment-steps span {
    color: #92958e;
}

body.gy-user-body .gy-payment-steps b {
    border: 1px solid var(--gy-finance-border);
    background: #222323;
    color: #bfc1ba;
}

body.gy-user-body .gy-payment-steps i {
    background: #353632;
}

body.gy-user-body .gy-payment-steps .is-active,
body.gy-user-body .gy-payment-steps .is-complete {
    color: #ffad33;
}

body.gy-user-body .gy-payment-steps .is-active b,
body.gy-user-body .gy-payment-steps .is-complete b {
    border-color: rgba(255, 173, 51, .36);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
}

body.gy-user-body .gy-payment-amount {
    border: 1px solid var(--gy-finance-gold-border);
    background: #23241f;
}

body.gy-user-body .gy-payment-amount > span {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-payment-amount > strong {
    color: #ffd08a;
}

body.gy-user-body .gy-payment-warning {
    margin: 0;
    color: #e6a7a2;
    font-size: 11px;
}

body.gy-user-body .gy-payment-card .gy-detail-grid {
    border-color: var(--gy-finance-border);
    background: #171818;
}

body.gy-user-body .gy-payment-card .gy-detail-row {
    border-color: var(--gy-finance-border);
    background: transparent;
}

body.gy-user-body .gy-detail-row label {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-detail-row span,
body.gy-user-body .gy-detail-row strong {
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-small-action {
    border-color: rgba(255, 122, 0, .25);
    background: #2b2c28;
    color: #ffad33;
}

body.gy-user-body .gy-wallet-loading {
    background: #1d1e1c;
}

body.gy-user-body .gy-wallet-loading-title,
body.gy-user-body .gy-wallet-loading-subtitle,
body.gy-user-body .gy-wallet-note-copy,
body.gy-user-body .gy-submitted-sender {
    margin: 0;
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-wallet-loading-title,
body.gy-user-body .gy-wallet-note-copy {
    font-size: 12px;
}

body.gy-user-body .gy-wallet-loading-subtitle,
body.gy-user-body .gy-submitted-sender {
    font-size: 10px;
}

body.gy-user-body .gy-wallet-loading-error {
    margin: 0;
    color: #e6a7a2;
    font-size: 12px;
}

body.gy-user-body .gy-inline-spinner {
    border-color: rgba(255, 122, 0, .2);
    border-top-color: #ffad33;
}

body.gy-user-body .gy-proof-card .gy-upload-box {
    border-color: rgba(255, 122, 0, .42);
    background: #20211e;
}

body.gy-user-body .gy-proof-card .gy-upload-box:hover,
body.gy-user-body .gy-proof-card .gy-upload-box:focus-within {
    border-color: rgba(255, 173, 51, .68);
    background: #272822;
}

body.gy-user-body .gy-upload-title {
    color: var(--gy-finance-text);
    font-size: 12px;
}

body.gy-user-body .gy-upload-subtitle {
    color: var(--gy-finance-muted);
    font-size: 10px;
}

body.gy-user-body .gy-proof-preview-image {
    border-color: rgba(255, 122, 0, .26);
    background: #101111;
}

body.gy-user-body .gy-submitted-state {
    border: 1px solid rgba(74, 190, 128, .2);
    background: rgba(34, 118, 75, .13);
    color: #9ee1be;
}

body.gy-user-body .gy-ledger-toolbar,
body.gy-user-body .gy-ledger-card,
body.gy-user-body .gy-flow-empty,
body.gy-user-body .gy-ledger-empty {
    border-color: var(--gy-finance-border);
    background: var(--gy-finance-surface);
    color: var(--gy-finance-text);
    box-shadow: 0 18px 40px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-ledger-toolbar > div:first-child strong,
body.gy-user-body .gy-ledger-card-copy h3,
body.gy-user-body .gy-ledger-empty h3,
body.gy-user-body .gy-flow-empty h3 {
    color: var(--gy-finance-text);
}

body.gy-user-body .gy-ledger-toolbar > div:first-child span,
body.gy-user-body .gy-ledger-card-copy p,
body.gy-user-body .gy-ledger-card-amount small,
body.gy-user-body .gy-ledger-card-footer small,
body.gy-user-body .gy-ledger-empty p,
body.gy-user-body .gy-flow-empty p {
    color: var(--gy-finance-muted);
}

body.gy-user-body .gy-ledger-toolbar .gy-filter {
    border-color: var(--gy-finance-border);
    background: #202120;
    color: #c7c9c1;
}

body.gy-user-body .gy-ledger-toolbar .gy-filter:hover,
body.gy-user-body .gy-ledger-toolbar .gy-filter:focus-visible,
body.gy-user-body .gy-ledger-toolbar .gy-filter.is-active {
    border-color: rgba(255, 173, 51, .42);
    background: #303129;
    color: #ffd08a;
    box-shadow: none;
}

body.gy-user-body .gy-ledger-card-icon,
body.gy-user-body .gy-empty-icon,
body.gy-user-body .gy-ledger-empty .gy-empty-icon {
    border: 1px solid rgba(255, 122, 0, .2);
    background: #292a25;
    color: #ffad33;
    box-shadow: none;
}

body.gy-user-body .gy-ledger-card.is-approved .gy-ledger-card-icon,
body.gy-user-body .gy-ledger-card.is-successful .gy-ledger-card-icon {
    border-color: rgba(74, 190, 128, .2);
    background: rgba(34, 118, 75, .13);
    color: #83d7ab;
}

body.gy-user-body .gy-ledger-card.is-rejected .gy-ledger-card-icon,
body.gy-user-body .gy-ledger-card.is-cancelled .gy-ledger-card-icon {
    border-color: rgba(226, 100, 95, .22);
    background: rgba(142, 50, 47, .14);
    color: #e6a7a2;
}

body.gy-user-body .gy-ledger-card-amount strong {
    color: #83d7ab;
}

body.gy-user-body .gy-ledger-card-amount.is-debit strong {
    color: #e6a7a2;
}

body.gy-user-body .gy-ledger-card-footer {
    border-color: var(--gy-finance-border);
    background: #171818;
}

body.gy-user-body .gy-ledger-card-footer .gy-trx-code {
    color: #d2d4cd;
}

body.gy-user-body .gy-ledger-complete {
    border-color: rgba(255, 122, 0, .16);
    background: #23241f;
    color: #ffad33;
}

body.gy-user-body .gy-ledger-complete:hover,
body.gy-user-body .gy-ledger-complete:focus-visible {
    background: #2a2b25;
}

body.gy-user-body .gy-transaction-notice {
    border-color: rgba(255, 122, 0, .2);
    background: #24251f;
}

body.gy-user-body .gy-transaction-notice > span {
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
}

body.gy-user-body .gy-transaction-notice strong {
    color: #ffd08a;
}

body.gy-user-body .gy-transaction-notice small {
    color: var(--gy-finance-muted);
}

@keyframes gy-finance-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 768px) {
    body.gy-user-body.gy-finance-body .gy-shell {
        width: min(100%, 1120px);
    }

    body.gy-user-body .gy-money-flow,
    body.gy-user-body .gy-transaction-flow {
        padding-top: 20px;
        padding-bottom: 42px;
    }

    body.gy-user-body .gy-flow-hero,
    body.gy-user-body .gy-flow-intro,
    body.gy-user-body .gy-flow-card,
    body.gy-user-body .gy-payment-card,
    body.gy-user-body .gy-proof-card,
    body.gy-user-body .gy-ledger-summary,
    body.gy-user-body .gy-transaction-overview,
    body.gy-user-body .gy-ledger-toolbar,
    body.gy-user-body .gy-ledger-list {
        width: min(100%, 720px);
        margin-right: auto;
        margin-left: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .gy-money-flow > *,
    body.gy-user-body .gy-transaction-flow > * {
        animation: none;
    }

    body.gy-user-body .gy-money-flow .gy-amount-option,
    body.gy-user-body .gy-ledger-summary > a {
        transition: none;
    }
}

/* Phase 4: approved VinTech plans, network, and rewards experience. */
body.gy-user-body .gy-growth-flow,
body.gy-user-body .gy-rewards-flow {
    --gy-growth-surface: #191a1a;
    --gy-growth-raised: #202120;
    --gy-growth-border: rgba(255, 255, 255, .085);
    --gy-growth-gold-border: rgba(255, 122, 0, .24);
    --gy-growth-text: #f3f3ed;
    --gy-growth-muted: #b9bbb4;
    --gy-growth-subtle: #999c95;
    --gy-finance-border: rgba(255, 255, 255, .085);
    --gy-finance-muted: #b9bbb4;
}

body.gy-user-body .gy-growth-flow > *,
body.gy-user-body .gy-rewards-flow > * {
    animation: gy-growth-enter .42s cubic-bezier(.22, 1, .36, 1) both;
}

body.gy-user-body .gy-growth-flow > :nth-child(2),
body.gy-user-body .gy-rewards-flow > :nth-child(2) {
    animation-delay: .035s;
}

body.gy-user-body .gy-growth-flow > :nth-child(3),
body.gy-user-body .gy-rewards-flow > :nth-child(3) {
    animation-delay: .07s;
}

body.gy-user-body .gy-plan-hero,
body.gy-user-body .gy-referral-hero,
body.gy-user-body .gy-team-summary,
body.gy-user-body .gy-plan-summary,
body.gy-user-body .gy-rewards-hero {
    border: 1px solid rgba(255, 173, 51, .22);
    background:
        radial-gradient(circle at 94% 4%, rgba(255, 173, 51, .14), transparent 34%),
        linear-gradient(145deg, #2a2b27, #1c1d1c 62%, #171818);
    color: #f7f6f0;
    box-shadow: 0 24px 48px -34px rgba(0, 0, 0, .98), inset 0 1px rgba(255, 255, 255, .045);
}

body.gy-user-body .gy-plan-hero span:not(.gy-plan-hero-icon),
body.gy-user-body .gy-plan-hero small,
body.gy-user-body .gy-referral-hero-head span:not(.gy-referral-gift),
body.gy-user-body .gy-referral-copy-group > p,
body.gy-user-body .gy-team-summary span,
body.gy-user-body .gy-team-summary small,
body.gy-user-body .gy-history-summary span,
body.gy-user-body .gy-rewards-hero-head > div > span,
body.gy-user-body .gy-rewards-hero p,
body.gy-user-body .gy-rewards-hero-stats span {
    color: #c2c4bd;
}

body.gy-user-body .gy-plan-hero strong,
body.gy-user-body .gy-referral-hero-head strong,
body.gy-user-body .gy-team-summary strong,
body.gy-user-body .gy-history-summary strong,
body.gy-user-body .gy-rewards-hero h1,
body.gy-user-body .gy-rewards-hero-stats strong {
    color: #f7f6f0;
}

body.gy-user-body .gy-plan-hero-icon,
body.gy-user-body .gy-referral-gift,
body.gy-user-body .gy-level-rewards-entry-icon,
body.gy-user-body .gy-rewards-trophy {
    border: 1px solid rgba(255, 173, 51, .28);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
    box-shadow: 0 12px 26px -17px rgba(255, 173, 51, .9);
}

body.gy-user-body .gy-flow-links {
    border-color: var(--gy-growth-border);
    background: #151616;
}

body.gy-user-body .gy-flow-links a,
body.gy-user-body .gy-flow-links span {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-flow-links a:hover,
body.gy-user-body .gy-flow-links a:focus-visible,
body.gy-user-body .gy-flow-links .is-active {
    color: #ffad33;
}

body.gy-user-body .gy-flow-links .is-active {
    background: #292a27;
    box-shadow: inset 0 0 0 1px rgba(255, 122, 0, .16), 0 8px 20px -16px #000;
}

body.gy-user-body .gy-growth-head h2,
body.gy-user-body .gy-rewards-list-head h2,
body.gy-user-body .gy-section-head h2 {
    color: var(--gy-growth-text);
}

body.gy-user-body .gy-growth-head > span,
body.gy-user-body .gy-rewards-list-head > span,
body.gy-user-body .gy-section-head > span {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-plan-card,
body.gy-user-body .gy-investment-card,
body.gy-user-body .gy-team-link,
body.gy-user-body .gy-member-card,
body.gy-user-body .gy-reward-level,
body.gy-user-body .gy-growth-flow .gy-flow-empty {
    border-color: var(--gy-growth-border);
    background: var(--gy-growth-surface);
    color: var(--gy-growth-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-plan-card::before {
    background: radial-gradient(circle at 100% 0, rgba(255, 122, 0, .12), transparent 68%);
}

body.gy-user-body .gy-mini-label,
body.gy-user-body .gy-plan-card .gy-card-subtitle,
body.gy-user-body .gy-list-meta,
body.gy-user-body .gy-investment-meta,
body.gy-user-body .gy-member-investment small,
body.gy-user-body .gy-reward-level span,
body.gy-user-body .gy-reward-level small {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-plan-card .gy-card-title,
body.gy-user-body .gy-list-title,
body.gy-user-body .gy-reward-level strong {
    color: var(--gy-growth-text);
}

body.gy-user-body .gy-plan-number {
    color: rgba(255, 173, 51, .3);
}

body.gy-user-body .gy-plan-price {
    border: 1px solid var(--gy-growth-gold-border);
    background: #23241f;
}

body.gy-user-body .gy-plan-price span,
body.gy-user-body .gy-plan-stats .gy-mini-stat label {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-plan-price strong,
body.gy-user-body .gy-plan-stats .gy-mini-stat span,
body.gy-user-body .gy-member-investment strong {
    color: #ffd08a;
}

body.gy-user-body .gy-plan-stats .gy-mini-stat {
    border-color: var(--gy-growth-border);
    background: #202120;
}

body.gy-user-body .gy-growth-flow .gy-button {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
    box-shadow: 0 14px 30px -20px rgba(255, 173, 51, .9);
}

body.gy-user-body .gy-plan-summary > span {
    border-color: rgba(255, 173, 51, .2);
    background: rgba(255, 122, 0, .07);
    color: #ffd08a;
}

body.gy-user-body .gy-investment-card .gy-list-amount {
    color: #ffd08a;
}

body.gy-user-body .gy-investment-card .gy-list-footer {
    border-color: var(--gy-growth-border);
}

body.gy-user-body .gy-investment-progress,
body.gy-user-body .gy-rewards-progress-track,
body.gy-user-body .gy-rewards-level-copy > div {
    background: #30312e;
}

body.gy-user-body .gy-investment-progress span,
body.gy-user-body .gy-rewards-progress-track i,
body.gy-user-body .gy-rewards-level-copy > div i {
    background: linear-gradient(90deg, #e85d00, #ffad33);
}

body.gy-user-body .gy-referral-copy-box {
    border-color: rgba(255, 173, 51, .18);
    background: rgba(255, 122, 0, .07);
}

body.gy-user-body .gy-referral-copy-box > span {
    color: #f0efe8;
}

body.gy-user-body .gy-referral-copy-box .gy-small-action,
body.gy-user-body .gy-team-link .gy-small-action {
    border: 1px solid rgba(255, 122, 0, .22);
    background: #2b2c28;
    color: #ffad33;
}

body.gy-user-body .gy-level-rewards-entry {
    border-color: var(--gy-growth-gold-border);
    background:
        radial-gradient(circle at 95% 0, rgba(255, 122, 0, .1), transparent 44%),
        var(--gy-growth-surface);
    color: var(--gy-growth-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95);
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.gy-user-body .gy-level-rewards-entry:hover,
body.gy-user-body .gy-level-rewards-entry:focus-visible {
    border-color: rgba(255, 173, 51, .45);
    background-color: #20211f;
    transform: translateY(-2px);
}

body.gy-user-body .gy-level-rewards-entry small {
    color: #ff7a00;
}

body.gy-user-body .gy-level-rewards-entry strong {
    color: var(--gy-growth-text);
}

body.gy-user-body .gy-level-rewards-entry em {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-reward-level.is-primary,
body.gy-user-body .gy-reward-level:hover {
    border-color: var(--gy-growth-gold-border);
    background: #23241f;
}

body.gy-user-body .gy-reward-level.is-primary strong {
    color: #ffd08a;
}

body.gy-user-body .gy-team-link {
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.gy-user-body .gy-team-link:hover,
body.gy-user-body .gy-team-link:focus-visible {
    border-color: var(--gy-growth-gold-border);
    background: #20211f;
    transform: translateY(-1px);
}

body.gy-user-body .gy-team-level-icon,
body.gy-user-body .gy-member-avatar {
    border: 1px solid rgba(255, 122, 0, .2);
    background: #292a25;
    color: #ffad33;
}

body.gy-user-body .gy-growth-flow .gy-tabs {
    border: 1px solid var(--gy-growth-border);
    background: #151616;
}

body.gy-user-body .gy-growth-flow .gy-tab {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-growth-flow .gy-tab:hover,
body.gy-user-body .gy-growth-flow .gy-tab:focus-visible,
body.gy-user-body .gy-growth-flow .gy-tab.is-active {
    color: #ffad33;
}

body.gy-user-body .gy-growth-flow .gy-tab.is-active {
    background: #292a27;
    box-shadow: inset 0 0 0 1px rgba(255, 122, 0, .16);
}

body.gy-user-body .gy-confirm-panel {
    border-color: rgba(255, 122, 0, .22);
    background: #1b1c1c;
    color: #f3f3ed;
    box-shadow: 0 30px 75px -30px #000;
}

body.gy-user-body .gy-confirm-copy h3 {
    color: #f3f3ed;
}

body.gy-user-body .gy-confirm-copy h3 + p {
    color: #b9bbb4;
}

body.gy-user-body .gy-confirm-cancel {
    border-color: rgba(255, 255, 255, .1);
    background: #272828;
    color: #d7d8d1;
}

body.gy-user-body .gy-rewards-progress,
body.gy-user-body .gy-rewards-history,
body.gy-user-body .gy-rewards-guide,
body.gy-user-body .gy-rewards-rules {
    border-color: var(--gy-growth-border);
    background: var(--gy-growth-surface);
    color: var(--gy-growth-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-rewards-hero-stats > div {
    border-color: rgba(255, 173, 51, .15);
    background: rgba(255, 122, 0, .065);
}

body.gy-user-body .gy-rewards-section-head span,
body.gy-user-body .gy-rewards-section-head > strong,
body.gy-user-body .gy-rewards-progress-row small,
body.gy-user-body .gy-rewards-guide > div > span {
    color: #ff7a00;
}

body.gy-user-body .gy-rewards-section-head h2,
body.gy-user-body .gy-rewards-progress-row strong,
body.gy-user-body .gy-rewards-level-copy strong,
body.gy-user-body .gy-rewards-history-list article > div strong,
body.gy-user-body .gy-rewards-history-empty strong,
body.gy-user-body .gy-rewards-guide h2,
body.gy-user-body .gy-rewards-rules strong {
    color: var(--gy-growth-text);
}

body.gy-user-body .gy-rewards-progress > p,
body.gy-user-body .gy-rewards-progress-row span,
body.gy-user-body .gy-rewards-level-copy small,
body.gy-user-body .gy-rewards-level-reward span,
body.gy-user-body .gy-rewards-history-list article small,
body.gy-user-body .gy-rewards-history-empty p,
body.gy-user-body .gy-rewards-guide p,
body.gy-user-body .gy-rewards-rules ul {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-rewards-qualifying {
    border: 1px solid var(--gy-growth-gold-border);
    background: #23241f;
}

body.gy-user-body .gy-rewards-qualifying span {
    color: var(--gy-growth-muted);
}

body.gy-user-body .gy-rewards-qualifying strong,
body.gy-user-body .gy-rewards-level-reward strong {
    color: #ffd08a;
}

body.gy-user-body .gy-rewards-level {
    border-color: var(--gy-growth-border);
    background: var(--gy-growth-surface);
    color: var(--gy-growth-text);
}

body.gy-user-body .gy-rewards-level.is-current {
    border-color: rgba(255, 173, 51, .38);
    background: #23241f;
    box-shadow: 0 15px 34px -27px rgba(255, 173, 51, .55);
}

body.gy-user-body .gy-rewards-level.is-attained {
    border-color: rgba(74, 190, 128, .2);
    background: rgba(34, 118, 75, .08);
}

body.gy-user-body .gy-rewards-level-number {
    border: 1px solid var(--gy-growth-border);
    background: #292a28;
    color: #c2c4bd;
}

body.gy-user-body .is-current .gy-rewards-level-number {
    border-color: rgba(255, 173, 51, .35);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
}

body.gy-user-body .is-attained .gy-rewards-level-number,
body.gy-user-body .gy-rewards-history-icon {
    border: 1px solid rgba(74, 190, 128, .18);
    background: rgba(34, 118, 75, .14);
    color: #83d7ab;
}

body.gy-user-body .gy-rewards-history-list article {
    border-color: var(--gy-growth-border);
}

body.gy-user-body .gy-rewards-guide > button {
    border: 1px solid var(--gy-growth-gold-border);
    background: #101111;
}

body.gy-user-body .gy-rewards-guide > button > span {
    border: 1px solid rgba(255, 173, 51, .22);
    background: rgba(18, 19, 19, .9);
    color: #ffd08a;
}

body.gy-user-body .gy-rewards-guide-modal {
    border-color: rgba(255, 122, 0, .24);
    background: #171818;
    color: #f3f3ed;
    box-shadow: 0 32px 90px -30px #000;
}

body.gy-user-body .gy-rewards-guide-modal > div {
    border-color: var(--gy-growth-border);
    background: rgba(23, 24, 24, .94);
}

body.gy-user-body .gy-rewards-guide-modal h3 {
    color: #f3f3ed;
}

body.gy-user-body .gy-rewards-guide-modal button {
    border-color: rgba(255, 255, 255, .1);
    background: #292a29;
    color: #d8d9d2;
}

@keyframes gy-growth-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 768px) {
    body.gy-user-body.gy-growth-body .gy-shell {
        width: min(100%, 1120px);
    }

    body.gy-user-body .gy-growth-flow,
    body.gy-user-body .gy-rewards-flow {
        padding-top: 20px;
        padding-bottom: 42px;
    }

    body.gy-user-body .gy-growth-flow > * {
        width: min(100%, 720px);
        margin-right: auto;
        margin-left: auto;
    }

    body.gy-user-body .gy-rewards-flow > * {
        width: min(100%, 820px);
        margin-right: auto;
        margin-left: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .gy-growth-flow > *,
    body.gy-user-body .gy-rewards-flow > * {
        animation: none;
    }

    body.gy-user-body .gy-level-rewards-entry,
    body.gy-user-body .gy-team-link {
        transition: none;
    }
}

/* Phase 5: approved VinTech profile, security, and shared-state unification. */
body.gy-user-body .gy-profile-flow,
body.gy-user-body .gy-security-flow {
    --gy-profile-surface: #191a1a;
    --gy-profile-raised: #202120;
    --gy-profile-border: rgba(255, 255, 255, .085);
    --gy-profile-gold-border: rgba(255, 122, 0, .24);
    --gy-profile-text: #f3f3ed;
    --gy-profile-muted: #b9bbb4;
    --gy-profile-subtle: #999c95;
    --gy-finance-border: rgba(255, 255, 255, .085);
    --gy-finance-gold-border: rgba(255, 122, 0, .24);
    --gy-finance-text: #f3f3ed;
    --gy-finance-muted: #b9bbb4;
}

body.gy-user-body .gy-profile-flow > *,
body.gy-user-body .gy-security-flow > * {
    animation: gy-profile-enter .42s cubic-bezier(.22, 1, .36, 1) both;
}

body.gy-user-body .gy-profile-flow > :nth-child(2),
body.gy-user-body .gy-security-flow > :nth-child(2) {
    animation-delay: .035s;
}

body.gy-user-body .gy-profile-flow > :nth-child(3),
body.gy-user-body .gy-security-flow > :nth-child(3) {
    animation-delay: .07s;
}

body.gy-user-body .gy-profile-balance.gy-wallet-balance-card {
    border-color: rgba(255, 173, 51, .22);
    background:
        radial-gradient(circle at 94% 4%, rgba(255, 173, 51, .14), transparent 34%),
        linear-gradient(145deg, #2a2b27, #1c1d1c 62%, #171818);
    color: #f7f6f0;
    box-shadow: 0 24px 48px -34px rgba(0, 0, 0, .98), inset 0 1px rgba(255, 255, 255, .045);
}

body.gy-user-body .gy-profile-balance.gy-wallet-balance-card::after {
    border-color: rgba(255, 173, 51, .045);
}

body.gy-user-body .gy-profile-balance .gy-wallet-account-avatar {
    border-color: rgba(255, 173, 51, .46);
    background: #292a25;
    color: #ffd08a;
    box-shadow: none;
}

body.gy-user-body .gy-profile-balance .gy-wallet-account-copy small,
body.gy-user-body .gy-profile-balance .gy-wallet-balance-main > span,
body.gy-user-body .gy-profile-balance .gy-wallet-meta span {
    color: #bfc1ba;
}

body.gy-user-body .gy-profile-balance .gy-wallet-account-copy strong,
body.gy-user-body .gy-profile-balance .gy-balance-amount,
body.gy-user-body .gy-profile-balance .gy-wallet-meta strong {
    color: #f7f6f0;
}

body.gy-user-body .gy-profile-balance .gy-wallet-visibility,
body.gy-user-body .gy-profile-balance .gy-wallet-meta > div,
body.gy-user-body .gy-profile-balance .gy-wallet-actions a {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 122, 0, .07);
    color: #e5e2bd;
}

body.gy-user-body .gy-profile-balance .gy-wallet-visibility:hover,
body.gy-user-body .gy-profile-balance .gy-wallet-visibility:focus-visible,
body.gy-user-body .gy-profile-balance .gy-wallet-actions a:hover,
body.gy-user-body .gy-profile-balance .gy-wallet-actions a:focus-visible {
    border-color: rgba(255, 173, 51, .34);
    background: rgba(255, 122, 0, .13);
}

body.gy-user-body .gy-profile-section-head h2 {
    color: var(--gy-profile-text);
}

body.gy-user-body .gy-profile-section-head > span {
    color: #ff7a00;
}

body.gy-user-body .gy-profile-card-list {
    border-color: var(--gy-profile-border);
    background: var(--gy-profile-surface);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-profile-row {
    color: var(--gy-profile-text);
    transition: background-color .18s ease, color .18s ease;
}

body.gy-user-body .gy-profile-row + .gy-profile-row {
    border-color: var(--gy-profile-border);
}

body.gy-user-body .gy-profile-row:hover,
body.gy-user-body .gy-profile-row:focus-visible {
    background: #20211f;
}

body.gy-user-body .gy-profile-row-icon {
    border: 1px solid rgba(255, 122, 0, .2);
    background: #292a25;
    color: #ffad33;
}

body.gy-user-body .gy-profile-row-copy strong {
    color: var(--gy-profile-text);
}

body.gy-user-body .gy-profile-row-copy small,
body.gy-user-body .gy-profile-chevron {
    color: var(--gy-profile-muted);
}

body.gy-user-body .gy-profile-community > a {
    border-color: var(--gy-profile-border);
    background: var(--gy-profile-surface);
    color: var(--gy-profile-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.gy-user-body .gy-profile-community > a:hover,
body.gy-user-body .gy-profile-community > a:focus-visible {
    border-color: var(--gy-profile-gold-border);
    background: #20211f;
    transform: translateY(-2px);
}

body.gy-user-body .gy-profile-community > a > span {
    border: 1px solid rgba(255, 173, 51, .28);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
}

body.gy-user-body .gy-profile-community strong {
    color: var(--gy-profile-text);
}

body.gy-user-body .gy-profile-community small {
    color: var(--gy-profile-muted);
}

body.gy-user-body .gy-profile-logout {
    border-color: rgba(226, 100, 95, .22);
    background: rgba(142, 50, 47, .11);
    color: #e6a7a2;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.gy-user-body .gy-profile-logout:hover,
body.gy-user-body .gy-profile-logout:focus-visible {
    border-color: rgba(226, 100, 95, .38);
    background: rgba(142, 50, 47, .17);
}

body.gy-user-body .gy-profile-logout:active {
    transform: scale(.99);
}

body.gy-user-body .gy-security-flow .gy-flow-intro {
    border-color: var(--gy-profile-gold-border);
    background:
        radial-gradient(circle at 95% 0, rgba(255, 122, 0, .11), transparent 42%),
        linear-gradient(145deg, #232421, #191a1a);
}

body.gy-user-body .gy-security-flow .gy-account-icon {
    border: 1px solid rgba(255, 173, 51, .28);
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
}

body.gy-user-body .gy-security-flow .gy-flow-intro strong {
    color: var(--gy-profile-text);
}

body.gy-user-body .gy-security-flow .gy-flow-intro small {
    color: var(--gy-profile-muted);
}

body.gy-user-body .gy-security-card {
    border-color: var(--gy-profile-border);
    background: var(--gy-profile-surface);
    color: var(--gy-profile-text);
    box-shadow: 0 20px 44px -34px rgba(0, 0, 0, .95), inset 0 1px rgba(255, 255, 255, .03);
}

body.gy-user-body .gy-security-card .gy-label {
    color: #d6d7d0;
}

body.gy-user-body .gy-security-card .gy-input {
    border-color: var(--gy-profile-border);
    background: #202121;
    color: var(--gy-profile-text);
}

body.gy-user-body .gy-security-card .gy-input::placeholder {
    color: #8f928b;
    opacity: 1;
}

body.gy-user-body .gy-security-card .gy-input:focus {
    border-color: rgba(255, 122, 0, .58);
    background: #242524;
    box-shadow: 0 0 0 4px rgba(255, 122, 0, .08);
}

body.gy-user-body .gy-security-card .gy-password-toggle {
    color: #ff7a00;
}

body.gy-user-body .gy-security-card .gy-button {
    background: linear-gradient(135deg, #ffad33, #ff7a00);
    color: #1c1b12;
    box-shadow: 0 14px 30px -20px rgba(255, 173, 51, .9);
}

body.gy-user-body .gy-security-flow .gy-security-note {
    color: #c8cac3;
}

body.gy-user-body .gy-security-flow .gy-security-note svg {
    color: #ff7a00;
}

/* Shared final states across every user page. */
body.gy-user-body :where(a, button, input, select, textarea):focus-visible,
body.gy-auth-body :where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid #ffad33;
    outline-offset: 3px;
}

body.gy-user-body .gy-button,
body.gy-auth-body .gy-button {
    transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.gy-user-body .gy-button:hover,
body.gy-auth-body .gy-button:hover {
    filter: brightness(1.04);
}

body.gy-user-body .gy-button:active,
body.gy-auth-body .gy-button:active {
    transform: scale(.985);
}

body.gy-user-body :where(button, input, select, textarea):disabled,
body.gy-auth-body :where(button, input, select, textarea):disabled {
    cursor: not-allowed;
    filter: saturate(.55);
    opacity: .58;
}

body.gy-user-body .iziToast.gy-toast,
body.gy-auth-body .iziToast.gy-toast {
    border-color: rgba(255, 255, 255, .1);
    background: #202121;
    color: #f3f3ed;
    box-shadow: 0 24px 54px -28px #000;
}

body.gy-user-body .iziToast.gy-toast .iziToast-title,
body.gy-auth-body .iziToast.gy-toast .iziToast-title {
    color: #f3f3ed;
}

body.gy-user-body .iziToast.gy-toast .iziToast-message,
body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    color: #c4c6bf;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close,
body.gy-auth-body .iziToast.gy-toast .iziToast-close {
    filter: invert(1);
    opacity: .72;
}

@keyframes gy-profile-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 768px) {
    body.gy-user-body.gy-profile-body .gy-shell {
        width: min(100%, 1120px);
    }

    body.gy-user-body .gy-profile-flow,
    body.gy-user-body .gy-security-flow {
        padding-top: 20px;
        padding-bottom: 42px;
    }

    body.gy-user-body .gy-profile-flow > *,
    body.gy-user-body .gy-security-flow > * {
        width: min(100%, 720px);
        margin-right: auto;
        margin-left: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .gy-profile-flow > *,
    body.gy-user-body .gy-security-flow > * {
        animation: none;
    }

    body.gy-user-body .gy-profile-row,
    body.gy-user-body .gy-profile-community > a,
    body.gy-user-body .gy-profile-logout,
    body.gy-user-body .gy-button,
    body.gy-auth-body .gy-button {
        transition: none;
    }
}

/* VinTech semantic notifications: success, error, warning, and information. */
body.gy-user-body .iziToast-wrapper,
body.gy-auth-body .iziToast-wrapper {
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom) + 106px) !important;
    padding: 0 14px !important;
}

body.gy-user-body .iziToast.gy-toast,
body.gy-auth-body .iziToast.gy-toast {
    --gy-toast-accent: #ff7a00;
    --gy-toast-accent-rgb: 201, 194, 134;
    position: relative !important;
    width: min(520px, calc(100vw - 28px)) !important;
    min-height: 88px !important;
    margin: 0 auto 11px !important;
    overflow: hidden !important;
    border: 1.5px solid rgba(var(--gy-toast-accent-rgb), .76) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 0 50%, rgba(var(--gy-toast-accent-rgb), .11), transparent 34%),
        linear-gradient(145deg, rgba(32, 33, 33, .985), rgba(20, 21, 21, .985)) !important;
    color: #f7f6f0 !important;
    box-shadow:
        0 24px 54px -27px rgba(0, 0, 0, .95),
        0 0 0 1px rgba(var(--gy-toast-accent-rgb), .06),
        inset 0 1px rgba(255, 255, 255, .055) !important;
    backdrop-filter: blur(18px) saturate(120%);
}

body.gy-user-body .iziToast.gy-toast-success,
body.gy-auth-body .iziToast.gy-toast-success {
    --gy-toast-accent: #68d59b;
    --gy-toast-accent-rgb: 104, 213, 155;
}

body.gy-user-body .iziToast.gy-toast-error,
body.gy-auth-body .iziToast.gy-toast-error {
    --gy-toast-accent: #ee8179;
    --gy-toast-accent-rgb: 238, 129, 121;
}

body.gy-user-body .iziToast.gy-toast-warning,
body.gy-auth-body .iziToast.gy-toast-warning {
    --gy-toast-accent: #e7a955;
    --gy-toast-accent-rgb: 231, 169, 85;
}

body.gy-user-body .iziToast.gy-toast-info,
body.gy-auth-body .iziToast.gy-toast-info {
    --gy-toast-accent: #ff7a00;
    --gy-toast-accent-rgb: 201, 194, 134;
}

body.gy-user-body .iziToast.gy-toast::before,
body.gy-auth-body .iziToast.gy-toast::before {
    position: absolute;
    inset: 0;
    width: auto;
    background: linear-gradient(90deg, rgba(var(--gy-toast-accent-rgb), .07), transparent 42%);
    content: "";
    pointer-events: none;
}

body.gy-user-body .iziToast.gy-toast::after,
body.gy-auth-body .iziToast.gy-toast::after {
    position: absolute;
    top: 50%;
    left: 17px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(var(--gy-toast-accent-rgb), .34);
    border-radius: 14px;
    background: rgba(var(--gy-toast-accent-rgb), .15);
    color: var(--gy-toast-accent);
    content: "i";
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 24px -17px rgba(var(--gy-toast-accent-rgb), .9);
    transform: translateY(-50%);
    pointer-events: none;
}

body.gy-user-body .iziToast.gy-toast-success::after,
body.gy-auth-body .iziToast.gy-toast-success::after {
    content: "✓";
}

body.gy-user-body .iziToast.gy-toast-error::after,
body.gy-auth-body .iziToast.gy-toast-error::after {
    content: "×";
    font-size: 26px;
    font-weight: 600;
}

body.gy-user-body .iziToast.gy-toast-warning::after,
body.gy-auth-body .iziToast.gy-toast-warning::after {
    content: "!";
}

body.gy-user-body .iziToast.gy-toast > .iziToast-body,
body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
    display: grid !important;
    min-height: 86px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 16px 58px 16px 72px !important;
    text-align: left !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-texts,
body.gy-auth-body .iziToast.gy-toast .iziToast-texts {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 5px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-title,
body.gy-auth-body .iziToast.gy-toast .iziToast-title {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    color: #f7f6f0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -.015em !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-message,
body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    display: block !important;
    float: none !important;
    overflow-wrap: anywhere;
    margin: 0 !important;
    color: #c8cac3 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-icon,
body.gy-auth-body .iziToast.gy-toast .iziToast-icon {
    display: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close,
body.gy-auth-body .iziToast.gy-toast .iziToast-close {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    outline-offset: -3px !important;
    background-color: transparent !important;
    background-image: none !important;
    filter: none !important;
    opacity: .72 !important;
    transform: translateY(-50%);
    transition: background-color .18s ease, opacity .18s ease !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close::before,
body.gy-user-body .iziToast.gy-toast .iziToast-close::after,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::before,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::after {
    position: absolute;
    top: 21px;
    left: 13px;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #c8cac3;
    content: "";
}

body.gy-user-body .iziToast.gy-toast .iziToast-close::before,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::before {
    transform: rotate(45deg);
}

body.gy-user-body .iziToast.gy-toast .iziToast-close::after,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::after {
    transform: rotate(-45deg);
}

body.gy-user-body .iziToast.gy-toast .iziToast-close:hover,
body.gy-user-body .iziToast.gy-toast .iziToast-close:focus-visible,
body.gy-auth-body .iziToast.gy-toast .iziToast-close:hover,
body.gy-auth-body .iziToast.gy-toast .iziToast-close:focus-visible {
    background-color: rgba(var(--gy-toast-accent-rgb), .1) !important;
    opacity: 1 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar {
    right: 14px !important;
    bottom: 6px !important;
    left: 14px !important;
    width: auto !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: rgba(var(--gy-toast-accent-rgb), .12) !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar div,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar div {
    height: 2px !important;
    border-radius: inherit !important;
    background: var(--gy-toast-accent) !important;
}

@media (max-width: 420px) {
    body.gy-user-body .iziToast.gy-toast,
    body.gy-auth-body .iziToast.gy-toast {
        min-height: 82px !important;
        border-radius: 21px !important;
    }

    body.gy-user-body .iziToast.gy-toast::after,
    body.gy-auth-body .iziToast.gy-toast::after {
        left: 14px;
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }

    body.gy-user-body .iziToast.gy-toast > .iziToast-body,
    body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
        min-height: 80px !important;
        padding: 14px 52px 14px 64px !important;
    }

    body.gy-user-body .iziToast.gy-toast .iziToast-title,
    body.gy-auth-body .iziToast.gy-toast .iziToast-title {
        font-size: 14px !important;
    }

    body.gy-user-body .iziToast.gy-toast .iziToast-message,
    body.gy-auth-body .iziToast.gy-toast .iziToast-message {
        font-size: 11px !important;
    }

    body.gy-user-body .iziToast.gy-toast .iziToast-close,
    body.gy-auth-body .iziToast.gy-toast .iziToast-close {
        right: 4px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .iziToast.gy-toast .iziToast-close,
    body.gy-auth-body .iziToast.gy-toast .iziToast-close {
        transition: none !important;
    }
}

/* VinTech notched floating navigation with a raised primary action. */
body.gy-user-body .gy-shell {
    padding-bottom: calc(118px + env(safe-area-inset-bottom));
}

body.gy-user-body [data-gy-app-view] {
    min-height: calc(100vh - var(--gy-app-bar-height) - 118px);
}

body.gy-user-body .gy-bottom-nav {
    right: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 50%;
    width: min(calc(100% - 28px), 540px);
    height: 82px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: none;
}

body.gy-user-body .gy-bottom-nav-inner {
    position: relative;
    isolation: isolate;
    display: grid;
    width: 100%;
    height: 82px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    gap: 4px;
    overflow: visible;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 115%, rgba(255, 122, 0, .09), transparent 46%),
        rgba(30, 31, 30, .97);
    padding: 8px 12px;
    box-shadow: 0 24px 54px -22px rgba(0, 0, 0, .98), inset 0 1px rgba(255, 255, 255, .04);
    pointer-events: auto;
    backdrop-filter: blur(20px) saturate(120%);
}

body.gy-user-body .gy-nav-item {
    position: relative;
    z-index: 2;
    display: grid;
    width: 58px;
    height: 58px;
    min-height: 58px;
    place-items: center;
    justify-self: center;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: #9ea19a;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

body.gy-user-body .gy-nav-item svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

body.gy-user-body .gy-nav-item:hover,
body.gy-user-body .gy-nav-item:focus-visible {
    border-color: rgba(255, 122, 0, .16);
    background: rgba(255, 122, 0, .07);
    color: #ffd08a;
    transform: translateY(-1px);
}

body.gy-user-body .gy-nav-item.is-active {
    border-color: rgba(255, 173, 51, .24);
    background: rgba(255, 122, 0, .13);
    color: #ffd08a;
    box-shadow: inset 0 1px rgba(255, 255, 255, .045), 0 12px 26px -20px rgba(255, 173, 51, .8);
}

body.gy-user-body .gy-nav-primary {
    position: relative;
    z-index: 3;
    display: grid;
    width: 78px;
    height: 78px;
    place-items: center;
    justify-self: center;
    align-self: start;
    margin-top: -39px;
    border: 7px solid #121313;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffad33, #e85d00);
    color: #1c1b12;
    box-shadow: 0 18px 34px -19px rgba(255, 173, 51, .95), inset 0 1px rgba(255, 255, 255, .38);
    transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.gy-user-body .gy-nav-primary svg {
    width: 34px;
    height: 34px;
    fill: currentColor;
}

body.gy-user-body .gy-nav-primary:hover,
body.gy-user-body .gy-nav-primary:focus-visible {
    filter: brightness(1.06);
    transform: translateY(-2px);
    box-shadow: 0 22px 40px -19px rgba(255, 173, 51, 1), inset 0 1px rgba(255, 255, 255, .42);
}

body.gy-user-body .gy-nav-primary:active {
    transform: scale(.97);
}

body.gy-user-body .gy-nav-primary.is-active {
    background: linear-gradient(145deg, #ffd08a, #ff7a00);
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .12), 0 22px 42px -18px rgba(255, 173, 51, 1);
}

@media (max-width: 380px) {
    body.gy-user-body .gy-bottom-nav {
        width: calc(100% - 20px);
    }

    body.gy-user-body .gy-bottom-nav-inner {
        padding-right: 8px;
        padding-left: 8px;
    }

    body.gy-user-body .gy-nav-item {
        width: 52px;
        height: 52px;
        min-height: 52px;
    }

    body.gy-user-body .gy-nav-primary {
        width: 74px;
        height: 74px;
        margin-top: -37px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .gy-nav-item,
    body.gy-user-body .gy-nav-primary {
        transition: none;
    }
}

/* Solar Bold Duotone icons embedded locally from Iconify. */
body.gy-user-body svg.gy-premium-icon {
    flex: 0 0 auto;
    fill: currentColor !important;
    stroke: none !important;
}

body.gy-user-body svg.gy-premium-icon path,
body.gy-user-body svg.gy-premium-icon circle,
body.gy-user-body svg.gy-premium-icon ellipse,
body.gy-user-body svg.gy-premium-icon g {
    fill: currentColor;
    stroke: none;
}

/* Refined navigation controls for the VinTech dark-gold interface. */
body.gy-user-body .gy-page-back {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 122, 0, .2);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 122, 0, .1), rgba(255, 122, 0, .045));
    color: #ffad33;
    box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 12px 28px -22px rgba(255, 173, 51, .8);
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

body.gy-user-body .gy-page-back svg {
    width: 21px;
    height: 21px;
}

body.gy-user-body .gy-page-back:hover,
body.gy-user-body .gy-page-back:focus-visible {
    border-color: rgba(255, 173, 51, .38);
    background: rgba(255, 122, 0, .13);
    color: #ffd08a;
    transform: translateX(-1px);
}

body.gy-user-body .gy-page-heading p {
    color: #a7a993;
}

body.gy-user-body .gy-page-heading h1 {
    color: #f1f0e9;
}

body.gy-user-body .gy-flow-links {
    border-color: rgba(255, 122, 0, .18);
    background: rgba(20, 21, 21, .94);
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

body.gy-user-body .gy-flow-links .is-active {
    border: 1px solid rgba(255, 173, 51, .14);
    background: linear-gradient(145deg, rgba(255, 122, 0, .13), rgba(255, 122, 0, .065));
    color: #ffc66d;
    box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 10px 24px -22px rgba(255, 173, 51, .85);
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body .gy-page-back {
        transition: none;
    }
}

body.gy-user-body.gy-payhub-open {
    overflow: hidden;
}

body.gy-user-body .gy-payhub-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}

body.gy-user-body .gy-payhub-modal.hidden {
    display: none;
}

body.gy-user-body .gy-payhub-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(0, 0, 0, .78);
    backdrop-filter: blur(7px);
}

body.gy-user-body .gy-payhub-dialog {
    position: relative;
    display: flex;
    width: min(440px, 100%);
    height: min(680px, calc(100dvh - 28px));
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 173, 51, .24);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .55);
}

body.gy-user-body .gy-payhub-header {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px 14px 20px;
    border-bottom: 1px solid #ececec;
    background: #151616;
    color: #fff1df;
}

body.gy-user-body .gy-payhub-header div {
    display: grid;
    gap: 2px;
}

body.gy-user-body .gy-payhub-header small {
    color: #aaa;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

body.gy-user-body .gy-payhub-header strong {
    font-size: 17px;
}

body.gy-user-body .gy-payhub-header button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 26px;
    line-height: 1;
}

body.gy-user-body .gy-payhub-dialog iframe {
    width: 100%;
    min-height: 0;
    flex: 1 1 auto;
    border: 0;
    background: #fff;
}

/* VinTech unified orange-and-black application finish. */
body.gy-auth-body,
body.gy-user-body {
    --gy-gold: #ff7a00;
    --gy-gold-strong: #e85d00;
    --gy-gold-soft: rgba(255, 122, 0, .12);
    --gy-orange: #ff7a00;
    --gy-orange-deep: #e85d00;
    background:
        radial-gradient(circle at 50% -15%, rgba(255, 122, 0, .15), transparent 36%),
        linear-gradient(180deg, #090b0e 0%, #0f1114 48%, #08090b 100%);
    color: #fff8f1;
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
}

body.gy-user-body .gy-premium-icon,
body.gy-auth-body .gy-premium-icon {
    display: inline-grid;
    width: 1em;
    height: 1em;
    place-items: center;
    flex: 0 0 auto;
    font-size: 1.35em;
    line-height: 1;
}

body.gy-user-body .gy-app-logo,
body.gy-user-body .gy-drawer-logo {
    object-fit: contain;
}

body.gy-user-body .gy-wallet-balance-card,
body.gy-user-body .gy-flow-hero,
body.gy-user-body .gy-flow-intro {
    border-color: rgba(255, 122, 0, .24);
    background:
        radial-gradient(circle at 92% 0, rgba(255, 173, 51, .22), transparent 38%),
        linear-gradient(145deg, #241205 0%, #17191d 52%, #0d0f12 100%);
    box-shadow: 0 26px 70px -38px rgba(255, 94, 0, .85), inset 0 1px rgba(255, 255, 255, .08);
}

body.gy-user-body .gy-button,
body.gy-auth-body .gy-button,
body.gy-user-body .gy-nav-primary {
    background: linear-gradient(135deg, #ffad33, #ff7a00 56%, #e84b00) !important;
    color: #160b02 !important;
    box-shadow: 0 18px 40px -22px rgba(255, 122, 0, .95) !important;
}

body.gy-user-body .gy-bottom-nav-inner {
    border-color: rgba(255, 122, 0, .18);
    background: rgba(13, 15, 18, .96);
}

body.gy-user-body .gy-home-plan-card,
body.gy-user-body .gy-rewards-guide button {
    border: 1px solid rgba(255, 122, 0, .22);
    box-shadow: 0 24px 54px -34px rgba(255, 122, 0, .7);
}

@media (min-width: 641px) {
    body.gy-user-body .iziToast-wrapper,
    body.gy-auth-body .iziToast-wrapper {
        bottom: 20px !important;
    }
}

@media (max-width: 520px) {
    body.gy-user-body .gy-payhub-modal {
        padding: 0;
    }

    body.gy-user-body .gy-payhub-dialog {
        width: 100%;
        height: 100dvh;
        border: 0;
        border-radius: 0;
    }
}

/* Reference-aligned auth and dashboard concept (approval stage). */
body.gy-auth-body,
body.gy-user-body.gy-home-body {
    --vt-screen: #090b11;
    --vt-panel: #151922;
    --vt-panel-soft: #1d222e;
    --vt-stroke: rgba(255, 255, 255, .09);
    --vt-muted: #9299a8;
    --vt-orange: #ff7a00;
    --vt-orange-bright: #ffb02e;
    --vt-orange-deep: #dc4b00;
    --vt-lime: #d6ff45;
    background:
        radial-gradient(circle at 14% 8%, rgba(255, 122, 0, .12), transparent 28rem),
        radial-gradient(circle at 92% 82%, rgba(255, 122, 0, .07), transparent 28rem),
        #07090e;
}

/* Auth */
body.gy-auth-body .gy-auth-page {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    align-items: stretch;
    gap: 18px;
    width: min(1120px, calc(100% - 32px));
    min-height: calc(100svh - 40px);
    margin: 20px auto;
    padding: 0;
    border: 1px solid var(--vt-stroke);
    border-radius: 38px;
    overflow: hidden;
    background: rgba(9, 11, 17, .94);
    box-shadow: 0 42px 110px -50px #000, inset 0 1px rgba(255, 255, 255, .04);
}

body.gy-auth-body .gy-auth-page::before {
    display: none;
}

.vt-auth-showcase {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding: clamp(28px, 5vw, 58px);
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255, 150, 23, .14), transparent 42%),
        radial-gradient(circle at 15% 92%, rgba(255, 96, 0, .34), transparent 33%),
        linear-gradient(150deg, #16120f, #0e111b 60%, #111622);
}

.vt-auth-showcase::before,
.vt-auth-showcase::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 360px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 161, 47, .16);
    border-radius: 50%;
}

.vt-auth-showcase::before { top: -190px; right: -130px; box-shadow: 0 0 0 46px rgba(255, 122, 0, .025), 0 0 0 92px rgba(255, 122, 0, .018); }
.vt-auth-showcase::after { left: -235px; bottom: -205px; box-shadow: 0 0 0 62px rgba(255, 122, 0, .025); }

.vt-auth-showcase-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.vt-auth-showcase-brand img {
    width: min(230px, 48%);
    max-height: 62px;
    object-fit: contain;
    object-position: left center;
}

.vt-auth-showcase-brand span {
    color: #ffbe72;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.vt-auth-preview {
    position: relative;
    margin: clamp(28px, 7vh, 70px) 0 28px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(145deg, #ff9820 0%, #f56a00 48%, #9d2b00 100%);
    box-shadow: 0 34px 70px -34px rgba(255, 94, 0, .92), inset 0 1px rgba(255, 255, 255, .32);
}

.vt-auth-preview::after {
    content: "";
    position: absolute;
    right: -82px;
    bottom: -92px;
    width: 230px;
    height: 230px;
    border: 32px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

.vt-auth-preview-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 13px;
}

.vt-auth-preview-avatar {
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    background: rgba(16, 11, 7, .22);
    color: #fff;
    font-weight: 800;
}

.vt-auth-preview-head > span:nth-child(2) { min-width: 0; flex: 1; }
.vt-auth-preview-head small,
.vt-auth-preview-head strong { display: block; }
.vt-auth-preview-head small { color: rgba(255, 255, 255, .72); font-size: 10px; }
.vt-auth-preview-head strong { margin-top: 3px; color: #fff; font-size: 13px; }
.vt-auth-preview-head > i { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; }

.vt-auth-preview-balance {
    position: relative;
    z-index: 1;
    margin-top: clamp(26px, 5vw, 48px);
    color: #fff;
    font-size: clamp(34px, 5.2vw, 58px);
    font-weight: 700;
    letter-spacing: -.06em;
}

.vt-auth-preview-gain {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--vt-lime);
    color: #263000;
    font-size: 10px;
    font-weight: 800;
}

.vt-auth-preview-actions {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 28px;
}

.vt-auth-preview-actions span {
    padding: 12px 8px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(49, 15, 0, .24);
    color: #fff;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
}

.vt-auth-preview-actions span:first-child { border-color: var(--vt-lime); background: var(--vt-lime); color: #202a00; }

.vt-auth-preview-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.vt-auth-preview-grid > div {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    background: rgba(12, 11, 14, .28);
}

.vt-auth-preview-grid small,
.vt-auth-preview-grid strong,
.vt-auth-preview-grid em { display: block; }
.vt-auth-preview-grid small { color: rgba(255, 255, 255, .66); font-size: 9px; }
.vt-auth-preview-grid strong { margin-top: 8px; color: #fff; font-size: 14px; }
.vt-auth-preview-grid em { margin-top: 3px; color: rgba(255, 255, 255, .72); font-size: 9px; font-style: normal; }

.vt-auth-preview-chart { position: absolute; right: 0; bottom: 0; width: 100%; height: 30%; opacity: .45; }
.vt-auth-preview-chart .area { fill: url(#vtAuthArea); }
.vt-auth-preview-chart .line { fill: none; stroke: #fff2df; stroke-width: 2; }

.vt-auth-showcase > p {
    max-width: 540px;
    margin: 0;
    color: #aeb4c1;
    font-size: 13px;
    line-height: 1.7;
}

body.gy-auth-body #gy-app-view {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: clamp(22px, 4vw, 48px);
    background: var(--vt-screen);
}

body.gy-auth-body .gy-auth-card {
    width: min(100%, 400px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.gy-auth-body .gy-vintech-auth-heading { margin: clamp(38px, 7vh, 64px) 0 28px; }
body.gy-auth-body .gy-title { font-size: clamp(32px, 4vw, 46px); }
body.gy-auth-body .gy-input { min-height: 58px; border-color: var(--vt-stroke); border-radius: 19px; background: var(--vt-panel); }
body.gy-auth-body .gy-input:focus { background: var(--vt-panel-soft); }
body.gy-auth-body .gy-button { min-height: 58px; border-radius: 999px; letter-spacing: .08em; }
body.gy-auth-body .gy-auth-switch { color: var(--vt-muted); }

/* Home dashboard */
body.gy-user-body.gy-home-body .gy-shell { width: min(100%, 1120px); background: var(--vt-screen); box-shadow: 0 0 90px rgba(0, 0, 0, .42); }
body.gy-user-body.gy-home-body .gy-app-bar { border-color: var(--vt-stroke); background: rgba(9, 11, 17, .92); backdrop-filter: blur(20px); }
body.gy-user-body.gy-home-body .gy-app-bar-button { border-color: var(--vt-stroke); border-radius: 50%; background: var(--vt-panel); }
body.gy-user-body.gy-home-body .gy-app-logo { border-radius: 50%; }
body.gy-user-body.gy-home-body .gy-home-content.vt-dashboard { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; width: 100%; max-width: none; padding: 20px 28px 132px; }
body.gy-user-body.gy-home-body .gy-home-content.vt-dashboard > * { grid-column: 1 !important; grid-row: auto !important; min-width: 0; }

.vt-wallet {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--vt-stroke);
    border-radius: 32px;
    background: #10131a;
    box-shadow: 0 30px 80px -50px rgba(0, 0, 0, .95);
}

body.gy-user-body.gy-home-body .gy-wallet-balance-card.vt-wallet {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    width: 100%;
    min-height: 0;
    border-color: var(--vt-stroke);
    background: #10131a;
    box-shadow: 0 30px 80px -50px rgba(0, 0, 0, .95);
}

body.gy-user-body.gy-home-body .gy-wallet-balance-card.vt-wallet::after {
    display: none;
}

.vt-wallet-top {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 370px;
    padding: 30px;
    overflow: hidden;
    background: linear-gradient(145deg, #ff9820 0%, #f46900 52%, #a92d00 100%);
}

.vt-wallet-top::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -95px;
    bottom: -112px;
    width: 300px;
    aspect-ratio: 1;
    border: 42px solid rgba(255, 255, 255, .065);
    border-radius: 50%;
    box-shadow: 0 0 0 50px rgba(255, 255, 255, .025);
}

.vt-wallet-person { display: flex; align-items: center; gap: 13px; }
.vt-wallet-avatar { display: grid; width: 48px; height: 48px; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(31, 13, 0, .22); color: #fff; font-weight: 800; }
.vt-wallet-person > div { min-width: 0; flex: 1; }
.vt-wallet-person small,
.vt-wallet-person strong { display: block; }
.vt-wallet-person small { color: rgba(255, 255, 255, .68); font-size: 10px; }
.vt-wallet-person strong { margin-top: 3px; overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.vt-wallet-visibility { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: rgba(41, 15, 0, .18); color: #fff; }
.vt-wallet-visibility .gy-eye-closed { display: none; }
body.gy-balance-hidden .vt-wallet-visibility .gy-eye-open { display: none; }
body.gy-balance-hidden .vt-wallet-visibility .gy-eye-closed { display: inline-grid; }

.vt-wallet-amount { margin-top: auto; color: #fff; font-size: clamp(42px, 6vw, 68px); font-weight: 700; letter-spacing: -.07em; line-height: 1; }
.vt-wallet-yield { align-self: flex-start; margin-top: 13px; padding: 7px 11px; border-radius: 999px; background: var(--vt-lime); color: #263100; font-size: 10px; font-weight: 800; }
.vt-wallet-actions,
body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.vt-wallet-actions a,
body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions a { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 999px; background: rgba(54, 18, 0, .24); color: #fff; font-size: 11px; font-weight: 700; }
.vt-wallet-actions a.is-primary,
body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions a.is-primary { border-color: var(--vt-lime); background: var(--vt-lime); color: #222c00; }
.vt-wallet-actions .gy-premium-icon { font-size: 16px; }

.vt-wallet-insights { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; padding: 16px; }
.vt-insight-card { min-width: 0; padding: 20px; border: 1px solid var(--vt-stroke); border-radius: 23px; background: linear-gradient(145deg, #1a1f2b, #141821); }
.vt-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.vt-card-heading small { color: var(--vt-muted); font-size: 9px; }
.vt-card-heading h2 { margin: 3px 0 0; color: #fff; font-size: 16px; }
.vt-card-heading a { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--vt-stroke); border-radius: 50%; color: #dfe2e8; }
.vt-insight-card dl { margin: 13px 0 0; }
.vt-insight-card dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.vt-insight-card dt { color: var(--vt-muted); font-size: 10px; }
.vt-insight-card dd { margin: 0; color: #fff; font-size: 11px; font-weight: 700; }
.vt-activity-dots { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; margin-top: 16px; }
.vt-activity-dots i { width: 7px; height: 7px; justify-self: center; border-radius: 50%; background: #4f3323; }
.vt-activity-dots i.is-hot { background: var(--vt-orange-bright); box-shadow: 0 0 8px rgba(255, 122, 0, .9); }
.vt-activity-days { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 8px; color: #707785; font-size: 8px; text-align: center; }

.vt-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 18px; }
.vt-dashboard-grid > * { grid-column: auto !important; grid-row: auto !important; min-width: 0; }
.vt-panel { border: 1px solid var(--vt-stroke); border-radius: 28px; background: linear-gradient(145deg, #151922, #11141b); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.vt-transactions { min-height: 290px; padding: 22px; }
.vt-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.vt-panel-head span { color: var(--vt-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.vt-panel-head h2 { margin: 4px 0 0; color: #fff; font-size: 18px; }
.vt-panel-head a { color: #ff9c31; font-size: 10px; font-weight: 700; }
.vt-transaction-list { margin-top: 14px; }
.vt-transaction-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); color: #fff; }
.vt-transaction-icon { display: grid; width: 40px; height: 40px; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(255, 96, 51, .12); color: #ff7a5c; }
.vt-transaction-icon.is-credit { background: rgba(96, 216, 140, .11); color: #70dd99; }
.vt-transaction-copy { min-width: 0; flex: 1; }
.vt-transaction-copy strong,
.vt-transaction-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vt-transaction-copy strong { color: #f5f6f8; font-size: 11px; }
.vt-transaction-copy small { margin-top: 4px; color: var(--vt-muted); font-size: 8px; }
.vt-transaction-amount { color: #ff8b72; font-size: 11px; font-weight: 800; white-space: nowrap; }
.vt-transaction-amount.is-credit { color: #77dda0; }
.vt-empty-activity { display: grid; min-height: 190px; place-items: center; align-content: center; color: var(--vt-muted); text-align: center; }
.vt-empty-activity > span { display: grid; width: 50px; height: 50px; place-items: center; margin-bottom: 11px; border-radius: 50%; background: #202632; color: #ff9326; font-size: 22px; }
.vt-empty-activity strong { color: #f4f5f7; font-size: 12px; }
.vt-empty-activity small { margin-top: 5px; font-size: 9px; }

body.gy-user-body.gy-home-body .gy-home-plan-card.vt-plan-preview { position: relative; min-height: 290px; margin: 0; overflow: hidden; border-radius: 28px; }
.vt-plan-preview img { width: 100%; height: 100%; object-fit: cover; object-position: 43% center; }
.vt-plan-preview-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(7, 9, 14, .94) 100%); }
.vt-plan-preview-copy { position: absolute; right: 22px; bottom: 22px; left: 22px; color: #fff; }
.vt-plan-preview-copy small,
.vt-plan-preview-copy strong,
.vt-plan-preview-copy > span { display: block; }
.vt-plan-preview-copy small { color: #ffc277; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.vt-plan-preview-copy strong { margin-top: 5px; font-size: 20px; }
.vt-plan-preview-copy > span { margin-top: 9px; color: #c8ccd5; font-size: 10px; }
.vt-plan-preview-copy b { float: right; color: #fff; font-size: 16px; }

body.gy-user-body.gy-home-body .gy-home-section.vt-panel { margin: 0; padding: 22px; }
body.gy-user-body.gy-home-body .gy-home-section-head h2 { color: #fff; }
body.gy-user-body.gy-home-body .gy-home-section-head > span,
body.gy-user-body.gy-home-body .gy-home-section-head > a { color: var(--vt-muted); }
body.gy-user-body.gy-home-body .gy-home-actions { gap: 10px; margin-top: 16px; }
body.gy-user-body.gy-home-body .gy-home-action { min-height: 92px; border-color: var(--vt-stroke); border-radius: 20px; background: var(--vt-panel-soft); color: #eef0f4; }
body.gy-user-body.gy-home-body .gy-home-action-icon { border: 0; border-radius: 50%; background: #282d37; color: #ff8a16; }
body.gy-user-body.gy-home-body .gy-home-action:hover { border-color: rgba(255, 122, 0, .42); background: #242831; transform: translateY(-2px); }
body.gy-user-body.gy-home-body .gy-home-info-list { margin-top: 14px; overflow: hidden; border: 1px solid var(--vt-stroke); border-radius: 22px; background: var(--vt-panel); }
body.gy-user-body.gy-home-body .gy-home-info-row { border-color: rgba(255, 255, 255, .06); background: transparent; }
body.gy-user-body.gy-home-body .gy-home-info-row:hover { background: var(--vt-panel-soft); }
body.gy-user-body.gy-home-body .gy-home-info-icon { border-radius: 50%; background: #252a34; color: #ff8d1e; }
body.gy-user-body.gy-home-body .gy-home-community { margin-top: 14px; }
body.gy-user-body.gy-home-body .gy-home-community-card { border-color: var(--vt-stroke); background: var(--vt-panel-soft); }
body.gy-user-body.gy-home-body .gy-home-community-icon { border-radius: 50%; background: #292e38; color: #ff8d1e; }

@media (min-width: 821px) {
    body.gy-user-body.gy-home-body .gy-home-community { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body.gy-user-body.gy-home-body .gy-bottom-nav { bottom: 18px; }
body.gy-user-body.gy-home-body .gy-bottom-nav-inner { min-height: 70px; padding: 7px 10px; border-color: var(--vt-stroke); border-radius: 999px; background: rgba(21, 25, 34, .94); box-shadow: 0 20px 45px rgba(0, 0, 0, .46); backdrop-filter: blur(18px); }
body.gy-user-body.gy-home-body .gy-nav-item,
body.gy-user-body.gy-home-body .gy-nav-primary { position: static; width: 54px; height: 54px; min-width: 54px; transform: none; border: 0; border-radius: 50%; background: transparent !important; color: #a6acb8 !important; box-shadow: none !important; }
body.gy-user-body.gy-home-body .gy-nav-item.is-active { background: linear-gradient(145deg, #ff9f23, #ef5f00) !important; color: #fff !important; box-shadow: 0 8px 22px rgba(255, 95, 0, .34) !important; }
body.gy-user-body.gy-home-body .gy-nav-item svg,
body.gy-user-body.gy-home-body .gy-nav-primary svg { width: 20px; height: 20px; }

@media (max-width: 820px) {
    body.gy-auth-body .gy-auth-page { grid-template-columns: 1fr; width: min(620px, calc(100% - 24px)); margin: 12px auto; border-radius: 30px; }
    .vt-auth-showcase { min-height: auto; padding: 24px; }
    .vt-auth-showcase-brand img { width: 150px; max-height: 46px; }
    .vt-auth-showcase-brand span { font-size: 8px; }
    .vt-auth-preview { margin: 24px 0 0; padding: 22px; border-radius: 26px; }
    .vt-auth-preview-grid,
    .vt-auth-preview-chart,
    .vt-auth-showcase > p { display: none; }
    .vt-auth-preview-balance { margin-top: 26px; font-size: 38px; }
    .vt-auth-preview-actions { margin-top: 20px; }
    body.gy-auth-body #gy-app-view { padding: 34px 24px 42px; }
    body.gy-auth-body .gy-vintech-auth-brand { display: none; }
    body.gy-auth-body .gy-vintech-auth-heading { margin-top: 0; }

    .vt-wallet,
    body.gy-user-body.gy-home-body .gy-wallet-balance-card.vt-wallet { grid-template-columns: minmax(0, 1fr); }
    .vt-wallet-top { min-height: 350px; }
    .vt-wallet-insights { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
    .vt-dashboard-grid { grid-template-columns: 1fr; }
    body.gy-user-body.gy-home-body .gy-home-plan-card.vt-plan-preview { min-height: 250px; }
}

@media (max-width: 560px) {
    body.gy-user-body.gy-home-body .gy-home-content.vt-dashboard { gap: 14px; padding: 14px 14px 118px; }
    .vt-wallet { border-radius: 28px; }
    .vt-wallet-top { min-height: 330px; padding: 22px 18px; }
    .vt-wallet-avatar { width: 43px; height: 43px; }
    .vt-wallet-visibility { width: 42px; height: 42px; }
    .vt-wallet-amount { font-size: clamp(38px, 12vw, 52px); }
    .vt-wallet-actions { gap: 7px; }
    .vt-wallet-actions a { min-height: 43px; gap: 5px; font-size: 9px; }
    .vt-wallet-insights { grid-template-columns: 1fr; padding: 12px; }
    .vt-insight-card { border-radius: 20px; }
    .vt-dashboard-grid { gap: 14px; }
    .vt-panel,
    body.gy-user-body.gy-home-body .gy-home-plan-card.vt-plan-preview { border-radius: 24px; }
    .vt-transactions,
    body.gy-user-body.gy-home-body .gy-home-section.vt-panel { padding: 18px; }
    body.gy-user-body.gy-home-body .gy-home-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body.gy-user-body.gy-home-body .gy-home-action { min-height: 82px; padding: 9px 4px; font-size: 9px; }
    body.gy-user-body.gy-home-body .gy-home-action-icon { width: 34px; height: 34px; }
}

@media (max-width: 420px) {
    body.gy-auth-body .gy-auth-page { width: 100%; min-height: 100svh; margin: 0; border: 0; border-radius: 0; }
    .vt-auth-showcase { padding: 18px; }
    .vt-auth-preview { margin-top: 18px; padding: 18px; }
    .vt-auth-preview-head > i { width: 38px; height: 38px; }
    .vt-auth-preview-actions span { padding: 10px 5px; font-size: 9px; }
    body.gy-auth-body #gy-app-view { padding: 32px 20px 38px; }
}

@media (prefers-reduced-motion: reduce) {
    body.gy-user-body.gy-home-body .gy-home-action { transition: none; }
}

/* Auth approval concept: light, quiet, and flier-colour led. */
html.gy-auth-root {
    background: #f4f4f3;
}

body.gy-auth-body {
    --vt-auth-ink: #1e2024;
    --vt-auth-muted: #777a7e;
    --vt-auth-line: #e5e4e1;
    --vt-auth-soft: #f5f4f2;
    --vt-auth-orange: #a74316;
    --vt-auth-orange-dark: #85320f;
    min-height: 100svh;
    overflow-x: hidden;
    background: #f4f4f3;
    color: var(--vt-auth-ink);
}

body.gy-auth-body .gy-auth-page {
    display: grid;
    grid-template-columns: minmax(390px, 44%) minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    width: min(1180px, calc(100% - 24px));
    min-height: calc(100svh - 24px);
    margin: 12px auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e3e2df;
    border-radius: 22px;
    background: #fafafa;
    box-shadow: 0 8px 28px rgba(29, 25, 21, .04);
}

body.gy-auth-body #gy-app-view {
    display: grid;
    min-width: 0;
    min-height: 0;
    place-items: stretch;
    padding: 22px clamp(38px, 6vw, 72px) 18px;
    background: #fbfbfa;
}

body.gy-auth-body .gy-auth-card {
    display: flex;
    width: min(100%, 360px);
    min-height: 100%;
    margin: 0 auto;
    padding: 0;
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--vt-auth-ink);
    box-shadow: none;
}

body.gy-auth-body .gy-vintech-auth-brand {
    display: flex;
    min-height: 42px;
    align-items: center;
}

body.gy-auth-body .gy-auth-logo {
    display: block;
    width: 132px;
    height: 42px;
    margin: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
    object-position: left center;
    background: transparent;
    box-shadow: none;
}

body.gy-auth-body .gy-vintech-auth-heading {
    margin: clamp(42px, 7vh, 70px) 0 28px;
}

body.gy-auth-body .vt-auth-form-icon,
.vt-auth-showcase-icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid #deddd9;
    border-radius: 50%;
    background: #fff;
    color: #92928f;
    box-shadow: 0 0 0 9px rgba(226, 225, 222, .42);
    font-size: 19px;
}

body.gy-auth-body .vt-auth-form-icon {
    margin-bottom: 40px;
}

body.gy-auth-body .gy-eyebrow {
    display: none;
}

body.gy-auth-body .gy-title {
    max-width: none;
    margin: 0;
    color: var(--vt-auth-ink);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}

body.gy-auth-body .gy-subtitle {
    max-width: none;
    margin: 7px 0 0;
    color: var(--vt-auth-muted);
    font-size: 12px;
    line-height: 1.5;
}

body.gy-auth-body .gy-form {
    display: grid;
    gap: 17px;
    margin: 0;
}

body.gy-auth-body .gy-field {
    gap: 8px;
}

body.gy-auth-body .gy-label {
    color: #3f4144;
    font-size: 12px;
    font-weight: 600;
}

body.gy-auth-body .gy-label .text-gray-500 {
    color: #969794;
}

body.gy-auth-body .gy-input-wrap {
    border-radius: 10px;
}

body.gy-auth-body .gy-input {
    min-height: 48px;
    border: 1px solid var(--vt-auth-line);
    border-radius: 10px;
    background: #fff;
    color: #25272a;
    font-size: 12px;
    box-shadow: 0 3px 12px rgba(41, 35, 29, .025);
}

body.gy-auth-body .gy-input::placeholder {
    color: #aaa9a6;
    opacity: 1;
}

body.gy-auth-body .gy-input:hover {
    border-color: #d4d1cc;
}

body.gy-auth-body .gy-input:focus {
    border-color: rgba(167, 67, 22, .58);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(167, 67, 22, .045);
}

body.gy-auth-body .gy-input-wrap:focus-within {
    box-shadow: none;
}

html body.gy-auth-body :where(a, button, input, select, textarea):focus-visible {
    outline: 1px solid rgba(133, 50, 15, .42) !important;
    outline-offset: 2px;
}

body.gy-auth-body .gy-input-icon,
body.gy-auth-body .gy-password-toggle {
    color: #949591 !important;
}

body.gy-auth-body .gy-password-toggle:hover,
body.gy-auth-body .gy-password-toggle:focus-visible {
    color: var(--vt-auth-orange);
}

.vt-auth-form-link {
    margin-top: -8px;
    text-align: right;
}

.vt-auth-form-link a {
    color: var(--vt-auth-orange-dark);
    font-size: 11px;
    font-weight: 700;
}

body.gy-auth-body .gy-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--vt-auth-orange-dark) !important;
    border-radius: 13px;
    background: var(--vt-auth-orange-dark) !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    box-shadow: none !important;
}

body.gy-auth-body .gy-button:hover,
body.gy-auth-body .gy-button:focus-visible {
    border-color: #70290c !important;
    background: #70290c !important;
    transform: translateY(-1px);
}

body.gy-auth-body .gy-button:active {
    transform: translateY(0);
}

body.gy-auth-body .gy-auth-switch {
    margin-top: 0;
    color: #8a8986;
    font-size: 11px;
    text-align: center;
}

body.gy-auth-body .gy-auth-switch a {
    margin-left: 4px;
    color: var(--vt-auth-orange-dark);
    font-weight: 700;
}

.vt-auth-protection {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 28px;
    padding: 7px 12px;
    border: 1px solid #e8e7e4;
    border-radius: 999px;
    background: #f6f5f3;
    color: #aaa9a6;
    font-size: 9px;
    text-align: center;
}

.vt-auth-protection i {
    color: #9b9b97;
    font-size: 13px;
}

.vt-auth-copyright {
    margin: auto 0 0;
    padding-top: 28px;
    color: #aaa9a6;
    font-size: 10px;
}

.vt-auth-showcase {
    position: relative;
    isolation: isolate;
    display: flex;
    min-width: 0;
    margin-top: 48px;
    padding: 28px clamp(38px, 6vw, 76px) 34px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e6e4e0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 24px 0 0;
    background:
        radial-gradient(circle at 85% 20%, rgba(167, 67, 22, .045), transparent 24rem),
        #fff;
    box-shadow: -10px -4px 28px rgba(45, 36, 29, .045);
}

.vt-auth-showcase::before,
.vt-auth-showcase::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(167, 67, 22, .07);
    border-radius: 50%;
}

.vt-auth-showcase::before {
    top: -210px;
    right: -170px;
    width: 430px;
    height: 430px;
    box-shadow: 0 0 0 48px rgba(167, 67, 22, .015), 0 0 0 96px rgba(167, 67, 22, .01);
}

.vt-auth-showcase::after {
    right: 14%;
    bottom: -260px;
    width: 470px;
    height: 470px;
}

.vt-auth-showcase-logo {
    display: block;
    width: 132px;
    height: 42px;
    object-fit: contain;
    object-position: left center;
}

.vt-auth-showcase-content {
    width: min(100%, 410px);
    margin: auto;
}

.vt-auth-showcase-icon {
    margin-bottom: 48px;
    color: var(--vt-auth-orange);
}

.vt-auth-showcase-kicker {
    margin: 0 0 10px;
    color: var(--vt-auth-orange);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.vt-auth-showcase h2 {
    margin: 0;
    color: var(--vt-auth-ink);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.04em;
}

.vt-auth-showcase h2 + p {
    max-width: 390px;
    margin: 12px 0 0;
    color: var(--vt-auth-muted);
    font-size: 12px;
    line-height: 1.65;
}

.vt-auth-showcase-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 32px;
}

.vt-auth-showcase-stats > div {
    padding: 16px 12px;
    border: 1px solid var(--vt-auth-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .8);
}

.vt-auth-showcase-stats strong,
.vt-auth-showcase-stats span {
    display: block;
}

.vt-auth-showcase-stats strong {
    color: var(--vt-auth-ink);
    font-size: 15px;
    font-weight: 700;
}

.vt-auth-showcase-stats span {
    margin-top: 4px;
    color: #92918e;
    font-size: 9px;
}

.vt-auth-showcase-switch {
    margin: 24px 0 0;
    color: #898986;
    font-size: 11px;
}

.vt-auth-showcase-switch a {
    margin-left: 3px;
    color: var(--vt-auth-orange-dark);
    font-weight: 700;
}

.vt-auth-showcase-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    color: #9b9a97;
    font-size: 10px;
}

@media (max-width: 820px) {
    body.gy-auth-body .gy-auth-page {
        grid-template-columns: minmax(0, 1fr);
        width: min(520px, calc(100% - 24px));
        margin: 12px auto;
        border-radius: 20px;
    }

    body.gy-auth-body #gy-app-view {
        padding: 22px clamp(22px, 7vw, 46px) 20px;
    }

    .vt-auth-showcase {
        display: none;
    }

    body.gy-auth-body .gy-vintech-auth-brand {
        display: flex;
    }

    body.gy-auth-body .gy-vintech-auth-heading {
        margin-top: 48px;
    }

    .vt-auth-copyright {
        padding-top: 38px;
    }
}

@media (max-width: 420px) {
    body.gy-auth-body .gy-auth-page {
        width: 100%;
        min-height: 100svh;
        margin: 0;
        border: 0;
        border-radius: 0;
    }

    body.gy-auth-body #gy-app-view {
        padding: 20px 22px 18px;
    }

    body.gy-auth-body .gy-vintech-auth-heading {
        margin: 40px 0 24px;
    }

    body.gy-auth-body .vt-auth-form-icon {
        margin-bottom: 34px;
    }

    body.gy-auth-body .gy-form {
        gap: 16px;
    }
}

/* Final mobile-first auth and notification overrides. */
body.gy-auth-body .gy-auth-page {
    grid-template-columns: minmax(0, 1fr);
    width: min(520px, calc(100% - 24px));
}

body.gy-auth-body .gy-loader {
    background: rgba(250, 250, 249, .72);
    backdrop-filter: blur(3px);
}

body.gy-auth-body .gy-loader::before {
    display: none;
}

body.gy-user-body .iziToast-wrapper,
body.gy-auth-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 10px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    padding: 0 12px !important;
}

body.gy-user-body .iziToast.gy-toast,
body.gy-auth-body .iziToast.gy-toast {
    width: min(360px, calc(100vw - 24px)) !important;
    min-height: 46px !important;
    margin: 0 auto 8px !important;
    border: 1px solid #e5e2de !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .98) !important;
    color: #282927 !important;
    box-shadow: 0 12px 32px rgba(35, 31, 27, .12) !important;
    backdrop-filter: blur(14px);
}

body.gy-user-body .iziToast.gy-toast::before,
body.gy-auth-body .iziToast.gy-toast::before {
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--gy-toast-accent);
}

body.gy-user-body .iziToast.gy-toast::after,
body.gy-auth-body .iziToast.gy-toast::after {
    top: 50%;
    left: 14px;
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: rgba(var(--gy-toast-accent-rgb), .12);
    font-size: 12px;
    box-shadow: none;
}

body.gy-user-body .iziToast.gy-toast-error::after,
body.gy-auth-body .iziToast.gy-toast-error::after {
    font-size: 16px;
}

body.gy-user-body .iziToast.gy-toast > .iziToast-body,
body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
    min-height: 44px !important;
    padding: 10px 38px 10px 42px !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-title,
body.gy-auth-body .iziToast.gy-toast .iziToast-title {
    display: none !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-message,
body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    color: #4f514e !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close,
body.gy-auth-body .iziToast.gy-toast .iziToast-close {
    right: 3px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-close::before,
body.gy-user-body .iziToast.gy-toast .iziToast-close::after,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::before,
body.gy-auth-body .iziToast.gy-toast .iziToast-close::after {
    top: 16px;
    left: 11px;
    width: 12px;
    height: 1px;
    background: #858783;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar {
    right: 8px !important;
    bottom: 0 !important;
    left: 8px !important;
    height: 1px !important;
    background: transparent !important;
}

body.gy-user-body .iziToast.gy-toast .iziToast-progressbar div,
body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar div {
    height: 1px !important;
    opacity: .45;
}

@media (max-width: 420px) {
    body.gy-auth-body .gy-auth-page {
        width: 100%;
    }

    body.gy-user-body .iziToast.gy-toast,
    body.gy-auth-body .iziToast.gy-toast {
        min-height: 46px !important;
        border-radius: 12px !important;
    }

    body.gy-user-body .iziToast.gy-toast > .iziToast-body,
    body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
        min-height: 44px !important;
        padding: 10px 36px 10px 40px !important;
    }
}

/* Micro app notifications: concise, lightweight, and thumb-screen friendly. */
html body.gy-user-body .iziToast.gy-toast,
html body.gy-auth-body .iziToast.gy-toast {
    width: min(240px, calc(100vw - 28px)) !important;
    min-height: 34px !important;
    margin: 0 auto 6px !important;
    padding: 0 !important;
    border: 1px solid #e7e4e0 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 7px 20px rgba(35, 31, 27, .1) !important;
}

html body.gy-user-body .iziToast.gy-toast::before,
html body.gy-auth-body .iziToast.gy-toast::before,
html body.gy-user-body .iziToast.gy-toast .iziToast-close,
html body.gy-auth-body .iziToast.gy-toast .iziToast-close,
html body.gy-user-body .iziToast.gy-toast .iziToast-progressbar,
html body.gy-auth-body .iziToast.gy-toast .iziToast-progressbar {
    display: none !important;
}

html body.gy-user-body .iziToast.gy-toast::after,
html body.gy-auth-body .iziToast.gy-toast::after {
    left: 9px;
    width: 15px;
    height: 15px;
    border: 0;
    border-radius: 50%;
    background: rgba(var(--gy-toast-accent-rgb), .1);
    font-size: 10px;
    box-shadow: none;
}

html body.gy-user-body .iziToast.gy-toast-error::after,
html body.gy-auth-body .iziToast.gy-toast-error::after {
    font-size: 12px;
}

html body.gy-user-body .iziToast.gy-toast > .iziToast-body,
html body.gy-auth-body .iziToast.gy-toast > .iziToast-body {
    width: 100% !important;
    min-height: 32px !important;
    padding: 7px 10px 7px 30px !important;
}

html body.gy-user-body .iziToast.gy-toast .iziToast-texts,
html body.gy-auth-body .iziToast.gy-toast .iziToast-texts {
    width: auto !important;
    gap: 0 !important;
}

html body.gy-user-body .iziToast.gy-toast .iziToast-message,
html body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    color: #555754 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}

/* Password visibility control: the slash reflects the hidden state. */
body :where(.gy-password-toggle)[aria-pressed="false"]::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 17px;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%) rotate(-42deg);
    transition: opacity .16s ease, transform .16s ease;
    pointer-events: none;
}

body :where(.gy-password-toggle)[aria-pressed="true"]::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 17px;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) rotate(-42deg) scaleX(.4);
    transition: opacity .16s ease, transform .16s ease;
    pointer-events: none;
}

/* Dark micro-toast positioned below the auth brand. */
html body.gy-auth-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 16px) !important;
    right: 14px !important;
    left: auto !important;
    width: auto !important;
    padding: 0 !important;
}

html body.gy-user-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 12px) !important;
    right: 14px !important;
    left: auto !important;
    width: auto !important;
    padding: 0 !important;
}

html body.gy-user-body .iziToast.gy-toast,
html body.gy-auth-body .iziToast.gy-toast {
    width: min(220px, calc(100vw - 28px)) !important;
    margin-right: 0 !important;
    border-color: #353836 !important;
    background: rgba(31, 33, 32, .97) !important;
    color: #fff !important;
    box-shadow: 0 9px 24px rgba(18, 19, 18, .24) !important;
}

html body.gy-user-body .iziToast.gy-toast .iziToast-message,
html body.gy-auth-body .iziToast.gy-toast .iziToast-message {
    color: #f6f7f5 !important;
}

html body.gy-user-body .iziToast.gy-toast::after,
html body.gy-auth-body .iziToast.gy-toast::after {
    background: rgba(var(--gy-toast-accent-rgb), .16);
    color: var(--gy-toast-accent);
}

/* Video-reference dashboard: mobile wallet first, adapted to VinTech. */
html body.gy-user-body.gy-home-body {
    --vt-home-orange: #a83d14;
    --vt-home-orange-deep: #74250b;
    --vt-home-ink: #202321;
    --vt-home-muted: #7c807d;
    --vt-home-line: #ececea;
    background: #eef0ef;
    color: var(--vt-home-ink);
}

html body.gy-user-body.gy-home-body .gy-shell {
    width: min(100%, 430px);
    min-height: 100svh;
    border: 0;
    background: #fff;
    box-shadow: 0 18px 60px rgba(34, 35, 34, .12);
}

html body.gy-user-body.gy-home-body .gy-app-bar {
    min-height: calc(72px + env(safe-area-inset-top));
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    gap: 10px;
    padding: calc(12px + env(safe-area-inset-top)) 18px 8px;
    border: 0;
    background:
        radial-gradient(circle at 92% 10%, rgba(202, 91, 38, .2), transparent 38%),
        linear-gradient(155deg, #151817 0%, #201814 55%, #3a180c 100%);
    color: #fff;
    backdrop-filter: none;
}

html body.gy-user-body.gy-home-body .gy-app-bar-button {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

html body.gy-user-body.gy-home-body .gy-app-logo {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-app-identity-copy span {
    color: rgba(255, 255, 255, .64);
    font-size: 10px;
}

html body.gy-user-body.gy-home-body .gy-app-identity-copy strong {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

html body.gy-user-body.gy-home-body [data-gy-app-view] {
    min-height: calc(100svh - 150px);
    background: #fff;
}

html body.gy-user-body.gy-home-body .gy-home-content.vt-dashboard {
    display: block;
    max-width: none;
    padding: 0 0 calc(104px + env(safe-area-inset-bottom));
    background: #fff;
}

html body.gy-user-body.gy-home-body .gy-wallet-balance-card.vt-wallet {
    display: block;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0 0 28px 28px;
    background:
        radial-gradient(circle at 12% 115%, rgba(213, 83, 25, .62), transparent 48%),
        radial-gradient(circle at 95% 25%, rgba(255, 132, 74, .22), transparent 42%),
        linear-gradient(145deg, #151817 0%, #2b1810 58%, #6f250b 100%);
    color: #fff;
    box-shadow: 0 16px 34px -24px rgba(71, 31, 14, .72);
}

html body.gy-user-body.gy-home-body .vt-wallet-top {
    min-height: 0;
    padding: 10px 18px 25px;
    background: transparent;
}

html body.gy-user-body.gy-home-body .vt-wallet-person {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
}

html body.gy-user-body.gy-home-body .vt-wallet-avatar {
    display: none;
}

html body.gy-user-body.gy-home-body .vt-wallet-person small {
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
    font-weight: 500;
}

html body.gy-user-body.gy-home-body .vt-wallet-person strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: rgba(255, 255, 255, .92);
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body.gy-user-body.gy-home-body .vt-wallet-visibility {
    width: 40px;
    height: 40px;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

html body.gy-user-body.gy-home-body .gy-home-balance-amount.vt-wallet-amount {
    max-width: 100%;
    margin: 12px 0 6px;
    color: #fff;
    font-size: clamp(32px, 10.5vw, 44px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.045em;
    text-shadow: none;
}

html body.gy-user-body.gy-home-body .vt-wallet-yield {
    display: inline-flex;
    width: auto;
    min-height: 25px;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    padding: 4px 9px;
    color: rgba(255, 255, 255, .76);
    font-size: 9px;
}

html body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
}

html body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions a {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 10px;
    font-weight: 650;
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions a.is-primary {
    border-color: #fff;
    background: #fff;
    color: #252724;
}

html body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions svg,
html body.gy-user-body.gy-home-body .gy-wallet-actions.vt-wallet-actions i {
    width: 17px;
    height: 17px;
    color: currentColor;
    font-size: 17px;
}

html body.gy-user-body.gy-home-body .vt-wallet-insights {
    display: block;
    margin: 0;
    padding: 18px;
    border-radius: 26px 26px 0 0;
    background: #fff;
}

html body.gy-user-body.gy-home-body .vt-insight-card {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--vt-home-ink);
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .vt-activity-card {
    display: none;
}

html body.gy-user-body.gy-home-body .vt-card-heading {
    margin-bottom: 12px;
}

html body.gy-user-body.gy-home-body .vt-card-heading small {
    color: var(--vt-home-muted);
    font-size: 9px;
}

html body.gy-user-body.gy-home-body .vt-card-heading h2 {
    color: var(--vt-home-ink);
    font-size: 15px;
}

html body.gy-user-body.gy-home-body .vt-card-heading > a {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: #f3f3f1;
    color: #555955;
}

html body.gy-user-body.gy-home-body .vt-insight-card dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

html body.gy-user-body.gy-home-body .vt-insight-card dl > div {
    min-width: 0;
    padding: 12px 9px;
    border: 1px solid var(--vt-home-line);
    border-radius: 14px;
    background: #f8f8f6;
}

html body.gy-user-body.gy-home-body .vt-insight-card dt {
    color: var(--vt-home-muted);
    font-size: 8px;
}

html body.gy-user-body.gy-home-body .vt-insight-card dd {
    margin-top: 5px;
    overflow: hidden;
    color: var(--vt-home-ink);
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body.gy-user-body.gy-home-body .vt-dashboard-grid {
    display: flex;
    gap: 0;
    flex-direction: column;
    background: #fff;
}

html body.gy-user-body.gy-home-body .vt-panel,
html body.gy-user-body.gy-home-body .gy-home-section.vt-panel {
    margin: 0;
    padding: 20px 18px;
    border: 0;
    border-top: 1px solid #f0f0ee;
    border-radius: 0;
    background: #fff;
    color: var(--vt-home-ink);
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .vt-panel-head,
html body.gy-user-body.gy-home-body .gy-home-section-head {
    margin-bottom: 14px;
}

html body.gy-user-body.gy-home-body .vt-panel-head span,
html body.gy-user-body.gy-home-body .gy-home-section-head > span {
    color: var(--vt-home-muted);
    font-size: 9px;
}

html body.gy-user-body.gy-home-body .vt-panel-head h2,
html body.gy-user-body.gy-home-body .gy-home-section-head h2 {
    color: var(--vt-home-ink);
    font-size: 15px;
    font-weight: 700;
}

html body.gy-user-body.gy-home-body .vt-panel-head a,
html body.gy-user-body.gy-home-body .gy-home-section-head a {
    color: var(--vt-home-orange);
    font-size: 9px;
    font-weight: 700;
}

html body.gy-user-body.gy-home-body .vt-transaction-row {
    min-height: 58px;
    padding: 8px 0;
    border-bottom: 1px solid #f2f2f0;
    color: var(--vt-home-ink);
}

html body.gy-user-body.gy-home-body .vt-transaction-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f6ede8;
    color: var(--vt-home-orange);
}

html body.gy-user-body.gy-home-body .vt-transaction-icon.is-credit {
    background: #edf7f1;
    color: #35a36b;
}

html body.gy-user-body.gy-home-body .vt-transaction-copy strong,
html body.gy-user-body.gy-home-body .vt-transaction-amount {
    color: var(--vt-home-ink);
    font-size: 10px;
}

html body.gy-user-body.gy-home-body .vt-transaction-copy small {
    color: var(--vt-home-muted);
    font-size: 8px;
}

html body.gy-user-body.gy-home-body .vt-transaction-amount.is-credit {
    color: #2c9a60;
}

html body.gy-user-body.gy-home-body .gy-home-plan-card.vt-plan-preview {
    min-height: 170px;
    margin: 10px 18px 20px;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    box-shadow: 0 14px 30px -22px rgba(41, 30, 24, .35);
}

html body.gy-user-body.gy-home-body .gy-home-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 8px;
}

html body.gy-user-body.gy-home-body .gy-home-action {
    min-height: 72px;
    gap: 7px;
    border: 0;
    border-radius: 14px;
    background: #f7f7f5;
    color: #555955;
    padding: 9px 4px;
    font-size: 8px;
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-home-action-icon {
    width: 32px;
    height: 32px;
    border: 1px solid #ebe7e3;
    border-radius: 50%;
    background: #fff;
    color: var(--vt-home-orange);
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-home-info-list {
    overflow: hidden;
    border: 1px solid var(--vt-home-line);
    border-radius: 17px;
    background: #fff;
}

html body.gy-user-body.gy-home-body .gy-home-info-row {
    min-height: 64px;
    border-bottom-color: #f1f1ef;
    background: #fff;
    color: var(--vt-home-ink);
}

html body.gy-user-body.gy-home-body .gy-home-info-icon {
    background: #f6ede8;
    color: var(--vt-home-orange);
}

html body.gy-user-body.gy-home-body .gy-home-info-copy strong,
html body.gy-user-body.gy-home-body .gy-home-community-copy strong {
    color: var(--vt-home-ink);
}

html body.gy-user-body.gy-home-body .gy-home-info-copy small,
html body.gy-user-body.gy-home-body .gy-home-community-copy small {
    color: var(--vt-home-muted);
}

html body.gy-user-body.gy-home-body .gy-home-community {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

html body.gy-user-body.gy-home-body .gy-home-community-card {
    min-height: 82px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
    border: 1px solid var(--vt-home-line);
    border-radius: 16px;
    background: #f8f8f6;
    color: var(--vt-home-ink);
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-home-community-icon {
    width: 34px;
    height: 34px;
}

html body.gy-user-body.gy-home-body .gy-home-community-card .gy-home-chevron {
    display: none;
}

html body.gy-user-body .gy-nav-label {
    display: none;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
}

html body.gy-user-body.gy-home-body .gy-nav-label {
    display: block;
}

html body.gy-user-body.gy-home-body .vt-wallet-visibility .gy-eye-closed {
    display: none;
}

html.gy-balances-hidden body.gy-user-body.gy-home-body .vt-wallet-visibility .gy-eye-open {
    display: none;
}

html.gy-balances-hidden body.gy-user-body.gy-home-body .vt-wallet-visibility .gy-eye-closed {
    display: inline-grid;
}

html body.gy-user-body.gy-home-body .gy-bottom-nav {
    right: 50%;
    bottom: 0;
    left: 50%;
    width: min(100%, 430px);
    height: calc(76px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
}

html body.gy-user-body.gy-home-body .iziToast-wrapper {
    top: calc(env(safe-area-inset-top) + 72px) !important;
}

html body.gy-user-body.gy-home-body .gy-bottom-nav-inner {
    height: calc(76px + env(safe-area-inset-bottom));
    align-items: center;
    gap: 2px;
    border: 0;
    border-top: 1px solid #ececea;
    border-radius: 24px 24px 0 0;
    background: rgba(255, 255, 255, .97);
    padding: 7px 10px max(7px, env(safe-area-inset-bottom));
    box-shadow: 0 -10px 30px rgba(31, 32, 31, .08);
    backdrop-filter: blur(16px);
}

html body.gy-user-body.gy-home-body .gy-nav-item,
html body.gy-user-body.gy-home-body .gy-nav-primary {
    display: flex;
    width: 54px;
    height: 54px;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-direction: column;
    align-self: center;
    margin: 0;
    border: 0;
    border-radius: 18px;
    background: transparent !important;
    color: #929692 !important;
    box-shadow: none !important;
    transform: none;
}

html body.gy-user-body.gy-home-body .gy-nav-item.is-active {
    background: #f6ede8 !important;
    color: var(--vt-home-orange) !important;
}

html body.gy-user-body.gy-home-body .gy-nav-primary {
    width: 58px;
    height: 58px;
    min-height: 58px;
    margin-top: -22px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg, #b9481c, #7c290d) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px -14px rgba(129, 45, 15, .72) !important;
}

html body.gy-user-body.gy-home-body .gy-nav-primary .gy-nav-label {
    display: none;
}

/* Login announcement: compact, readable, and consistent with the new wallet. */
html body.gy-user-body.gy-home-body .gy-announcement-overlay {
    background: rgba(20, 23, 21, .48);
    backdrop-filter: blur(4px);
}

html body.gy-user-body.gy-home-body .gy-announcement-panel {
    width: min(calc(100% - 28px), 390px);
    max-height: calc(100dvh - 32px);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 25px;
    background: #fff;
    color: var(--vt-home-ink);
    padding: 16px;
    box-shadow: 0 24px 64px -24px rgba(20, 22, 21, .42);
}

html body.gy-user-body.gy-home-body .gy-announcement-panel::before {
    display: none;
}

html body.gy-user-body.gy-home-body .gy-announcement-head {
    grid-template-columns: 36px minmax(0, 1fr) 34px;
    gap: 10px;
}

html body.gy-user-body.gy-home-body .gy-announcement-mark {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f4e9e4;
    color: var(--vt-home-orange);
    font-size: 18px;
    box-shadow: none;
}

html body.gy-user-body.gy-home-body .gy-announcement-head p {
    color: var(--vt-home-orange);
    font-size: 8px;
}

html body.gy-user-body.gy-home-body .gy-announcement-head h3 {
    color: var(--vt-home-ink);
    font-size: 17px;
}

html body.gy-user-body.gy-home-body .gy-announcement-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f3f3f1;
    color: #656965;
}

html body.gy-user-body.gy-home-body .gy-announcement-intro {
    margin: 13px 0 0;
    color: var(--vt-home-muted);
    font-size: 10px;
    line-height: 1.5;
}

html body.gy-user-body.gy-home-body .gy-vintech-announcement-art {
    width: 100%;
    max-height: min(58dvh, 520px);
    margin-top: 12px;
    border: 0;
    border-radius: 17px;
    background: #f4f4f2;
    object-fit: contain;
}

html body.gy-user-body.gy-home-body .gy-announcement-action {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 12px;
    border-radius: 13px;
    background: var(--vt-home-orange-deep) !important;
    color: #fff !important;
    font-size: 10px;
    box-shadow: none !important;
}

@media (min-width: 700px) {
    html body.gy-user-body.gy-home-body {
        padding: 22px 0;
    }

    html body.gy-user-body.gy-home-body .gy-shell {
        min-height: calc(100svh - 44px);
        overflow: hidden;
        border-radius: 30px;
    }

    html body.gy-user-body.gy-home-body .gy-bottom-nav {
        bottom: 22px;
        width: 430px;
    }

    html body.gy-user-body.gy-home-body .gy-bottom-nav-inner {
        border-right: 1px solid #ececea;
        border-left: 1px solid #ececea;
        border-radius: 24px 24px 30px 30px;
    }
}

/* Final shell overrides: keep the approved dashboard independent from the legacy home theme above. */
html body.gy-user-body.gy-home-body {
    background: #f3f3f3;
    color: #1e2022;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}
html body.gy-user-body.gy-home-body .gy-shell {
    width: min(100%, 430px);
    min-height: 100dvh;
    overflow: hidden;
    padding-bottom: 0;
    background: #fff;
    box-shadow: 0 20px 60px rgba(23,23,23,.12);
}
html body.gy-user-body.gy-home-body .gy-app-bar { display: none; }
html body.gy-user-body.gy-home-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.gy-home-body .gy-bottom-nav {
    position: fixed;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    width: min(100%,430px);
    height: calc(80px + env(safe-area-inset-bottom));
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    transform: none;
}
html body.gy-user-body.gy-home-body .gy-bottom-nav-inner {
    display: grid;
    height: 100%;
    grid-template-columns: repeat(5,1fr);
    align-items: center;
    padding: 7px 8px max(8px,env(safe-area-inset-bottom));
    border: 0;
    border-top: 1px solid #ececef;
    border-radius: 17px 17px 0 0;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -8px 24px rgba(35,36,40,.08);
}
html body.gy-user-body.gy-home-body .gy-nav-item,
html body.gy-user-body.gy-home-body .gy-nav-primary {
    display: flex;
    min-width: 0;
    width: auto;
    height: auto;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-direction: column;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #85888c;
    font-size: 9px;
    text-decoration: none;
    transform: none;
}
html body.gy-user-body.gy-home-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.gy-home-body .gy-nav-item.is-active { color: #252729; font-weight: 600; }
html body.gy-user-body.gy-home-body .gy-nav-primary {
    width: 60px;
    height: 60px;
    justify-self: center;
    align-self: start;
    margin-top: -22px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg,#bd461a,#7e280c);
    color: #fff;
    box-shadow: 0 8px 18px rgba(120,42,13,.28);
}
html body.gy-user-body.gy-home-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.gy-home-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.gy-home-body .gy-nav-label { display: block; font-size: 9px; }
@media (min-width: 700px) {
    html body.gy-user-body.gy-home-body { padding: 28px 0; }
    html body.gy-user-body.gy-home-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.gy-home-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.gy-home-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Approved dashboard refinements. */
html body.gy-user-body.gy-home-body .vt-approved-avatar {
    padding: 7px;
    object-fit: contain;
}

html body.gy-user-body.gy-home-body .vt-approved-balance h1,
html body.gy-user-body.gy-home-body .gy-home-balance-amount {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}

html body.gy-user-body.gy-home-body .vt-approved-wallet-id button {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    margin: -6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font-size: 12px;
}

html body.gy-user-body.gy-home-body .vt-approved-wallet-id button:focus-visible {
    outline: 1px solid rgba(255,255,255,.82) !important;
    outline-offset: 2px;
}

html body.gy-user-body.gy-home-body .vt-approved-quick-actions a > span,
html body.gy-user-body.gy-home-body .vt-approved-quick-actions a:nth-child(n) > span {
    border-color: #f2e4dd;
    background: #fff0e8;
    color: #a83c13;
}

html body.gy-user-body.gy-home-body .vt-approved-quick-actions a > span i {
    font-size: 17px;
    line-height: 1;
}

html body.gy-user-body.gy-home-body .vt-approved-inline-more {
    padding: 21px 1px 0;
}

html body.gy-user-body.gy-home-body .vt-approved-inline-more-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

html body.gy-user-body.gy-home-body .vt-approved-inline-more-grid a,
html body.gy-user-body.gy-home-body .vt-approved-inline-more-grid button {
    display: flex;
    min-width: 0;
    min-height: 76px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-direction: column;
    padding: 9px 5px;
    border: 1px solid #efefef;
    border-radius: 14px;
    background: #fff;
    color: #313335;
    text-align: center;
    text-decoration: none;
}

html body.gy-user-body.gy-home-body .vt-approved-inline-more-grid span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #fff0e8;
    color: #a83c13;
    font-size: 15px;
}

html body.gy-user-body.gy-home-body .vt-approved-inline-more-grid strong {
    font-size: 9px;
    font-weight: 500;
}

html body.gy-user-body.gy-home-body .gy-nav-item.is-active,
html body.gy-user-body.gy-home-body .gy-nav-item.is-active:hover,
html body.gy-user-body.gy-home-body .gy-nav-item.is-active:focus-visible {
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #a83c13 !important;
    box-shadow: none !important;
    transform: none;
}

html body.gy-user-body.gy-home-body .gy-nav-item.is-active::before,
html body.gy-user-body.gy-home-body .gy-nav-item.is-active::after {
    display: none !important;
}

html:has(body.gy-user-body.gy-home-body),
html body.gy-user-body.gy-home-body,
html body.gy-user-body.gy-home-body .gy-shell,
html body.gy-user-body.gy-home-body [data-gy-app-view],
html body.gy-user-body.gy-home-body .vt-approved-modal-card {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html:has(body.gy-user-body.gy-home-body)::-webkit-scrollbar,
html body.gy-user-body.gy-home-body::-webkit-scrollbar,
html body.gy-user-body.gy-home-body .gy-shell::-webkit-scrollbar,
html body.gy-user-body.gy-home-body [data-gy-app-view]::-webkit-scrollbar,
html body.gy-user-body.gy-home-body .vt-approved-modal-card::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

html body.gy-user-body.gy-home-body .vt-approved-announcement-art {
    width: 100%;
    height: auto;
    max-height: none;
    margin-top: 12px;
    border-radius: 12px;
    background: transparent;
    object-fit: contain;
    object-position: center;
}

html body.gy-user-body.gy-home-body .vt-approved-modal-head h2[data-modal-initial-focus]:focus,
html body.gy-user-body.gy-home-body .vt-approved-modal-head h2[data-modal-initial-focus]:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Deposit amount selection — approved dashboard visual language, isolated from later flow steps. */
html body.gy-user-body.vt-deposit-entry-body {
    background: #f3f3f3;
    color: #1e2022;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}

html body.gy-user-body.vt-deposit-entry-body .gy-shell {
    width: min(100%, 430px);
    min-height: 100dvh;
    overflow: hidden;
    padding-bottom: 0;
    background: #fff;
    box-shadow: 0 20px 60px rgba(23,23,23,.12);
}

html body.gy-user-body.vt-deposit-entry-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-deposit-entry-body [data-gy-app-view] { min-height: 100dvh; }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-page {
    min-height: 100dvh;
    padding: max(12px, env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom));
    background: #fff;
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-header {
    display: grid;
    min-height: 58px;
    grid-template-columns: 42px minmax(0,1fr) 42px;
    align-items: center;
    gap: 12px;
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-header > a {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #ededed;
    border-radius: 50%;
    background: #fff;
    color: #2f3133;
    font-size: 17px;
    text-decoration: none;
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-header > div { text-align: center; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 17px;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(150deg,#111516 0%,#1d1513 54%,#76270c 100%);
    color: #fff;
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance > div { display: flex; min-width: 0; align-items: center; gap: 11px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance-icon { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); font-size: 20px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance p { min-width: 0; margin: 0; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance p small,
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance p strong { display: block; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance p small { color: rgba(255,255,255,.6); font-size: 9px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance p strong { margin-top: 3px; overflow: hidden; color: #fff; font-size: 18px; font-weight: 500; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance > span { flex: 0 0 auto; padding: 7px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.72); font-size: 8px; }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel {
    margin-top: 16px;
    padding: 18px 15px 15px;
    border: 1px solid #eeeeef;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(32,33,36,.055);
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head > div { min-width: 0; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head small { display: block; color: #a83c13; font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head h2 { max-width: 250px; margin: 4px 0 0; color: #292b2e; font-size: 16px; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head > span { flex: 0 0 auto; margin-top: 2px; padding: 6px 8px; border-radius: 999px; background: #fff0e8; color: #a83c13; font-size: 8px; font-weight: 500; }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-form { margin-top: 17px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-amount-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-amount-grid button { min-height: 46px; padding: 8px 4px; border: 1px solid #e9e9e9; border-radius: 13px; background: #fafafa; color: #4f5255; font-size: 11px; font-weight: 500; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-amount-grid button.is-active { border-color: #b84218; background: #fff0e8; color: #9b310d; box-shadow: inset 0 0 0 1px rgba(184,66,24,.12); }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field { margin-top: 17px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field > label { display: block; margin-bottom: 7px; color: #626569; font-size: 10px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field > div { display: flex; height: 56px; align-items: center; overflow: hidden; border: 1px solid #e5e5e6; border-radius: 15px; background: #fafafa; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field > div > span { display: grid; width: 48px; height: 100%; place-items: center; border-right: 1px solid #e8e8e8; color: #a83c13; font-size: 18px; font-weight: 500; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field input { min-width: 0; height: 100%; flex: 1; padding: 0 14px; border: 0; outline: 0; background: transparent; color: #252729; font-size: 18px; font-weight: 500; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field input::placeholder { color: #b2b4b6; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field > small { display: block; margin-top: 6px; color: #96989c; font-size: 8px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-custom-field > .vt-deposit-error { color: #cf4545; }

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-continue {
    display: flex;
    width: 100%;
    min-height: 51px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 17px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(145deg,#b84218,#852a0c);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 10px 20px rgba(133,42,12,.16);
}

html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance { display: grid; min-height: 68px; grid-template-columns: 38px minmax(0,1fr) 16px; align-items: center; gap: 10px; margin-top: 13px; padding: 11px 13px; border: 1px solid #efefef; border-radius: 17px; background: #fafafa; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e8; color: #a83c13; font-size: 17px; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance div strong,
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance div small { display: block; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance div strong { color: #303235; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance div small { margin-top: 3px; color: #85878b; font-size: 8px; line-height: 1.45; }
html body.gy-user-body.vt-deposit-entry-body .vt-deposit-assurance > i { color: #a1a3a6; font-size: 11px; }

html body.gy-user-body.vt-deposit-entry-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-deposit-entry-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-item,
html body.gy-user-body.vt-deposit-entry-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-deposit-entry-body .gy-nav-label { display: block; font-size: 9px; }

html:has(body.gy-user-body.vt-deposit-entry-body),
html body.gy-user-body.vt-deposit-entry-body,
html body.gy-user-body.vt-deposit-entry-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-deposit-entry-body)::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-entry-body::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-entry-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (max-width: 350px) {
    html body.gy-user-body.vt-deposit-entry-body .vt-deposit-page { padding-right: 13px; padding-left: 13px; }
    html body.gy-user-body.vt-deposit-entry-body .vt-deposit-balance > span { display: none; }
    html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head { display: block; }
    html body.gy-user-body.vt-deposit-entry-body .vt-deposit-panel-head > span { display: inline-flex; margin-top: 8px; }
}

@media (min-width: 700px) {
    html body.gy-user-body.vt-deposit-entry-body { padding: 28px 0; }
    html body.gy-user-body.vt-deposit-entry-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-deposit-entry-body .vt-deposit-page { min-height: 844px; }
    html body.gy-user-body.vt-deposit-entry-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-deposit-entry-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Use the calm authentication orbit for every user-page transition and form submission. */
html body.gy-user-body .gy-loader {
    background: rgba(250,250,249,.72);
    backdrop-filter: blur(3px);
}

html body.gy-user-body .gy-loader::before {
    display: none !important;
}

html body.gy-user-body .gy-loader.is-loading .vt-auth-loader-orbit {
    display: block;
}

/* Deposit payment confirmation — step two of the approved deposit flow. */
html body.gy-user-body.vt-deposit-confirm-body {
    background: #f3f3f3;
    color: #1e2022;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}

html body.gy-user-body.vt-deposit-confirm-body .gy-shell {
    width: min(100%,430px);
    min-height: 100dvh;
    overflow: hidden;
    padding-bottom: 0;
    background: #fff;
    box-shadow: 0 20px 60px rgba(23,23,23,.12);
}

html body.gy-user-body.vt-deposit-confirm-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-deposit-confirm-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-confirm-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }

html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-header {
    display: grid;
    min-height: 58px;
    grid-template-columns: 42px minmax(0,1fr) 42px;
    align-items: center;
    gap: 12px;
}
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-header > div { text-align: center; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-confirm-content { gap: 13px; margin-top: 12px; }

html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: start; gap: 7px; padding: 12px 13px; border: 1px solid #efefef; border-radius: 17px; background: #fafafa; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span { display: grid; min-width: 54px; place-items: center; gap: 4px; color: #9a9c9f; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span b { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #e1e1e1; border-radius: 50%; background: #fff; color: #8d8f92; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span small { font-size: 8px; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > i { height: 1px; margin-top: 13px; background: #dedede; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span.is-complete b { border-color: #a83c13; background: #a83c13; color: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span.is-complete { color: #6a6c6f; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span.is-active b { border-color: #b84218; background: #fff0e8; color: #a83c13; box-shadow: 0 0 0 3px rgba(184,66,24,.08); }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-progress > span.is-active { color: #a83c13; }

html body.gy-user-body.vt-deposit-confirm-body .gy-payment-card,
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-card { gap: 14px; padding: 17px 15px; border: 1px solid #eeeeef; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(32,33,36,.055); }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-card.is-proof-submitted { display: none; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-heading { text-align: center; }
html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-payment-icon { display: grid; width: 42px; height: 42px; place-items: center; margin: 0 auto 9px; border: 1px solid #f2e4dd; border-radius: 50%; background: #fff0e8; color: #a83c13; font-size: 19px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-heading .gy-card-title { margin: 0; color: #292b2e; font-size: 16px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-heading .gy-card-subtitle { max-width: 300px; margin: 5px auto 0; color: #85878b; font-size: 9px; line-height: 1.5; }

html body.gy-user-body.vt-deposit-confirm-body .gy-payment-amount { padding: 16px; border: 0; border-radius: 17px; background: linear-gradient(150deg,#111516 0%,#1d1513 54%,#76270c 100%); color: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-amount > span { color: rgba(255,255,255,.6); font-size: 9px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-amount > strong { display: block; margin-top: 4px; color: #fff; font-size: 27px; font-weight: 500; letter-spacing: -.03em; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payment-warning { margin: 7px 0 0; color: rgba(255,255,255,.64); font-size: 8px; }

html body.gy-user-body.vt-deposit-confirm-body .gy-detail-grid { overflow: hidden; border: 1px solid #ececed; border-radius: 16px; background: #fafafa; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row { display: grid; min-height: 50px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid #ebebeb; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row:last-child { border-bottom: 0; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > label { color: #777a7e; font-size: 9px; font-weight: 500; letter-spacing: .035em; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > span,
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > div { min-width: 0; color: #242628; font-size: 11px; font-weight: 600; text-align: right; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > div { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > div > span,
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row > div > strong { color: #242628; opacity: 1; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body #account_number { color: #141617; font-size: 15px; font-weight: 650; letter-spacing: .045em; white-space: nowrap; }
html body.gy-user-body.vt-deposit-confirm-body #wallet_note { color: #743116; font-size: 10px; font-weight: 650; letter-spacing: .045em; white-space: nowrap; }
html body.gy-user-body.vt-deposit-confirm-body .gy-small-action { display: inline-flex; width: 28px; min-width: 28px; height: 28px; min-height: 28px; flex: 0 0 28px; align-items: center; justify-content: center; gap: 0; padding: 0; border: 1px solid #eacabc; border-radius: 50%; background: #fff0e8; color: #91300e; font-size: 12px; font-weight: 600; }

html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading { padding: 17px; border-bottom: 1px solid #ebebeb; background: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading.hidden,
html body.gy-user-body.vt-deposit-confirm-body .gy-detail-row.hidden,
html body.gy-user-body.vt-deposit-confirm-body #wallet-note-instruction.hidden,
html body.gy-user-body.vt-deposit-confirm-body #wallet-expiry-section.hidden { display: none !important; }
html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading .gy-inline-spinner { width: 28px; height: 28px; border: 2px solid #e8e4e1; border-top-color: #8a5b45; box-shadow: none; animation-duration: 1s; }
html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading-title { margin: 8px 0 0; color: #292b2d; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading-subtitle,
html body.gy-user-body.vt-deposit-confirm-body .gy-wallet-loading-error { margin: 3px 0 0; color: #74777b; font-size: 9px; }

html body.gy-user-body.vt-deposit-confirm-body .gy-note-card { padding: 12px 13px; border: 1px solid #ebcfc2; border-radius: 14px; background: #fff5f0; color: #4c4e51; }
html body.gy-user-body.vt-deposit-confirm-body .gy-note-card p,
html body.gy-user-body.vt-deposit-confirm-body .gy-note-card .gy-wallet-note-copy { margin: 0; color: #4c4e51; font-size: 10px; line-height: 1.55; }
html body.gy-user-body.vt-deposit-confirm-body .gy-note-card strong { color: #8d2f0e; font-weight: 650; }
html body.gy-user-body.vt-deposit-confirm-body .gy-note-card p + p { margin-top: 4px; }
html body.gy-user-body.vt-deposit-confirm-body #wallet-expiry-section .gy-card-subtitle { margin: 0; color: #777a7e; font-size: 9px; }
html body.gy-user-body.vt-deposit-confirm-body #wallet_expiry { color: #a83c13; font-weight: 600; }

html body.gy-user-body.vt-deposit-confirm-body .gy-button { display: flex; width: 100%; min-height: 49px; align-items: center; justify-content: center; gap: 8px; border: 0 !important; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c) !important; color: #fff !important; font-size: 11px; font-weight: 500; text-decoration: none; box-shadow: 0 10px 20px rgba(133,42,12,.14) !important; }
html body.gy-user-body.vt-deposit-confirm-body .gy-button-secondary { border: 1px solid #e6d5cd !important; background: #fff !important; color: #98320f !important; box-shadow: none !important; }

html body.gy-user-body.vt-deposit-confirm-body .gy-proof-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-heading .gy-card-title { margin: 0; color: #292b2e; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-heading .gy-card-subtitle { margin: 4px 0 0; color: #85878b; font-size: 9px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-heading > span { padding: 6px 8px; border-radius: 999px; background: #f5f5f4; color: #85878b; font-size: 8px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-card .gy-form-card { display: grid; gap: 13px; padding: 0; border: 0; background: transparent; box-shadow: none; }
html body.gy-user-body.vt-deposit-confirm-body .gy-upload-box { overflow: hidden; border: 1px dashed #d9c7be; border-radius: 16px; background: #fff9f6; }
html body.gy-user-body.vt-deposit-confirm-body .gy-upload-box label { display: flex; min-height: 112px; align-items: center; justify-content: center; flex-direction: column; color: #a83c13; cursor: pointer; }
html body.gy-user-body.vt-deposit-confirm-body .gy-upload-box label > i { font-size: 23px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-upload-title { margin-top: 7px; color: #3c3e40; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-upload-subtitle { margin-top: 3px; color: #929498; font-size: 8px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-card .gy-form-row { display: grid; gap: 6px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-card .gy-label { color: #5e6164; font-size: 9px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-card .gy-input { min-height: 49px; border: 1px solid #e5e5e6; border-radius: 13px; background: #fafafa; color: #2d2f31; font-size: 11px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-preview-image { border-radius: 14px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-submitted-state { padding: 16px; border-radius: 16px; background: #f2fbf6; }
html body.gy-user-body.vt-deposit-confirm-body .gy-submitted-state > span { display: grid; width: 38px; height: 38px; place-items: center; margin: 0 auto 8px; border-radius: 50%; background: #2ab976; color: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .gy-submitted-state strong { color: #2d3430; font-size: 11px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-submitted-state p { margin: 4px 0 0; color: #6f7772; font-size: 8px; }

html body.gy-user-body.vt-deposit-confirm-body .gy-review-result { display: grid; gap: 16px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-result-heading { display: grid; justify-items: center; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-result-icon { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid #edd9cf; border-radius: 50%; background: #fff5ef; color: #9b3511; font-size: 21px; box-shadow: 0 0 0 7px #fcfaf9; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-status { display: inline-flex; min-height: 25px; align-items: center; gap: 5px; margin-top: 15px; padding: 0 9px; border-radius: 999px; background: #fff3dc; color: #87540b; font-size: 8px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-result-heading h3 { margin: 10px 0 0; color: #27292b; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-result-heading p { max-width: 270px; margin: 5px 0 0; color: #7d8084; font-size: 9px; line-height: 1.55; }

html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary { overflow: hidden; border: 1px solid #ececed; border-radius: 16px; background: #fafafa; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary > div { display: grid; min-height: 46px; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: center; gap: 12px; padding: 9px 12px; border-bottom: 1px solid #ebebeb; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary > div:last-child { border-bottom: 0; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary span { color: #7d8084; font-size: 9px; letter-spacing: .025em; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary strong { min-width: 0; overflow: hidden; color: #292b2d; font-size: 10px; font-weight: 600; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-summary > div:first-child strong { color: #99340f; font-size: 14px; }

html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px 9px 13px; border: 1px solid #ececed; border-radius: 16px; background: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof > div { display: grid; gap: 3px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof > div span { color: #333538; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof > div small { color: #8b8e92; font-size: 8px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof > button { position: relative; display: block; width: 48px; height: 44px; flex: 0 0 auto; overflow: hidden; padding: 0; border: 1px solid #e3e3e3; border-radius: 10px; background: #f7f7f7; color: #fff; cursor: pointer; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof img { width: 100%; height: 100%; object-fit: cover; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-proof button i { position: absolute; right: 4px; bottom: 4px; display: grid; width: 16px; height: 16px; place-items: center; border-radius: 50%; background: rgba(20,21,22,.72); font-size: 7px; }

html body.gy-user-body.vt-deposit-confirm-body .gy-review-note { display: flex; align-items: flex-start; gap: 8px; padding: 11px 12px; border: 1px solid #e5e5e5; border-radius: 14px; background: #f8f8f7; color: #676a6e; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-note > i { flex: 0 0 auto; margin-top: 1px; color: #96330f; font-size: 12px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-note p { margin: 0; color: #676a6e; font-size: 9px; line-height: 1.55; }
html body.gy-user-body.vt-deposit-confirm-body .gy-review-actions { display: grid; gap: 9px; }

html body.gy-user-body.gy-proof-modal-open { overflow: hidden; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal { position: fixed; z-index: 140; inset: 0; display: grid; width: min(100%,430px); margin: 0 auto; place-items: center; padding: max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom)); }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal.hidden { display: none !important; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(15,16,17,.76); backdrop-filter: blur(5px); cursor: default; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-dialog { position: relative; display: grid; width: 100%; max-height: calc(100dvh - 36px); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.32); }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 10px 16px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header > div { display: grid; gap: 2px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header small { color: #96999d; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header strong { color: #292b2d; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header > button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid #e8e8e8; border-radius: 50%; background: #f8f8f8; color: #424447; font-size: 13px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-header > button:focus-visible { outline: 2px solid rgba(145,48,14,.32); outline-offset: 2px; box-shadow: none !important; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-image-wrap { display: grid; min-height: 240px; max-height: calc(100dvh - 130px); overflow: auto; place-items: center; padding: 12px; background: #f3f3f2; }
html body.gy-user-body.vt-deposit-confirm-body .gy-proof-modal-image-wrap img { display: block; max-width: 100%; max-height: calc(100dvh - 154px); border-radius: 12px; object-fit: contain; box-shadow: 0 7px 24px rgba(25,26,27,.12); }

html body.gy-user-body.vt-deposit-confirm-body .gy-payhub-dialog { width: min(calc(100% - 24px),406px); border-radius: 20px; background: #fff; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payhub-header { border-radius: 20px 20px 0 0; background: #fff; color: #252729; }
html body.gy-user-body.vt-deposit-confirm-body .gy-payhub-header small { color: #a83c13; }

html body.gy-user-body.vt-deposit-confirm-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-deposit-confirm-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-item,
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-deposit-confirm-body .gy-nav-label { display: block; font-size: 9px; }

html:has(body.gy-user-body.vt-deposit-confirm-body),
html body.gy-user-body.vt-deposit-confirm-body,
html body.gy-user-body.vt-deposit-confirm-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-deposit-confirm-body)::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-confirm-body::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-confirm-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width: 700px) {
    html body.gy-user-body.vt-deposit-confirm-body { padding: 28px 0; }
    html body.gy-user-body.vt-deposit-confirm-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-deposit-confirm-body .vt-deposit-confirm-page { min-height: 844px; }
    html body.gy-user-body.vt-deposit-confirm-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-deposit-confirm-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Deposit history — status overview and resumable deposit records. */
html body.gy-user-body.vt-deposit-history-body {
    background: #f3f3f3;
    color: #1e2022;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}

html body.gy-user-body.vt-deposit-history-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-deposit-history-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-deposit-history-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-header > div { text-align: center; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-content { display: grid; gap: 14px; margin-top: 12px; }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary { position: relative; overflow: hidden; padding: 18px 17px 13px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary::after { position: absolute; width: 150px; height: 150px; right: -68px; top: -76px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary > div:first-child { position: relative; z-index: 1; display: grid; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary > div:first-child span { color: rgba(255,255,255,.62); font-size: 9px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary > div:first-child strong { margin-top: 4px; color: #fff; font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary > div:first-child small { margin-top: 4px; color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary-icon { position: absolute; z-index: 1; right: 17px; top: 19px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 17px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 15px 0 0; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary dl > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-right: 10px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary dl > div + div { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary dt { color: rgba(255,255,255,.58); font-size: 8px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-summary dd { margin: 0; color: #fff; font-size: 11px; font-weight: 600; }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-filter { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-filter a { display: flex; min-width: 0; min-height: 34px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 8px; font-weight: 500; text-decoration: none; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-filter a.is-active { background: #fff; color: #8f300f; box-shadow: 0 3px 10px rgba(32,33,35,.08); }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-records { display: grid; gap: 10px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-records-heading { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 0; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-records-heading h2 { margin: 0; color: #303235; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-records-heading p { margin: 3px 0 0; color: #94979a; font-size: 8px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-records-heading > i { color: #9b9da0; font-size: 15px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-list { display: grid; gap: 9px; }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-record { overflow: hidden; border: 1px solid #ececed; border-radius: 17px; background: #fff; box-shadow: 0 6px 18px rgba(31,32,34,.04); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-main { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #f2f3f3; color: #74777a; font-size: 15px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record.is-approved .vt-deposit-record-icon,
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record.is-successful .vt-deposit-record-icon { background: #edf9f2; color: #21a967; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record.is-rejected .vt-deposit-record-icon { background: #fff0ee; color: #dc574c; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record.is-pending .vt-deposit-record-icon { background: #fff5e3; color: #b87814; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-copy { min-width: 0; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-copy h3 { margin: 0; color: #303235; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-copy p { overflow: hidden; margin: 4px 0 0; color: #929599; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-amount { display: grid; justify-items: end; gap: 5px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-amount strong { color: #333537; font-size: 11px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-status { display: inline-flex; min-height: 19px; align-items: center; padding: 0 7px; border-radius: 999px; background: #f1f2f2; color: #737679; font-size: 7px; font-weight: 600; }
html body.gy-user-body.vt-deposit-history-body .is-approved .vt-deposit-status,
html body.gy-user-body.vt-deposit-history-body .is-successful .vt-deposit-status { background: #ecf8f1; color: #208e59; }
html body.gy-user-body.vt-deposit-history-body .is-pending .vt-deposit-status { background: #fff4df; color: #99600b; }
html body.gy-user-body.vt-deposit-history-body .is-rejected .vt-deposit-status { background: #fff0ee; color: #c54a40; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-meta { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-top: 1px solid #eeeeef; background: #fafafa; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-meta > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-meta > div span { color: #999b9e; font-size: 7px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-meta > div strong { overflow: hidden; color: #5f6265; font-size: 8px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-record-meta > a,
html body.gy-user-body.vt-deposit-history-body .vt-deposit-credited { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; color: #94310f; font-size: 8px; font-weight: 600; text-decoration: none; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-credited { color: #238b59; }

html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty { position: relative; display: grid; min-height: 294px; justify-items: center; align-content: center; overflow: hidden; padding: 30px 24px; border: 1px solid #e8e8e8; border-radius: 20px; background: linear-gradient(180deg,#fff 0%,#fdfbf9 100%); text-align: center; box-shadow: 0 8px 24px rgba(28,29,31,.035); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty::before,
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty::after { position: absolute; border: 1px solid #f2e9e4; border-radius: 50%; content: ""; pointer-events: none; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty::before { width: 150px; height: 150px; top: -106px; right: -65px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty::after { width: 108px; height: 108px; right: -66px; bottom: -61px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty-visual { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid #f0e0d8; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px #fcf7f4; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty-visual > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #fff0e8; color: #96320f; font-size: 17px; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty > small { margin-top: 18px; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty h3 { margin: 7px 0 0; color: #292b2d; font-size: 16px; font-weight: 600; letter-spacing: -.015em; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty p { max-width: 270px; margin: 7px 0 18px; color: #7e8185; font-size: 9px; line-height: 1.55; }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty-action { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 0 18px; border-radius: 999px; background: linear-gradient(145deg,#a83a13,#792508); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; box-shadow: 0 8px 17px rgba(121,37,8,.14); }
html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-empty-action i { font-size: 11px; }

html body.gy-user-body.vt-deposit-history-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-deposit-history-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-deposit-history-body .gy-nav-item,
html body.gy-user-body.vt-deposit-history-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-deposit-history-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-deposit-history-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-deposit-history-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-deposit-history-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-deposit-history-body .gy-nav-label { display: block; font-size: 9px; }

html:has(body.gy-user-body.vt-deposit-history-body),
html body.gy-user-body.vt-deposit-history-body,
html body.gy-user-body.vt-deposit-history-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-deposit-history-body)::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-history-body::-webkit-scrollbar,
html body.gy-user-body.vt-deposit-history-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width: 700px) {
    html body.gy-user-body.vt-deposit-history-body { padding: 28px 0; }
    html body.gy-user-body.vt-deposit-history-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-deposit-history-body .vt-deposit-history-page { min-height: 844px; }
    html body.gy-user-body.vt-deposit-history-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-deposit-history-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Withdrawal entry — first screen in the withdrawal flow. */
html body.gy-user-body.vt-withdraw-entry-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-withdraw-entry-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-withdraw-entry-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-withdraw-entry-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-header > div { text-align: center; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-content { display: grid; gap: 13px; margin-top: 12px; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance { overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top > div { display: grid; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top > div span { color: rgba(255,255,255,.62); font-size: 9px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top > div strong { margin-top: 4px; color: #fff; font-size: 27px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top > div small { margin-top: 3px; color: rgba(255,255,255,.5); font-size: 8px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance-top > span { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 15px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance dl { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 15px 0 0; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance dl > div { display: grid; gap: 3px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance dl > div + div { padding-left: 11px; border-left: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance dt { color: rgba(255,255,255,.54); font-size: 8px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-balance dd { margin: 0; color: #fff; font-size: 11px; font-weight: 500; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-hold { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #f0dcc6; border-radius: 15px; background: #fff8ed; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-hold > span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: #fff0d6; color: #9a650f; font-size: 12px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-hold strong { color: #624918; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-hold p { margin: 3px 0 0; color: #887452; font-size: 8px; line-height: 1.5; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-tabs { display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-tabs > * { display: flex; min-height: 35px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 9px; text-decoration: none; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-tabs > span { background: #fff; color: #8f300f; font-weight: 600; box-shadow: 0 3px 10px rgba(32,33,35,.08); }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account,
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty { display: grid; align-items: center; gap: 10px; padding: 12px; border: 1px solid #ececed; border-radius: 17px; background: #fff; box-shadow: 0 6px 18px rgba(31,32,34,.035); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account { grid-template-columns: 38px minmax(0,1fr) auto; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-icon,
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e8; color: #973310; font-size: 15px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account small { color: #94979a; font-size: 7px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account strong { color: #303235; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account p { overflow: hidden; margin: 0; color: #85888c; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-lock { display: inline-flex; align-items: center; gap: 4px; color: #737679; font-size: 7px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty { grid-template-columns: 38px minmax(0,1fr); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty > div { min-width: 0; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty small { color: #9a3715; font-size: 7px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty h2 { margin: 2px 0 0; color: #303235; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty p { margin: 3px 0 0; color: #85888c; font-size: 8px; line-height: 1.45; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-account-empty > a { grid-column: 1 / -1; display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; border-radius: 999px; background: #fff1ea; color: #94310f; font-size: 9px; font-weight: 600; text-decoration: none; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 13px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e6; color: #96320f; font-size: 15px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate small { color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate strong { color: #3d3430; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate p { margin: 1px 0 0; color: #7e716b; font-size: 8px; line-height: 1.45; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-plan-gate > a { grid-column: 1 / -1; display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; border-radius: 999px; background: #fff0e8; color: #94310f; font-size: 9px; font-weight: 600; text-decoration: none; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-form { display: grid; gap: 13px; padding: 15px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 8px 24px rgba(31,32,34,.045); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-form-heading h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-form-heading p { margin: 3px 0 0; color: #919498; font-size: 8px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-form-heading > span { display: inline-flex; min-height: 24px; align-items: center; padding: 0 8px; border-radius: 999px; background: #fff0e8; color: #973310; font-size: 8px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field { display: flex; min-height: 64px; align-items: center; gap: 7px; padding: 0 14px; border: 1px solid #dedfe0; border-radius: 15px; background: #fafafa; transition: border-color .2s,box-shadow .2s; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field:focus-within { border-color: #c87759; box-shadow: 0 0 0 3px rgba(168,58,19,.08); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field > span { color: #333537; font-size: 23px; font-weight: 500; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #26282a; font: inherit; font-size: 24px; font-weight: 500; letter-spacing: -.025em; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field input[type="number"]::-webkit-inner-spin-button,
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field input[type="number"]::-webkit-outer-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-amount-field input::placeholder { color: #c5c6c7; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-quick-values { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-quick-values button { min-height: 32px; padding: 0 4px; border: 1px solid #e7e7e8; border-radius: 10px; background: #fafafa; color: #686b6e; font-size: 8px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-quick-values button:active,
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-quick-values button.is-active { border-color: #dcb7a6; background: #fff2eb; color: #93310f; box-shadow: inset 0 0 0 1px rgba(147,49,15,.06); }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-quick-values button:disabled { border-color: #ececed; background: #f6f6f6; color: #b0b1b2; box-shadow: none; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation { overflow: hidden; border: 1px solid #ececed; border-radius: 14px; background: #fafafa; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation > div { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 11px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation > div:last-child { border-bottom: 0; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation span { color: #85888b; font-size: 8px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation strong { color: #343638; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-calculation > div:last-child strong { color: #94310f; font-size: 12px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-submit {
    display: flex;
    width: 100%;
    min-height: 51px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(145deg,#b84218,#852a0c) !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 10px 20px rgba(133,42,12,.16) !important;
}
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-submit.is-disabled { background: #d7d7d7 !important; color: #888 !important; box-shadow: none !important; }

html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules { display: grid; overflow: hidden; border: 1px solid #ececed; border-radius: 17px; background: #fafafa; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules > div { display: grid; min-height: 51px; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 12px; border-bottom: 1px solid #ebebeb; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules > div:last-child { border-bottom: 0; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules > div > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #fff; color: #91310f; font-size: 12px; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules strong { color: #45474a; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-rules p { margin: 2px 0 0; color: #888b8f; font-size: 8px; }

html body.gy-user-body.vt-withdraw-entry-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-withdraw-entry-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-item,
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-withdraw-entry-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-withdraw-entry-body), html body.gy-user-body.vt-withdraw-entry-body, html body.gy-user-body.vt-withdraw-entry-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-withdraw-entry-body)::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-entry-body::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-entry-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width:700px) {
    html body.gy-user-body.vt-withdraw-entry-body { padding: 28px 0; }
    html body.gy-user-body.vt-withdraw-entry-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-withdraw-entry-body .vt-withdraw-page { min-height: 844px; }
    html body.gy-user-body.vt-withdraw-entry-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-withdraw-entry-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Withdrawal bank account — verified setup and permanent locked state. */
html body.gy-user-body.vt-withdraw-bank-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-withdraw-bank-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-withdraw-bank-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-withdraw-bank-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header > a,
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header > span { color: #973310; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header > div { text-align: center; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-content { display: grid; gap: 13px; margin-top: 12px; padding: 0; }

html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro { display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; gap: 12px; padding: 16px; border: 1px solid #eee1da; border-radius: 19px; background: linear-gradient(145deg,#fffaf7,#fff); }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro .gy-account-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #f0d9ce; border-radius: 50%; background: #fff0e8; color: #96320f; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro .gy-account-icon svg { width: 20px; height: 20px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro > div { display: grid; gap: 4px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro strong { color: #2f3133; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-intro small { color: #808387; font-size: 8px; line-height: 1.5; }

html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-warning { display: grid; gap: 6px; padding: 12px 13px; border: 1px solid #f0ddcc; border-radius: 15px; background: #fff8f0; color: #745943; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-warning .gy-note-row { padding: 0; border: 0; background: transparent; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-warning strong { color: #82431f; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-warning span { color: #7e695b; font-size: 8px; line-height: 1.5; }

html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form,
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked { display: grid; gap: 14px; padding: 16px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 8px 24px rgba(31,32,34,.045); }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-form-row { display: grid; gap: 7px; padding: 0; border: 0; background: transparent; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-label { color: #55585b; font-size: 9px; font-weight: 500; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-select,
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-input { width: 100%; min-height: 49px; padding: 0 13px; border: 1px solid #dedfe0; border-radius: 13px; outline: 0; background: #fafafa; color: #292b2d; font: inherit; font-size: 11px; box-shadow: none; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-select {
    height: 49px;
    padding: 0 42px 0 14px;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fafafa;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23973310' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 18px 18px;
    line-height: 1.2;
}
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-select:invalid { color: #85888c; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-select option { color: #292b2d; background: #fff; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-select:focus,
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-input:focus { border-color: #c87759; box-shadow: 0 0 0 3px rgba(168,58,19,.08); }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-input[readonly] { background: #f4f4f4; color: #55585b; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-account-status { min-height: 14px; margin: 0; color: #777a7d; font-size: 8px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-account-status.text-emerald-600 { color: #228d5b; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-account-status.text-red-500 { color: #c74c43; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-button { min-height: 49px; margin-top: 2px; border-radius: 999px; background: linear-gradient(145deg,#a83a13,#792508) !important; color: #fff !important; font-size: 10px; font-weight: 500; box-shadow: 0 9px 19px rgba(121,37,8,.15) !important; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-form .gy-button:disabled { background: #d9d9d9 !important; color: #8b8b8b !important; box-shadow: none !important; }

html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked .gy-form-row { display: grid; min-height: 48px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: 12px; padding: 9px 11px; border: 1px solid #ececed; border-radius: 12px; background: #fafafa; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked .gy-label { color: #85888c; font-size: 8px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked .gy-form-row strong { overflow: hidden; color: #303235; font-size: 10px; font-weight: 600; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked .gy-form-row:first-child strong { color: #238b59; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-locked .gy-card-subtitle { margin: 0; padding: 11px 12px; border-radius: 12px; background: #fff8f0; color: #7e695b; font-size: 8px; line-height: 1.5; }

html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security { display: flex; align-items: center; justify-content: flex-start; gap: 11px; padding: 12px 13px; border: 1px solid #ecd9cf; border-radius: 15px; background: linear-gradient(145deg,#fff7f2,#fffaf7); color: #5d463d; box-shadow: 0 6px 18px rgba(82,42,25,.04); }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security .vt-withdraw-bank-security-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: #f8e2d7; color: #8f300f; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security .vt-withdraw-bank-security-icon svg { width: 15px; height: 15px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security .vt-withdraw-bank-security-copy { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security strong { color: #4d3025; font-size: 10px; font-weight: 600; line-height: 1.35; }
html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-security small { color: #806c64; font-size: 8px; line-height: 1.45; }

html body.gy-user-body.vt-withdraw-bank-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-withdraw-bank-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-item,
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-withdraw-bank-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-withdraw-bank-body), html body.gy-user-body.vt-withdraw-bank-body, html body.gy-user-body.vt-withdraw-bank-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-withdraw-bank-body)::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-bank-body::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-bank-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width:700px) {
    html body.gy-user-body.vt-withdraw-bank-body { padding: 28px 0; }
    html body.gy-user-body.vt-withdraw-bank-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-withdraw-bank-body .vt-withdraw-bank-page { min-height: 844px; }
    html body.gy-user-body.vt-withdraw-bank-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-withdraw-bank-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Shared customer confirmation sheet. */
html body.gy-user-body [data-gy-confirm-modal] .gy-modal-overlay {
    border: 0;
    background: rgba(22, 22, 22, .38);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-panel {
    top: auto;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 10px;
    width: auto;
    max-width: 410px;
    margin: 0 auto;
    padding: 22px 18px 15px;
    justify-items: start;
    gap: 14px;
    border: 1px solid rgba(54, 54, 54, .08);
    border-radius: 25px;
    background: #fff;
    color: #252729;
    text-align: left;
    transform: none;
    box-shadow: 0 22px 60px rgba(21, 21, 21, .2);
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 1px solid #ededed;
    border-radius: 50%;
    background: #f8f8f8;
    color: #777a7d;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-close svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #f0d8cc;
    border-radius: 14px;
    background: #fff3ec;
    color: #983512;
    box-shadow: none;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-icon svg {
    width: 21px;
    height: 21px;
    stroke-width: 1.7;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-copy {
    width: 100%;
    gap: 5px;
    padding-right: 4px;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-copy .gy-eyebrow {
    color: #9d3915;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-copy h3 {
    color: #242628;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.25;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-copy h3 + p {
    max-width: 330px;
    color: #74777a;
    font-size: 11px;
    line-height: 1.5;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 2px;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-actions > button {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-actions .gy-button {
    border: 0;
    background: linear-gradient(145deg, #a83a13, #792508) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(121, 37, 8, .15) !important;
}

html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-actions .gy-confirm-cancel {
    min-height: 40px;
    border: 0;
    background: transparent;
    color: #696c6f;
}

html body.gy-user-body [data-gy-confirm-modal] button:focus-visible {
    outline: 3px solid rgba(168, 58, 19, .16);
    outline-offset: 2px;
}

@media (min-width: 700px) {
    html body.gy-user-body [data-gy-confirm-modal] .gy-confirm-panel {
        top: 50%;
        right: auto;
        bottom: auto;
        left: 50%;
        width: min(calc(100% - 32px), 390px);
        transform: translate(-50%, -50%);
    }
}

/* Withdrawal history — mirrors the approved mobile finance flow. */
html body.gy-user-body.vt-withdraw-history-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-withdraw-history-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-withdraw-history-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-withdraw-history-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-header > div { text-align: center; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-content { display: grid; gap: 14px; margin-top: 12px; }

html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary { position: relative; overflow: hidden; padding: 18px 17px 13px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary::after { position: absolute; width: 150px; height: 150px; right: -68px; top: -76px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary > div:first-child { position: relative; z-index: 1; display: grid; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary > div:first-child span { color: rgba(255,255,255,.62); font-size: 9px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary > div:first-child strong { margin-top: 4px; color: #fff; font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary > div:first-child small { margin-top: 4px; color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary-icon { position: absolute; z-index: 1; right: 17px; top: 19px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 15px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 15px 0 0; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary dl > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-right: 10px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary dl > div + div { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary dt { color: rgba(255,255,255,.58); font-size: 8px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-summary dd { margin: 0; color: #fff; font-size: 11px; font-weight: 600; }

html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-filter { display: grid; grid-template-columns: repeat(5,1fr); gap: 3px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-filter a { display: flex; min-width: 0; min-height: 34px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 7px; font-weight: 500; text-decoration: none; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-filter a.is-active { background: #fff; color: #8f300f; box-shadow: 0 3px 10px rgba(32,33,35,.08); }

html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-records { display: grid; gap: 10px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-records-heading { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 0; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-records-heading h2 { margin: 0; color: #303235; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-records-heading p { margin: 3px 0 0; color: #94979a; font-size: 8px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-records-heading > i { color: #9b9da0; font-size: 15px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-list { display: grid; gap: 9px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record { overflow: hidden; border: 1px solid #ececed; border-radius: 17px; background: #fff; box-shadow: 0 6px 18px rgba(31,32,34,.04); }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-main { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #f2f3f3; color: #74777a; font-size: 14px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record.is-paid .vt-withdraw-record-icon { background: #edf9f2; color: #21a967; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record.is-cancelled .vt-withdraw-record-icon { background: #fff0ee; color: #dc574c; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record.is-pending .vt-withdraw-record-icon { background: #fff5e3; color: #b87814; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record.is-processing .vt-withdraw-record-icon { background: #eef4ff; color: #4c71b8; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-copy { min-width: 0; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-copy h3 { margin: 0; color: #303235; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-copy p { overflow: hidden; margin: 4px 0 0; color: #929599; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-amount { display: grid; justify-items: end; gap: 5px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-amount strong { color: #d94f48; font-size: 11px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-status { display: inline-flex; min-height: 19px; align-items: center; padding: 0 7px; border-radius: 999px; background: #f1f2f2; color: #737679; font-size: 7px; font-weight: 600; }
html body.gy-user-body.vt-withdraw-history-body .is-paid .vt-withdraw-status { background: #ecf8f1; color: #208e59; }
html body.gy-user-body.vt-withdraw-history-body .is-pending .vt-withdraw-status { background: #fff4df; color: #99600b; }
html body.gy-user-body.vt-withdraw-history-body .is-processing .vt-withdraw-status { background: #edf3ff; color: #496ba7; }
html body.gy-user-body.vt-withdraw-history-body .is-cancelled .vt-withdraw-status { background: #fff0ee; color: #c54a40; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-top: 1px solid #eeeeef; background: #fafafa; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta span { color: #999b9e; font-size: 7px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta strong { overflow: hidden; color: #5f6265; font-size: 8px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta .vt-withdraw-net { justify-items: end; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-record-meta .vt-withdraw-net strong { color: #303235; }

html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty { position: relative; display: grid; min-height: 294px; justify-items: center; align-content: center; overflow: hidden; padding: 30px 24px; border: 1px solid #e8e8e8; border-radius: 20px; background: linear-gradient(180deg,#fff 0%,#fdfbf9 100%); text-align: center; box-shadow: 0 8px 24px rgba(28,29,31,.035); }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty::before,
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty::after { position: absolute; border: 1px solid #f2e9e4; border-radius: 50%; content: ""; pointer-events: none; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty::before { width: 150px; height: 150px; top: -106px; right: -65px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty::after { width: 108px; height: 108px; right: -66px; bottom: -61px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty-visual { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid #f0e0d8; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px #fcf7f4; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty-visual > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #fff0e8; color: #96320f; font-size: 16px; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty > small { margin-top: 18px; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty h3 { margin: 7px 0 0; color: #292b2d; font-size: 16px; font-weight: 600; letter-spacing: -.015em; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty p { max-width: 270px; margin: 7px 0 18px; color: #7e8185; font-size: 9px; line-height: 1.55; }
html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-empty-action { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 0 18px; border-radius: 999px; background: linear-gradient(145deg,#a83a13,#792508); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; box-shadow: 0 8px 17px rgba(121,37,8,.14); }

html body.gy-user-body.vt-withdraw-history-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-withdraw-history-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-item,
html body.gy-user-body.vt-withdraw-history-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-withdraw-history-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-withdraw-history-body), html body.gy-user-body.vt-withdraw-history-body, html body.gy-user-body.vt-withdraw-history-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-withdraw-history-body)::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-history-body::-webkit-scrollbar, html body.gy-user-body.vt-withdraw-history-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width:700px) {
    html body.gy-user-body.vt-withdraw-history-body { padding: 28px 0; }
    html body.gy-user-body.vt-withdraw-history-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-withdraw-history-body .vt-withdraw-history-page { min-height: 844px; }
    html body.gy-user-body.vt-withdraw-history-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-withdraw-history-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Investment plan catalogue — mobile-first finance flow. */
html body.gy-user-body.vt-plan-catalog-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-plan-catalog-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-plan-catalog-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-header > div { text-align: center; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-content { display: grid; gap: 14px; margin-top: 12px; }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet { position: relative; overflow: hidden; padding: 18px 17px 13px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet::after { position: absolute; width: 150px; height: 150px; right: -68px; top: -76px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet > div:first-child { position: relative; z-index: 1; display: grid; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet > div:first-child span { color: rgba(255,255,255,.62); font-size: 9px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet > div:first-child strong { margin-top: 4px; color: #fff; font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet > div:first-child small { margin-top: 4px; color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet-icon { position: absolute; z-index: 1; right: 17px; top: 19px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 15px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 15px 0 0; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet dl > div { display: grid; gap: 3px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet dl > div + div { padding-left: 11px; border-left: 1px solid rgba(255,255,255,.12); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet dt { color: rgba(255,255,255,.54); font-size: 8px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-wallet dd { margin: 0; color: #fff; font-size: 10px; font-weight: 500; }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-tabs { display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-tabs > * { display: flex; min-height: 35px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 9px; text-decoration: none; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-tabs > span { background: #fff; color: #8f300f; font-weight: 600; box-shadow: 0 3px 10px rgba(32,33,35,.08); }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 13px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e6; color: #96320f; font-size: 15px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate small { color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate strong { color: #3d3430; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate p { margin: 1px 0 0; color: #7e716b; font-size: 8px; line-height: 1.45; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-bank-gate > a { grid-column: 1 / -1; display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; border-radius: 999px; background: #fff0e8; color: #94310f; font-size: 9px; font-weight: 600; text-decoration: none; }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-list { display: grid; gap: 10px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 2px 0; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-heading h2 { margin: 0; color: #303235; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-heading p { margin: 3px 0 0; color: #94979a; font-size: 8px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-heading > span { display: inline-flex; align-items: center; gap: 4px; color: #777a7d; font-size: 8px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-heading > span i { color: #238b59; font-size: 11px; }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-card { position: relative; overflow: hidden; padding: 14px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.045); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card::after { position: absolute; width: 90px; height: 90px; right: -54px; top: -58px; border: 1px solid #f2e8e3; border-radius: 50%; content: ""; pointer-events: none; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-top { position: relative; z-index: 1; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #fff0e8; color: #96320f; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-top > div { min-width: 0; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-top small { display: block; color: #999b9e; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-top h3 { margin: 2px 0 0; color: #2e3032; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-rate { display: inline-flex; min-height: 24px; align-items: center; padding: 0 8px; border-radius: 999px; background: #edf8f2; color: #218956; font-size: 7px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 13px; padding: 11px 12px; border-radius: 13px; background: #fafafa; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-price span { color: #86898c; font-size: 8px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-price strong { color: #292b2d; font-size: 19px; font-weight: 600; letter-spacing: -.025em; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 9px 0 0; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-stats > div { display: grid; min-width: 0; gap: 3px; padding: 9px 7px; border: 1px solid #eeeeef; border-radius: 11px; background: #fff; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-stats dt { color: #999b9e; font-size: 7px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card-stats dd { overflow: hidden; margin: 0; color: #484a4d; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-details-link { display: flex; min-height: 34px; align-items: center; justify-content: space-between; margin-top: 8px; padding: 0 3px; color: #8f300f; font-size: 8px; font-weight: 600; text-decoration: none; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-purchase { margin-top: 11px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-purchase button,
html body.gy-user-body.vt-plan-catalog-body .vt-plan-disabled { display: flex; width: 100%; min-height: 47px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; font: inherit; font-size: 10px; font-weight: 500; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-purchase button { background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; box-shadow: 0 9px 19px rgba(133,42,12,.15); }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-disabled { margin-top: 11px; background: #ededed; color: #929497; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-card.is-above-balance .vt-plan-card-price strong { color: #6a6c6e; }

html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-empty { display: grid; min-height: 260px; justify-items: center; align-content: center; padding: 28px; border: 1px solid #e8e8e8; border-radius: 20px; background: #fdfbf9; text-align: center; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: #fff0e8; color: #96320f; font-size: 18px; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-empty h3 { margin: 14px 0 0; color: #292b2d; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-empty p { margin: 6px 0 0; color: #7e8185; font-size: 9px; }

html body.gy-user-body.vt-plan-catalog-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-plan-catalog-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-item,
html body.gy-user-body.vt-plan-catalog-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-item.is-active { color: #8f300f !important; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-plan-catalog-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-plan-catalog-body), html body.gy-user-body.vt-plan-catalog-body, html body.gy-user-body.vt-plan-catalog-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-plan-catalog-body)::-webkit-scrollbar, html body.gy-user-body.vt-plan-catalog-body::-webkit-scrollbar, html body.gy-user-body.vt-plan-catalog-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width:700px) {
    html body.gy-user-body.vt-plan-catalog-body { padding: 28px 0; }
    html body.gy-user-body.vt-plan-catalog-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-plan-catalog-body .vt-plan-catalog-page { min-height: 844px; }
    html body.gy-user-body.vt-plan-catalog-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-plan-catalog-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Plan confirmation follows the compact deposit-dialog treatment. */
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-modal-overlay { background: rgba(15,16,17,.7); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-panel { top: 50%; right: auto; bottom: auto; left: 50%; width: min(calc(100% - 36px),394px); max-width: none; overflow: hidden; padding: 0; justify-items: stretch; gap: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: #fff; color: #252729; text-align: left; transform: translate(-50%,-50%); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-close { top: 14px; right: 13px; width: 34px; height: 34px; border-color: #e8e8e8; background: #f8f8f8; color: #424447; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-icon { position: absolute; top: 14px; left: 15px; width: 38px; height: 38px; border: 1px solid #eed4c7; border-radius: 12px; background: #fff3ec; color: #983512; box-shadow: none; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-icon svg { width: 18px; height: 18px; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-copy { min-height: 66px; gap: 3px; padding: 14px 55px 14px 64px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-copy .gy-eyebrow { color: #a83c13; font-size: 7px; font-weight: 600; letter-spacing: .08em; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-copy h3 { color: #292b2d; font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-copy h3 + p { grid-column: 1 / -1; max-width: none; margin-top: 14px; margin-right: -39px; margin-left: -49px; padding: 13px 14px; border-radius: 13px; background: #fafafa; color: #74777a; font-size: 9px; line-height: 1.55; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-actions { gap: 8px; margin: 0; padding: 14px 15px 12px; background: #fff; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-actions > button { min-height: 47px; font-size: 10px; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-actions .gy-button { background: linear-gradient(145deg,#b84218,#852a0c) !important; color: #fff !important; box-shadow: 0 9px 19px rgba(133,42,12,.15) !important; }
html body.gy-user-body.vt-plan-catalog-body [data-gy-confirm-modal] .gy-confirm-actions .gy-confirm-cancel { min-height: 36px; color: #696c6f; }

/* Investment plan details and earnings projection. */
html body.gy-user-body.vt-plan-details-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-plan-details-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-plan-details-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-plan-details-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-header > div { text-align: center; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero { position: relative; overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero::after { position: absolute; width: 150px; height: 150px; right: -68px; top: -76px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero-top { position: relative; z-index: 1; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero-top > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(255,255,255,.1); color: #fff; font-size: 15px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero-top small { display: block; color: rgba(255,255,255,.55); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero-top h2 { margin: 2px 0 0; color: #fff; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero-top b { padding: 6px 8px; border-radius: 999px; background: rgba(255,255,255,.11); color: #fff; font-size: 7px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-price { position: relative; z-index: 1; display: grid; margin-top: 18px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-price span { color: rgba(255,255,255,.58); font-size: 8px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-price strong { margin-top: 3px; color: #fff; font-size: 27px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-hero > p { position: relative; z-index: 1; margin: 9px 0 0; color: rgba(255,255,255,.58); font-size: 8px; }

html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings,
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline { padding: 14px; border: 1px solid #e9e9ea; border-radius: 18px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-section-head small { display: block; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-section-head h2 { margin: 2px 0 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-section-head > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #fff0e8; color: #96320f; font-size: 13px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings dl { display: grid; gap: 0; margin: 12px 0 0; overflow: hidden; border: 1px solid #ececed; border-radius: 13px; background: #fafafa; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings dl > div { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 11px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings dl > div:last-child { border-bottom: 0; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings dt { color: #85888b; font-size: 8px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings dd { margin: 0; color: #343638; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings .is-total { background: #fff7f2; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-earnings .is-total dd { color: #94310f; font-size: 12px; }

html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline ol { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline li { position: relative; display: grid; min-height: 54px; grid-template-columns: 30px minmax(0,1fr); align-items: start; gap: 10px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline li:not(:last-child)::after { position: absolute; top: 29px; bottom: 0; left: 14px; width: 1px; background: #e6d8d1; content: ""; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline li > span { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #fff0e8; color: #96320f; font-size: 8px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline li > div { padding-top: 2px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline strong { display: block; color: #404245; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-timeline small { display: block; margin-top: 3px; color: #909397; font-size: 8px; line-height: 1.4; }

html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet { display: grid; grid-template-columns: repeat(2,1fr); overflow: hidden; border: 1px solid #ececed; border-radius: 15px; background: #fafafa; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet > div { display: grid; gap: 3px; padding: 12px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet > div + div { border-left: 1px solid #e7e7e8; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet span { color: #929599; font-size: 7px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet strong { color: #333537; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-wallet .is-short strong { color: #c54a40; }

html body.gy-user-body.vt-plan-details-body .vt-plan-details-gate { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 13px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-gate > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e6; color: #96320f; font-size: 15px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-gate strong { display: block; color: #3d3430; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-gate p { margin: 2px 0 0; color: #7e716b; font-size: 8px; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-gate > a { grid-column: 1 / -1; display: flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; box-shadow: 0 8px 17px rgba(133,42,12,.14); }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-purchase button { display: flex; width: 100%; min-height: 51px; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font: inherit; font-size: 11px; font-weight: 500; box-shadow: 0 10px 20px rgba(133,42,12,.16); }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-note { display: flex; align-items: flex-start; justify-content: center; gap: 6px; margin: 0; padding: 4px 10px; color: #929599; font-size: 8px; line-height: 1.45; text-align: center; }
html body.gy-user-body.vt-plan-details-body .vt-plan-details-note i { color: #238b59; font-size: 11px; }

html body.gy-user-body.vt-plan-details-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-plan-details-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-plan-details-body .gy-nav-item,
html body.gy-user-body.vt-plan-details-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-plan-details-body .gy-nav-item i { font-size: 22px; }
html body.gy-user-body.vt-plan-details-body .gy-nav-item.is-active { color: #8f300f !important; }
html body.gy-user-body.vt-plan-details-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-plan-details-body .gy-nav-primary i { font-size: 29px; line-height: 1; }
html body.gy-user-body.vt-plan-details-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-plan-details-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-plan-details-body), html body.gy-user-body.vt-plan-details-body, html body.gy-user-body.vt-plan-details-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-plan-details-body)::-webkit-scrollbar, html body.gy-user-body.vt-plan-details-body::-webkit-scrollbar, html body.gy-user-body.vt-plan-details-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-modal-overlay { background: rgba(15,16,17,.7); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-panel { top: 50%; right: auto; bottom: auto; left: 50%; width: min(calc(100% - 36px),394px); max-width: none; overflow: hidden; padding: 0; justify-items: stretch; gap: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: #fff; color: #252729; text-align: left; transform: translate(-50%,-50%); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-close { top: 14px; right: 13px; width: 34px; height: 34px; border-color: #e8e8e8; background: #f8f8f8; color: #424447; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-icon { position: absolute; top: 14px; left: 15px; width: 38px; height: 38px; border: 1px solid #eed4c7; border-radius: 12px; background: #fff3ec; color: #983512; box-shadow: none; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-icon svg { width: 18px; height: 18px; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-copy { min-height: 66px; gap: 3px; padding: 14px 55px 14px 64px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-copy .gy-eyebrow { color: #a83c13; font-size: 7px; font-weight: 600; letter-spacing: .08em; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-copy h3 { color: #292b2d; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-copy h3 + p { max-width: none; margin-top: 14px; margin-right: -39px; margin-left: -49px; padding: 13px 14px; border-radius: 13px; background: #fafafa; color: #74777a; font-size: 9px; line-height: 1.55; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-actions { gap: 8px; margin: 0; padding: 14px 15px 12px; background: #fff; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-actions > button { min-height: 47px; font-size: 10px; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-actions .gy-button { background: linear-gradient(145deg,#b84218,#852a0c) !important; color: #fff !important; box-shadow: 0 9px 19px rgba(133,42,12,.15) !important; }
html body.gy-user-body.vt-plan-details-body [data-gy-confirm-modal] .gy-confirm-actions .gy-confirm-cancel { min-height: 36px; color: #696c6f; }

@media (min-width:700px) {
    html body.gy-user-body.vt-plan-details-body { padding: 28px 0; }
    html body.gy-user-body.vt-plan-details-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-plan-details-body .vt-plan-details-page { min-height: 844px; }
    html body.gy-user-body.vt-plan-details-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-plan-details-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* My investments: live plan progress and maturity states. */
html body.gy-user-body.vt-investments-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif; }
html body.gy-user-body.vt-investments-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-investments-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-investments-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-investments-body .vt-investments-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-investments-body .vt-investments-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-investments-body .vt-investments-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-investments-body .vt-investments-header > div { text-align: center; }
html body.gy-user-body.vt-investments-body .vt-investments-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-investments-body .vt-investments-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-investments-body .vt-investments-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-investments-body .vt-investments-summary { position: relative; display: grid; overflow: hidden; grid-template-columns: minmax(0,1fr) 40px; gap: 14px; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-investments-body .vt-investments-summary::after { position: absolute; top: -82px; right: -65px; width: 155px; height: 155px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-investments-body .vt-investments-summary-main { position: relative; z-index: 1; display: grid; min-width: 0; }
html body.gy-user-body.vt-investments-body .vt-investments-summary-main > span { color: rgba(255,255,255,.57); font-size: 8px; }
html body.gy-user-body.vt-investments-body .vt-investments-summary-main > strong { margin-top: 3px; overflow: hidden; color: #fff; font-size: 25px; font-weight: 500; letter-spacing: -.035em; white-space: nowrap; }
html body.gy-user-body.vt-investments-body .vt-investments-summary-main > small { margin-top: 5px; color: rgba(255,255,255,.5); font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investments-summary-icon { position: relative; z-index: 1; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.09); font-size: 16px; }
html body.gy-user-body.vt-investments-body .vt-investments-summary dl { position: relative; z-index: 1; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,1fr); margin: 3px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-investments-body .vt-investments-summary dl > div { display: grid; gap: 3px; padding: 10px; }
html body.gy-user-body.vt-investments-body .vt-investments-summary dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-investments-body .vt-investments-summary dt { color: rgba(255,255,255,.5); font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investments-summary dd { margin: 0; color: #fff; font-size: 10px; font-weight: 600; }

html body.gy-user-body.vt-investments-body .vt-investments-tabs { display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-investments-body .vt-investments-tabs > * { display: flex; min-height: 35px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 9px; text-decoration: none; }
html body.gy-user-body.vt-investments-body .vt-investments-tabs > span { background: #fff; color: #8f300f; font-weight: 600; box-shadow: 0 3px 10px rgba(32,33,35,.08); }
html body.gy-user-body.vt-investments-body .vt-investments-filters { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
html body.gy-user-body.vt-investments-body .vt-investments-filters a { display: flex; min-height: 34px; align-items: center; justify-content: center; gap: 5px; border: 1px solid #e9e9ea; border-radius: 999px; background: #fff; color: #818487; font-size: 8px; text-decoration: none; }
html body.gy-user-body.vt-investments-body .vt-investments-filters a span { display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border-radius: 999px; background: #f1f1f1; color: #727578; font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investments-filters a.is-active { border-color: #211a18; background: #211a18; color: #fff; }
html body.gy-user-body.vt-investments-body .vt-investments-filters a.is-active span { background: rgba(255,255,255,.12); color: #fff; }

html body.gy-user-body.vt-investments-body .vt-investments-list { display: grid; gap: 11px; }
html body.gy-user-body.vt-investments-body .vt-investment-card { padding: 14px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-investments-body .vt-investment-card-head { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 9px; }
html body.gy-user-body.vt-investments-body .vt-investment-card-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #fff0e8; color: #983512; font-size: 14px; }
html body.gy-user-body.vt-investments-body .vt-investment-card.is-completed .vt-investment-card-icon { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-investments-body .vt-investment-card-head small { display: block; color: #9a9da0; font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
html body.gy-user-body.vt-investments-body .vt-investment-card-head h2 { margin: 2px 0 0; color: #333537; font-size: 12px; font-weight: 600; }
html body.gy-user-body.vt-investments-body .vt-investment-status { padding: 6px 8px; border-radius: 999px; background: #fff1e9; color: #9a3411; font-size: 7px; font-weight: 600; }
html body.gy-user-body.vt-investments-body .is-completed .vt-investment-status { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-investments-body .vt-investment-amount { display: grid; margin-top: 13px; padding: 12px; border-radius: 13px; background: #fafafa; }
html body.gy-user-body.vt-investments-body .vt-investment-amount span { color: #929599; font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investment-amount strong { margin-top: 2px; color: #292b2d; font-size: 19px; font-weight: 500; letter-spacing: -.025em; }
html body.gy-user-body.vt-investments-body .vt-investment-amount small { margin-top: 3px; color: #a0a2a5; font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investment-stats { display: grid; grid-template-columns: repeat(3,1fr); margin: 10px 0 0; overflow: hidden; border: 1px solid #ececed; border-radius: 12px; }
html body.gy-user-body.vt-investments-body .vt-investment-stats > div { display: grid; min-width: 0; gap: 3px; padding: 9px 7px; }
html body.gy-user-body.vt-investments-body .vt-investment-stats > div + div { border-left: 1px solid #ececed; }
html body.gy-user-body.vt-investments-body .vt-investment-stats dt { color: #929599; font-size: 6.5px; }
html body.gy-user-body.vt-investments-body .vt-investment-stats dd { overflow: hidden; margin: 0; color: #383a3c; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-investments-body .vt-investment-progress-copy { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; color: #84878a; font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investment-progress-copy strong { color: #8f300f; font-size: 8px; }
html body.gy-user-body.vt-investments-body .vt-investment-progress { height: 5px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: #eee; }
html body.gy-user-body.vt-investments-body .vt-investment-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c64a1b,#8d2d0e); }
html body.gy-user-body.vt-investments-body .is-completed .vt-investment-progress span { background: #26a269; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #eeeeef; color: #85888b; font-size: 7px; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot > div { display: grid; gap: 3px; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot span { display: flex; align-items: center; gap: 5px; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot i { color: #9a3512; font-size: 10px; }
html body.gy-user-body.vt-investments-body .is-completed .vt-investment-card-foot i { color: #188454; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot time { color: #505255; font-weight: 500; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot > a { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; text-decoration: none; }
html body.gy-user-body.vt-investments-body .vt-investment-card-foot > a i { color: inherit; font-size: 12px; }

html body.gy-user-body.vt-investments-body .vt-investments-empty { display: grid; min-height: 265px; place-items: center; align-content: center; padding: 28px 22px; border: 1px solid #e9e9ea; border-radius: 20px; background: linear-gradient(180deg,#fff,#fdfaf8); text-align: center; }
html body.gy-user-body.vt-investments-body .vt-investments-empty > span { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 12px; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 20px; }
html body.gy-user-body.vt-investments-body .vt-investments-empty > small { color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-investments-body .vt-investments-empty h2 { margin: 5px 0 0; color: #353739; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-investments-body .vt-investments-empty p { max-width: 240px; margin: 6px 0 15px; color: #8c8f92; font-size: 8px; line-height: 1.55; }
html body.gy-user-body.vt-investments-body .vt-investments-empty a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 0 17px; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; box-shadow: 0 8px 17px rgba(133,42,12,.14); }

html body.gy-user-body.vt-investments-body .gy-bottom-nav { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; width: min(100%,430px); height: calc(80px + env(safe-area-inset-bottom)); margin: 0 auto; padding: 0; border: 0; background: transparent; transform: none; }
html body.gy-user-body.vt-investments-body .gy-bottom-nav-inner { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(5,1fr); align-items: center; gap: 0; padding: 7px 8px max(8px,env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #ececef; border-radius: 17px 17px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(35,36,40,.08); }
html body.gy-user-body.vt-investments-body .gy-nav-item,
html body.gy-user-body.vt-investments-body .gy-nav-primary { display: flex; min-width: 0; width: auto; height: auto; min-height: 0; align-items: center; justify-content: center; gap: 4px; flex-direction: column; align-self: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; color: #85888c !important; font-size: 9px; text-decoration: none; transform: none; }
html body.gy-user-body.vt-investments-body .gy-nav-item svg { width: 22px; height: 22px; }
html body.gy-user-body.vt-investments-body .gy-nav-item.is-active { color: #8f300f !important; }
html body.gy-user-body.vt-investments-body .gy-nav-primary { width: 60px; height: 60px; min-height: 60px; justify-self: center; align-self: start; margin-top: -22px; border: 5px solid #fff; border-radius: 50%; background: linear-gradient(145deg,#bd461a,#7e280c) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(120,42,13,.28) !important; }
html body.gy-user-body.vt-investments-body .gy-nav-primary svg { width: 28px; height: 28px; }
html body.gy-user-body.vt-investments-body .gy-nav-primary .gy-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.gy-user-body.vt-investments-body .gy-nav-label { display: block; font-size: 9px; }
html:has(body.gy-user-body.vt-investments-body), html body.gy-user-body.vt-investments-body, html body.gy-user-body.vt-investments-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-investments-body)::-webkit-scrollbar, html body.gy-user-body.vt-investments-body::-webkit-scrollbar, html body.gy-user-body.vt-investments-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (min-width:700px) {
    html body.gy-user-body.vt-investments-body { padding: 28px 0; }
    html body.gy-user-body.vt-investments-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-investments-body .vt-investments-page { min-height: 844px; }
    html body.gy-user-body.vt-investments-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.vt-investments-body .gy-bottom-nav-inner { border-right: 1px solid #ececef; border-left: 1px solid #ececef; border-radius: 17px 17px 28px 28px; }
}

/* Canonical customer navigation: locked to the approved dashboard version. */
html body.gy-user-body.gy-user-body .gy-bottom-nav {
    position: fixed;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    width: min(100%,430px);
    height: calc(80px + env(safe-area-inset-bottom));
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    transform: none;
}
html body.gy-user-body.gy-user-body .gy-bottom-nav-inner {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(5,minmax(0,1fr));
    align-items: center;
    gap: 0;
    padding: 7px 8px max(8px,env(safe-area-inset-bottom));
    border: 0;
    border-top: 1px solid #ececef;
    border-radius: 17px 17px 0 0;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -8px 24px rgba(35,36,40,.08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html body.gy-user-body.gy-user-body .gy-nav-item,
html body.gy-user-body.gy-user-body .gy-nav-primary {
    position: static;
    display: flex;
    min-width: 0;
    width: auto;
    height: auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-direction: column;
    align-self: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #85888c !important;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    transform: none;
}
html body.gy-user-body.gy-user-body .gy-nav-item i {
    width: auto;
    height: auto;
    font-size: 22px;
    line-height: 1;
}
html body.gy-user-body.gy-user-body .gy-nav-item.is-active,
html body.gy-user-body.gy-user-body .gy-nav-item.is-active:hover,
html body.gy-user-body.gy-user-body .gy-nav-item.is-active:focus-visible {
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #a83c13 !important;
    box-shadow: none !important;
    font-weight: 600;
    transform: none;
}
html body.gy-user-body.gy-user-body .gy-nav-item.is-active::before,
html body.gy-user-body.gy-user-body .gy-nav-item.is-active::after {
    display: none !important;
}
html body.gy-user-body.gy-user-body .gy-nav-primary {
    width: 60px;
    height: 60px;
    min-height: 60px;
    justify-self: center;
    align-self: start;
    margin-top: -22px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: linear-gradient(145deg,#bd461a,#7e280c) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(120,42,13,.28) !important;
}
html body.gy-user-body.gy-user-body .gy-nav-primary i {
    width: auto;
    height: auto;
    font-size: 29px;
    line-height: 1;
}
html body.gy-user-body.gy-user-body .gy-nav-primary.is-active {
    border-color: #fff;
    background: linear-gradient(145deg,#bd461a,#7e280c) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(120,42,13,.28) !important;
}
html body.gy-user-body.gy-user-body .gy-nav-primary .gy-nav-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
}
html body.gy-user-body.gy-user-body .gy-nav-label {
    display: block;
    font-size: 9px;
}
@media (min-width:700px) {
    html body.gy-user-body.gy-user-body .gy-bottom-nav { bottom: 28px; }
    html body.gy-user-body.gy-user-body .gy-bottom-nav-inner {
        border-right: 1px solid #ececef;
        border-left: 1px solid #ececef;
        border-radius: 17px 17px 28px 28px;
    }
}

/* Dashboard more-actions bottom sheet motion. */
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal .vt-approved-modal-backdrop {
    opacity: 0;
    transition: opacity 220ms ease;
}
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal .vt-approved-more-card {
    opacity: .98;
    transform: translate3d(0,calc(100% + 28px),0);
    transition: transform 320ms cubic-bezier(.22,.8,.28,1), opacity 180ms ease;
    will-change: transform;
}
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal.is-open .vt-approved-modal-backdrop {
    opacity: 1;
}
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal.is-open .vt-approved-more-card {
    opacity: 1;
    transform: translate3d(0,0,0);
}
html body.gy-user-body.gy-home-body .vt-approved-sheet-modal.is-closing {
    pointer-events: none;
}
@media (prefers-reduced-motion:reduce) {
    html body.gy-user-body.gy-home-body .vt-approved-sheet-modal .vt-approved-modal-backdrop,
    html body.gy-user-body.gy-home-body .vt-approved-sheet-modal .vt-approved-more-card {
        transition-duration: 1ms;
    }
}

/* Critical shell fallbacks keep the app usable if an inherited vendor
   stylesheet is temporarily unavailable during deployment or cache refresh. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
.hidden {
    display: none !important;
}
body.gy-auth-body .gy-auth-page {
    width: 100%;
    max-width: 100vw;
}
body.gy-auth-body .gy-auth-card {
    max-width: 100%;
}

/* Individual investment activity and daily return schedule. */
html body.gy-user-body.vt-investment-detail-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.vt-investment-detail-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-investment-detail-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-investment-detail-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-header > div { text-align: center; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero { position: relative; overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero::after { position: absolute; top: -75px; right: -62px; width: 150px; height: 150px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero-head { position: relative; z-index: 1; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 9px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero-head > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.09); font-size: 14px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero-head small { display: block; color: rgba(255,255,255,.5); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero-head h2 { margin: 2px 0 0; color: #fff; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-hero-head b { padding: 6px 8px; border-radius: 999px; background: rgba(255,255,255,.11); color: #fff; font-size: 7px; font-weight: 600; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-value { position: relative; z-index: 1; display: grid; margin-top: 17px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-value span { color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-value strong { margin-top: 2px; color: #fff; font-size: 25px; font-weight: 500; letter-spacing: -.035em; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-value small { margin-top: 3px; color: rgba(255,255,255,.46); font-size: 7px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-progress-copy { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-top: 15px; color: rgba(255,255,255,.62); font-size: 7px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-progress-copy strong { color: #fff; font-size: 8px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-progress { position: relative; z-index: 1; height: 5px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.15); }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-progress span { display: block; height: 100%; border-radius: inherit; background: #fff; }

html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; overflow: hidden; border: 1px solid #e9e9ea; border-radius: 16px; background: #fff; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-stats > div { display: grid; min-width: 0; gap: 4px; padding: 12px 9px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-stats > div + div { border-left: 1px solid #ececed; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-stats span { color: #929599; font-size: 7px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-stats strong { overflow: hidden; color: #343638; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-status { display: grid; grid-template-columns: 39px minmax(0,1fr); align-items: start; gap: 10px; padding: 13px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-status > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 14px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-status small { display: block; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-status strong { display: block; margin-top: 3px; color: #393b3d; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-status p { margin: 4px 0 0; color: #7f7773; font-size: 8px; line-height: 1.45; }

html body.gy-user-body.vt-investment-detail-body .vt-investment-return-history { padding: 14px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-history > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-history header small { display: block; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-history header h2 { margin: 2px 0 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-history header > span { padding: 6px 8px; border-radius: 999px; background: #f4f4f4; color: #737679; font-size: 7px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list { display: grid; margin-top: 11px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article { display: grid; min-height: 55px; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; border-top: 1px solid #eeeeef; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article:first-child { border-top: 0; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #f3f3f3; color: #a0a2a5; font-size: 11px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article.is-received .vt-investment-return-icon { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article.is-next .vt-investment-return-icon { background: #fff0e8; color: #983512; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article > div:last-child { text-align: right; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list strong { color: #404245; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list small { color: #96999c; font-size: 7px; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article.is-received > div:last-child small { color: #188454; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-return-list article.is-next > div:last-child small { color: #983512; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-note { display: flex; align-items: flex-start; justify-content: center; gap: 6px; margin: 0; padding: 3px 11px; color: #929599; font-size: 8px; line-height: 1.45; text-align: center; }
html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-note i { color: #238b59; font-size: 11px; }
html:has(body.gy-user-body.vt-investment-detail-body),html body.gy-user-body.vt-investment-detail-body,html body.gy-user-body.vt-investment-detail-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-investment-detail-body)::-webkit-scrollbar,html body.gy-user-body.vt-investment-detail-body::-webkit-scrollbar,html body.gy-user-body.vt-investment-detail-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width:700px) {
    html body.gy-user-body.vt-investment-detail-body { padding: 28px 0; }
    html body.gy-user-body.vt-investment-detail-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-investment-detail-body .vt-investment-detail-page { min-height: 844px; }
}

/* Transaction history. */
html body.gy-user-body.vt-transactions-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.vt-transactions-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-transactions-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-transactions-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-transactions-body .vt-transactions-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-transactions-body .vt-transactions-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-header > a,
html body.gy-user-body.vt-transactions-body .vt-transactions-header > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-transactions-body .vt-transactions-header > div { text-align: center; }
html body.gy-user-body.vt-transactions-body .vt-transactions-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-transactions-body .vt-transactions-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-transactions-body .vt-transactions-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-transactions-body .vt-transactions-summary { position: relative; overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary::after { position: absolute; top: -78px; right: -66px; width: 155px; height: 155px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 40px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head > div { display: grid; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head > div > span { color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head > div > strong { margin-top: 2px; color: #fff; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head > div > small { margin-top: 3px; color: rgba(255,255,255,.45); font-size: 7px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary-head > span { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.09); font-size: 15px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 14px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dl > div { display: grid; min-width: 0; gap: 3px; padding: 11px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dt { color: rgba(255,255,255,.5); font-size: 7px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dd { overflow: hidden; margin: 0; color: #fff; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-transactions-body .vt-transactions-summary dl small { color: rgba(255,255,255,.42); font-size: 7px; }

html body.gy-user-body.vt-transactions-body .vt-transactions-attention { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 12px; border: 1px solid #f0ddcc; border-radius: 16px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-transactions-body .vt-transactions-attention > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 13px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-attention strong { color: #463b36; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-transactions-body .vt-transactions-attention p { margin: 3px 0 0; color: #81756f; font-size: 8px; line-height: 1.4; }

html body.gy-user-body.vt-transactions-body .vt-transactions-filters { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-filters a { display: flex; min-height: 35px; align-items: center; justify-content: center; gap: 5px; border: 1px solid #e9e9ea; border-radius: 999px; background: #fff; color: #818487; font-size: 8px; text-decoration: none; }
html body.gy-user-body.vt-transactions-body .vt-transactions-filters a span { display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border-radius: 999px; background: #f1f1f1; color: #727578; font-size: 7px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-filters a.is-active { border-color: #211a18; background: #211a18; color: #fff; }
html body.gy-user-body.vt-transactions-body .vt-transactions-filters a.is-active span { background: rgba(255,255,255,.12); color: #fff; }

html body.gy-user-body.vt-transactions-body .vt-transactions-activity { overflow: hidden; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-transactions-body .vt-transactions-activity > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-transactions-body .vt-transactions-activity > header h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-transactions-body .vt-transactions-activity > header p { margin: 2px 0 0; color: #979a9d; font-size: 7px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-activity > header > i { color: #929599; font-size: 14px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-list { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row { display: grid; min-height: 69px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #eeeeef; background: #fff; color: inherit; text-decoration: none; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row:last-child { border-bottom: 0; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #eaf8f0; color: #188454; font-size: 13px; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row.is-debit .vt-transaction-row-icon { background: #fff0ee; color: #d24d48; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row.is-pending .vt-transaction-row-icon { background: #fff0e8; color: #983512; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-copy,
html body.gy-user-body.vt-transactions-body .vt-transaction-row-value { display: grid; min-width: 0; gap: 4px; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-copy strong { overflow: hidden; color: #383a3c; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-copy small { overflow: hidden; color: #9a9da0; font-size: 6.5px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-value { justify-items: end; text-align: right; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-value strong { color: #188454; font-size: 9px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row.is-debit .vt-transaction-row-value strong { color: #d24d48; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row.is-pending .vt-transaction-row-value strong { color: #983512; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row-value small { display: flex; align-items: center; gap: 3px; color: #999c9f; font-size: 6.5px; white-space: nowrap; }
html body.gy-user-body.vt-transactions-body .vt-transaction-row.is-pending .vt-transaction-row-value small { color: #983512; }

html body.gy-user-body.vt-transactions-body .vt-transactions-empty { display: grid; min-height: 270px; place-items: center; align-content: center; padding: 28px 20px; text-align: center; }
html body.gy-user-body.vt-transactions-body .vt-transactions-empty > span { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 12px; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 19px; }
html body.gy-user-body.vt-transactions-body .vt-transactions-empty > small { color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-transactions-body .vt-transactions-empty h2 { margin: 5px 0 0; color: #353739; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-transactions-body .vt-transactions-empty p { max-width: 245px; margin: 6px 0 15px; color: #8c8f92; font-size: 8px; line-height: 1.55; }
html body.gy-user-body.vt-transactions-body .vt-transactions-empty a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 0 17px; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; box-shadow: 0 8px 17px rgba(133,42,12,.14); }
html:has(body.gy-user-body.vt-transactions-body),html body.gy-user-body.vt-transactions-body,html body.gy-user-body.vt-transactions-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-transactions-body)::-webkit-scrollbar,html body.gy-user-body.vt-transactions-body::-webkit-scrollbar,html body.gy-user-body.vt-transactions-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width:700px) {
    html body.gy-user-body.vt-transactions-body { padding: 28px 0; }
    html body.gy-user-body.vt-transactions-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-transactions-body .vt-transactions-page { min-height: 844px; }
}

/* Team and referral flow. */
html body.gy-user-body.vt-team-body,
html body.gy-user-body.vt-team-level-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.vt-team-body .gy-shell,
html body.gy-user-body.vt-team-level-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-team-body .gy-app-bar,
html body.gy-user-body.vt-team-level-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-team-body [data-gy-app-view],
html body.gy-user-body.vt-team-level-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-team-body .vt-team-page,
html body.gy-user-body.vt-team-level-body .vt-team-level-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-team-body .vt-team-header,
html body.gy-user-body.vt-team-level-body .vt-team-level-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-team-body .vt-team-header > a,
html body.gy-user-body.vt-team-level-body .vt-team-level-header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-team-body .vt-team-header > div,
html body.gy-user-body.vt-team-level-body .vt-team-level-header > div { text-align: center; }
html body.gy-user-body.vt-team-body .vt-team-header small,
html body.gy-user-body.vt-team-level-body .vt-team-level-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-team-body .vt-team-header h1,
html body.gy-user-body.vt-team-level-body .vt-team-level-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-team-body .vt-team-content,
html body.gy-user-body.vt-team-level-body .vt-team-level-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-team-body .vt-team-hero,
html body.gy-user-body.vt-team-level-body .vt-team-level-summary { position: relative; overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-team-body .vt-team-hero::after,
html body.gy-user-body.vt-team-level-body .vt-team-level-summary::after { position: absolute; top: -76px; right: -64px; width: 150px; height: 150px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-team-body .vt-team-hero-head { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 12px; }
html body.gy-user-body.vt-team-body .vt-team-hero-head > div > span,
html body.gy-user-body.vt-team-level-body .vt-team-level-summary > div > span { color: rgba(255,255,255,.55); font-size: 8px; }
html body.gy-user-body.vt-team-body .vt-team-hero-head h2 { margin: 3px 0 0; color: #fff; font-size: 16px; font-weight: 600; }
html body.gy-user-body.vt-team-body .vt-team-hero-head p { max-width: 255px; margin: 5px 0 0; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.5; }
html body.gy-user-body.vt-team-body .vt-team-hero-head > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.09); font-size: 16px; }
html body.gy-user-body.vt-team-body .vt-team-hero dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 15px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-team-body .vt-team-hero dl > div { display: grid; min-width: 0; gap: 3px; padding: 10px 8px; }
html body.gy-user-body.vt-team-body .vt-team-hero dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-team-body .vt-team-hero dt { color: rgba(255,255,255,.48); font-size: 6.5px; }
html body.gy-user-body.vt-team-body .vt-team-hero dd { overflow: hidden; margin: 0; color: #fff; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.vt-team-body .vt-team-invite,
html body.gy-user-body.vt-team-body .vt-team-network,
html body.gy-user-body.vt-team-body .vt-team-commissions,
html body.gy-user-body.vt-team-level-body .vt-team-members { overflow: hidden; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-team-body .vt-team-invite { padding: 14px; }
html body.gy-user-body.vt-team-body .vt-team-invite > header,
html body.gy-user-body.vt-team-body .vt-team-network > header,
html body.gy-user-body.vt-team-body .vt-team-commissions > header,
html body.gy-user-body.vt-team-level-body .vt-team-members > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-team-body :is(.vt-team-invite,.vt-team-network,.vt-team-commissions) > header h2,
html body.gy-user-body.vt-team-level-body .vt-team-members > header h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-team-body :is(.vt-team-invite,.vt-team-network,.vt-team-commissions) > header p,
html body.gy-user-body.vt-team-level-body .vt-team-members > header p { margin: 2px 0 0; color: #979a9d; font-size: 7px; }
html body.gy-user-body.vt-team-body .vt-team-invite > header small { display: block; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-team-body :is(.vt-team-invite,.vt-team-network) > header > i,
html body.gy-user-body.vt-team-level-body .vt-team-members > header > i { color: #96999c; font-size: 14px; }
html body.gy-user-body.vt-team-body .vt-team-copy-row { display: grid; min-height: 52px; grid-template-columns: minmax(0,1fr) 34px; align-items: center; gap: 9px; margin-top: 9px; padding: 7px 8px 7px 11px; border: 1px solid #ececed; border-radius: 13px; background: #fafafa; }
html body.gy-user-body.vt-team-body .vt-team-copy-row > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-team-body .vt-team-copy-row span { color: #96999c; font-size: 7px; }
html body.gy-user-body.vt-team-body .vt-team-copy-row strong { overflow: hidden; color: #3d3f41; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-team-body .vt-team-copy-row button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid #f0d8cc; border-radius: 50%; background: #fff0e8; color: #983512; font: inherit; font-size: 12px; }
html body.gy-user-body.vt-team-body .vt-team-share-button { display: flex; width: 100%; min-height: 45px; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; border: 0; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font: inherit; font-size: 9px; font-weight: 500; box-shadow: 0 8px 17px rgba(133,42,12,.14); }

html body.gy-user-body.vt-team-body .vt-team-rewards-link { display: grid; grid-template-columns: 40px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 12px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); color: inherit; text-decoration: none; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 14px; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link > div { display: grid; gap: 2px; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link small { color: #a35a3f; font-size: 6.5px; letter-spacing: .06em; text-transform: uppercase; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link strong { color: #3d3937; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link p { margin: 0; color: #81756f; font-size: 7px; }
html body.gy-user-body.vt-team-body .vt-team-rewards-link > i { color: #a35a3f; font-size: 11px; }

html body.gy-user-body.vt-team-body :is(.vt-team-network,.vt-team-commissions) > header,
html body.gy-user-body.vt-team-level-body .vt-team-members > header { min-height: 58px; padding: 13px 14px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-team-body .vt-team-level-list { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-team-body .vt-team-level-list > a { display: grid; min-height: 66px; grid-template-columns: 36px minmax(0,1fr) auto 14px; align-items: center; gap: 9px; border-bottom: 1px solid #eeeeef; color: inherit; text-decoration: none; }
html body.gy-user-body.vt-team-body .vt-team-level-list > a:last-child { border-bottom: 0; }
html body.gy-user-body.vt-team-body .vt-team-level-number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-team-body .vt-team-level-list > a > div { display: grid; gap: 3px; }
html body.gy-user-body.vt-team-body .vt-team-level-list > a > div:nth-child(3) { justify-items: end; text-align: right; }
html body.gy-user-body.vt-team-body .vt-team-level-list strong { color: #3c3e40; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-team-body .vt-team-level-list small { color: #96999c; font-size: 7px; }
html body.gy-user-body.vt-team-body .vt-team-level-list > a > i { color: #a0a2a5; font-size: 10px; }

html body.gy-user-body.vt-team-body .vt-team-commissions > header a { color: #983512; font-size: 8px; font-weight: 500; text-decoration: none; }
html body.gy-user-body.vt-team-body .vt-team-commissions > div { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-team-body .vt-team-commissions article { display: grid; min-height: 65px; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-team-body .vt-team-commissions article:last-child { border-bottom: 0; }
html body.gy-user-body.vt-team-body .vt-team-commissions article > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #eaf8f0; color: #188454; font-size: 12px; }
html body.gy-user-body.vt-team-body .vt-team-commissions article > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-team-body .vt-team-commissions article > div strong { overflow: hidden; color: #3b3d3f; font-size: 8px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-team-body .vt-team-commissions article small { overflow: hidden; color: #999c9f; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-team-body .vt-team-commissions article > strong { color: #188454; font-size: 9px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-team-body .vt-team-commission-empty { display: grid; min-height: 155px; place-items: center; align-content: center; padding: 20px; text-align: center; }
html body.gy-user-body.vt-team-body .vt-team-commission-empty > span { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 8px; border-radius: 50%; background: #f4f4f3; color: #983512; }
html body.gy-user-body.vt-team-body .vt-team-commission-empty strong { color: #3b3d3f; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-team-body .vt-team-commission-empty small { margin-top: 3px; color: #96999c; font-size: 7px; }

html body.gy-user-body.vt-team-level-body .vt-team-level-summary { display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 12px; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary > div { position: relative; z-index: 1; display: grid; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary > div > strong { margin-top: 2px; color: #fff; font-size: 16px; font-weight: 600; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary > div > small { margin-top: 4px; color: rgba(255,255,255,.46); font-size: 7px; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary > span { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.09); color: #fff; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary dl { position: relative; z-index: 1; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,1fr); margin: 3px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary dl > div { display: grid; gap: 3px; padding: 10px; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary dt { color: rgba(255,255,255,.48); font-size: 7px; }
html body.gy-user-body.vt-team-level-body .vt-team-level-summary dd { margin: 0; color: #fff; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-team-level-body .vt-team-level-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; padding: 4px; border: 1px solid #ececed; border-radius: 14px; background: #f7f7f7; }
html body.gy-user-body.vt-team-level-body .vt-team-level-tabs a { display: flex; min-height: 35px; align-items: center; justify-content: center; border-radius: 10px; color: #85888c; font-size: 8px; text-decoration: none; }
html body.gy-user-body.vt-team-level-body .vt-team-level-tabs a.is-active { background: #fff; color: #8f300f; font-weight: 600; box-shadow: 0 3px 10px rgba(32,33,35,.08); }
html body.gy-user-body.vt-team-level-body .vt-team-members > div { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-team-level-body .vt-team-member { display: grid; min-height: 68px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-team-level-body .vt-team-member:last-child { border-bottom: 0; }
html body.gy-user-body.vt-team-level-body .vt-team-member-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 11px; font-weight: 600; }
html body.gy-user-body.vt-team-level-body .vt-team-member > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-team-level-body .vt-team-member > div:last-child { justify-items: end; text-align: right; }
html body.gy-user-body.vt-team-level-body .vt-team-member strong { overflow: hidden; color: #3d3f41; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-team-level-body .vt-team-member small,
html body.gy-user-body.vt-team-level-body .vt-team-member span { color: #96999c; font-size: 7px; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty { display: grid; min-height: 260px; place-items: center; align-content: center; padding: 28px 20px; text-align: center; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty > span { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 12px; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 19px; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty > small { color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty h2 { margin: 5px 0 0; color: #353739; font-size: 15px; font-weight: 600; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty p { max-width: 240px; margin: 6px 0 15px; color: #8c8f92; font-size: 8px; line-height: 1.55; }
html body.gy-user-body.vt-team-level-body .vt-team-members-empty a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; padding: 0 17px; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font-size: 9px; font-weight: 500; text-decoration: none; }
html:has(body.gy-user-body.vt-team-body),html body.gy-user-body.vt-team-body,html body.gy-user-body.vt-team-body .gy-shell,
html:has(body.gy-user-body.vt-team-level-body),html body.gy-user-body.vt-team-level-body,html body.gy-user-body.vt-team-level-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-team-body)::-webkit-scrollbar,html body.gy-user-body.vt-team-body::-webkit-scrollbar,html body.gy-user-body.vt-team-body .gy-shell::-webkit-scrollbar,
html:has(body.gy-user-body.vt-team-level-body)::-webkit-scrollbar,html body.gy-user-body.vt-team-level-body::-webkit-scrollbar,html body.gy-user-body.vt-team-level-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width:700px) {
    html body.gy-user-body.vt-team-body,html body.gy-user-body.vt-team-level-body { padding: 28px 0; }
    html body.gy-user-body.vt-team-body .gy-shell,html body.gy-user-body.vt-team-level-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-team-body .vt-team-page,html body.gy-user-body.vt-team-level-body .vt-team-level-page { min-height: 844px; }
}

/* Rewards and monthly salary levels. */
html body.gy-user-body.vt-rewards-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.vt-rewards-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-rewards-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-rewards-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-rewards-body .vt-rewards-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-rewards-body .vt-rewards-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-header > a,
html body.gy-user-body.vt-rewards-body .vt-rewards-header > button { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font: inherit; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-rewards-body .vt-rewards-header > div { text-align: center; }
html body.gy-user-body.vt-rewards-body .vt-rewards-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-rewards-body .vt-rewards-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-rewards-body .vt-rewards-hero { position: relative; overflow: hidden; padding: 17px; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero::after { position: absolute; top: -78px; right: -64px; width: 155px; height: 155px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero-head { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 12px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero-head > div > span { color: rgba(255,255,255,.55); font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero-head h2 { margin: 3px 0 0; color: #fff; font-size: 16px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero-head p { max-width: 255px; margin: 5px 0 0; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.5; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero-head > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.09); font-size: 16px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 15px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dl > div { display: grid; min-width: 0; gap: 3px; padding: 11px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dt { color: rgba(255,255,255,.48); font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dd { overflow: hidden; margin: 0; color: #fff; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-rewards-body .vt-rewards-hero dl small { color: rgba(255,255,255,.42); font-size: 6.5px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-next-pay { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; color: rgba(255,255,255,.55); font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-next-pay span { display: flex; align-items: center; gap: 5px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-next-pay strong { color: #fff; font-size: 8px; font-weight: 500; text-align: right; }

html body.gy-user-body.vt-rewards-body .vt-rewards-progress { padding: 14px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > header small { display: block; color: #a35a3f; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > header h2 { margin: 2px 0 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > header > span { padding: 6px 8px; border-radius: 999px; background: #fff0e8; color: #983512; font-size: 7px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > header > span.is-complete { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > p { margin: 9px 0 0; color: #8c8f92; font-size: 7px; line-height: 1.45; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-item { display: grid; grid-template-columns: minmax(0,1fr) 36px; align-items: center; gap: 7px; margin-top: 12px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-item > div:first-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-item span { color: #777a7d; font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-item strong { color: #3b3d3f; font-size: 8px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: #eee; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c64a1b,#8d2d0e); }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress-item > small { color: #983512; font-size: 7px; font-weight: 600; text-align: right; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > dl { display: grid; grid-template-columns: repeat(2,1fr); margin: 13px 0 0; overflow: hidden; border: 1px solid #ececed; border-radius: 12px; background: #fafafa; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > dl > div { display: grid; gap: 3px; padding: 10px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress > dl > div + div { border-left: 1px solid #ececed; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress dt { color: #929599; font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-progress dd { margin: 0; color: #383a3c; font-size: 9px; font-weight: 600; }

html body.gy-user-body.vt-rewards-body .vt-rewards-levels,
html body.gy-user-body.vt-rewards-body .vt-rewards-history { overflow: hidden; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-rewards-body :is(.vt-rewards-levels,.vt-rewards-history) > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-rewards-body :is(.vt-rewards-levels,.vt-rewards-history) > header h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body :is(.vt-rewards-levels,.vt-rewards-history) > header p { margin: 2px 0 0; color: #979a9d; font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels > header > i { color: #96999c; font-size: 14px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels > div { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article { display: grid; min-height: 76px; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article:last-child { border-bottom: 0; }
html body.gy-user-body.vt-rewards-body .vt-reward-level-number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #f2f2f2; color: #929599; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article.is-attained .vt-reward-level-number { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article.is-current .vt-reward-level-number { background: #fff0e8; color: #983512; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article > div { display: grid; min-width: 0; gap: 2px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article > div:last-child { justify-items: end; text-align: right; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article small,
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article p,
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article span { margin: 0; color: #96999c; font-size: 6.5px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article > div:nth-child(2) > small { color: #a35a3f; font-weight: 600; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article strong { color: #3b3d3f; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article > div:nth-child(2) > div { height: 4px; margin-top: 4px; overflow: hidden; border-radius: 999px; background: #eee; }
html body.gy-user-body.vt-rewards-body .vt-rewards-levels article > div:nth-child(2) > div i { display: block; height: 100%; border-radius: inherit; background: #a83c13; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history > header a { color: #983512; font-size: 8px; font-weight: 500; text-decoration: none; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history > div { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article { display: grid; min-height: 65px; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article:last-child { border-bottom: 0; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #eaf8f0; color: #188454; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article > div strong { overflow: hidden; color: #3b3d3f; font-size: 8px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article small { overflow: hidden; color: #999c9f; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history article > strong { color: #188454; font-size: 9px; font-weight: 600; white-space: nowrap; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history-empty { display: grid; min-height: 170px; place-items: center; align-content: center; padding: 20px; text-align: center; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history-empty > span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 9px; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 15px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history-empty strong { color: #3b3d3f; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-history-empty small { max-width: 230px; margin-top: 3px; color: #96999c; font-size: 7px; line-height: 1.45; }

html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry { display: grid; width: 100%; grid-template-columns: 40px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 12px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); color: inherit; font: inherit; text-align: left; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 14px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry > div { display: grid; gap: 2px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry small { color: #a35a3f; font-size: 6.5px; letter-spacing: .06em; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry strong { color: #3d3937; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry p { margin: 0; color: #81756f; font-size: 7px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-entry > i { color: #a35a3f; font-size: 11px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-rules { padding: 13px; border: 1px solid #e9e9ea; border-radius: 17px; background: #fafafa; }
html body.gy-user-body.vt-rewards-body .vt-rewards-rules > strong { display: flex; align-items: center; gap: 6px; color: #3c3e40; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-rules > strong i { color: #188454; font-size: 12px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-rules ul { display: grid; gap: 5px; margin: 9px 0 0; padding-left: 16px; color: #828588; font-size: 7px; line-height: 1.45; }

html body.gy-user-body.gy-modal-open { overflow: hidden; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal-wrap { position: fixed; z-index: 2200; inset: 0; display: grid; place-items: center; padding: 18px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal-wrap.hidden { display: none !important; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(15,16,17,.72); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal { position: relative; z-index: 1; display: grid; width: min(100%,396px); max-height: calc(100dvh - 36px); overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.32); }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal > header { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #ececed; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal header small { display: block; color: #a35a3f; font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal header h2 { margin: 2px 0 0; color: #292b2d; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal header h2:focus { outline: 0; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal header button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid #e8e8e8; border-radius: 50%; background: #f8f8f8; color: #424447; font-size: 13px; }
html body.gy-user-body.vt-rewards-body .vt-rewards-guide-modal img { display: block; width: 100%; max-height: calc(100dvh - 100px); object-fit: contain; }
html:has(body.gy-user-body.vt-rewards-body),html body.gy-user-body.vt-rewards-body,html body.gy-user-body.vt-rewards-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-rewards-body)::-webkit-scrollbar,html body.gy-user-body.vt-rewards-body::-webkit-scrollbar,html body.gy-user-body.vt-rewards-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width:700px) {
    html body.gy-user-body.vt-rewards-body { padding: 28px 0; }
    html body.gy-user-body.vt-rewards-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-rewards-body .vt-rewards-page { min-height: 844px; }
}

/* Profile and password security flow. */
html body.gy-user-body.vt-profile-body,
html body.gy-user-body.vt-password-body { background: #f3f3f3; color: #1e2022; font-family: -apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif; }
html body.gy-user-body.vt-profile-body .gy-shell,
html body.gy-user-body.vt-password-body .gy-shell { width: min(100%,430px); min-height: 100dvh; overflow: hidden; padding-bottom: 0; background: #fff; box-shadow: 0 20px 60px rgba(23,23,23,.12); }
html body.gy-user-body.vt-profile-body .gy-app-bar,
html body.gy-user-body.vt-password-body .gy-app-bar { display: none; }
html body.gy-user-body.vt-profile-body [data-gy-app-view],
html body.gy-user-body.vt-password-body [data-gy-app-view] { min-height: 100dvh; }
html body.gy-user-body.vt-profile-body .vt-profile-page,
html body.gy-user-body.vt-password-body .vt-password-page { min-height: 100dvh; padding: max(12px,env(safe-area-inset-top)) 17px calc(108px + env(safe-area-inset-bottom)); background: #fff; }
html body.gy-user-body.vt-profile-body .vt-profile-header,
html body.gy-user-body.vt-password-body .vt-password-header { display: grid; min-height: 58px; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 12px; }
html body.gy-user-body.vt-profile-body .vt-profile-header > a,
html body.gy-user-body.vt-password-body .vt-password-header > a,
html body.gy-user-body.vt-password-body .vt-password-header > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ededed; border-radius: 50%; background: #fff; color: #2f3133; font-size: 17px; text-decoration: none; }
html body.gy-user-body.vt-profile-body .vt-profile-header > div,
html body.gy-user-body.vt-password-body .vt-password-header > div { text-align: center; }
html body.gy-user-body.vt-profile-body .vt-profile-header small,
html body.gy-user-body.vt-password-body .vt-password-header small { display: block; color: #a0a2a5; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
html body.gy-user-body.vt-profile-body .vt-profile-header h1,
html body.gy-user-body.vt-password-body .vt-password-header h1 { margin: 2px 0 0; color: #252729; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
html body.gy-user-body.vt-profile-body .vt-profile-content,
html body.gy-user-body.vt-password-body .vt-password-content { display: grid; gap: 12px; margin-top: 12px; }

html body.gy-user-body.vt-profile-body .vt-profile-hero { position: relative; overflow: hidden; padding: 17px; border: 0; border-radius: 21px; background: linear-gradient(145deg,#101314 0%,#211511 60%,#76270c 100%); color: #fff; box-shadow: 0 12px 26px rgba(63,27,14,.14); }
html body.gy-user-body.vt-profile-body .vt-profile-hero::after { position: absolute; top: -78px; right: -64px; width: 155px; height: 155px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
html body.gy-user-body.vt-profile-body .vt-profile-identity { position: relative; z-index: 1; display: grid; grid-template-columns: 42px minmax(0,1fr) 36px; align-items: center; gap: 10px; }
html body.gy-user-body.vt-profile-body .vt-profile-identity > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-profile-body .vt-profile-identity > div { display: grid; min-width: 0; }
html body.gy-user-body.vt-profile-body .vt-profile-identity small { color: rgba(255,255,255,.5); }
html body.gy-user-body.vt-profile-body .vt-profile-identity h2 { overflow: hidden; margin: 2px 0 0; color: #fff; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-profile-body .vt-profile-identity p { margin: 2px 0 0; color: rgba(255,255,255,.45); }
html body.gy-user-body.vt-profile-body .vt-profile-identity > button { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 14px; }
html body.gy-user-body.vt-profile-body .vt-profile-balance-main { position: relative; z-index: 1; display: grid; margin-top: 17px; }
html body.gy-user-body.vt-profile-body .vt-profile-balance-main span { color: rgba(255,255,255,.55); font-size: 9px; }
html body.gy-user-body.vt-profile-body .vt-profile-balance-main strong { margin-top: 2px; overflow: hidden; color: #fff; font-size: 25px; font-weight: 500; letter-spacing: -.035em; white-space: nowrap; }
html body.gy-user-body.vt-profile-body .vt-profile-hero dl { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 14px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.055); }
html body.gy-user-body.vt-profile-body .vt-profile-hero dl > div { display: grid; min-width: 0; gap: 3px; padding: 10px 8px; }
html body.gy-user-body.vt-profile-body .vt-profile-hero dl > div + div { border-left: 1px solid rgba(255,255,255,.1); }
html body.gy-user-body.vt-profile-body .vt-profile-hero dt { color: rgba(255,255,255,.48); }
html body.gy-user-body.vt-profile-body .vt-profile-hero dd { overflow: hidden; margin: 0; color: #fff; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity,.vt-profile-community) { overflow: hidden; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity,.vt-profile-community) > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #eeeeef; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity,.vt-profile-community) > header h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity,.vt-profile-community) > header p { margin: 2px 0 0; color: #979a9d; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity,.vt-profile-community) > header > i { color: #96999c; font-size: 14px; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div { display: grid; padding: 0 14px; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a { display: grid; min-height: 66px; grid-template-columns: 38px minmax(0,1fr) auto 12px; align-items: center; gap: 9px; border-bottom: 1px solid #eeeeef; color: inherit; text-decoration: none; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a:last-child { border-bottom: 0; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 13px; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a > div { display: grid; min-width: 0; gap: 3px; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a strong { color: #3d3f41; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a small { overflow: hidden; color: #96999c; text-overflow: ellipsis; white-space: nowrap; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a > i { color: #a0a2a5; font-size: 10px; }
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a > i:last-child { grid-column: 4; }
html body.gy-user-body.vt-profile-body .vt-profile-account em { padding: 5px 7px; border-radius: 999px; background: #fff0e8; color: #983512; font-size: 8px; font-style: normal; white-space: nowrap; }
html body.gy-user-body.vt-profile-body .vt-profile-account em.is-connected { background: #eaf8f0; color: #188454; }
html body.gy-user-body.vt-profile-body .vt-profile-community > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; padding: 14px; }
html body.gy-user-body.vt-profile-body .vt-profile-community a { display: flex; min-width: 0; min-height: 92px; align-items: center; justify-content: center; gap: 4px; flex-direction: column; border: 1px solid #ececed; border-radius: 14px; color: inherit; text-align: center; text-decoration: none; }
html body.gy-user-body.vt-profile-body .vt-profile-community a > span { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 2px; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 16px; }
html body.gy-user-body.vt-profile-body .vt-profile-community a strong { color: #3d3f41; font-size: 9px; font-weight: 600; }
html body.gy-user-body.vt-profile-body .vt-profile-community a small { color: #96999c; }
html body.gy-user-body.vt-profile-body .vt-profile-logout-form { margin: 0; }
html body.gy-user-body.vt-profile-body .vt-profile-logout-form button { display: flex; width: 100%; min-height: 47px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #efd8cf; border-radius: 999px; background: #fff7f3; color: #a53916; font: inherit; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-profile-body .vt-profile-version { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; color: #929599; text-align: center; }
html body.gy-user-body.vt-profile-body .vt-profile-version i { color: #188454; font-size: 11px; }

html body.gy-user-body.vt-password-body .vt-password-intro { display: grid; grid-template-columns: 45px minmax(0,1fr); align-items: center; gap: 11px; padding: 14px; border: 1px solid #f0ddcc; border-radius: 17px; background: linear-gradient(145deg,#fff8f2,#fff); }
html body.gy-user-body.vt-password-body .vt-password-intro > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; background: #fff0e8; color: #983512; font-size: 16px; }
html body.gy-user-body.vt-password-body .vt-password-intro small { color: #a35a3f; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
html body.gy-user-body.vt-password-body .vt-password-intro h2 { margin: 2px 0 0; color: #303235; font-size: 14px; font-weight: 600; }
html body.gy-user-body.vt-password-body .vt-password-intro p { margin: 3px 0 0; color: #81756f; }
html body.gy-user-body.vt-password-body .vt-password-form { padding: 14px; border: 1px solid #e9e9ea; border-radius: 19px; background: #fff; box-shadow: 0 7px 22px rgba(31,32,34,.04); }
html body.gy-user-body.vt-password-body .vt-password-form > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
html body.gy-user-body.vt-password-body .vt-password-form > header h2 { margin: 0; color: #303235; font-size: 13px; font-weight: 600; }
html body.gy-user-body.vt-password-body .vt-password-form > header p { margin: 3px 0 0; color: #929599; }
html body.gy-user-body.vt-password-body .vt-password-form > header > i { color: #96999c; font-size: 14px; }
html body.gy-user-body.vt-password-body .vt-password-form > label { display: block; margin: 12px 0 6px; color: #484a4d; font-size: 10px; font-weight: 500; }
html body.gy-user-body.vt-password-body .vt-password-field { display: grid; height: 52px; grid-template-columns: 20px minmax(0,1fr) 38px; align-items: center; gap: 8px; padding: 0 8px 0 13px; border: 1px solid #e5e5e6; border-radius: 14px; background: #fafafa; color: #999c9f; }
html body.gy-user-body.vt-password-body .vt-password-field:focus-within { border-color: #c96845; background: #fff; box-shadow: 0 0 0 3px rgba(174,61,20,.08); }
html body.gy-user-body.vt-password-body .vt-password-field > i { font-size: 13px; }
html body.gy-user-body.vt-password-body .vt-password-field input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #292b2d; font: inherit; font-size: 11px; }
html body.gy-user-body.vt-password-body .vt-password-field .gy-password-toggle { position: relative; inset: auto; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 0; background: transparent; color: #8f9295; transform: none; }
html body.gy-user-body.vt-password-body .vt-password-field .gy-password-toggle svg { width: 17px; height: 17px; }
html body.gy-user-body.vt-password-body .vt-password-error { display: block; margin-top: 5px; color: #c94a43; }
html body.gy-user-body.vt-password-body .vt-password-submit { display: flex; width: 100%; min-height: 49px; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; border: 0; border-radius: 999px; background: linear-gradient(145deg,#b84218,#852a0c); color: #fff; font: inherit; font-size: 10px; font-weight: 500; box-shadow: 0 9px 19px rgba(133,42,12,.15); }
html body.gy-user-body.vt-password-body .vt-password-note { display: grid; grid-template-columns: 39px minmax(0,1fr); align-items: start; gap: 10px; padding: 13px; border: 1px solid #e4eee8; border-radius: 17px; background: #f8fcfa; }
html body.gy-user-body.vt-password-body .vt-password-note > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #eaf8f0; color: #188454; font-size: 14px; }
html body.gy-user-body.vt-password-body .vt-password-note strong { color: #3c4540; font-size: 10px; font-weight: 600; }
html body.gy-user-body.vt-password-body .vt-password-note p { margin: 3px 0 0; color: #78817c; }
html:has(body.gy-user-body.vt-profile-body),html body.gy-user-body.vt-profile-body,html body.gy-user-body.vt-profile-body .gy-shell,
html:has(body.gy-user-body.vt-password-body),html body.gy-user-body.vt-password-body,html body.gy-user-body.vt-password-body .gy-shell { scrollbar-width: none; -ms-overflow-style: none; }
html:has(body.gy-user-body.vt-profile-body)::-webkit-scrollbar,html body.gy-user-body.vt-profile-body::-webkit-scrollbar,html body.gy-user-body.vt-profile-body .gy-shell::-webkit-scrollbar,
html:has(body.gy-user-body.vt-password-body)::-webkit-scrollbar,html body.gy-user-body.vt-password-body::-webkit-scrollbar,html body.gy-user-body.vt-password-body .gy-shell::-webkit-scrollbar { width: 0; height: 0; display: none; }
@media (min-width:700px) {
    html body.gy-user-body.vt-profile-body,html body.gy-user-body.vt-password-body { padding: 28px 0; }
    html body.gy-user-body.vt-profile-body .gy-shell,html body.gy-user-body.vt-password-body .gy-shell { min-height: 844px; border-radius: 28px; }
    html body.gy-user-body.vt-profile-body .vt-profile-page,html body.gy-user-body.vt-password-body .vt-password-page { min-height: 844px; }
}

/* Shared customer-app readability floor for supporting text. */
html body.gy-user-body small {
    font-size: clamp(10px,2.45vw,11px) !important;
    line-height: 1.45;
}
html body.gy-user-body p {
    font-size: clamp(10px,2.55vw,11px) !important;
    line-height: 1.5;
}
html body.gy-user-body dt,
html body.gy-user-body time {
    font-size: clamp(9.5px,2.3vw,10px) !important;
    line-height: 1.4;
}
html body.gy-user-body :is(.gy-list-meta,.gy-form-hint,.gy-field-hint,.gy-help-text) {
    font-size: clamp(10px,2.45vw,11px) !important;
    line-height: 1.5;
}

/* Keep locally hosted Bootstrap icons optically centred and legible at mobile sizes. */
html body.gy-user-body i.bi {
    display: inline-flex;
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    align-items: center;
    justify-content: center;
    overflow: visible;
    line-height: 1;
    vertical-align: middle;
    -webkit-text-stroke: .12px currentColor;
}
html body.gy-user-body i.bi::before {
    display: block;
    line-height: 1;
    vertical-align: 0;
}
html body.gy-user-body :is(
    .vt-approved-quick-actions a > span,
    .vt-approved-transaction-icon,
    .vt-deposit-record-icon,
    .vt-withdraw-record-icon,
    .vt-investment-card-icon,
    .vt-transaction-row-icon,
    .vt-profile-account a > span,
    .vt-profile-activity a > span,
    .vt-profile-community a > span,
    .vt-rewards-guide-entry > span,
    .vt-team-action-icon
) > i.bi {
    font-size: 16px !important;
}
html body.gy-user-body.vt-profile-body :is(.vt-profile-account,.vt-profile-activity) > div > a > span {
    width: 40px;
    height: 40px;
    font-size: 16px;
}

/* Shared app motion: calm, short and re-initialized after partial navigation. */
html body.gy-user-body [data-gy-app-view] [data-vt-motion-item] {
    opacity: 0;
    transform: translate3d(0,9px,0) scale(.995);
    transition:
        opacity 360ms cubic-bezier(.22,1,.36,1),
        transform 420ms cubic-bezier(.22,1,.36,1);
    transition-delay: calc(var(--vt-motion-order,0) * 34ms);
    will-change: opacity,transform;
}
html body.gy-user-body [data-gy-app-view].vt-motion-ready [data-vt-motion-item] {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
}
html body.gy-user-body [data-vt-progress-motion] {
    clip-path: inset(0 100% 0 0 round 999px);
    transition: clip-path 720ms cubic-bezier(.22,1,.36,1) 180ms;
}
html body.gy-user-body [data-gy-app-view].vt-motion-ready [data-vt-progress-motion] {
    clip-path: inset(0 0 0 0 round 999px);
}
html body.gy-user-body :is(a,button,[role="button"]) {
    -webkit-tap-highlight-color: transparent;
}
html body.gy-user-body main :is(a,button,[role="button"]):not(:disabled) {
    transition-property: transform,background-color,border-color,color,box-shadow,filter,opacity;
    transition-duration: 170ms;
    transition-timing-function: ease;
}
html body.gy-user-body main :is(a,button,[role="button"]):not(:disabled):active {
    transform: scale(.975);
}
html body.gy-user-body [data-gy-balance-toggle].vt-is-toggling i {
    animation: vt-eye-toggle 260ms cubic-bezier(.22,1,.36,1);
}
html body.gy-user-body [data-gy-confirm-modal]:not(.hidden) .gy-modal-overlay,
html body.gy-user-body .gy-proof-modal:not(.hidden) .gy-proof-modal-backdrop,
html body.gy-user-body .vt-rewards-guide-modal-wrap:not(.hidden) .vt-rewards-guide-backdrop {
    animation: vt-backdrop-in 220ms ease both;
}
html body.gy-user-body [data-gy-confirm-modal]:not(.hidden) .gy-confirm-panel,
html body.gy-user-body .gy-proof-modal:not(.hidden) .gy-proof-modal-dialog,
html body.gy-user-body .vt-rewards-guide-modal-wrap:not(.hidden) .vt-rewards-guide-modal {
    animation: vt-dialog-in 330ms cubic-bezier(.22,1,.36,1) both;
}
@keyframes vt-eye-toggle {
    0% { opacity: .45; transform: scale(.72); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes vt-backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes vt-dialog-in {
    0% { opacity: 0; translate: 0 16px; scale: .975; }
    100% { opacity: 1; translate: 0 0; scale: 1; }
}
@media (hover:hover) and (pointer:fine) {
    html body.gy-user-body main :is(article,a,button,[role="button"]):not(:disabled):hover {
        filter: brightness(1.015);
    }
}
@media (prefers-reduced-motion:reduce) {
    html body.gy-user-body [data-gy-app-view] [data-vt-motion-item],
    html body.gy-user-body [data-vt-progress-motion] {
        opacity: 1;
        transform: none;
        clip-path: none;
        transition: none !important;
        will-change: auto;
    }
    html body.gy-user-body [data-gy-balance-toggle].vt-is-toggling i,
    html body.gy-user-body [data-gy-confirm-modal]:not(.hidden) .gy-modal-overlay,
    html body.gy-user-body [data-gy-confirm-modal]:not(.hidden) .gy-confirm-panel,
    html body.gy-user-body .gy-proof-modal:not(.hidden) :is(.gy-proof-modal-backdrop,.gy-proof-modal-dialog),
    html body.gy-user-body .vt-rewards-guide-modal-wrap:not(.hidden) :is(.vt-rewards-guide-backdrop,.vt-rewards-guide-modal) {
        animation: none !important;
    }
}
