:root {
    --bg: #041f14;
    --bg-2: #062b1b;
    --panel: #083720;
    --panel-2: #0b4528;
    --line: rgba(159, 255, 188, .18);
    --text: #effff3;
    --muted: #9ac9a8;
    --green: #3ec642;
    --lime: #9cf23b;
    --amber: #f6c945;
    --red: #d94747;
    --shadow: 0 18px 60px rgba(0, 0, 0, .28);
}

@media (max-width: 1100px) {
    .gm-dashboard-live-grid {
        grid-template-columns: 1fr;
    }
    .gm-dashboard-activity-feed {
        min-height: 330px;
    }
    .gm-reward-ladder-layout {
        grid-template-columns: 1fr;
    }
    .gm-reward-real-image,
    .gm-reward-real-image img {
        min-height: 280px;
    }
    .gm-token-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .gm-dashboard-telegram-join {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .gm-dashboard-telegram-join b {
        width: 100%;
    }
    .gm-dashboard-activity-feed {
        min-height: 300px;
    }
    .gm-activity-item {
        grid-template-columns: 34px minmax(0, 1fr);
    }
    .gm-activity-item em {
        grid-column: 2;
        justify-self: start;
    }
    .gm-ticket-list div {
        grid-template-columns: 1fr;
    }
    .gm-ticket-list span {
        grid-row: auto;
        grid-column: auto;
        text-align: left;
    }
    .gm-reward-marquee {
        grid-template-columns: 1fr;
    }
    .gm-token-rule-grid {
        grid-template-columns: 1fr;
    }
    .gm-transaction-filter-title {
        align-items: flex-start;
        flex-direction: column;
    }
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 20% 0%, rgba(62, 198, 66, .18), transparent 34%),
        linear-gradient(135deg, #02150e 0%, var(--bg) 46%, #052817 100%);
    color: var(--text);
    font-family: Inter, "Noto Sans Devanagari", "Segoe UI", Arial, sans-serif;
    letter-spacing: 0;
}

a { color: inherit; text-decoration: none; }
input, select, button { font: inherit; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 28px;
    border-bottom: 1px solid var(--line);
    background: rgba(2, 18, 12, .92);
    backdrop-filter: blur(14px);
}
.site-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px;
}
.site-brand span { color: var(--lime); font-size: 32px; }
.site-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.site-nav a, .secondary-btn {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 13px;
    color: #ddf5e4;
    background: rgba(255,255,255,.04);
}
.site-nav a.site-app-download {
    border-color: rgba(246, 201, 69, .72);
    color: #103323;
    background: linear-gradient(180deg, #ffe97a, #f6c945);
    box-shadow: 0 10px 24px rgba(246, 201, 69, .18);
}
.gm-telegram-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 18px;
}
.gm-telegram-form {
    align-content: start;
}
.gm-telegram-form textarea {
    min-height: 170px;
    resize: vertical;
}
.gm-telegram-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.gm-telegram-notes {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px;
    color: var(--muted);
    background: rgba(2, 18, 12, .52);
}
.gm-telegram-notes h3 {
    margin: 0 0 12px;
    color: var(--text);
}
.gm-telegram-notes p {
    margin: 0 0 14px;
    padding: 12px;
    border-radius: 8px;
    color: #0b3a2a;
    background: #c9f4ff;
}
.gm-telegram-notes ul {
    margin: 0 0 18px 18px;
    padding: 0;
    line-height: 1.7;
}
.gm-telegram-notes pre {
    max-height: 230px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    padding: 12px;
    color: #dff8e7;
    background: rgba(0, 0, 0, .28);
}
.gm-server-check-page {
    width: min(1120px, calc(100% - 28px));
    margin: 32px auto;
}
.gm-server-check-table table {
    min-width: 680px;
}
.gm-server-check-table td:last-child {
    max-width: 640px;
    word-break: break-word;
}
.gm-server-login-test {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(183, 246, 81, .16);
    border-radius: 8px;
    background: rgba(0, 0, 0, .18);
}
.site-main {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}
.hero-site {
    min-height: 620px;
    display: flex;
    align-items: center;
    margin: 18px 0;
    padding: 48px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow);
}
.hero-copy { width: min(620px, 100%); }
.hero-copy h1 {
    margin: 0 0 14px;
    font-size: clamp(44px, 8vw, 92px);
    line-height: .94;
}
.hero-copy p {
    margin: 0;
    color: #d9f7df;
    font-size: 20px;
    line-height: 1.55;
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.hero-note {
    margin-top: 22px;
    padding: 12px 14px;
    border: 1px solid rgba(246, 201, 69, .45);
    border-radius: 8px;
    color: #ffe17a;
    background: rgba(119, 81, 0, .18);
}
.site-band, .page-index, .content-layout, .content-hero, .donation-panel, .receipt-card-public {
    margin: 18px 0;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(8, 55, 32, .94), rgba(5, 35, 21, .94));
}
.section-title {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) 1fr;
    gap: 24px;
    align-items: start;
    margin-bottom: 20px;
}
.section-title h2, .content-hero h1, .content-article h2, .donation-panel h2 {
    margin: 0;
}
.section-title p, .content-hero p, .content-article p, .donation-panel p, .site-footer span {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}
.proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.proof-grid a, .index-grid a {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.04);
}
.proof-grid.compact { grid-template-columns: repeat(3, 1fr); margin-top: 12px; }
.index-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.index-grid strong, .index-grid span {
    display: block;
}
.index-grid span {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
}
.content-hero {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
}
.content-hero h1 {
    font-size: clamp(34px, 5vw, 58px);
}
.content-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 22px;
    align-items: start;
}
.content-article {
    min-width: 0;
    font-size: 18px;
}
.content-article ul {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding-left: 20px;
    color: #def6e4;
}
.page-menu {
    position: sticky;
    top: 86px;
    display: grid;
    gap: 7px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(1, 19, 12, .45);
    max-height: calc(100vh - 110px);
    overflow: auto;
}
.page-menu h3 { margin: 0 0 8px; }
.page-menu a {
    padding: 9px 10px;
    border-radius: 6px;
    color: var(--muted);
}
.page-menu a.active, .page-menu a:hover {
    color: white;
    background: rgba(62, 198, 66, .16);
}
.donation-panel {
    display: grid;
    grid-template-columns: .85fr 1fr;
    gap: 24px;
}
.donation-form {
    display: grid;
    gap: 12px;
}
.receipt-card-public {
    width: min(860px, 100%);
    margin: 26px auto;
}
.receipt-topline, .receipt-actions, .qr-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.receipt-topline span {
    color: var(--lime);
    font-weight: 800;
}
.receipt-card-public h1 {
    margin: 24px 0 8px;
    font-size: 64px;
}
.receipt-card-public p, .receipt-card-public small {
    color: var(--muted);
}

.receipt-card-public.expired {
    border-color: rgba(255, 199, 116, .35);
    background: linear-gradient(135deg, rgba(38, 18, 8, .88), rgba(4, 45, 25, .95));
}

.gm-donation-expiry {
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 7px 14px;
    margin: 18px 0 4px;
    padding: 14px 18px;
    border: 1px solid rgba(216,242,124,.24);
    border-radius: 8px;
    background: rgba(216,242,124,.09);
    box-shadow: 0 16px 42px rgba(40,225,92,.12);
}

.gm-donation-expiry span {
    color: #b6d5be;
    font-weight: 800;
}

.gm-donation-expiry b {
    color: #d8f27c;
    font-size: 26px;
    font-weight: 950;
}

.gm-donation-expiry small {
    grid-column: 1 / -1;
}

.gm-donation-expiry.expired {
    border-color: rgba(255, 199, 116, .42);
    background: rgba(255, 199, 116, .1);
}

.gm-donation-expiry.expired b {
    color: #ffc774;
}

.receipt-grid-public {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 20px 0;
}
.receipt-grid-public div {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.04);
}
.receipt-grid-public span, .receipt-grid-public strong {
    display: block;
}
.receipt-grid-public span { color: var(--muted); font-size: 12px; }
.qr-row {
    justify-content: flex-start;
    align-items: center;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,.04);
}
.qr-row img {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background: white;
}
.site-footer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 26px;
    border-top: 1px solid var(--line);
    color: var(--muted);
}
.site-footer strong { color: var(--text); }

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}
.login-card {
    width: min(440px, 100%);
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(11, 69, 40, .96), rgba(4, 31, 20, .96));
    box-shadow: var(--shadow);
}
.brand-mark {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #134f2d;
    color: var(--lime);
    font-size: 38px;
}
.login-card h1 { margin: 18px 0 8px; font-size: 34px; }
.login-card p, .muted { color: var(--muted); }
.referral-applied {
    display: grid;
    grid-template-columns: 82px 1fr;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(156, 242, 59, .36);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(62, 198, 66, .18), rgba(156, 242, 59, .08));
}
.referral-photo {
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(156, 242, 59, .36);
    border-radius: 8px;
    background: rgba(1, 19, 12, .54);
}
.referral-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.referral-photo strong {
    padding: 8px;
    color: #d8f27c;
    font-size: 11px;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}
.referral-applied span,
.referral-applied small {
    display: block;
    color: var(--muted);
}
.referral-applied b {
    display: block;
    margin: 3px 0;
    font-size: 20px;
}
.login-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin: 24px 0 2px;
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.login-divider::before,
.login-divider::after {
    content: "";
    height: 1px;
    background: var(--line);
}
.login-switch-btn {
    display: block;
    margin-top: 16px;
    text-align: center;
}
.gm-forgot-link {
    display: inline-block;
    margin-top: 12px;
    color: #d8f27c;
    font-weight: 900;
    text-decoration: none;
}
.gm-forgot-link:hover {
    text-decoration: underline;
}
.gm-forgot-box {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(156, 242, 59, .3);
    border-radius: 8px;
    background: rgba(0, 16, 9, .28);
}
.gm-forgot-box > b {
    color: #efffee;
}
.gm-forgot-box .secondary-btn {
    width: 100%;
    text-align: center;
}
.referral-required-note {
    display: grid;
    gap: 7px;
    margin-top: 22px;
    padding: 14px;
    border: 1px solid rgba(246, 201, 69, .28);
    border-radius: 8px;
    background: rgba(246, 201, 69, .08);
}
.referral-required-note b {
    color: #f6c945;
}
.referral-required-note span {
    color: var(--muted);
    line-height: 1.45;
}
.stack { display: grid; gap: 14px; margin-top: 22px; }
label { display: grid; gap: 7px; color: #dff8e6; font-size: 13px; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 11px 12px;
    background: rgba(1, 19, 12, .58);
    color: var(--text);
    outline: none;
}
.gm-password-field {
    position: relative;
    display: block;
    width: 100%;
}
.gm-password-field input {
    padding-right: 48px;
}
.gm-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(159, 255, 188, .18);
    border-radius: 8px;
    padding: 0;
    color: #d8f27c;
    background: rgba(1, 19, 12, .76);
    box-shadow: none;
}
.gm-password-toggle svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.gm-password-toggle.is-visible {
    color: #06130d;
    background: linear-gradient(135deg, #32f060, #b6ff3d);
}
.flash.success {
    white-space: pre-line;
}
button, .primary, .logout {
    border: 0;
    border-radius: 8px;
    padding: 11px 14px;
    color: white;
    background: linear-gradient(180deg, #43c944, #238c2d);
    cursor: pointer;
    font-weight: 800;
}
.demo-box {
    margin-top: 20px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    background: rgba(255, 255, 255, .04);
    line-height: 1.6;
}

.app-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 18px 14px;
    border-right: 1px solid var(--line);
    background: rgba(2, 18, 12, .9);
}
.brand {
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}
.brand span { grid-row: span 2; font-size: 42px; color: var(--lime); }
.brand strong { font-size: 24px; }
.brand small { color: var(--muted); }
nav { display: grid; gap: 6px; }
nav a {
    padding: 12px 14px;
    border-radius: 8px;
    color: #ddf5e4;
}
nav a:first-child, nav a:hover { background: linear-gradient(90deg, #238c2d, #35b43a); }
.rate-card, .profile {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(160deg, #0d4e2d, #06321e);
}
.rate-card small, .profile small { display: block; color: var(--muted); }
.rate-card strong { display: block; margin: 8px 0; font-size: 32px; }

.main { padding: 18px; overflow: hidden; }
.topbar {
    display: grid;
    grid-template-columns: minmax(160px, 1.2fr) repeat(4, minmax(130px, 1fr)) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(6, 43, 27, .78);
}
.topbar small, .top-stat span { display: block; color: var(--muted); font-size: 12px; }
.topbar strong, .top-stat b { font-size: 18px; }
.logout { text-align: center; background: #103b26; border: 1px solid var(--line); }
.notice {
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid rgba(246, 201, 69, .55);
    border-radius: 8px;
    color: #ffdc63;
    background: rgba(119, 81, 0, .22);
}
.flash {
    margin: 12px 0;
    padding: 18px 20px;
    border-radius: 8px;
    border: 1px solid var(--line);
    color: #effff1;
    background:
        radial-gradient(circle at 12% 0, rgba(183, 246, 81, .24), transparent 34%),
        rgba(11, 83, 43, .9);
    box-shadow: 0 20px 46px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .08);
    font-size: 17px;
    font-weight: 950;
}
.flash.success {
    border-color: rgba(183, 246, 81, .56);
}
.flash.error {
    border-color: rgba(255, 92, 92, .66);
    background:
        radial-gradient(circle at 12% 0, rgba(255, 92, 92, .22), transparent 34%),
        rgba(100, 16, 18, .9);
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.metric-grid article, .panel, .action-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(8, 55, 32, .95), rgba(5, 35, 21, .95));
    box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
}
.metric-grid article { padding: 18px; }
.metric-grid span { color: var(--muted); }
.metric-grid strong { display: block; margin: 10px 0 4px; font-size: 28px; }
.metric-grid small { color: var(--lime); }
.actions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0;
}
.action-card { padding: 16px; display: grid; gap: 12px; }
.action-card h3, .panel h2 { margin: 0; font-size: 18px; }
.content-grid, .admin-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 12px;
    margin: 14px 0;
}
.admin-grid { grid-template-columns: 1fr 1fr; }
.settings { grid-column: 1 / -1; }
.settings-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
}
.panel { padding: 16px; min-width: 0; }
.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.panel-head span { color: var(--muted); font-size: 13px; }
.wide { min-height: 280px; }
.chart {
    height: 210px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: end;
    gap: 14px;
    padding-top: 26px;
    border-bottom: 1px solid var(--line);
}
.chart i {
    position: relative;
    display: block;
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, var(--lime), #16832b);
    min-height: 28px;
}
.chart b {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    font-style: normal;
    font-size: 12px;
    white-space: nowrap;
}
.stats { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.stats dt { color: var(--muted); }
.stats dd { margin: 0; font-weight: 800; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 680px; }
th, td {
    padding: 11px 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    white-space: nowrap;
}
th { color: var(--muted); font-size: 12px; font-weight: 700; }
.tag, .status {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 6px;
    background: rgba(62, 198, 66, .18);
    color: var(--lime);
    font-size: 12px;
}
.tag.withdrawal { background: rgba(246, 201, 69, .18); color: var(--amber); }
.tag.purchase, .tag.repurchase { background: rgba(82, 164, 255, .18); color: #88c8ff; }

.gm-transaction-browser {
    display: grid;
    gap: 14px;
}

.gm-transaction-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
}

.gm-transaction-summary button {
    display: grid;
    gap: 7px;
    min-height: 104px;
    padding: 14px;
    border: 1px solid rgba(207, 255, 91, .18);
    border-radius: 8px;
    color: #effff3;
    background: rgba(0, 26, 14, .46);
    text-align: left;
    cursor: pointer;
}

.gm-transaction-summary button.active,
.gm-transaction-summary button:hover {
    border-color: rgba(207, 255, 91, .58);
    background: linear-gradient(135deg, rgba(40, 145, 54, .6), rgba(0, 35, 19, .72));
}

.gm-transaction-summary small,
.gm-transaction-summary span {
    color: #b9dfc2;
    font-weight: 900;
}

.gm-transaction-summary b {
    color: #f3fff4;
    font-size: 32px;
    line-height: 1;
}

.gm-transaction-summary span {
    color: #dfff70;
}

.gm-transaction-filter-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid rgba(207, 255, 91, .14);
    border-radius: 8px;
    background: rgba(0, 18, 10, .36);
}

.gm-transaction-filter-title b {
    color: #f2fff4;
}

.gm-transaction-filter-title span {
    color: #a8d8b4;
    font-size: 13px;
}
.inline-form { display: flex; gap: 6px; }
.inline-form button {
    width: 32px;
    height: 32px;
    padding: 0;
}
.ok { background: var(--green); }
.bad { background: var(--red); }
.reward {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}
.reward span { color: var(--muted); }

@media (max-width: 1100px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; }
    nav { grid-template-columns: repeat(2, 1fr); }
    .topbar, .metric-grid, .actions-grid, .content-grid, .admin-grid, .settings-form { grid-template-columns: 1fr 1fr; }
    .index-grid { grid-template-columns: repeat(2, 1fr); }
    .content-layout, .donation-panel { grid-template-columns: 1fr; }
    .page-menu { position: static; max-height: none; }
    .gm-token-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .main { padding: 12px; }
    .topbar, .metric-grid, .actions-grid, .content-grid, .admin-grid, .settings-form, nav { grid-template-columns: 1fr; }
    .metric-grid strong { font-size: 23px; }
    .site-header { align-items: flex-start; flex-direction: column; padding: 12px 16px; }
    .site-nav { width: 100%; }
    .site-nav a { flex: 1 1 auto; text-align: center; }
    .site-main { width: min(100% - 20px, 1180px); }
    .hero-site { min-height: 520px; padding: 24px; background-position: 64% center; }
    .gm-reward-marquee { grid-template-columns: 1fr; }
    .gm-token-rule-grid { grid-template-columns: 1fr; }
    .hero-copy p { font-size: 16px; }
    .hero-actions, .content-hero, .section-title, .receipt-topline, .receipt-actions, .qr-row, .gm-payment-list-head, .gm-crypto-head { flex-direction: column; align-items: stretch; }
    .section-title, .proof-grid, .index-grid, .receipt-grid-public { grid-template-columns: 1fr; }
    .content-hero { display: grid; }
    .receipt-card-public h1 { font-size: 42px; }
}

.gm-crypto-box img {
    width: 220px;
    max-width: 100%;
    padding: 12px;
    border-radius: 10px;
    background: #fff;
}

.gm-payment-local-qr {
    width: 252px;
    max-width: 100%;
    aspect-ratio: 1;
    box-sizing: border-box;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
    color: #111;
}

.gm-payment-local-qr img,
.gm-payment-local-qr canvas {
    width: 100%;
    height: auto;
    padding: 0;
    border-radius: 0;
}

.gm-payment-create-error {
    color: #ffb5b5;
}

.gm-payment-details {
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    margin: 16px 0;
}

.gm-payment-live-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 16px 0 18px;
    padding: 16px 18px;
    border: 1px solid rgba(164, 245, 75, .62);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(50, 223, 88, .26), rgba(183, 255, 69, .16));
    box-shadow: 0 14px 34px rgba(71, 255, 83, .18), inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.gm-payment-live-status b {
    color: #f3ffe8;
    font-size: 20px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.gm-payment-live-status span {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 8px;
    color: #071508;
    font-weight: 900;
    background: linear-gradient(135deg, #32df58, #b7ff45);
    box-shadow: 0 10px 24px rgba(103, 255, 70, .24);
}

.gm-payment-address-details {
    min-width: 0;
}

.gm-payment-address-details b {
    overflow-wrap: anywhere;
}

.gm-payment-list-head[hidden] {
    display: none;
}

@media (max-width: 600px) {
    .gm-payment-details {
        grid-template-columns: minmax(0, 1fr);
    }
    .gm-payment-live-status {
        align-items: stretch;
        flex-direction: column;
    }
    .gm-payment-live-status span {
        width: 100%;
    }
}

.gm-payment-request-list {
    display: grid;
    gap: 14px;
}

.gm-payment-list-head,
.gm-crypto-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.gm-payment-list-head {
    padding: 10px 2px 0;
}

.gm-payment-list-head h3,
.gm-crypto-head h3 {
    margin: 0;
}

.gm-payment-list-head span {
    color: #a6d5b3;
}

.gm-qr-timer {
    display: inline-grid;
    min-width: 86px;
    place-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    color: #071508;
    background: linear-gradient(135deg, #32df58, #b7ff45);
    box-shadow: 0 10px 28px rgba(103, 255, 70, .22);
}

.gm-crypto-box.is-expired {
    opacity: .64;
}

.gm-crypto-box.is-expired img {
    filter: grayscale(1);
}

.gm-crypto-box.is-expired .gm-qr-timer {
    color: #ffecec;
    background: rgba(255, 70, 70, .2);
    box-shadow: none;
}

.gm-crypto-chip {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid rgba(153, 255, 87, .16);
    border-radius: 8px;
    background: rgba(0, 16, 9, .38);
}

.gm-crypto-chip span,
.gm-crypto-status {
    color: #a6d5b3;
}

.gm-crypto-chip b {
    overflow-wrap: anywhere;
    color: #efffee;
}

.gm-copy-btn {
    justify-self: start;
    margin-top: 6px;
    border: 1px solid rgba(153, 255, 87, .34);
    border-radius: 8px;
    padding: 8px 12px;
    color: #071508;
    background: linear-gradient(135deg, #32df58, #b7ff45);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.gm-copy-btn:hover {
    transform: translateY(-1px);
}

@media print {
    body { background: white; color: #102016; }
    .site-header, .site-footer, .receipt-actions { display: none; }
    .receipt-card-public {
        color: #102016;
        background: white;
        border-color: #d5e6db;
        box-shadow: none;
    }
    .receipt-card-public p, .receipt-card-public small, .receipt-grid-public span { color: #4b6555; }
}

/* Public NGO website redesign */
body:has(.ngo-main) {
    background: #f6fbf4;
    color: #103323;
}

.site-header {
    padding: 0 58px;
    min-height: 92px;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid #dbeade;
    box-shadow: 0 10px 30px rgba(17, 64, 39, .08);
}

.site-brand {
    color: #0b5d35;
    font-size: 30px;
    font-weight: 900;
    gap: 12px;
}

.site-brand span {
    color: #1f9c4a;
    font-size: 34px;
}

.site-brand small {
    display: block;
    margin-top: 2px;
    color: #4c775f;
    font-size: 14px;
    font-weight: 600;
}

.site-nav a {
    border: 0;
    color: #153427;
    background: transparent;
    font-weight: 800;
}

.site-nav a:hover,
.site-nav a[href*="page=donation"] {
    color: white;
    background: #08743f;
}

.ngo-main {
    width: 100%;
    margin: 0;
}

.ngo-hero,
.article-hero {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 70px max(7vw, 36px);
    background-size: cover;
    background-position: center;
}

.gm-hero-slider {
    position: relative;
    overflow: hidden;
    min-height: clamp(600px, 74vh, 780px);
    padding-bottom: 92px;
    background: #052014;
}

.gm-slide-track,
.gm-slide,
.gm-slide img,
.gm-slider-shade {
    position: absolute;
    inset: 0;
}

.gm-slide {
    opacity: 0;
    transform: scale(1.04);
    transition: opacity .9s ease, transform 6s ease;
}

.gm-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.gm-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.04) contrast(1.02);
}

.gm-video-frame {
    position: absolute;
    right: max(5vw, 36px);
    top: 50%;
    width: min(620px, 42vw);
    aspect-ratio: 16 / 9;
    transform: translateY(-50%);
    border: 1px solid rgba(216, 242, 124, .36);
    border-radius: 8px;
    overflow: hidden;
    background: #03120c;
    box-shadow: 0 30px 70px rgba(0,0,0,.45);
}

.gm-video-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.gm-slider-shade {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(3,49,31,.96) 0%, rgba(3,49,31,.84) 38%, rgba(3,49,31,.26) 73%, rgba(3,49,31,.08) 100%),
        linear-gradient(0deg, rgba(3,49,31,.62) 0%, transparent 32%);
    pointer-events: none;
}

.gm-slide-caption {
    position: absolute;
    right: max(4vw, 30px);
    bottom: 96px;
    z-index: 2;
    display: grid;
    gap: 5px;
    width: min(430px, 38vw);
    padding: 15px 16px;
    border-left: 4px solid #d8f27c;
    color: white;
    background: rgba(3, 18, 12, .56);
    backdrop-filter: blur(10px);
}

.gm-slide-caption strong {
    font-size: 18px;
}

.gm-slide-caption span {
    color: #dcefe2;
    line-height: 1.45;
}

.gm-hero-slider .hero-copy {
    position: relative;
    z-index: 3;
}

.gm-slider-controls {
    position: absolute;
    left: max(7vw, 36px);
    bottom: 28px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
}

.gm-slider-controls button {
    border: 1px solid rgba(255,255,255,.22);
    color: white;
    background: rgba(3,18,12,.5);
    backdrop-filter: blur(12px);
    cursor: pointer;
}

.gm-slider-prev,
.gm-slider-next {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 8px;
    transition: background .2s ease, transform .2s ease;
}

.gm-slider-prev:hover,
.gm-slider-next:hover {
    transform: translateY(-2px);
    background: rgba(53, 216, 87, .32);
}

.gm-slider-prev svg,
.gm-slider-next svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gm-slider-dots {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background: rgba(3,18,12,.46);
    backdrop-filter: blur(12px);
}

.gm-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.55);
}

.gm-slider-dots button.is-active {
    width: 28px;
    border-radius: 999px;
    background: #d8f27c;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.site-brand {
    flex: 0 1 420px;
    min-width: 210px;
    text-decoration: none;
}

.site-brand img {
    display: block;
    width: min(100%, 390px);
    height: 70px;
    object-fit: contain;
    object-position: left center;
}

.site-menu-btn {
    display: none;
    width: 46px;
    height: 46px;
    padding: 10px;
    border: 1px solid #cfe1d5;
    border-radius: 8px;
    background: #08743f;
    cursor: pointer;
}

.site-menu-btn span {
    display: block;
    height: 2px;
    margin: 5px 0;
    border-radius: 999px;
    background: white;
}

.login-logo {
    display: block;
    width: min(430px, 100%);
    max-height: 150px;
    object-fit: contain;
    margin: 0 auto 8px;
}

.gm-brand img {
    width: 148px;
    height: 54px;
    object-fit: contain;
    padding: 6px;
    border-radius: 8px;
    background: rgba(255,255,255,.94);
}

.ngo-hero .hero-copy,
.article-hero > div {
    width: min(700px, 100%);
}

.ngo-hero h1,
.article-hero h1 {
    margin: 0 0 18px;
    color: #f4fff7;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(60px, 8vw, 112px);
    line-height: .9;
}

.ngo-hero p,
.article-hero p {
    color: #f1fff5;
    font-size: 24px;
    line-height: 1.45;
}

.breadcrumb {
    display: inline-block;
    margin-bottom: 18px;
    color: #d6f5df;
    font-weight: 800;
}

.primary {
    background: #08743f;
    box-shadow: 0 10px 24px rgba(8, 116, 63, .22);
}

.secondary-btn {
    border-color: rgba(255, 255, 255, .45);
    color: white;
    background: rgba(255, 255, 255, .12);
}

.hero-note {
    width: fit-content;
    max-width: 640px;
    border: 0;
    color: #103323;
    background: #d8f27c;
}

.process-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    padding: 0 max(7vw, 36px);
    background: #dfeee3;
}

.process-strip div {
    min-height: 190px;
    padding: 28px 24px;
    background: #ffffff;
}

.process-strip b {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 50%;
    color: white;
    background: #08743f;
    font-size: 20px;
}

.process-strip strong,
.process-strip span {
    display: block;
}

.process-strip strong {
    color: #123928;
    font-size: 18px;
}

.process-strip span {
    margin-top: 8px;
    color: #446b55;
    line-height: 1.45;
}

.impact-band {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    padding: 26px max(7vw, 36px);
    background: #064128;
}

.impact-band div {
    padding: 18px 24px;
    border-right: 1px solid rgba(255,255,255,.18);
}

.impact-band span {
    display: block;
    color: #b3ef5f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
    font-weight: 800;
}

.impact-band p {
    margin: 4px 0 0;
    color: #eaffef;
}

.story-band,
.ngo-pages,
.article-shell,
.donation-panel,
.receipt-card-public {
    width: min(1180px, calc(100% - 36px));
    margin: 32px auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.story-band {
    display: grid;
    grid-template-columns: .85fr 1fr;
    gap: 34px;
    align-items: start;
}

.section-title {
    display: block;
    margin: 0;
}

.section-title h2,
.article-shell h2,
.donation-panel h2 {
    color: #123928;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.02;
}

.section-title p,
.article-shell p,
.donation-panel p {
    color: #315e45;
    font-size: 18px;
    line-height: 1.75;
}

.proof-grid a,
.index-grid a {
    border: 1px solid #d9e8dd;
    color: #123928;
    background: white;
    box-shadow: 0 14px 32px rgba(20, 69, 43, .08);
}

.ngo-pages {
    padding: 38px 0 58px;
}

.index-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.index-grid a {
    min-height: 120px;
}

.index-grid span {
    color: #547463;
}

.ngo-pages {
    position: relative;
    overflow: hidden;
}

.ngo-pages:before {
    content: "";
    position: absolute;
    inset: 20px auto auto -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(8,116,63,.12), transparent 68%);
    pointer-events: none;
}

.ngo-pages .section-title {
    position: relative;
    z-index: 1;
    align-items: end;
}

.ngo-pages .section-title p {
    max-width: 720px;
}

.ngo-pages .index-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.index-grid a.page-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 88px 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
    align-items: center;
    min-height: 154px;
    padding: 18px;
    border: 1px solid #d5e8db;
    color: #123928;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,251,246,.94)),
        radial-gradient(circle at 92% 10%, rgba(53,216,87,.12), transparent 32%);
    box-shadow: 0 18px 42px rgba(20,69,43,.09);
    animation: pageCardFloat 4.8s ease-in-out infinite;
    animation-delay: calc(var(--card-delay, 0) * .18s);
}

.index-grid a.page-card:before {
    content: "";
    position: absolute;
    inset: -60% auto auto -40%;
    width: 72%;
    height: 220%;
    transform: rotate(18deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
    animation: pageCardShine 5.6s ease-in-out infinite;
    animation-delay: calc(var(--card-delay, 0) * .22s);
}

.page-card-media {
    position: relative;
    grid-row: 1 / 3;
    display: block;
    width: 88px;
    height: 88px;
    overflow: hidden;
    border: 3px solid white;
    border-radius: 50%;
    background: #e8f3ec;
    box-shadow:
        0 16px 34px rgba(20,69,43,.18),
        inset 0 0 0 1px rgba(8,116,63,.12);
}

.page-card-media:after {
    content: "";
    position: absolute;
    inset: 8px 12px auto auto;
    width: 26px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    filter: blur(2px);
}

.page-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    transition: transform .35s ease;
}

.page-card-copy {
    display: grid !important;
    gap: 7px;
    min-width: 0;
}

.index-grid a.page-card strong {
    font-size: 21px;
    line-height: 1.16;
}

.index-grid a.page-card span span,
.page-card-copy span {
    margin: 0;
    color: #547463;
    font-size: 15px;
    line-height: 1.45;
}

.index-grid a.page-card em {
    justify-self: start;
    padding: 8px 11px;
    border-radius: 999px;
    color: #08743f;
    background: rgba(8,116,63,.08);
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .3px;
}

.index-grid a.page-card:hover {
    transform: translateY(-7px);
    border-color: rgba(8,116,63,.34);
    box-shadow: 0 28px 58px rgba(20,69,43,.16);
}

.index-grid a.page-card:hover .page-card-media img {
    transform: scale(1.18) rotate(2deg);
}

@keyframes pageCardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

@keyframes pageCardShine {
    0%, 72% { transform: translateX(-30%) rotate(18deg); opacity: 0; }
    82% { opacity: .9; }
    100% { transform: translateX(250%) rotate(18deg); opacity: 0; }
}

.article-hero {
    min-height: 420px;
}

.article-hero .primary {
    align-self: center;
    white-space: nowrap;
}

.article-intro {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 46px;
    align-items: start;
    padding: 54px 0 30px;
}

.lead {
    color: #123928 !important;
    font-size: 26px !important;
    line-height: 1.5 !important;
}

.quick-donate {
    display: grid;
    gap: 14px;
    padding: 28px;
    color: white;
    background: #064128;
}

.quick-donate strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
}

.quick-donate span {
    color: #dff4e5;
    line-height: 1.55;
}

.article-process {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 0;
    background: #dfeee3;
}

.article-process div {
    min-height: 150px;
}

.article-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 48px;
    padding: 52px 0;
}

.article-sections div {
    padding-top: 26px;
    border-top: 4px solid #08743f;
}

.article-sections h2 {
    margin: 0 0 12px;
    font-size: 34px;
}

.deep-dive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 44px;
}

.deep-dive-grid div {
    padding: 28px;
    background: white;
    border: 1px solid #d9e8dd;
    box-shadow: 0 14px 32px rgba(20, 69, 43, .07);
}

.deep-dive-grid h2 {
    margin: 0 0 14px;
    font-size: 30px;
}

.deep-dive-grid p {
    font-size: 16px;
}

.quote-cta {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 28px;
    align-items: center;
    margin-bottom: 44px;
    padding: 38px;
    color: white;
    background: #064128;
}

.quote-cta blockquote {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.12;
}

.quote-cta strong,
.quote-cta span {
    display: block;
}

.quote-cta span {
    margin-top: 10px;
    color: #dff4e5;
    line-height: 1.55;
}

.reference-panel,
.related-band {
    margin: 34px 0;
    padding: 32px;
    background: #ffffff;
    border: 1px solid #d9e8dd;
}

.compact-related {
    grid-template-columns: repeat(4, 1fr);
}

.donation-panel {
    display: grid;
    grid-template-columns: .8fr 1fr;
    gap: 42px;
    padding: 46px;
    background: white;
    border: 1px solid #d9e8dd;
    box-shadow: 0 18px 44px rgba(20, 69, 43, .08);
}

.donation-form input,
.donation-form select,
.donation-form button {
    background: #f7fbf8;
    color: #123928;
    border-color: #cfe2d4;
}

.donation-form button {
    color: white;
    background: #08743f;
}

.site-footer {
    margin-top: 50px;
    color: #315e45;
    background: white;
    border-color: #d9e8dd;
}

.danger-stage {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, .8fr);
    gap: 34px;
    align-items: center;
    padding: 70px max(7vw, 36px);
    color: white;
    background:
        radial-gradient(circle at 82% 18%, rgba(246, 201, 69, .22), transparent 26%),
        linear-gradient(135deg, #051d17 0%, #083c2a 52%, #02110d 100%);
    overflow: hidden;
}

.danger-copy span {
    color: #d8f27c;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.danger-copy h2 {
    margin: 12px 0 18px;
    max-width: 760px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 76px);
    line-height: .98;
}

.danger-copy p {
    max-width: 720px;
    color: #ddf3e5;
    font-size: 20px;
    line-height: 1.65;
}

.plastic-animation {
    position: relative;
    width: min(440px, 78vw);
    aspect-ratio: 1;
    margin: 0 auto;
}

.planet-core {
    position: absolute;
    inset: 18%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 28%, #80d4ff 0 18%, transparent 19%),
        radial-gradient(circle at 62% 56%, #7fd66a 0 24%, transparent 25%),
        radial-gradient(circle at 36% 72%, #2d9a51 0 18%, transparent 19%),
        linear-gradient(145deg, #0a6b91, #0f8952);
    box-shadow: inset -30px -38px 70px rgba(0,0,0,.28), 0 0 80px rgba(156,242,59,.25);
    animation: planetPulse 4.5s ease-in-out infinite;
}

.orbit {
    position: absolute;
    inset: 4%;
    border: 1px dashed rgba(255,255,255,.22);
    border-radius: 50%;
    animation: orbitSpin 18s linear infinite;
}

.orbit-two {
    inset: 12%;
    transform: rotate(42deg);
    animation-duration: 12s;
    animation-direction: reverse;
}

.orbit i {
    position: absolute;
    width: 18px;
    height: 48px;
    border-radius: 6px 6px 4px 4px;
    background: linear-gradient(180deg, #f9fff9, #97d7c1 42%, #ebfff4);
    box-shadow: 0 8px 22px rgba(0,0,0,.2);
}

.orbit i::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 4px;
    width: 10px;
    height: 8px;
    border-radius: 3px;
    background: #d8f27c;
}

.orbit i:nth-child(1) { top: -18px; left: 48%; transform: rotate(18deg); }
.orbit i:nth-child(2) { right: 20px; top: 58%; transform: rotate(80deg); }
.orbit i:nth-child(3) { left: 38px; bottom: 8%; transform: rotate(-48deg); }

.warning-ring {
    position: absolute;
    top: 8%;
    right: 10%;
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    color: #102016;
    background: #f6c945;
    font-size: 42px;
    font-weight: 900;
    animation: warningPop 1.6s ease-in-out infinite;
}

.clean-ring {
    position: absolute;
    left: 50%;
    bottom: 7%;
    transform: translateX(-50%);
    padding: 12px 22px;
    border-radius: 999px;
    color: #103323;
    background: #d8f27c;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}

@keyframes orbitSpin {
    to { transform: rotate(360deg); }
}

@keyframes planetPulse {
    0%, 100% { filter: saturate(1); transform: scale(1); }
    50% { filter: saturate(1.25); transform: scale(1.035); }
}

@keyframes warningPop {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.16); }
}

.reel-band,
.real-work-band {
    width: min(1180px, calc(100% - 36px));
    margin: 54px auto;
}

.reel-band .section-title {
    display: grid;
    grid-template-columns: .7fr 1fr;
    gap: 30px;
    align-items: end;
    margin-bottom: 24px;
}

.reel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.instagram-media {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 42px rgba(20,69,43,.12) !important;
}

.video-card {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    background: white;
    border: 1px solid #d9e8dd;
    box-shadow: 0 18px 42px rgba(20,69,43,.12);
}

.video-card iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    background: #064128;
}

.video-card div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px;
}

.video-card strong {
    color: #123928;
    font-size: 18px;
}

.video-card a {
    color: #08743f;
    font-weight: 900;
}

.insta-card {
    display: grid;
    align-content: center;
    gap: 16px;
    padding: 34px;
    color: white;
    background:
        linear-gradient(135deg, rgba(3,49,31,.95), rgba(8,116,63,.74)),
        url('greenmoney-hero.webp') center/cover;
}

.insta-card span {
    color: #d8f27c;
    font-weight: 900;
}

.insta-card h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1;
}

.insta-card p {
    color: #e7f8eb;
    line-height: 1.6;
}

.real-work-band {
    display: grid;
    grid-template-columns: .72fr 1fr;
    gap: 36px;
    align-items: start;
}

.real-work-band h2 {
    margin: 0 0 14px;
    color: #123928;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
}

.real-work-band p {
    color: #315e45;
    font-size: 18px;
    line-height: 1.7;
}

.media-tiles {
    display: grid;
    gap: 14px;
}

.media-tiles a {
    display: grid;
    gap: 6px;
    padding: 22px;
    color: #123928;
    background: white;
    border: 1px solid #d9e8dd;
    box-shadow: 0 14px 34px rgba(20,69,43,.08);
    transition: transform .22s ease, box-shadow .22s ease;
}

.media-tiles a:hover,
.index-grid a:hover,
.proof-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(20,69,43,.13);
}

.media-tiles strong {
    font-size: 20px;
}

.media-tiles span {
    color: #547463;
}

@media (max-width: 980px) {
    .site-header {
        position: sticky;
        padding: 12px 16px;
        align-items: center;
        flex-direction: row;
        min-height: 96px;
    }
    .site-brand {
        flex: 1 1 auto;
        min-width: 0;
    }
    .site-brand img {
        width: min(306px, calc(100vw - 92px));
        height: 72px;
    }
    .site-menu-btn {
        display: block;
        flex: 0 0 auto;
        width: 50px;
        height: 50px;
    }
    .site-nav {
        position: absolute;
        left: 16px;
        right: 16px;
        top: calc(100% + 10px);
        z-index: 60;
        display: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 12px;
        border: 1px solid #dbeade;
        border-radius: 8px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 22px 45px rgba(17,64,39,.16);
    }
    body.site-menu-open .site-nav {
        display: grid !important;
        opacity: 1;
        visibility: visible !important;
        pointer-events: auto;
    }
    .site-nav a,
    .site-nav a[href*="page=donation"] {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 10px;
        border: 1px solid #dcebe1;
        color: #123928;
        background: #f7fbf8;
        text-align: center;
    }
    .site-nav a:hover,
    .site-nav a[href*="page=donation"] {
        color: white;
        background: #08743f;
    }
    .process-strip,
    .impact-band,
    .story-band,
    .article-intro,
    .article-sections,
    .deep-dive-grid,
    .danger-stage,
    .reel-band .section-title,
    .reel-grid,
    .real-work-band,
    .quote-cta,
    .donation-panel {
        grid-template-columns: 1fr;
    }
    .index-grid,
    .compact-related,
    .proof-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ngo-pages .index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gm-video-frame {
        right: 18px;
        top: auto;
        bottom: 118px;
        width: min(420px, calc(100% - 36px));
        transform: none;
    }
    .gm-slide-caption {
        right: 18px;
        bottom: 28px;
        width: min(420px, calc(100% - 36px));
    }
}

@media (max-width: 640px) {
    .ngo-hero,
    .article-hero {
        min-height: 620px;
        padding: 34px 18px;
    }
    .site-header {
        min-height: 92px;
        padding: 10px 14px;
    }
    .site-brand img {
        width: min(302px, calc(100vw - 84px));
        height: 72px;
    }
    .site-nav {
        left: 12px;
        right: 12px;
        grid-template-columns: 1fr 1fr;
    }
    .site-nav a {
        font-size: 14px;
    }
    .gm-hero-slider {
        padding-bottom: 118px;
    }
    .ngo-hero h1,
    .article-hero h1 {
        font-size: 50px;
    }
    .ngo-hero p,
    .article-hero p {
        font-size: 18px;
    }
    .process-strip,
    .impact-band {
        grid-template-columns: 1fr;
        padding: 0;
    }
    .danger-stage {
        padding: 42px 18px;
    }
    .gm-slider-controls {
        left: 18px;
        right: 18px;
        bottom: 18px;
        justify-content: space-between;
    }
    .gm-slider-dots {
        flex: 1;
        justify-content: center;
        min-width: 0;
    }
    .gm-slider-dots button {
        width: 7px;
        height: 7px;
    }
    .gm-slider-dots button.is-active {
        width: 18px;
    }
    .gm-slide-caption {
        left: 18px;
        right: 18px;
        bottom: 82px;
        width: auto;
    }
    .gm-video-frame {
        left: 18px;
        right: 18px;
        bottom: 180px;
        width: auto;
    }
    .danger-copy h2 {
        font-size: 42px;
    }
    .index-grid,
    .compact-related,
    .proof-grid {
        grid-template-columns: 1fr;
    }
    .ngo-pages .index-grid {
        grid-template-columns: 1fr;
    }
    .index-grid a.page-card {
        grid-template-columns: 72px 1fr;
        min-height: 128px;
        padding: 14px;
    }
    .page-card-media {
        width: 72px;
        height: 72px;
    }
    .index-grid a.page-card strong {
        font-size: 18px;
    }
}

/* GreenMoney member/admin terminal */
.gm-portal {
    --gm-bg: #03120c;
    --gm-bg-soft: #062417;
    --gm-panel: #082818;
    --gm-panel-2: #0b371f;
    --gm-line: rgba(179, 255, 205, .15);
    --gm-text: #effff3;
    --gm-muted: #9ac4a7;
    --gm-accent: #35d857;
    --gm-accent-2: #b7f651;
    --gm-warning: #f3ce4a;
    display: flex;
    overflow-x: hidden;
    min-height: 100vh;
    color: var(--text);
    background:
        radial-gradient(circle at 78% 8%, rgba(53, 216, 87, .16), transparent 34%),
        radial-gradient(circle at 18% 88%, rgba(183, 246, 81, .09), transparent 32%),
        linear-gradient(145deg, #020907, var(--gm-bg) 42%, #061b12);
}

.gm-portal * {
    box-sizing: border-box;
}

.gm-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    width: 278px;
    display: grid;
    grid-template-rows: auto 1fr auto auto auto;
    gap: 18px;
    padding: 22px 18px;
    background:
        linear-gradient(180deg, rgba(10, 54, 31, .98), rgba(3, 18, 12, .98)),
        url('greenmoney-hero.webp') center/cover;
    background-blend-mode: multiply;
    border-right: 1px solid var(--gm-line);
    box-shadow: 18px 0 55px rgba(0, 0, 0, .32);
}

.gm-sidebar::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.gm-sidebar-head,
.gm-topbar,
.gm-top-left,
.gm-top-actions,
.gm-brand,
.gm-account,
.gm-wallet-row,
.gm-hero-actions,
.gm-panel-head,
.gm-ref-copy div,
.gm-ticket-list div {
    display: flex;
    align-items: center;
}

.gm-sidebar-head {
    justify-content: space-between;
    gap: 12px;
}

.gm-brand {
    gap: 12px;
    color: white;
    text-decoration: none;
    align-items: center;
    min-width: 0;
}

.gm-brand i,
.gm-profile-dot,
.gm-account-photo,
.gm-account > span,
.gm-quick-grid i,
.gm-top-actions i {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    color: #062014;
    font-weight: 950;
}

.gm-brand i {
    width: 42px;
    height: 42px;
    font-size: 13px;
}

.gm-brand b,
.gm-top-left b,
.gm-account b {
    display: block;
}

.gm-brand span {
    min-width: 0;
}

.gm-brand b {
    font-size: 13px;
    letter-spacing: .7px;
}

.gm-brand small,
.gm-top-left small,
.gm-account small,
.gm-sidebar-balance span,
.gm-stat small,
.gm-stat span,
.gm-panel-head span,
.gm-wallet-chips span,
.gm-network-stats span,
.gm-ref-copy label,
.gm-session-list small {
    color: var(--gm-muted);
}

.gm-brand small {
    font-size: 10px;
    letter-spacing: 1.2px;
}

.gm-menu-close,
.gm-menu-btn {
    border: 1px solid var(--gm-line);
    background: rgba(255, 255, 255, .05);
    color: white;
}

.gm-menu-close {
    display: none;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 24px;
    line-height: 1;
}

.gm-sidebar nav {
    display: grid;
    gap: 7px;
    overflow: auto;
    padding-right: 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gm-sidebar,
.gm-sidebar nav {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gm-sidebar::-webkit-scrollbar,
.gm-sidebar nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.gm-sidebar nav p {
    margin: 12px 0 4px;
    color: #d8f27c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.gm-sidebar nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #d8efdf;
    text-decoration: none;
    font-weight: 800;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.gm-nav-icon {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(183, 246, 81, .22);
    border-radius: 8px;
    color: #d8f27c;
    background:
        radial-gradient(circle at 35% 25%, rgba(216,242,124,.28), transparent 40%),
        linear-gradient(145deg, rgba(53,216,87,.17), rgba(4,36,22,.82));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 8px 18px rgba(0,0,0,.18);
}

.gm-nav-icon svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gm-sidebar nav a b {
    min-width: 0;
    font: inherit;
}

.gm-sidebar nav a:hover,
.gm-sidebar nav a.active {
    transform: translateX(2px);
    border-color: rgba(183, 246, 81, .22);
    background: rgba(53, 216, 87, .16);
}

.gm-sidebar nav a:hover .gm-nav-icon,
.gm-sidebar nav a.active .gm-nav-icon {
    color: #062014;
    border-color: rgba(216,242,124,.75);
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.gm-account,
.gm-sidebar-balance,
.gm-signout {
    padding: 14px;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
}

.gm-account {
    gap: 12px;
}

.gm-account > span,
.gm-account-photo,
.gm-profile-dot {
    width: 42px;
    height: 42px;
}

.gm-profile-dot.has-photo,
.gm-account-photo.has-photo {
    overflow: hidden;
    padding: 0;
    background: rgba(156, 242, 59, .14);
    border: 1px solid rgba(156, 242, 59, .45);
}

.gm-profile-dot img,
.gm-account-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gm-sidebar-balance {
    display: grid;
    gap: 4px;
}

.gm-sidebar-balance b {
    font-size: 24px;
}

.gm-signout {
    color: #e6ffe9;
    text-align: center;
    text-decoration: none;
    font-weight: 900;
}

.gm-main {
    width: 100%;
    min-width: 0;
    margin-left: 278px;
}

.gm-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    justify-content: space-between;
    min-height: 78px;
    padding: 14px 28px;
    border-bottom: 1px solid var(--gm-line);
    background: rgba(3, 18, 12, .86);
    backdrop-filter: blur(18px);
}

.gm-menu-btn {
    display: none;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    padding: 10px;
}

.gm-menu-btn span {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: white;
}

.gm-top-left {
    gap: 12px;
}

.gm-top-actions {
    gap: 14px;
}

.gm-top-actions a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    color: white;
    background: rgba(255, 255, 255, .05);
    text-decoration: none;
}

.gm-top-actions span {
    color: var(--gm-muted);
}

.gm-top-actions i {
    width: 38px;
    height: 38px;
}

.gm-workspace {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: none;
    padding: 28px clamp(22px, 2.4vw, 42px);
}

.gm-risk {
    padding: 10px 14px;
    border: 1px solid rgba(243, 206, 74, .28);
    border-radius: 8px;
    color: #fff4ba;
    background: rgba(243, 206, 74, .09);
    font-size: 13px;
    line-height: 1.5;
}

.gm-live-impact {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 260px;
    align-items: center;
    gap: 24px;
    min-height: 184px;
    padding: 22px 24px;
    border: 1px solid rgba(183, 246, 81, .24);
    border-radius: 8px;
    background:
        radial-gradient(circle at 14% 25%, rgba(53,216,87,.2), transparent 28%),
        radial-gradient(circle at 88% 20%, rgba(95,232,255,.14), transparent 30%),
        linear-gradient(135deg, rgba(5, 45, 28, .98), rgba(3, 18, 12, .94));
    box-shadow: 0 22px 62px rgba(0, 0, 0, .24);
}

.gm-live-impact:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(216,242,124,.08), transparent);
    transform: translateX(-100%);
    animation: gmScan 5.5s linear infinite;
}

.gm-live-impact > * {
    position: relative;
    z-index: 1;
}

.gm-recycle-stage {
    position: relative;
    min-height: 138px;
}

.gm-bottle-rain i {
    position: absolute;
    top: -18px;
    left: calc(18px + var(--x, 0px));
    width: 18px;
    height: 50px;
    border: 2px solid rgba(219,255,231,.82);
    border-radius: 8px 8px 13px 13px;
    background: linear-gradient(180deg, rgba(219,255,231,.28), rgba(53,216,87,.22));
    transform: rotate(var(--r, -18deg));
    animation: gmBottleDrop 3.6s ease-in-out infinite;
    animation-delay: var(--d, 0s);
}

.gm-bottle-rain i:before {
    content: "";
    position: absolute;
    left: 4px;
    top: -8px;
    width: 7px;
    height: 8px;
    border-radius: 3px 3px 0 0;
    background: #d8f27c;
}

.gm-bottle-rain i:nth-child(1) { --x: 6px; --r: -20deg; --d: .1s; }
.gm-bottle-rain i:nth-child(2) { --x: 48px; --r: 14deg; --d: .8s; }
.gm-bottle-rain i:nth-child(3) { --x: 88px; --r: -8deg; --d: 1.5s; }
.gm-bottle-rain i:nth-child(4) { --x: 126px; --r: 22deg; --d: 2.1s; }
.gm-bottle-rain i:nth-child(5) { --x: 164px; --r: -13deg; --d: 2.7s; }

.gm-recycle-machine {
    position: absolute;
    left: 26px;
    bottom: 4px;
    width: 158px;
    height: 88px;
    border: 1px solid rgba(216,242,124,.35);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(8,116,63,.95), rgba(3,32,20,.98));
    box-shadow: inset 0 0 0 8px rgba(255,255,255,.04), 0 18px 35px rgba(0,0,0,.28);
}

.gm-recycle-machine span {
    position: absolute;
    left: 20px;
    right: 20px;
    top: -14px;
    height: 20px;
    border-radius: 8px 8px 2px 2px;
    background: #d8f27c;
}

.gm-recycle-machine b {
    position: absolute;
    left: 43px;
    top: 26px;
    color: white;
    font-size: 42px;
}

.gm-recycle-machine b:before {
    content: "♻";
}

.gm-recycle-machine em {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 9px;
    background: linear-gradient(90deg, #35d857, #b7f651, #35d857);
    animation: gmConveyor 1.4s linear infinite;
}

.gm-live-copy h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 2.7vw, 42px);
}

.gm-live-copy p,
.gm-earth-meter p {
    margin: 0;
    color: #b8dcc3;
    line-height: 1.45;
}

.gm-live-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.gm-live-metrics div {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    background: rgba(0,0,0,.2);
}

.gm-live-metrics small {
    display: block;
    min-height: 34px;
    color: #9ac4a7;
    font-weight: 800;
}

.gm-live-metrics strong {
    display: block;
    margin-top: 6px;
    color: #effff3;
    font-size: clamp(22px, 1.75vw, 30px);
    white-space: nowrap;
}

.gm-earth-meter {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 8px;
}

.gm-meter-ring {
    position: relative;
    overflow: visible;
    display: grid;
    place-items: center;
    width: 150px;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 55%, rgba(6,36,23,.95) 56% 65%, transparent 66%),
        conic-gradient(#b7f651 var(--meter), rgba(255,255,255,.13) 0);
    box-shadow: 0 0 30px rgba(183,246,81,.18), 0 0 calc(34px * (1 - var(--cool))) rgba(255, 78, 28, .55);
}

.gm-meter-ring span {
    position: absolute;
    right: 2px;
    bottom: 6px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid rgba(216,242,124,.75);
    background: rgba(3,18,12,.84);
    color: #d8f27c;
    font-size: 21px;
    font-weight: 950;
    box-shadow: 0 0 18px rgba(0,0,0,.24);
}

.gm-earth-core {
    position: absolute;
    inset: 17px;
    overflow: hidden;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 28%, rgba(255,255,255,.28), transparent 18%),
        url('earth-real.webp') center/cover;
    box-shadow:
        inset -20px -18px 24px rgba(0,0,0,.38),
        inset 12px 8px 18px rgba(255,255,255,.16),
        0 0 18px rgba(53,216,87, calc(.12 + (.4 * var(--cool))));
    transform-style: preserve-3d;
    animation: gmEarthFloat 3.8s ease-in-out infinite, gmEarthPan 18s linear infinite;
}

.gm-earth-core:before,
.gm-earth-core:after,
.gm-earth-core i,
.gm-earth-core em {
    content: "";
    position: absolute;
    display: block;
}

.gm-earth-core:before {
    inset: 0;
    z-index: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 24%, rgba(255,255,255,.3), transparent 24%),
        linear-gradient(115deg, rgba(255,70,24, calc(.62 * (1 - var(--cool)))) 0 18%, transparent 36%),
        linear-gradient(20deg, transparent 0 54%, rgba(255,128,28, calc(.75 * (1 - var(--cool)))) 55% 61%, transparent 62% 100%),
        radial-gradient(circle at 76% 70%, rgba(255,74,22, calc(.65 * (1 - var(--cool)))), transparent 22%);
    mix-blend-mode: screen;
}

.gm-earth-core:after {
    inset: 0;
    z-index: 2;
    border-radius: 50%;
    background:
        radial-gradient(circle at 28% 24%, rgba(255,255,255,.34), transparent 26%),
        radial-gradient(circle at 78% 78%, rgba(0,0,0,.42), transparent 35%),
        linear-gradient(90deg, transparent 0 56%, rgba(0,0,0,.32) 100%),
        linear-gradient(17deg, transparent 0 26%, rgba(255,255,255, calc(.45 * var(--cool))) 27% 30%, transparent 31% 100%),
        linear-gradient(-14deg, transparent 0 56%, rgba(255,255,255, calc(.36 * var(--cool))) 57% 60%, transparent 61% 100%);
}

.gm-earth-core i:nth-child(1) {
    width: 46%;
    height: 13%;
    left: 18%;
    top: 24%;
    border-radius: 999px;
    z-index: 3;
    background: rgba(255,255,255, calc(.55 * var(--cool)));
}

.gm-earth-core i:nth-child(2) {
    width: 38%;
    height: 11%;
    right: 10%;
    top: 55%;
    border-radius: 999px;
    z-index: 3;
    background: rgba(255,255,255, calc(.45 * var(--cool)));
}

.gm-earth-core i:nth-child(3) {
    inset: -18%;
    z-index: 4;
    border-radius: 50%;
    border: 14px solid rgba(255, 96, 40, calc(.55 * (1 - var(--cool))));
    filter: blur(3px);
}

.gm-earth-core i:nth-child(3):after {
    content: "";
    position: absolute;
    inset: 10%;
    border-radius: 50%;
    background:
        conic-gradient(from 20deg, transparent 0 8%, rgba(255,205,55, calc(.9 * (1 - var(--cool)))) 9% 15%, transparent 16% 29%, rgba(255,71,28, calc(.88 * (1 - var(--cool)))) 30% 36%, transparent 37% 100%);
    animation: gmFirePulse 1.6s ease-in-out infinite;
}

.gm-earth-core em {
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.28), transparent 28%);
    mix-blend-mode: screen;
}

.gm-earth-meter b {
    color: #effff3;
}

.gm-earth-meter p {
    font-size: 13px;
}

.gm-au-watch {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9998;
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 10px;
    align-items: center;
    min-width: 178px;
    padding: 10px 13px;
    border: 1px solid rgba(183,246,81,.32);
    border-radius: 8px;
    color: #effff3;
    background:
        radial-gradient(circle at 100% 0, rgba(183,246,81,.2), transparent 42%),
        rgba(2, 22, 14, .82);
    box-shadow: 0 18px 45px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter: blur(16px);
    pointer-events: none;
}

.gm-au-watch:before {
    content: "";
    grid-row: span 2;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 28%, #f4fff6 0 10%, transparent 11%),
        conic-gradient(from 25deg, #35d857 0 22%, #0a7d46 23% 45%, #b7f651 46% 60%, #0b5d35 61% 100%);
    box-shadow: inset -8px -8px 12px rgba(0,0,0,.34), 0 0 18px rgba(53,216,87,.22);
    animation: gmEarthTurn 15s linear infinite;
}

.gm-au-watch span {
    color: #b7f651;
    font-size: 10px;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gm-au-watch b {
    color: white;
    font-size: 18px;
    line-height: 1;
}

.gm-au-watch small {
    grid-column: 2;
    color: #9fceb0;
    font-size: 10px;
    font-weight: 800;
}

.gm-live-roi-panel {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 6% 20%, rgba(53,216,87,.2), transparent 26%),
        radial-gradient(circle at 94% 10%, rgba(183,246,81,.16), transparent 28%),
        linear-gradient(135deg, rgba(8,71,39,.96), rgba(3,18,12,.96));
}

.gm-live-roi-panel:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0 35%, rgba(216,242,124,.08) 45%, transparent 58%);
    transform: translateX(-110%);
    animation: gmScan 7s linear infinite;
}

.gm-live-roi-panel > * {
    position: relative;
    z-index: 1;
}

.gm-roi-empty {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(320px, .95fr) minmax(0, 1.3fr);
    align-items: stretch;
    min-height: 230px;
    border: 1px solid rgba(216,242,124,.18);
    border-radius: 8px;
    background:
        radial-gradient(circle at 78% 24%, rgba(255,117,54,.18), transparent 22%),
        linear-gradient(120deg, rgba(3,18,12,.88), rgba(9,70,39,.72));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 28px 70px rgba(0,0,0,.22);
}

.gm-roi-empty-scene {
    position: relative;
    min-height: 230px;
    background:
        linear-gradient(180deg, rgba(12,60,40,.18), rgba(4,21,13,.88)),
        url('slider/plastic-waste.jpg') center/cover;
    background-blend-mode: multiply;
}

.gm-roi-empty-scene:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,18,12,.2), rgba(3,18,12,.78)),
        repeating-linear-gradient(90deg, transparent 0 28px, rgba(255,255,255,.025) 29px 30px);
}

.gm-sun-haze {
    position: absolute;
    right: 15%;
    top: 18%;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,176,61,.68), rgba(255,93,48,.18) 54%, transparent 70%);
    filter: blur(.2px);
    animation: gmHeatPulse 4.5s ease-in-out infinite;
}

.gm-tree-line,
.gm-building-line {
    position: absolute;
    left: 9%;
    right: 9%;
    bottom: 36px;
    display: flex;
    align-items: end;
    gap: 18px;
}

.gm-tree-line i {
    position: relative;
    display: block;
    width: 16px;
    height: 62px;
    border-radius: 12px 12px 3px 3px;
    background: linear-gradient(180deg, #7b4f22, #3a230f);
    transform-origin: 50% 100%;
    animation: gmTreeVanish 8s ease-in-out infinite;
}

.gm-tree-line i:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -28px;
    width: 76px;
    height: 62px;
    border-radius: 50% 50% 46% 46%;
    background:
        radial-gradient(circle at 30% 42%, #79f06f, transparent 28%),
        radial-gradient(circle at 60% 28%, #b7f651, transparent 27%),
        radial-gradient(circle at 56% 65%, #1f9a4a, transparent 36%),
        linear-gradient(135deg, #35d857, #0b7033);
    transform: translateX(-50%);
    box-shadow: 0 12px 26px rgba(53,216,87,.22);
}

.gm-tree-line i:nth-child(2) { height: 78px; animation-delay: .6s; }
.gm-tree-line i:nth-child(3) { height: 54px; animation-delay: 1.1s; }
.gm-tree-line i:nth-child(4) { height: 72px; animation-delay: 1.7s; }
.gm-tree-line i:nth-child(5) { height: 58px; animation-delay: 2.3s; }

.gm-building-line {
    justify-content: end;
    gap: 10px;
    opacity: .92;
}

.gm-building-line i {
    display: block;
    width: 58px;
    height: 130px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 5px 5px 0 0;
    background:
        repeating-linear-gradient(180deg, rgba(216,242,124,.32) 0 5px, transparent 6px 18px),
        linear-gradient(180deg, rgba(25,47,44,.9), rgba(7,22,21,.98));
    transform: translateY(92px);
    animation: gmBuildingRise 8s ease-in-out infinite;
}

.gm-building-line i:nth-child(2) {
    width: 44px;
    height: 172px;
    animation-delay: .7s;
}

.gm-building-line i:nth-child(3) {
    width: 68px;
    height: 108px;
    animation-delay: 1.2s;
}

.gm-falling-tree {
    position: absolute;
    left: 33%;
    bottom: 38px;
    width: 15px;
    height: 78px;
    border-radius: 12px 12px 3px 3px;
    background: linear-gradient(180deg, #7b4f22, #3a230f);
    transform-origin: 50% 100%;
    animation: gmTreeFall 8s ease-in-out infinite;
}

.gm-falling-tree:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -28px;
    width: 74px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg, #b7f651, #118844);
    transform: translateX(-50%);
}

.gm-ground-strip {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 30px;
    height: 7px;
    background: linear-gradient(90deg, #35d857, #b7f651, #3e3a25);
    box-shadow: 0 0 20px rgba(53,216,87,.2);
}

.gm-roi-empty-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 30px;
    background: linear-gradient(90deg, rgba(3,18,12,.25), rgba(3,18,12,.76));
}

.gm-roi-empty-copy b {
    color: #effff3;
    font-size: 30px;
    line-height: 1.05;
}

.gm-roi-empty-copy p {
    max-width: 760px;
    color: #b6d5be;
    line-height: 1.55;
}

.gm-roi-empty-copy a {
    display: inline-flex;
    width: max-content;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 18px 38px rgba(53,216,87,.2);
}

.gm-live-roi-grid {
    display: grid;
    gap: 12px;
}

.gm-live-roi-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 112px;
    padding: 15px;
    border: 1px solid rgba(216,242,124,.18);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(3,18,12,.7), rgba(12,78,42,.72)),
        radial-gradient(circle at 100% 50%, rgba(183,246,81,.12), transparent 36%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.gm-live-roi-card:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 42%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #35d857, #b7f651);
    animation: gmConveyor 2.2s linear infinite;
}

.gm-live-roi-card.is-ready {
    border-color: rgba(183,246,81,.52);
    box-shadow: 0 0 28px rgba(183,246,81,.12), inset 0 1px 0 rgba(255,255,255,.06);
}

.gm-live-roi-card > i {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    box-shadow: 0 14px 30px rgba(53,216,87,.22);
}

.gm-live-roi-card svg {
    width: 27px;
    height: 27px;
    stroke-width: 2.2;
}

.gm-live-roi-copy,
.gm-live-roi-money {
    display: grid;
    gap: 5px;
}

.gm-live-roi-copy b {
    color: #effff3;
    font-size: 20px;
}

.gm-live-roi-copy span,
.gm-live-roi-copy small,
.gm-live-roi-money small,
.gm-live-roi-money span,
.gm-transaction-note {
    color: #9fcbb0;
}

.gm-live-roi-copy small em {
    color: #d8f27c;
    font-style: normal;
}

.gm-live-roi-money {
    min-width: 180px;
    justify-items: end;
    text-align: right;
}

.gm-live-roi-money strong {
    color: #effff3;
    font-size: 30px;
    line-height: 1;
}

.gm-principal-donate-form {
    margin-top: 8px;
}

.gm-principal-donate-form button {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(216,242,124,.34);
    border-radius: 8px;
    color: #062014;
    background:
        linear-gradient(135deg, #35d857, #b7f651),
        url('green-rewards-realistic.webp') center/cover;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(53,216,87,.18);
}

.gm-principal-donate-form button:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.status.donated {
    color: #062014;
    background: linear-gradient(135deg, #d8f27c, #35d857);
}

.gm-transaction-note {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 800;
}

.gm-balance-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 24px;
    min-height: 284px;
    padding: 30px;
    border: 1px solid rgba(183, 246, 81, .22);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(15, 91, 46, .95), rgba(5, 31, 21, .95)),
        url('greenmoney-hero.webp') center/cover;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .28);
}

.gm-balance-hero:before {
    content: "";
    position: absolute;
    inset: auto -90px -150px auto;
    width: 390px;
    height: 390px;
    border-radius: 50%;
    background: rgba(183, 246, 81, .18);
    animation: gmGlow 4.5s ease-in-out infinite;
}

.gm-balance-hero > * {
    position: relative;
    z-index: 1;
}

.gm-balance-hero p,
.gm-balance-hero h1 {
    margin: 0;
}

.gm-balance-hero p {
    color: #c7f8d2;
    font-size: 17px;
    font-weight: 900;
}

.gm-balance-hero h1 {
    margin-top: 8px;
    font-size: clamp(48px, 7vw, 86px);
    line-height: .95;
}

.gm-balance-hero > div:first-child span {
    display: block;
    margin-top: 12px;
    color: #d9f7df;
}

.gm-mini-chart {
    align-self: end;
    display: flex;
    align-items: end;
    gap: 12px;
    height: 150px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background: rgba(0, 0, 0, .18);
}

.gm-mini-chart i {
    width: 18%;
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, #d8f27c, #35d857);
    animation: gmBars 2.2s ease-in-out infinite;
}

.gm-mini-chart i:nth-child(1) { height: 38%; animation-delay: .1s; }
.gm-mini-chart i:nth-child(2) { height: 66%; animation-delay: .25s; }
.gm-mini-chart i:nth-child(3) { height: 48%; animation-delay: .4s; }
.gm-mini-chart i:nth-child(4) { height: 82%; animation-delay: .55s; }
.gm-mini-chart i:nth-child(5) { height: 58%; animation-delay: .7s; }

.gm-wallet-row {
    grid-column: 1 / -1;
    gap: 12px;
}

.gm-wallet-row div,
.gm-wallet-chips div,
.gm-network-stats div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
}

.gm-wallet-row div {
    flex: 1;
}

.gm-wallet-row b,
.gm-wallet-chips b,
.gm-network-stats b {
    font-size: 23px;
}

.gm-hero-actions {
    position: absolute;
    right: 28px;
    top: 28px;
    gap: 10px;
}

.gm-hero-actions a,
.gm-ref-copy button,
.gm-portal button.primary {
    border: 0;
    border-radius: 8px;
    color: #061c11;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(53, 216, 87, .22);
}

.gm-hero-actions a {
    padding: 12px 16px;
}

.gm-rate-strip {
    overflow: hidden;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    background: rgba(5, 30, 19, .78);
}

.gm-rate-track {
    display: flex;
    gap: 10px;
    width: max-content;
    padding: 12px;
    animation: gmTicker 22s linear infinite;
}

.gm-rate-track span {
    padding: 8px 12px;
    border-radius: 8px;
    color: #d9ffe0;
    background: rgba(53, 216, 87, .13);
    border: 1px solid rgba(53, 216, 87, .2);
    white-space: nowrap;
}

.gm-mission-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .75fr);
    gap: 22px;
    min-height: 270px;
    padding: 24px;
    border: 1px solid rgba(183,246,81,.25);
    border-radius: 8px;
    background:
        linear-gradient(115deg, rgba(4, 36, 22, .96), rgba(8, 90, 45, .82)),
        url('slider/plastic-waste.jpg') center/cover;
    box-shadow: 0 26px 72px rgba(0,0,0,.27);
}

.gm-aic-hero {
    grid-template-columns: 1fr 180px;
    min-height: 246px;
    padding: 24px;
    background:
        radial-gradient(circle at 80% 18%, rgba(32,197,255,.18), transparent 28%),
        linear-gradient(135deg, rgba(10, 35, 47, .98), rgba(3, 18, 12, .96)),
        url('slider/plastic-waste.jpg') center/cover;
}

.gm-balance-copy p {
    margin: 0;
    color: #9fb8c7;
    font-weight: 850;
}

.gm-balance-copy h1 {
    margin: 8px 0 10px;
    font-size: clamp(42px, 5.4vw, 72px);
    line-height: .96;
}

.gm-eye {
    border: 0;
    color: #d8f27c;
    background: transparent;
    font-weight: 900;
    cursor: pointer;
}

.gm-mini-line {
    align-self: end;
    height: 110px;
    display: flex;
    align-items: end;
    justify-content: end;
}

.gm-mini-line i {
    width: 150px;
    height: 62px;
    border-right: 4px solid #35d857;
    border-bottom: 4px solid #35d857;
    clip-path: polygon(0 70%, 54% 70%, 72% 56%, 100% 0, 100% 100%, 0 100%);
    filter: drop-shadow(0 0 18px rgba(53,216,87,.42));
    animation: gmLinePulse 2.8s ease-in-out infinite;
}

.gm-aic-wallets {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gm-aic-wallets div {
    display: grid;
    gap: 5px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(0, 0, 0, .24);
}

.gm-aic-wallets span {
    color: #9fb8c7;
}

.gm-aic-wallets b {
    font-size: 25px;
}

.gm-wallet-refresh-form {
    margin-top: 8px;
}

.gm-wallet-refresh-form button {
    min-height: 36px;
    width: fit-content;
    border: 0;
    border-radius: 8px;
    padding: 8px 13px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font: inherit;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(53, 216, 87, .18);
}

.gm-wallet-refresh-form button:disabled {
    opacity: .78;
    cursor: progress;
}

.gm-aic-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.gm-aic-actions a,
.gm-aic-actions button {
    display: grid;
    place-items: center;
    min-height: 46px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    color: white;
    background: rgba(255,255,255,.06);
    text-decoration: none;
    font-weight: 950;
}

.gm-aic-actions a:first-child,
.gm-aic-actions button {
    border: 0;
    color: #062014;
    background: linear-gradient(135deg, #28d75f, #b7f651);
}

.gm-mission-hero:before {
    content: "";
    position: absolute;
    right: -80px;
    top: -90px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(216,242,124,.18);
    animation: gmGlow 4.2s ease-in-out infinite;
}

.gm-mission-copy,
.gm-live-feed {
    position: relative;
    z-index: 1;
}

.gm-mission-copy > span {
    color: #d8f27c;
    font-weight: 950;
    letter-spacing: .9px;
    text-transform: uppercase;
    font-size: 12px;
}

.gm-mission-copy h1 {
    max-width: 760px;
    margin: 10px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 4.4vw, 58px);
    line-height: .96;
}

.gm-mission-copy p {
    max-width: 660px;
    color: #dff5e6;
    font-size: 16px;
    line-height: 1.55;
}

.gm-mission-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.gm-mission-actions a,
.gm-mini-btn {
    border: 0;
    border-radius: 8px;
    color: #061c11;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    font-weight: 950;
    text-decoration: none;
}

.gm-mission-actions a {
    padding: 13px 16px;
}

.gm-live-feed {
    display: grid;
    gap: 10px;
    align-self: center;
}

.gm-live-feed div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    background: rgba(0,0,0,.24);
    backdrop-filter: blur(10px);
    animation: gmFeedPulse 5s ease-in-out infinite;
}

.gm-live-feed div:nth-child(2) { animation-delay: .4s; }
.gm-live-feed div:nth-child(3) { animation-delay: .8s; }
.gm-live-feed div:nth-child(4) { animation-delay: 1.2s; }

.gm-live-feed b {
    color: #d8f27c;
}

.gm-live-feed span {
    color: #e4f6e8;
    line-height: 1.45;
    font-size: 14px;
}

.gm-simple-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-simple-actions a {
    min-height: 92px;
}

.gm-simple-actions i {
    width: auto;
    min-width: 46px;
    padding: 0 10px;
}

.gm-protection-tools {
    align-items: stretch;
}

.gm-package-certificates {
    grid-column: 1 / -1;
}

.gm-id-layout {
    display: grid;
    grid-template-columns: minmax(230px, .9fr) 1fr;
    gap: 18px;
}

.gm-id-card-preview,
.gm-cert-preview {
    position: relative;
    overflow: hidden;
    display: grid;
    justify-items: center;
    text-align: center;
    border-radius: 8px;
    border: 1px solid rgba(216,242,124,.26);
    background:
        linear-gradient(145deg, rgba(255,255,255,.97), rgba(229,250,235,.95)),
        radial-gradient(circle at 20% 10%, rgba(53,216,87,.18), transparent 36%);
    color: #123928;
    box-shadow: 0 18px 38px rgba(0,0,0,.16);
}

.gm-id-card-preview:before,
.gm-cert-preview:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 88px;
    background: linear-gradient(90deg, #08743f, #35d857);
}

.gm-id-card-preview > *,
.gm-cert-preview > * {
    position: relative;
    z-index: 1;
}

.gm-id-card-preview {
    gap: 9px;
    padding: 54px 20px 20px;
    min-height: 480px;
}

.gm-id-card-preview:after {
    content: "";
    position: absolute;
    left: -18%;
    right: -18%;
    bottom: 50px;
    height: 128px;
    z-index: 0;
    background:
        radial-gradient(ellipse at 50% 0, rgba(216,242,124,.85), transparent 42%),
        linear-gradient(135deg, #0b5d35, #08743f);
    transform: rotate(-5deg);
}

.gm-id-lanyard {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    width: 78%;
    padding: 8px 12px;
    color: white;
    background: #08743f;
    font-weight: 950;
    letter-spacing: .6px;
    clip-path: polygon(4% 0, 96% 0, 91% 100%, 9% 100%);
}

.gm-id-card-preview > img,
.gm-cert-preview > img {
    width: 210px;
    height: 76px;
    object-fit: contain;
    padding: 8px;
    border-radius: 8px;
    background: white;
}

.gm-id-photo {
    display: grid;
    place-items: center;
    width: 118px;
    height: 118px;
    overflow: hidden;
    border-radius: 50%;
    border: 4px solid white;
    color: #06321f;
    background: linear-gradient(135deg, #35d857, #d8f27c);
    font-size: 38px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(20,69,43,.2);
}

.gm-id-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gm-id-card-preview strong {
    color: #08743f;
    font-size: 28px;
    letter-spacing: .8px;
}

.gm-id-card-preview dl {
    display: grid;
    gap: 5px;
    width: min(260px, 100%);
    margin: 2px 0 0;
    text-align: left;
}

.gm-id-card-preview dl div {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 8px;
}

.gm-id-card-preview dt,
.gm-id-card-preview dd {
    margin: 0;
}

.gm-id-card-preview dt {
    color: #263c31;
    font-weight: 750;
}

.gm-id-card-preview dd {
    color: #08743f;
    font-weight: 900;
}

.gm-victor-signature {
    display: grid;
    justify-items: center;
    gap: 0;
    color: #332d2f;
}

.gm-victor-signature span {
    display: block;
    font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive;
    font-weight: 400;
    line-height: .9;
    transform: skewX(-10deg);
}

.gm-victor-signature small {
    display: block;
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid rgba(18, 57, 40, .35);
    color: #406b54;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.gm-id-signature {
    margin: 0 0 2px;
}

.gm-id-signature span {
    font-size: 35px;
}

.gm-id-signature small {
    width: 150px;
}

.gm-id-card-preview p,
.gm-cert-preview p {
    margin: 0;
    color: #4c775f;
    line-height: 1.45;
}

.gm-id-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr 48px;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 4px;
    padding: 10px;
    border-radius: 8px;
    color: white;
    background: #08743f;
    text-align: left;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.gm-id-bottom i {
    display: block;
    width: 48px;
    height: 48px;
    border: 5px solid white;
    background:
        linear-gradient(90deg, #062014 20%, transparent 20% 40%, #062014 40% 55%, transparent 55% 75%, #062014 75%) 0 0 / 18px 18px,
        white;
}

.gm-tool-form {
    display: grid;
    align-content: center;
    gap: 16px;
}

.gm-tool-form input[type="file"] {
    padding: 14px;
    border-style: dashed;
}

.gm-cert-preview {
    gap: 10px;
    min-height: 420px;
    margin-bottom: 16px;
    padding: 26px clamp(14px, 2vw, 24px) 86px;
}

.gm-cert-preview:after {
    content: "";
    position: absolute;
    inset: 14px;
    border: 2px solid rgba(8,116,63,.35);
    box-shadow: inset 0 0 0 6px rgba(216,242,124,.2);
    pointer-events: none;
}

.gm-cert-preview small {
    display: inline-block;
    padding: 6px 22px;
    color: white;
    background: linear-gradient(90deg, #6fb52d, #08743f);
    font-weight: 950;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.gm-cert-preview h4 {
    margin: 8px 0 0;
    max-width: 100%;
    color: #06321f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 2.3vw, 44px);
    line-height: .9;
    text-transform: uppercase;
    white-space: nowrap;
}

.gm-cert-preview h3 {
    color: #06321f;
    font-family: "Brush Script MT", "Segoe Script", Georgia, serif;
    font-size: clamp(34px, 3vw, 48px);
    font-weight: 400;
}

.gm-cert-signature {
    margin-top: 2px;
}

.gm-cert-signature span {
    font-size: clamp(44px, 4.2vw, 72px);
}

.gm-cert-signature small {
    width: 210px;
}

.gm-cert-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    padding: 15px 20px;
    color: white;
    background: #08743f;
    font-size: 12px;
    font-weight: 900;
}

.gm-mini-btn {
    min-height: 34px;
    padding: 7px 10px;
    cursor: pointer;
}

.gm-mini-btn + .gm-mini-btn {
    margin-left: 6px;
}

.gm-oath-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    place-items: center;
    padding: 18px;
}

.gm-mission-modal {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: none;
    place-items: center;
    padding: 18px;
}

.gm-mission-modal.is-open {
    display: grid;
}

.gm-donation-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    place-items: center;
    padding: 18px;
}

.gm-donation-modal.is-open {
    display: grid;
}

.gm-donation-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(10px);
}

.gm-donation-card {
    position: relative;
    z-index: 1;
    width: min(540px, 100%);
    display: grid;
    gap: 15px;
    padding: 26px;
    overflow: hidden;
    border: 1px solid rgba(183, 246, 81, .42);
    border-radius: 8px;
    color: #effff3;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(5, 36, 22, .95), rgba(4, 75, 41, .88)),
        url('slider/pet-bales.jpg') center/cover;
    background-blend-mode: multiply;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .52), 0 0 70px rgba(53, 216, 87, .14);
}

.gm-donation-card::before {
    content: '';
    position: absolute;
    width: 190px;
    height: 190px;
    right: -54px;
    top: -70px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(183, 246, 81, .3), transparent 62%);
    animation: gmSoftPulse 3.2s ease-in-out infinite;
}

.gm-donation-card > * {
    position: relative;
    z-index: 1;
}

.gm-donation-card img {
    width: 230px;
    max-width: 70%;
    margin: 0 auto;
    padding: 12px;
    border-radius: 8px;
    background: white;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .25);
}

.gm-donation-card small {
    color: #d8f27c;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 950;
}

.gm-donation-card h2,
.gm-donation-card p {
    margin: 0;
}

.gm-donation-card p {
    color: #cde2d2;
    line-height: 1.55;
}

.gm-donation-destination {
    justify-self: center;
    min-width: min(330px, 100%);
    padding: 17px 20px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font-size: clamp(25px, 4vw, 38px);
    font-weight: 950;
    box-shadow: 0 18px 40px rgba(53, 216, 87, .24);
    animation: gmLinePulse 2.8s ease-in-out infinite;
}

.gm-donation-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
    text-align: left;
}

.gm-donation-summary span {
    color: #a8d8b4;
    font-weight: 900;
}

.gm-donation-summary b {
    color: white;
    font-size: 25px;
}

.gm-donation-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.gm-mission-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(10px);
}

.gm-mission-card {
    position: relative;
    z-index: 1;
    width: min(450px, 100%);
    display: grid;
    gap: 14px;
    padding: 24px;
    border: 1px solid rgba(53,216,87,.28);
    border-radius: 8px;
    color: white;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0, rgba(53,216,87,.22), transparent 38%),
        linear-gradient(180deg, rgba(8,38,51,.98), rgba(3,18,12,.98));
    box-shadow: 0 34px 80px rgba(0,0,0,.48);
}

.gm-mission-icon {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    margin: 0 auto;
    border-radius: 20px;
    color: #062014;
    background: linear-gradient(135deg, #28d75f, #b7f651);
    font-weight: 950;
    box-shadow: 0 0 34px rgba(53,216,87,.36);
}

.gm-mission-card small {
    color: #d8f27c;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 950;
}

.gm-mission-card h2,
.gm-mission-card p {
    margin: 0;
}

.gm-mission-card p {
    color: #cfe0d5;
    line-height: 1.55;
}

.gm-popup-list {
    display: grid;
    gap: 10px;
    text-align: left;
}

.gm-popup-list div {
    padding: 13px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 8px;
    background: rgba(255,255,255,.04);
}

.gm-popup-list b,
.gm-popup-list span {
    display: block;
}

.gm-popup-list span {
    margin-top: 3px;
    color: #9fb8c7;
    font-size: 13px;
}

.gm-popup-secondary {
    min-height: 45px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    color: white;
    background: rgba(255,255,255,.06);
    font-weight: 900;
}

@keyframes gmLinePulse {
    0%, 100% { transform: translateY(0); opacity: .75; }
    50% { transform: translateY(-5px); opacity: 1; }
}

@keyframes gmSoftPulse {
    0%, 100% { transform: scale(.92); opacity: .55; }
    50% { transform: scale(1.06); opacity: 1; }
}

.gm-oath-modal.is-open {
    display: grid;
}

.gm-oath-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.68);
    backdrop-filter: blur(8px);
}

.gm-oath-card {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    display: grid;
    gap: 14px;
    padding: 24px;
    border: 1px solid rgba(216,242,124,.32);
    border-radius: 8px;
    color: white;
    background:
        linear-gradient(145deg, rgba(5, 32, 20, .98), rgba(8, 78, 41, .96)),
        url('slider/pickup-recyclables.jpg') center/cover;
    background-blend-mode: multiply;
    box-shadow: 0 34px 80px rgba(0,0,0,.42);
}

.gm-oath-card > img {
    width: 220px;
    max-width: 80%;
    padding: 8px;
    border-radius: 8px;
    background: white;
}

.gm-oath-card small {
    color: #d8f27c;
    font-weight: 950;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.gm-oath-card h2,
.gm-oath-card p {
    margin: 0;
}

.gm-oath-card p {
    color: #e4f6e8;
    line-height: 1.6;
}

.gm-oath-check {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-height: 76px;
    padding: 16px 18px;
    border: 1px solid rgba(216,242,124,.24);
    border-radius: 8px;
    background:
        radial-gradient(circle at 8% 18%, rgba(183,246,81,.22), transparent 28%),
        linear-gradient(135deg, rgba(4,38,23,.88), rgba(6,87,45,.46));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 36px rgba(0,0,0,.22);
    cursor: pointer;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.gm-oath-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gm-oath-check:before {
    content: "";
    position: absolute;
    inset: auto -40px -56px auto;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 38%, rgba(216,242,124,.2) 39% 45%, transparent 46%),
        conic-gradient(from 20deg, transparent 0 12%, rgba(183,246,81,.4) 13% 24%, transparent 25% 48%, rgba(53,216,87,.35) 49% 60%, transparent 61%);
    opacity: .44;
    animation: gmEarthTurn 9s linear infinite;
}

.gm-oath-check:hover {
    border-color: rgba(216,242,124,.52);
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 20px 44px rgba(0,0,0,.26), 0 0 26px rgba(53,216,87,.12);
}

.gm-oath-box {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 2px solid rgba(216,242,124,.55);
    border-radius: 8px;
    background: rgba(2,18,12,.72);
    box-shadow: inset 0 0 0 5px rgba(255,255,255,.03), 0 0 18px rgba(183,246,81,.1);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.gm-oath-box:after {
    content: "";
    width: 18px;
    height: 10px;
    border-left: 4px solid #062014;
    border-bottom: 4px solid #062014;
    transform: rotate(-45deg) scale(.45);
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease;
}

.gm-oath-check input:checked + .gm-oath-box {
    border-color: #b7f651;
    background: linear-gradient(135deg, #35d857, #b7f651);
    transform: scale(1.04);
}

.gm-oath-check input:checked + .gm-oath-box:after {
    opacity: 1;
    transform: rotate(-45deg) scale(1);
}

.gm-oath-copy {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 3px;
    color: #f2fff4;
    line-height: 1.25;
}

.gm-oath-copy b {
    font-size: 18px;
    font-weight: 950;
}

.gm-oath-copy small {
    color: #bde0c7;
    font-size: 14px;
    font-weight: 800;
}

.gm-oath-alert {
    display: none;
    min-height: 58px;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid rgba(216, 242, 124, .3);
    color: #f6fff3;
    background: rgba(0, 18, 10, .72);
    font-size: 16px;
    font-weight: 950;
    line-height: 1.35;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 34px rgba(0, 0, 0, .22);
}

.gm-oath-alert.is-visible {
    display: flex;
    align-items: center;
}

.gm-oath-alert.success {
    color: #062014;
    border-color: rgba(183, 246, 81, .72);
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.gm-oath-alert.error {
    border-color: rgba(255, 92, 92, .72);
    background: rgba(116, 18, 22, .9);
}

#gmOathAccept:disabled {
    opacity: .82;
    cursor: progress;
    filter: saturate(.85);
}

.gm-package-progress {
    margin-top: 14px;
}

.gm-package-progress[hidden] {
    display: none;
}

.gm-package-progress-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: #f6fff3;
    font-size: 14px;
    line-height: 1.4;
}

.gm-package-progress-label b {
    min-width: 4ch;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.gm-package-progress progress {
    display: block;
    appearance: none;
    width: 100%;
    height: 10px;
    overflow: hidden;
    border: 0;
    border-radius: 4px;
    background: #173e2b;
    accent-color: #a4f54b;
}

.gm-package-progress progress::-webkit-progress-bar { background: #173e2b; }
.gm-package-progress progress::-webkit-progress-value { background: #a4f54b; transition: width .2s linear; }
.gm-package-progress progress::-moz-progress-bar { background: #a4f54b; }

.gm-oath-speak {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(216,242,124,.34);
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #d8f27c, #35d857);
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(53,216,87,.18);
}

.gm-oath-speak .gm-nav-icon {
    width: 24px;
    height: 24px;
    color: #062014;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.gm-oath-speak svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.2;
}

.gm-oath-x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.16);
    color: white;
    background: rgba(255,255,255,.08);
}

@keyframes gmFeedPulse {
    0%, 100% { transform: translateX(0); border-color: rgba(255,255,255,.14); }
    50% { transform: translateX(4px); border-color: rgba(216,242,124,.38); }
}

.gm-quick-grid,
.gm-card-grid,
.gm-two-col,
.gm-form-row,
.gm-network-stats,
.gm-wallet-chips {
    display: grid;
    gap: 16px;
}

.gm-quick-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.gm-quick-grid a,
.gm-stat,
.gm-panel {
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(10, 55, 32, .92), rgba(5, 30, 19, .92));
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
}

.gm-quick-grid a {
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 110px;
    padding: 16px;
    color: white;
    text-decoration: none;
    font-weight: 900;
    background:
        linear-gradient(140deg, rgba(3,18,12,.94), rgba(8,70,39,.76)),
        url('slider/pickup-recyclables.jpg') center/cover;
    background-blend-mode: normal, multiply;
    transition: transform .2s ease, border-color .2s ease;
}

.gm-quick-grid a:nth-child(even) {
    background:
        linear-gradient(140deg, rgba(3,18,12,.94), rgba(8,70,39,.76)),
        url('green-rewards-realistic.webp') center/cover;
    background-blend-mode: normal, multiply;
}

.gm-quick-grid a:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 4px;
    background: linear-gradient(90deg, #35d857, #b7f651);
    background-size: 200% 100%;
    animation: gmConveyorSlide 3s linear infinite;
}

.gm-quick-grid a > * {
    position: relative;
    z-index: 1;
}

.gm-quick-grid a:hover {
    transform: translateY(-4px);
    border-color: rgba(183, 246, 81, .5);
}

.gm-quick-grid i {
    width: 42px;
    height: 42px;
    font-size: 12px;
}

.gm-quick-grid .gm-quick-icon {
    width: 54px;
    height: 54px;
    padding: 0;
    border: 1px solid rgba(216,242,124,.55);
    box-shadow: 0 14px 30px rgba(53,216,87,.2), inset 0 1px 0 rgba(255,255,255,.28);
}

.gm-quick-grid .gm-quick-icon .gm-nav-icon {
    width: 100%;
    height: 100%;
    flex-basis: auto;
    border: 0;
    border-radius: inherit;
    color: #062014;
    background: transparent;
    box-shadow: none;
}

.gm-quick-grid .gm-quick-icon svg {
    width: 27px;
    height: 27px;
    stroke-width: 2.2;
}

.gm-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-card-grid:not(.gm-income-grid) .gm-stat {
    min-height: 150px;
    background:
        linear-gradient(115deg, rgba(3,18,12,.9), rgba(7,58,33,.74) 58%, rgba(7,58,33,.28)),
        url('slider/pet-bales.jpg') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-card-grid:not(.gm-income-grid) .gm-stat:nth-child(even) {
    background:
        linear-gradient(115deg, rgba(3,18,12,.9), rgba(7,58,33,.74) 58%, rgba(7,58,33,.28)),
        url('slider/plastic-waste.jpg') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-income-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(430px, 100%), 1fr));
}

.gm-card-grid > .gm-stat:only-child,
.gm-income-grid > .gm-stat:only-child {
    grid-column: 1 / -1;
    min-height: 220px;
}

.gm-stat {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 8px;
    padding: 20px;
}

.gm-income-grid .gm-stat {
    min-height: 320px;
    align-content: space-between;
    padding: clamp(24px, 3vw, 34px);
    background:
        linear-gradient(90deg, rgba(3,18,12,.9), rgba(7,57,33,.72) 46%, rgba(7,57,33,.25)),
        url('green-rewards-realistic.webp') right center/cover;
    box-shadow: 0 24px 70px rgba(0,0,0,.26);
}

.gm-income-grid .gm-stat:after,
.gm-panel:not(.gm-session):not(.gm-live-roi-panel):not(.gm-id-tool):not(.gm-cert-tool):not(.gm-package-certificates):after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 92% 14%, rgba(183,246,81,.18), transparent 26%),
        linear-gradient(110deg, transparent 0 42%, rgba(255,255,255,.06) 48%, transparent 57%);
    transform: translateX(-100%);
    animation: gmScan 8s linear infinite;
    pointer-events: none;
}

.gm-income-grid .gm-stat > *,
.gm-panel:not(.gm-session):not(.gm-live-roi-panel):not(.gm-id-tool):not(.gm-cert-tool):not(.gm-package-certificates) > * {
    position: relative;
    z-index: 1;
}

.gm-income-grid .gm-stat strong {
    max-width: 680px;
    font-size: clamp(38px, 4vw, 62px);
    line-height: 1.04;
}

.gm-income-grid .gm-panel {
    min-height: 320px;
    background:
        linear-gradient(100deg, rgba(3,18,12,.92), rgba(9,68,39,.82) 52%, rgba(3,18,12,.72)),
        url('green-rewards-realistic.webp') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-income-grid .gm-reward-ladder {
    grid-column: 1 / -1;
    overflow: hidden;
}

.gm-panel:not(.gm-session):not(.gm-live-roi-panel):not(.gm-id-tool):not(.gm-cert-tool):not(.gm-package-certificates) {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(105deg, rgba(5,32,20,.96), rgba(8,64,36,.84) 54%, rgba(3,18,12,.82)),
        url('slider/pickup-recyclables.jpg') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-stat strong {
    font-size: clamp(22px, 2.4vw, 34px);
    line-height: 1.05;
}

.gm-two-col {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .9fr);
}

.gm-two-col > .gm-panel:only-child,
.gm-two-col > .action-card:only-child {
    grid-column: 1 / -1;
}

.gm-two-col > .gm-panel:only-child .action-card {
    width: 100%;
}

.gm-panel {
    padding: 20px;
    min-width: 0;
}

.gm-session {
    position: relative;
    overflow: hidden;
    grid-column: 1 / -1;
    padding: 28px;
    background:
        radial-gradient(circle at 92% 10%, rgba(183,246,81,.16), transparent 26%),
        radial-gradient(circle at 12% 88%, rgba(53,216,87,.16), transparent 28%),
        linear-gradient(135deg, rgba(9,71,41,.96), rgba(3,18,12,.96));
}

.gm-session:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, transparent 0 35%, rgba(216,242,124,.09) 45%, transparent 58%),
        radial-gradient(ellipse at 70% 20%, rgba(53,216,87,.12), transparent 35%);
    transform: translateX(-100%);
    animation: gmScan 6.5s linear infinite;
}

.gm-session:after {
    content: "";
    position: absolute;
    right: 30px;
    top: 66px;
    width: 190px;
    height: 190px;
    opacity: .13;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 42%, #d8f27c 43% 48%, transparent 49%),
        conic-gradient(from 20deg, transparent 0 10%, #d8f27c 11% 18%, transparent 19% 42%, #35d857 43% 52%, transparent 53% 78%, #b7f651 79% 88%, transparent 89%);
    animation: gmEarthTurn 12s linear infinite;
}

.gm-session > * {
    position: relative;
    z-index: 1;
}

.gm-panel h2,
.gm-panel h3 {
    margin: 0;
}

.gm-panel p {
    line-height: 1.55;
}

.gm-panel-head {
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.gm-session-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.gm-trade-balance-card {
    position: relative;
    display: grid;
    gap: 6px;
    margin: 0 0 18px;
    padding: 20px 24px;
    border: 1px solid rgba(207, 255, 91, .58);
    border-radius: 8px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 50%, rgba(207, 255, 91, .34), transparent 24%),
        linear-gradient(135deg, rgba(13, 99, 45, .96), rgba(2, 28, 17, .94));
    box-shadow: 0 18px 44px rgba(62, 198, 66, .18);
}

.gm-trade-balance-card:after {
    content: "$";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(223, 255, 112, .16);
    font-size: 112px;
    font-weight: 1000;
    line-height: 1;
}

.gm-trade-balance-card span,
.gm-trade-balance-card strong,
.gm-trade-balance-card small {
    position: relative;
    z-index: 1;
}

.gm-trade-balance-card span {
    color: #dfff70;
    font-size: 15px;
    font-weight: 1000;
    text-transform: uppercase;
}

.gm-trade-balance-card strong {
    color: #f6fff0;
    font-size: clamp(44px, 7vw, 76px);
    font-weight: 1000;
    line-height: .95;
}

.gm-trade-balance-card small {
    color: #bff1ca;
    font-size: 16px;
    font-weight: 800;
}

.gm-session-list div {
    position: relative;
    overflow: hidden;
    min-height: 158px;
    padding: 16px;
    border: 1px solid rgba(183, 246, 81, .16);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(3,18,12,.42), rgba(11,70,38,.7)),
        radial-gradient(circle at 88% 24%, rgba(183,246,81,.16), transparent 34%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.gm-session-list div:hover,
.gm-portal .action-card:hover {
    transform: translateY(-4px);
    border-color: rgba(183,246,81,.48);
    box-shadow: 0 22px 50px rgba(0,0,0,.28), 0 0 26px rgba(53,216,87,.12);
}

.gm-session-list div:before {
    content: "";
    position: absolute;
    right: 18px;
    top: 18px;
    width: 58px;
    height: 58px;
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 50%, rgba(216,242,124,.95) 0 14%, transparent 15%),
        linear-gradient(135deg, rgba(53,216,87,.34), rgba(183,246,81,.18));
    box-shadow: 0 0 28px rgba(183,246,81,.18);
    animation: gmFloat 3.2s ease-in-out infinite;
}

.gm-session-list div:nth-child(1):after {
    content: "";
    position: absolute;
    right: 37px;
    top: 30px;
    width: 18px;
    height: 44px;
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 8px 8px 12px 12px;
    transform: rotate(-18deg);
}

.gm-session-list div:nth-child(2):after {
    content: "";
    position: absolute;
    right: 30px;
    top: 32px;
    width: 42px;
    height: 28px;
    border-left: 4px solid #d8f27c;
    border-bottom: 4px solid #d8f27c;
    transform: rotate(-8deg);
    filter: drop-shadow(0 0 10px rgba(216,242,124,.36));
}

.gm-trade-impact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 16px;
}

.gm-trade-impact div {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 84px;
    padding: 14px;
    border: 1px solid rgba(183,246,81,.18);
    border-radius: 8px;
    background: rgba(0,0,0,.2);
}

.gm-trade-impact div:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #b7f651, transparent);
    animation: gmScan 4s linear infinite;
}

.gm-trade-impact span {
    display: grid;
    place-items: center;
    grid-row: span 2;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(183,246,81,.3);
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(53,216,87,.2);
}

.gm-impact-recycle:before {
    content: "";
    width: 25px;
    height: 25px;
    background:
        conic-gradient(from 30deg, #062014 0 22%, transparent 23% 38%, #062014 39% 61%, transparent 62% 77%, #062014 78% 100%);
    clip-path: polygon(50% 0, 100% 28%, 82% 100%, 18% 100%, 0 28%);
}

.gm-impact-leaf:before {
    content: "";
    width: 25px;
    height: 25px;
    border-radius: 100% 0 100% 0;
    background: #062014;
    transform: rotate(-35deg);
}

.gm-trade-impact b,
.gm-trade-impact small {
    display: block;
}

.gm-trade-impact small {
    color: #9ac4a7;
}

.gm-form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-portal .action-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(112deg, rgba(3,18,12,.92), rgba(8,64,36,.82) 58%, rgba(3,18,12,.76)),
        url('slider/plastic-waste.jpg') right center/cover;
    background-blend-mode: normal, multiply;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.gm-portal .action-card:before {
    content: "";
    position: absolute;
    right: -28px;
    top: -36px;
    width: 132px;
    height: 132px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 36%, rgba(216,242,124,.35) 37% 43%, transparent 44%),
        conic-gradient(from 0deg, transparent 0 12%, rgba(183,246,81,.5) 13% 22%, transparent 23% 48%, rgba(53,216,87,.5) 49% 60%, transparent 61%);
    opacity: .52;
    animation: gmEarthTurn 9s linear infinite;
}

.gm-portal .action-card:after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 16px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #35d857, #b7f651, #35d857);
    background-size: 200% 100%;
    animation: gmConveyorSlide 2.8s linear infinite;
}

.gm-portal .action-card > * {
    position: relative;
    z-index: 1;
}

.gm-portal .action-card h3 {
    font-size: 24px;
    line-height: 1;
}

.gm-portal label {
    color: #d8efdf;
}

.gm-portal input,
.gm-portal select,
.gm-portal textarea {
    width: 100%;
    margin-top: 7px;
    border-color: rgba(179, 255, 205, .18);
    color: white;
    background: #061c11;
}

.gm-portal textarea {
    min-height: 150px;
    resize: vertical;
}

.gm-portal option {
    background: #061c11;
    color: white;
}

.gm-portal button.primary {
    min-height: 44px;
    cursor: pointer;
}

.gm-portal button.primary:disabled {
    cursor: not-allowed;
    filter: grayscale(.45) brightness(.7);
    opacity: .7;
}

.gm-withdraw-card {
    gap: 20px;
}

.gm-withdraw-history {
    margin-top: 18px;
}

.gm-withdraw-history td small {
    display: block;
    margin-top: 4px;
    color: #91bea0;
}

.gm-withdraw-head {
    display: flex;
    align-items: center;
    gap: 16px;
}

.gm-withdraw-head > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(216,242,124,.38);
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    box-shadow: 0 16px 34px rgba(53,216,87,.18);
}

.gm-withdraw-head .gm-nav-icon {
    margin: 0;
    background: transparent;
    box-shadow: none;
}

.gm-withdraw-head h3,
.gm-withdraw-head p {
    margin: 0;
}

.gm-withdraw-head p {
    margin-top: 7px;
}

.gm-withdraw-summary,
.gm-profile-wallet-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.gm-withdraw-summary div,
.gm-wallet-alert,
.gm-profile-wallet-visual,
.gm-profile-wallet-form,
.gm-profile-wallet-locked {
    border: 1px solid rgba(179,255,205,.14);
    border-radius: 8px;
    background: rgba(0,0,0,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.gm-withdraw-summary div {
    padding: 16px;
}

.gm-withdraw-summary small,
.gm-profile-wallet-locked small {
    display: block;
    color: #9bcaaa;
    font-weight: 800;
}

.gm-withdraw-summary b {
    display: block;
    margin-top: 6px;
    color: #effff3;
    font-size: 22px;
}

.gm-wallet-alert {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 16px;
    align-items: center;
    padding: 16px;
    border-color: rgba(216,242,124,.3);
    background: rgba(216,242,124,.09);
}

.gm-wallet-alert b,
.gm-wallet-alert span {
    display: block;
}

.gm-wallet-alert span {
    color: #b6d5be;
}

.gm-wallet-alert a {
    grid-row: 1 / 3;
    grid-column: 2;
    padding: 11px 16px;
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font-weight: 950;
    text-decoration: none;
}

.gm-selfie-panel {
    margin-bottom: 18px;
}

.gm-selfie-grid {
    display: grid;
    grid-template-columns: minmax(180px, 280px) 1fr;
    gap: 18px;
    align-items: stretch;
    min-width: 0;
}

.gm-selfie-preview {
    min-height: 220px;
    max-height: 280px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(2, 18, 12, .34), rgba(7, 90, 45, .3)),
        url("recycle-bg.jpg") center/cover;
}

.gm-selfie-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gm-selfie-preview span {
    width: 116px;
    height: 116px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    color: #062014;
    font-size: 56px;
    font-weight: 950;
}

.gm-selfie-camera {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.gm-selfie-camera video,
.gm-selfie-camera canvas {
    width: 100%;
    max-width: 420px;
    aspect-ratio: 1;
    max-height: 280px;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    background: rgba(1, 19, 12, .7);
    object-fit: cover;
}

.gm-selfie-camera canvas,
.gm-selfie-panel.has-capture video {
    display: none;
}

.gm-selfie-panel.has-capture canvas {
    display: block;
}

.gm-selfie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gm-selfie-actions button {
    min-height: 48px;
}

.gm-selfie-actions button:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.gm-profile-wallet-panel {
    overflow: hidden;
}

.gm-profile-wallet-grid {
    grid-template-columns: .9fr 1.4fr;
}

.gm-profile-wallet-visual,
.gm-profile-wallet-form,
.gm-profile-wallet-locked {
    padding: 22px;
}

.gm-profile-wallet-visual {
    display: grid;
    align-content: center;
    gap: 12px;
    min-height: 240px;
    background:
        linear-gradient(145deg, rgba(5,32,20,.8), rgba(8,116,63,.38)),
        url('earth-real.webp') center/cover;
    background-blend-mode: multiply;
}

.gm-profile-wallet-visual .gm-nav-icon {
    width: 62px;
    height: 62px;
    margin: 0;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.gm-profile-wallet-visual b {
    color: white;
    font-size: 31px;
    line-height: 1.1;
}

.gm-profile-wallet-visual span,
.gm-profile-wallet-locked p {
    color: #b6d5be;
    line-height: 1.5;
}

.gm-profile-wallet-form {
    display: grid;
    gap: 14px;
}

.gm-profile-wallet-locked {
    display: grid;
    align-content: center;
    gap: 10px;
}

.gm-profile-wallet-locked b {
    color: white;
    font-size: 28px;
}

.gm-profile-wallet-locked code {
    display: block;
    overflow-wrap: anywhere;
    padding: 13px;
    border: 1px solid rgba(216,242,124,.18);
    border-radius: 8px;
    color: #d8f27c;
    background: rgba(0,0,0,.22);
}

.gm-profile-wallet-actions {
    align-content: stretch;
}

.gm-profile-wallet-actions > div,
.gm-inline-action-form,
.gm-wallet-update-form {
    position: relative;
    z-index: 1;
}

.gm-inline-action-form,
.gm-wallet-update-form {
    display: grid;
    gap: 12px;
}

.gm-otp-row {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(180px, .75fr);
    gap: 12px;
}

.gm-otp-row input {
    width: 100%;
}

.gm-campaign-layout {
    align-items: stretch;
}

.gm-campaign-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: center;
    gap: 18px;
    min-height: 520px;
    background:
        linear-gradient(135deg, rgba(4,30,18,.86), rgba(8,116,63,.48)),
        url('slider/pickup-recyclables.jpg') center/cover;
    background-blend-mode: multiply;
}

.gm-campaign-hero > i,
.gm-campaign-card h3 + p + .gm-campaign-progress {
    position: relative;
}

.gm-campaign-hero > i {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
    box-shadow: 0 0 42px rgba(53,216,87,.35);
}

.gm-campaign-hero .gm-nav-icon {
    margin: 0;
    background: transparent;
    box-shadow: none;
}

.gm-campaign-hero h2 {
    max-width: 580px;
    margin: 0;
    font-size: clamp(36px, 5vw, 64px);
    line-height: .98;
}

.gm-campaign-hero p {
    max-width: 620px;
    color: #d8efdf;
    font-size: 19px;
    line-height: 1.55;
}

.gm-campaign-cause-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.gm-campaign-cause-list span {
    padding: 9px 12px;
    border: 1px solid rgba(216,242,124,.22);
    border-radius: 999px;
    color: #d8f27c;
    background: rgba(0,0,0,.2);
    font-weight: 850;
}

.gm-campaign-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
}

.gm-campaign-form h3,
.gm-campaign-form .wide,
.gm-campaign-form button.wide {
    grid-column: 1 / -1;
}

.gm-campaign-form label small {
    color: #9bcaaa;
}

.gm-campaign-table {
    min-width: 980px;
}

.gm-campaign-table td,
.gm-campaign-table th {
    white-space: normal;
    vertical-align: middle;
}

.gm-campaign-table td b,
.gm-campaign-table td small {
    display: block;
}

.gm-campaign-table td small {
    margin-top: 4px;
    color: #a8d8b4;
    line-height: 1.35;
}

.gm-owner-slip-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.gm-owner-slip-actions button {
    min-height: 38px;
    padding: 0 13px;
    border: 0;
    border-radius: 9px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    cursor: pointer;
}

.gm-owner-slip-actions button[value="reject"] {
    color: #fff0ed;
    background: rgba(145, 58, 45, .65);
    border: 1px solid rgba(255, 107, 79, .35);
}

.gm-install-body {
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(0, 19, 10, .92), rgba(10, 76, 35, .82)),
        url("plastic-waste.jpg") center / cover fixed;
}

.gm-install-shell {
    width: min(1420px, calc(100% - 34px));
    margin: 0 auto;
    padding: 34px 0 70px;
    display: grid;
    gap: 18px;
}

.gm-install-hero {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 28px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 16px;
    background:
        radial-gradient(circle at 88% 0, rgba(178, 255, 67, .18), transparent 38%),
        rgba(0, 18, 10, .72);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .24);
}

.gm-install-hero img {
    width: 100%;
    max-height: 118px;
    object-fit: contain;
    padding: 14px;
    border-radius: 12px;
    background: #fff;
}

.gm-install-hero span {
    color: #cfff58;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.gm-install-hero h1 {
    margin: 8px 0 10px;
    font-size: clamp(42px, 7vw, 90px);
    line-height: .96;
}

.gm-install-hero p {
    max-width: 920px;
    margin: 0;
    color: #b9dec4;
    font-size: 1.2rem;
    line-height: 1.6;
}

.gm-install-check-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.gm-install-check-grid article {
    min-height: 130px;
    padding: 16px;
    border: 1px solid rgba(132, 255, 91, .16);
    border-radius: 12px;
    background: rgba(0, 16, 9, .55);
}

.gm-install-check-grid article b,
.gm-install-check-grid article span,
.gm-install-check-grid article small {
    display: block;
}

.gm-install-check-grid article span {
    margin: 10px 0;
    color: #06150b;
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
}

.gm-install-check-grid article.bad span {
    color: #fff0ed;
    background: rgba(145, 58, 45, .7);
}

.gm-install-check-grid article small {
    color: #a8d8b4;
    line-height: 1.35;
}

.gm-install-form .primary {
    width: 100%;
    min-height: 64px;
    margin-top: 18px;
}

.gm-install-reset {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 0 14px;
    border: 1px solid rgba(246, 201, 69, .25);
    border-radius: 10px;
    color: #ffe892;
    background: rgba(108, 80, 12, .22);
}

.gm-install-reset input {
    width: 20px;
    height: 20px;
}

.gm-install-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.gm-install-links a {
    display: inline-grid;
    place-items: center;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(132, 255, 91, .2);
    border-radius: 9px;
    color: #eaffeb;
    background: rgba(255, 255, 255, .07);
    font-weight: 900;
    text-decoration: none;
}

.gm-easy-install-shell {
    width: min(1180px, calc(100% - 28px));
}

.gm-install-details {
    margin-top: 16px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 12px;
    background: rgba(0, 18, 10, .42);
}

.gm-install-details summary {
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    color: #dfff8b;
    font-size: 1.08rem;
    font-weight: 1000;
    cursor: pointer;
}

.gm-install-details .gm-admin-settings-grid {
    padding: 0 18px 18px;
}

.gm-install-danger {
    margin-top: 16px;
    border-color: rgba(255, 111, 75, .38);
    color: #ffd6ca;
    background: rgba(108, 28, 12, .3);
}

.gm-campaign-card-grid {
    display: grid;
    gap: 18px;
}

.gm-campaign-card {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    overflow: hidden;
    padding: 18px;
    border: 1px solid rgba(179,255,205,.15);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(3,18,12,.72), rgba(8,116,63,.28)),
        rgba(0,0,0,.18);
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.gm-campaign-card > img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}

.gm-campaign-card h3 {
    margin: 0 0 10px;
    font-size: 31px;
}

.gm-campaign-card p {
    color: #cde2d2;
    line-height: 1.55;
}

.gm-campaign-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
}

.gm-campaign-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #35d857, #b7f651);
    box-shadow: 0 0 22px rgba(183,246,81,.3);
}

.gm-campaign-donation-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.gm-campaign-donation-form button {
    grid-column: 1 / -1;
}

.gm-campaign-popup {
    position: fixed;
    inset: 0;
    z-index: 9997;
    display: none;
    place-items: center;
    padding: 18px;
}

.gm-campaign-popup.is-open {
    display: grid;
}

.gm-campaign-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(10px);
}

.gm-campaign-popup-card {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(86vh, 820px);
    overflow-y: auto;
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid rgba(183,246,81,.36);
    border-radius: 8px;
    color: #effff3;
    background:
        linear-gradient(145deg, rgba(4,30,18,.97), rgba(8,82,44,.9)),
        url('green-rewards-realistic.webp') center/cover;
    background-blend-mode: multiply;
    box-shadow: 0 34px 90px rgba(0,0,0,.55);
}

.gm-campaign-popup-card > img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
}

.gm-campaign-popup-card small {
    color: #d8f27c;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gm-campaign-popup-card h2,
.gm-campaign-popup-card p {
    margin: 0;
}

.gm-campaign-popup-card p {
    color: #d8efdf;
    line-height: 1.5;
}

.gm-campaign-popup-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.gm-campaign-popup-meta span {
    padding: 12px;
    border: 1px solid rgba(179,255,205,.14);
    border-radius: 8px;
    color: #a8d8b4;
    background: rgba(0,0,0,.22);
}

.gm-campaign-popup-meta b {
    display: block;
    margin-top: 5px;
    color: white;
}

.gm-popup-link {
    display: grid;
    place-items: center;
    min-height: 45px;
    text-decoration: none;
}

.gm-network-stats,
.gm-wallet-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gm-referral-card {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 24px;
    align-items: center;
}

.gm-dashboard-referral-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
}

.gm-dashboard-referral-card small {
    display: block;
    color: #a8d8b4;
    font-weight: 900;
}

.gm-dashboard-referral-card b {
    display: block;
    margin-top: 8px;
    color: #dfff70;
    overflow-wrap: anywhere;
}

.gm-dashboard-referral-card button {
    min-height: 46px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    color: #062014;
    background: linear-gradient(135deg, #dfff70, #3ec642);
    font-weight: 1000;
    cursor: pointer;
}

.gm-dashboard-live-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.gm-dashboard-join-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) auto;
    gap: 12px;
    align-items: stretch;
}

.gm-dashboard-telegram-join {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 68px;
    padding: 14px 18px;
    border: 1px solid rgba(207, 255, 91, .55);
    border-radius: 8px;
    overflow: hidden;
    color: #052012;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .72), transparent 24%),
        linear-gradient(135deg, #dfff70, #35dc58 48%, #29b6ff);
    box-shadow: 0 18px 46px rgba(53, 220, 88, .24);
    text-decoration: none;
}

.gm-dashboard-zoom-join {
    background:
        radial-gradient(circle at 16% 20%, rgba(255, 255, 255, .66), transparent 24%),
        linear-gradient(135deg, #7df4ff, #39c1ff 48%, #3ee066);
}

.gm-dashboard-copy-invite {
    min-height: 68px;
    padding: 0 20px;
    border: 1px solid rgba(207, 255, 91, .42);
    border-radius: 8px;
    color: #ecfff3;
    background: linear-gradient(135deg, rgba(5, 32, 18, .96), rgba(10, 70, 39, .9));
    box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
    font-size: 15px;
    font-weight: 1000;
    cursor: pointer;
    white-space: nowrap;
}

.gm-dashboard-copy-invite:hover {
    border-color: rgba(207, 255, 91, .78);
    color: #dfff70;
}

.gm-dashboard-telegram-join:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .4) 48%, transparent 68%);
    transform: translateX(-100%);
    animation: gmTelegramShine 4.8s ease-in-out infinite;
}

.gm-dashboard-telegram-join span,
.gm-dashboard-telegram-join b {
    position: relative;
    z-index: 1;
}

.gm-dashboard-telegram-join span {
    font-size: 15px;
    font-weight: 1000;
}

.gm-dashboard-telegram-join span small {
    display: block;
    margin-top: 4px;
    color: rgba(5, 32, 18, .82);
    font-size: 12px;
    line-height: 1.2;
}

.gm-dashboard-telegram-join b {
    display: inline-grid;
    place-items: center;
    min-height: 42px;
    padding: 0 22px;
    border-radius: 8px;
    color: #ecfff3;
    background: #052012;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
    font-size: 18px;
    text-transform: uppercase;
}

.gm-dashboard-telegram-join em {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    padding: 7px 10px;
    border-radius: 8px;
    color: #052012;
    background: rgba(255, 255, 255, .38);
    font-style: normal;
    font-size: 12px;
    font-weight: 1000;
}

.gm-dashboard-telegram-join em.is-running {
    color: #ecfff3;
    background: rgba(5, 32, 18, .86);
}

@keyframes gmTelegramShine {
    0%, 45% { transform: translateX(-110%); }
    70%, 100% { transform: translateX(110%); }
}

.gm-dashboard-live-grid .gm-mission-hero {
    min-height: 100%;
}

.gm-dashboard-activity-feed {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    border: 1px solid rgba(207, 255, 91, .22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(2, 31, 18, .94), rgba(1, 18, 11, .92)),
        url('green-rewards-realistic.webp') center/cover;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
}

.gm-dashboard-activity-feed:before,
.gm-dashboard-activity-feed:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    height: 54px;
    pointer-events: none;
}

.gm-dashboard-activity-feed:before {
    top: 0;
    background: linear-gradient(180deg, rgba(2, 31, 18, 1), rgba(2, 31, 18, 0));
}

.gm-dashboard-activity-feed:after {
    bottom: 0;
    background: linear-gradient(0deg, rgba(1, 18, 11, 1), rgba(1, 18, 11, 0));
}

.gm-dashboard-activity-head {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 10px;
}

.gm-dashboard-activity-head small {
    color: #a9d8b8;
    font-weight: 900;
}

.gm-dashboard-activity-head b {
    color: #dfff70;
    font-size: 13px;
}

.gm-dashboard-activity-window {
    position: absolute;
    inset: 52px 0 0;
    overflow: hidden;
    padding: 0 12px;
}

.gm-dashboard-activity-track {
    display: grid;
    gap: 10px;
    padding-bottom: 12px;
    animation: gmActivityScroll 70s linear infinite;
}

.gm-dashboard-activity-feed:hover .gm-dashboard-activity-track {
    animation-play-state: paused;
}

.gm-activity-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 11px;
    border: 1px solid rgba(207, 255, 91, .16);
    border-radius: 8px;
    background: rgba(0, 24, 13, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.gm-activity-item i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    color: #052011;
    background: linear-gradient(135deg, #dfff70, #3ec642);
    font-style: normal;
    font-weight: 1000;
}

.gm-activity-item div {
    min-width: 0;
}

.gm-activity-item b,
.gm-activity-item span,
.gm-activity-item small {
    display: block;
}

.gm-activity-item b {
    color: #f4fff4;
    font-size: 14px;
}

.gm-activity-item span {
    color: #bce4c8;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
}

.gm-activity-item small {
    margin-top: 3px;
    color: #8fbe9d;
    font-size: 11px;
}

.gm-activity-item em {
    align-self: start;
    padding: 5px 8px;
    border-radius: 999px;
    color: #dfff70;
    background: rgba(207, 255, 91, .12);
    font-style: normal;
    font-size: 12px;
    font-weight: 1000;
    white-space: nowrap;
}

.gm-activity-item.withdrawal i {
    background: linear-gradient(135deg, #ffe36b, #43da49);
}

.gm-activity-item.reward i {
    background: linear-gradient(135deg, #b9ff59, #39c1ff);
}

.gm-activity-item.recharge i {
    background: linear-gradient(135deg, #44ff80, #b7ff42);
}

.gm-activity-item.investor i {
    background: linear-gradient(135deg, #dfff70, #9cff4f);
}

@keyframes gmActivityScroll {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

.gm-reward-marquee {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border: 1px solid rgba(207, 255, 91, .26);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(9, 67, 29, .88), rgba(4, 34, 21, .9));
    overflow: hidden;
}

.gm-reward-marquee b {
    color: #dfff70;
    white-space: nowrap;
}

.gm-reward-marquee div {
    overflow: hidden;
}

.gm-reward-marquee p {
    display: inline-flex;
    gap: 34px;
    min-width: max-content;
    margin: 0;
    animation: gmRewardMarquee 55s linear infinite;
}

.gm-reward-marquee span {
    color: #e9fff0;
    font-weight: 900;
    white-space: nowrap;
}

@keyframes gmRewardMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.gm-token-rule-panel {
    grid-column: 1 / -1;
}

.gm-token-rule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.gm-token-rule-grid div {
    padding: 14px;
    border: 1px solid rgba(207, 255, 91, .18);
    border-radius: 8px;
    background: rgba(0, 20, 11, .38);
}

.gm-token-rule-grid small,
.gm-token-rule-grid span {
    display: block;
    color: #aad5b6;
    font-weight: 800;
}

.gm-token-rule-grid b {
    display: block;
    margin: 7px 0;
    color: #dfff70;
    font-size: 26px;
}

.gm-ref-copy {
    display: grid;
    gap: 9px;
}

.gm-ref-copy div {
    gap: 10px;
}

.gm-ref-copy b,
.gm-ref-copy input {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--gm-line);
    border-radius: 8px;
    color: white;
    background: rgba(0,0,0,.2);
}

.gm-ref-copy button {
    min-height: 44px;
    padding: 0 14px;
    cursor: pointer;
}

.gm-team-details {
    margin-top: 18px;
}

.gm-team-details-table {
    overflow-x: auto;
}

.gm-team-details-table table {
    min-width: 1180px;
}

.gm-team-details-table td b,
.gm-team-details-table td small {
    display: block;
}

.gm-team-details-table td small,
.gm-muted-cell {
    color: #9fcbae;
    font-size: .82rem;
}

.gm-prelaunch-page {
    --gm-bg: #03120c;
    --gm-bg-soft: #062417;
    --gm-panel: #082818;
    --gm-panel-2: #0b371f;
    --gm-line: rgba(179, 255, 205, .15);
    --gm-text: #effff3;
    --gm-muted: #9ac4a7;
    --gm-accent: #35d857;
    --gm-accent-2: #b7f651;
    --gm-warning: #f3ce4a;
    min-height: 100vh;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 24px;
    padding: 42px 18px;
    background:
        linear-gradient(rgba(2, 18, 12, .72), rgba(2, 18, 12, .9)),
        url('greenmoney-hero.webp') center/cover;
}

.gm-prelaunch-card {
    width: min(760px, 100%);
    display: grid;
    gap: 22px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(159, 255, 188, .2);
    border-radius: 8px;
    color: var(--gm-text);
    background: rgba(4, 31, 20, .9);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .36);
}

.gm-prelaunch-card > img {
    width: min(320px, 78vw);
    padding: 8px 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
}

.gm-prelaunch-card > small {
    color: var(--lime);
    font-weight: 900;
    text-transform: uppercase;
}

.gm-prelaunch-card h1 {
    margin: 0;
    font-size: clamp(32px, 5vw, 58px);
    line-height: 1;
}

.gm-prelaunch-timer {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.gm-prelaunch-timer div,
.gm-prelaunch-referral {
    border: 1px solid rgba(159, 255, 188, .16);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
}

.gm-prelaunch-timer div {
    display: grid;
    gap: 4px;
    place-items: center;
    min-height: 104px;
    padding: 14px 10px;
}

.gm-prelaunch-timer b {
    color: #dfff70;
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1;
}

.gm-prelaunch-timer span,
.gm-prelaunch-referral label {
    color: #a8d8b4;
    font-weight: 800;
}

.gm-prelaunch-referral {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.gm-prelaunch-referral div {
    display: flex;
    gap: 10px;
}

.gm-prelaunch-referral input {
    flex: 1;
    min-width: 0;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid rgba(159, 255, 188, .18);
    border-radius: 8px;
    color: white;
    background: rgba(0, 0, 0, .28);
}

.gm-prelaunch-referral button,
.gm-prelaunch-telegram,
.gm-prelaunch-logout {
    min-height: 50px;
    display: inline-grid;
    place-items: center;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
}

.gm-prelaunch-referral button,
.gm-prelaunch-telegram {
    color: #062014;
    background: linear-gradient(135deg, #dfff70, #3ec642);
}

.gm-prelaunch-logout {
    justify-self: start;
    color: #cfefd6;
    background: rgba(255, 255, 255, .08);
}

.gm-prelaunch-profile {
    width: min(1180px, 100%);
    display: grid;
    gap: 18px;
}

.gm-prelaunch-profile .gm-panel {
    margin: 0;
}

.gm-prelaunch-team {
    width: min(1180px, 100%);
    display: grid;
    gap: 16px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(159, 255, 188, .2);
    border-radius: 8px;
    color: var(--gm-text);
    background: rgba(4, 31, 20, .88);
}

.gm-prelaunch-team-empty {
    display: grid;
    gap: 6px;
    padding: 18px;
    border: 1px dashed rgba(159, 255, 188, .28);
    border-radius: 8px;
    color: #a8d8b4;
    background: rgba(0, 0, 0, .2);
}

.gm-prelaunch-team-empty b {
    color: #effff3;
}

.gm-prelaunch-team-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.gm-prelaunch-team-list article {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(159, 255, 188, .16);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
}

.gm-prelaunch-team-list article div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.gm-prelaunch-team-list b,
.gm-prelaunch-team-list span,
.gm-prelaunch-team-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gm-prelaunch-team-list span,
.gm-prelaunch-team-list small {
    color: #a8d8b4;
}

.gm-prelaunch-team-list em {
    grid-column: 2;
    justify-self: start;
    padding: 7px 10px;
    border-radius: 999px;
    color: #062014;
    background: #dfff70;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.gm-prelaunch-team-photo {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 10px;
    color: #06170a;
    background: linear-gradient(135deg, #35e456, #a7ff55);
    font-size: 22px;
    font-weight: 1000;
}

.gm-prelaunch-team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gm-portal .table-wrap {
    border-color: var(--gm-line);
    background: rgba(0,0,0,.14);
}

.gm-portal table {
    color: var(--gm-text);
}

.gm-portal th {
    color: #d8f27c;
    background: rgba(53, 216, 87, .08);
}

.gm-portal td {
    border-color: rgba(179, 255, 205, .11);
}

.gm-portfolio-table {
    min-width: 1080px;
    table-layout: fixed;
}

.gm-portfolio-table th,
.gm-portfolio-table td {
    padding: 22px 18px;
    vertical-align: middle;
    white-space: normal;
}

.gm-portfolio-table th:nth-child(1),
.gm-portfolio-table td:nth-child(1) {
    width: 190px;
}

.gm-portfolio-table th:nth-child(4),
.gm-portfolio-table td:nth-child(4) {
    width: 160px;
}

.gm-portfolio-table th:nth-child(6),
.gm-portfolio-table td:nth-child(6) {
    width: 310px;
}

.gm-portfolio-table th:nth-child(7),
.gm-portfolio-table td:nth-child(7) {
    width: 260px;
}

.gm-portfolio-table td b,
.gm-portfolio-table td small {
    display: block;
}

.gm-portfolio-table td b {
    margin-bottom: 6px;
    line-height: 1.15;
}

.gm-portfolio-table td small {
    color: #a8d8b4;
    line-height: 1.35;
}

.gm-portfolio-table .gm-principal-donate-form {
    margin: 0 0 8px;
}

.gm-portfolio-table .gm-mini-btn {
    margin-top: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
}

.gm-portal .tag,
.gm-portal .status {
    border-radius: 999px;
    border-color: rgba(183, 246, 81, .24);
    color: #d8f27c;
    background: rgba(183, 246, 81, .09);
}

.gm-ticket-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
    min-width: 0;
}

.gm-reward-ladder-layout {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 16px;
    min-width: 0;
}

.gm-reward-real-image {
    position: relative;
    min-height: 360px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(207, 255, 91, .2);
    border-radius: 8px;
    background: #03190e;
}

.gm-reward-real-image img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    display: block;
}

.gm-reward-real-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 20, 10, .04), rgba(0, 20, 10, .72));
}

.gm-reward-real-image figcaption {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 1;
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid rgba(207, 255, 91, .24);
    border-radius: 8px;
    background: rgba(0, 24, 13, .72);
}

.gm-reward-real-image figcaption b {
    color: #f2fff4;
}

.gm-reward-real-image figcaption span {
    color: #bfe8c9;
    font-size: 13px;
}

.gm-ticket-list div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto);
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 8px;
    border: 1px solid var(--gm-line);
    background: rgba(0,0,0,.2);
}

.gm-ticket-list small {
    grid-column: 1;
    color: #b7dec1;
    font-weight: 900;
}

.gm-ticket-list span {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    color: #d8f27c;
    font-weight: 1000;
    text-align: right;
    white-space: normal;
}

.gm-reward-ticket.achieved {
    border-color: rgba(207, 255, 91, .38);
    background: rgba(36, 128, 45, .2);
}

.gm-reward-ticket.locked span {
    color: #b9c8bc;
}

.gm-support-chat {
    display: grid;
    gap: 14px;
}

.gm-chat-window {
    min-height: 360px;
    max-height: 520px;
    overflow-y: auto;
    padding: 14px;
    border: 1px solid var(--gm-line);
    border-radius: 12px;
    background: rgba(0, 0, 0, .22);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gm-chat-bubble {
    max-width: min(82%, 680px);
    padding: 12px 14px;
    border-radius: 14px;
    color: #ebfff0;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .12);
    line-height: 1.45;
    white-space: pre-wrap;
}

.gm-chat-bubble.user {
    align-self: flex-end;
    color: #06130b;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    border-color: transparent;
    font-weight: 900;
}

.gm-chat-bubble.error {
    background: rgba(255, 55, 55, .18);
    border-color: rgba(255, 100, 100, .35);
}

.gm-chat-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.gm-chat-options button,
.gm-chat-inline-actions button,
.gm-chat-input button {
    border: 0;
    border-radius: 10px;
    color: #08170c;
    background: linear-gradient(135deg, var(--gm-accent), var(--gm-accent-2));
    font-weight: 1000;
    cursor: pointer;
}

.gm-chat-options button {
    min-height: 74px;
    padding: 12px;
    text-align: left;
}

.gm-chat-options small {
    display: block;
    margin-top: 5px;
    color: rgba(8, 23, 12, .78);
}

.gm-chat-inline-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.gm-chat-request-list {
    display: grid;
    gap: 8px;
}

.gm-chat-request-list button {
    width: min(100%, 720px);
    padding: 12px;
    border: 1px solid rgba(183, 246, 81, .22);
    border-radius: 10px;
    color: #effff2;
    background: rgba(0, 0, 0, .28);
    text-align: left;
    cursor: pointer;
}

.gm-chat-request-list b,
.gm-chat-request-list small {
    display: block;
}

.gm-chat-request-list small {
    margin-top: 4px;
    color: #afd4bb;
}

.gm-chat-inline-actions button {
    min-height: 42px;
    padding: 0 16px;
}

.gm-chat-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.gm-chat-input input {
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--gm-line);
    border-radius: 10px;
    color: #effff2;
    background: rgba(0, 0, 0, .25);
}

.gm-chat-input button {
    padding: 0 22px;
}

.gm-progress {
    overflow: hidden;
    height: 12px;
    margin: 18px 0 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.11);
}

.gm-progress i {
    display: block;
    height: 100%;
    min-width: 2px;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--gm-accent), var(--gm-accent-2));
}

.gm-portal .admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.gm-portal .admin-grid .panel {
    border-color: var(--gm-line);
    background: linear-gradient(180deg, rgba(10, 55, 32, .92), rgba(5, 30, 19, .92));
}

.gm-portal .settings-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-portal .ok,
.gm-portal .bad {
    min-width: 82px;
    border-radius: 8px;
}

.gm-admin-shell {
    display: grid;
    gap: 20px;
    width: 100%;
}

.gm-admin-hero,
.gm-admin-card,
.gm-admin-kpis article,
.gm-admin-tabs {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(183, 246, 81, .18);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(12, 68, 38, .92), rgba(3, 24, 16, .95)),
        radial-gradient(circle at 88% 8%, rgba(183, 246, 81, .14), transparent 36%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 48px rgba(0,0,0,.24);
}

.gm-admin-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 22px;
    align-items: center;
    min-height: 220px;
    padding: clamp(22px, 3vw, 38px);
}

.gm-admin-hero::before,
.gm-admin-card::before,
.gm-admin-kpis article::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.08) 48%, transparent 58% 100%);
    transform: translateX(-120%);
    animation: gmAdminSheen 7s ease-in-out infinite;
}

.gm-admin-hero small,
.gm-admin-card-head span,
.gm-admin-kpis small,
.gm-admin-flow small,
.gm-admin-plan small {
    color: var(--gm-muted);
}

.gm-admin-hero small {
    display: inline-block;
    margin-bottom: 10px;
    color: #d8f27c;
    font-weight: 950;
    letter-spacing: 1.6px;
}

.gm-admin-hero h1 {
    margin: 0 0 10px;
    font-family: Georgia, serif;
    font-size: clamp(44px, 5vw, 76px);
    line-height: .95;
}

.gm-admin-hero p {
    max-width: 780px;
    margin: 0;
    color: #b8d7c2;
    font-size: 17px;
    line-height: 1.65;
}

.gm-admin-live {
    display: grid;
    gap: 8px;
    padding: 22px;
    border: 1px solid rgba(183, 246, 81, .18);
    border-radius: 8px;
    background: rgba(0,0,0,.23);
}

.gm-admin-live b {
    font-size: 28px;
}

.gm-admin-live em {
    color: #d8f27c;
    font-style: normal;
}

.gm-admin-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.gm-admin-kpis article {
    min-height: 154px;
    padding: 18px;
    isolation: isolate;
    transition: transform .18s ease, border-color .18s ease;
}

.gm-admin-kpis article:hover {
    transform: translateY(-3px);
    border-color: rgba(183, 246, 81, .42);
}

.gm-admin-kpis i,
.gm-admin-tabs .gm-nav-icon {
    display: grid;
    place-items: center;
}

.gm-admin-kpis i {
    width: 44px;
    height: 44px;
    margin-bottom: 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #35d857, #b7f651);
    color: #062014;
    font-style: normal;
    box-shadow: 0 12px 28px rgba(53,216,87,.22);
}

.gm-admin-kpis .gm-nav-icon {
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: currentColor;
    box-shadow: none;
}

.gm-admin-kpis span {
    display: block;
    color: #a8ccb3;
    font-weight: 800;
}

.gm-admin-kpis b {
    display: block;
    margin: 8px 0 4px;
    font-size: clamp(24px, 2.5vw, 36px);
    line-height: 1;
}

.gm-admin-tabs {
    display: flex;
    gap: 10px;
    padding: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}

.gm-admin-tabs::-webkit-scrollbar {
    display: none;
}

.gm-admin-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid rgba(183, 246, 81, .18);
    border-radius: 8px;
    color: #eaffec;
    background: rgba(0,0,0,.22);
    text-decoration: none;
    font-weight: 900;
}

.gm-admin-tabs a:hover {
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.gm-admin-tabs .gm-nav-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
}

.gm-admin-grid {
    display: grid;
    grid-template-columns: 1.45fr .85fr;
    gap: 16px;
}

.gm-admin-card {
    padding: 22px;
}

.gm-admin-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.gm-admin-card h2 {
    margin: 0;
    font-size: clamp(24px, 2.2vw, 34px);
}

.gm-admin-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.gm-admin-flow div,
.gm-admin-plan,
.gm-admin-rules div,
.gm-admin-checks label {
    border: 1px solid rgba(183, 246, 81, .14);
    border-radius: 8px;
    background: rgba(0,0,0,.2);
}

.gm-admin-flow div {
    display: grid;
    gap: 8px;
    min-height: 142px;
    padding: 16px;
}

.gm-admin-flow b {
    font-size: 30px;
}

.gm-admin-flow span {
    color: #eaffec;
    font-weight: 900;
}

.gm-admin-plan {
    display: grid;
    gap: 12px;
    padding: 16px;
    color: #c6e2cf;
    line-height: 1.55;
}

.gm-admin-plan p {
    margin: 0;
}

.gm-admin-table {
    max-width: 100%;
    overflow-x: auto;
}

.gm-admin-table table,
.gm-admin-card .table-wrap table {
    min-width: 760px;
}

.gm-admin-card .inline-form {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.gm-direct-login-form {
    margin: 0 0 10px;
}

.gm-admin-member-photo {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    float: left;
    margin: 0 12px 8px 0;
    overflow: hidden;
    border-radius: 10px;
    color: #06170a;
    background: linear-gradient(135deg, #35e456, #a7ff55);
    font-size: 22px;
    font-weight: 1000;
}

.gm-admin-member-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gm-direct-login-btn {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    color: #06170a;
    background:
        linear-gradient(135deg, #34e359, #b5ff48),
        url('green-rewards-realistic.webp') center/cover;
    font-weight: 1000;
    box-shadow: 0 14px 32px rgba(80, 255, 90, .18);
    cursor: pointer;
}

.gm-direct-login-btn:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.gm-admin-settings {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-admin-settings label {
    min-width: 0;
}

.gm-admin-settings .gm-admin-span-2 {
    grid-column: span 2;
}

.gm-admin-settings button {
    grid-column: 1 / -1;
    min-height: 54px;
}

.gm-admin-rules,
.gm-admin-checks {
    display: grid;
    gap: 10px;
}

.gm-admin-rules div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
}

.gm-admin-rules b {
    color: #d8f27c;
}

.gm-admin-checks label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    color: #d9efe0;
}

.gm-admin-checks input {
    accent-color: #35d857;
}

@keyframes gmTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-42%); }
}

@keyframes gmBars {
    0%, 100% { transform: scaleY(.72); filter: saturate(1); }
    50% { transform: scaleY(1.08); filter: saturate(1.35); }
}

@keyframes gmGlow {
    0%, 100% { transform: scale(.96); opacity: .55; }
    50% { transform: scale(1.08); opacity: .9; }
}

@keyframes gmScan {
    from { transform: translateX(-100%); }
    to { transform: translateX(100%); }
}

@keyframes gmBottleDrop {
    0% { transform: translateY(-20px) rotate(var(--r)); opacity: 0; }
    18% { opacity: 1; }
    72% { transform: translateY(82px) rotate(calc(var(--r) * -1)); opacity: 1; }
    100% { transform: translateY(104px) scale(.62) rotate(0deg); opacity: 0; }
}

@keyframes gmConveyor {
    from { filter: hue-rotate(0deg) brightness(1); }
    to { filter: hue-rotate(45deg) brightness(1.2); }
}

@keyframes gmConveyorSlide {
    from { background-position: 0% 50%; }
    to { background-position: 200% 50%; }
}

@keyframes gmFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-6px) rotate(4deg); }
}

@keyframes gmEarthTurn {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes gmEarthFloat {
    0%, 100% { transform: translateY(0) rotate(-2deg); }
    50% { transform: translateY(-2px) rotate(2deg); }
}

@keyframes gmEarthPan {
    0% { background-position: 45% 50%; }
    50% { background-position: 62% 50%; }
    100% { background-position: 45% 50%; }
}

@keyframes gmFirePulse {
    0%, 100% { opacity: .75; transform: scale(.98) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.06) rotate(8deg); }
}

@keyframes gmAdminSheen {
    0%, 72% { transform: translateX(-120%); opacity: 0; }
    82% { opacity: .8; }
    100% { transform: translateX(120%); opacity: 0; }
}

@keyframes gmTreeVanish {
    0%, 42% { opacity: 1; filter: saturate(1); transform: translateY(0) scale(1); }
    58%, 100% { opacity: .18; filter: saturate(.3); transform: translateY(8px) scale(.82); }
}

@keyframes gmTreeFall {
    0%, 32% { opacity: 1; transform: rotate(0deg); }
    48%, 72% { opacity: .75; transform: rotate(67deg); }
    100% { opacity: .32; transform: rotate(67deg) translateX(8px); }
}

@keyframes gmBuildingRise {
    0%, 36% { transform: translateY(92px); opacity: .2; }
    62%, 100% { transform: translateY(0); opacity: 1; }
}

@keyframes gmHeatPulse {
    0%, 100% { transform: scale(.9); opacity: .5; }
    50% { transform: scale(1.12); opacity: .9; }
}

@media (max-width: 1160px) {
    .gm-card-grid,
    .gm-income-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gm-quick-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .gm-balance-hero,
    .gm-mission-hero,
    .gm-two-col,
    .gm-referral-card,
    .gm-dashboard-referral-card,
    .gm-selfie-grid,
    .gm-profile-wallet-grid,
    .gm-campaign-card {
        grid-template-columns: 1fr;
    }
    .gm-campaign-form,
    .gm-campaign-donation-form,
    .gm-campaign-popup-meta,
    .gm-chat-options,
    .gm-otp-row {
        grid-template-columns: 1fr;
    }
    .gm-withdraw-summary {
        grid-template-columns: 1fr 1fr;
    }
    .gm-id-layout {
        grid-template-columns: 1fr;
    }
    .gm-mini-chart {
        width: 100%;
    }
    .gm-live-impact {
        grid-template-columns: 180px minmax(0, 1fr);
    }
    .gm-roi-empty {
        grid-template-columns: 1fr;
    }
    .gm-roi-empty-scene {
        min-height: 190px;
    }
    .gm-earth-meter {
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(0, 1fr);
        justify-items: start;
        text-align: left;
    }
    .gm-live-roi-card {
        grid-template-columns: 54px minmax(0, 1fr);
    }
    .gm-live-roi-money {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }
    .gm-admin-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gm-admin-hero,
    .gm-admin-grid,
    .gm-admin-flow {
        grid-template-columns: 1fr;
    }
    .gm-admin-live {
        max-width: 420px;
    }
}

@media (max-width: 880px) {
    .gm-sidebar {
        inset: 0 auto 0 0;
        width: min(86vw, 330px);
        max-width: calc(100vw - 44px);
        height: 100dvh;
        max-height: 100dvh;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 18px 14px;
        transform: translateX(-105%);
        transition: transform .24s ease;
        grid-template-rows: auto minmax(0, 1fr) auto auto auto;
        gap: 10px;
    }
    .gm-sidebar::after {
        background: rgba(0, 0, 0, .46);
        opacity: 0;
        transform: translateX(100%);
        transition: opacity .24s ease;
    }
    body.gm-menu-open .gm-sidebar {
        transform: translateX(0);
    }
    body.gm-menu-open .gm-sidebar::after {
        opacity: 1;
        transform: translateX(0);
    }
    .gm-menu-close,
    .gm-menu-btn {
        display: block;
    }
    .gm-menu-close {
        position: absolute;
        top: 18px;
        right: 14px;
        z-index: 3;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        background: rgba(255,255,255,.1);
        backdrop-filter: blur(10px);
    }
    .gm-brand {
        width: calc(100% - 48px);
        gap: 10px;
    }
    .gm-brand img {
        width: 138px;
        height: 54px;
        padding: 5px;
    }
    .gm-sidebar-head {
        position: relative;
        align-items: flex-start;
        min-height: 64px;
        padding-right: 48px;
    }
    .gm-brand b {
        font-size: 12px;
        line-height: 1.25;
    }
    .gm-brand small {
        font-size: 9px;
        line-height: 1.35;
    }
    .gm-sidebar nav a {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding: 8px 14px;
    }
    .gm-sidebar nav {
        gap: 4px;
        min-height: 0;
    }
    .gm-sidebar nav p {
        margin: 8px 0 2px;
    }
    .gm-account,
    .gm-sidebar-balance,
    .gm-signout {
        padding: 9px 12px;
    }
    .gm-account {
        gap: 9px;
    }
    .gm-account > span,
    .gm-account-photo {
        width: 34px;
        height: 34px;
        font-size: 16px;
    }
    .gm-account small {
        font-size: 11px;
    }
    .gm-sidebar-balance {
        gap: 2px;
    }
    .gm-sidebar-balance b {
        font-size: 20px;
        line-height: 1.1;
    }
    .gm-sidebar-balance span {
        font-size: 12px;
    }
    .gm-signout {
        min-height: 40px;
        display: grid;
        place-items: center;
    }
    .gm-sidebar nav a b,
    .gm-account b,
    .gm-signout {
        white-space: nowrap;
    }
    .gm-main {
        margin-left: 0;
        max-width: 100vw;
    }
    .gm-withdraw-summary,
    .gm-wallet-alert {
        grid-template-columns: 1fr;
    }
    .gm-wallet-alert a {
        grid-row: auto;
        grid-column: auto;
        justify-self: start;
    }
    .gm-workspace {
        padding: 16px;
        width: 100%;
        max-width: 100vw;
    }
    .gm-prelaunch-page {
        place-items: stretch;
        padding: 18px 10px 28px;
    }
    .gm-prelaunch-card,
    .gm-prelaunch-profile,
    .gm-prelaunch-team {
        width: 100%;
        max-width: 100%;
    }
    .gm-prelaunch-profile .gm-panel {
        padding: 16px;
        overflow: hidden;
    }
    .gm-prelaunch-profile .gm-panel-head {
        align-items: flex-start;
        gap: 8px;
    }
    .gm-selfie-grid,
    .gm-profile-wallet-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .gm-selfie-preview {
        min-height: 150px;
        max-height: 180px;
    }
    .gm-selfie-preview span {
        width: 72px;
        height: 72px;
        font-size: 34px;
    }
    .gm-selfie-camera video,
    .gm-selfie-camera canvas {
        max-width: 100%;
        max-height: 210px;
    }
    .gm-profile-wallet-visual,
    .gm-profile-wallet-form,
    .gm-profile-wallet-locked {
        padding: 16px;
        min-width: 0;
    }
    .gm-profile-wallet-form button,
    .gm-profile-wallet-form input,
    .gm-profile-wallet-form small {
        max-width: 100%;
    }
    .gm-selfie-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .gm-selfie-actions button,
    .gm-profile-wallet-form button {
        width: 100%;
    }
    .gm-prelaunch-team-list {
        grid-template-columns: 1fr;
    }
    .gm-prelaunch-team-list article {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 12px;
    }
    .gm-prelaunch-team-photo {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
    .gm-topbar {
        padding: 12px 16px;
    }
    .gm-hero-actions {
        position: static;
        margin-top: 16px;
    }
    .gm-simple-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gm-live-impact {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .gm-trade-impact {
        grid-template-columns: 1fr;
    }
    .gm-recycle-stage {
        min-height: 122px;
    }
    .gm-recycle-machine {
        left: 50%;
        transform: translateX(-50%);
    }
    .gm-live-metrics {
        grid-template-columns: 1fr;
    }
    .gm-earth-meter {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
    .gm-au-watch {
        right: 10px;
        bottom: 10px;
        min-width: 142px;
        padding: 8px 10px;
    }
    .gm-au-watch:before {
        width: 28px;
        height: 28px;
    }
    .gm-au-watch b {
        font-size: 15px;
    }
    .gm-admin-card,
    .gm-admin-hero {
        padding: 16px;
    }
    .gm-admin-hero h1 {
        font-size: 38px;
    }
    .gm-admin-tabs {
        margin-inline: -4px;
    }
    .gm-admin-settings {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gm-card-grid,
    .gm-income-grid,
    .gm-quick-grid,
    .gm-simple-actions,
    .gm-session-list,
    .gm-form-row,
    .gm-network-stats,
    .gm-wallet-chips,
    .gm-prelaunch-referral div,
    .gm-portal .admin-grid,
    .gm-portal .settings-form {
        grid-template-columns: 1fr;
    }
    .gm-prelaunch-referral div {
        display: grid;
    }
    .gm-prelaunch-timer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gm-admin-kpis,
    .gm-admin-settings {
        grid-template-columns: 1fr;
    }
    .gm-admin-settings .gm-admin-span-2 {
        grid-column: span 1;
    }
    .gm-admin-card-head,
    .gm-admin-rules div {
        align-items: flex-start;
        flex-direction: column;
    }
    .gm-balance-hero {
        padding: 22px;
    }
    .gm-mission-hero {
        min-height: auto;
        padding: 18px;
    }
    .gm-aic-hero {
        grid-template-columns: 1fr;
    }
    .gm-mini-line {
        display: none;
    }
    .gm-aic-wallets,
    .gm-aic-actions {
        grid-template-columns: 1fr;
    }
    .gm-mission-copy h1 {
        font-size: 30px;
    }
    .gm-mission-copy p {
        font-size: 14px;
    }
    .gm-mission-actions a {
        width: 100%;
        text-align: center;
    }
    .gm-live-feed {
        gap: 8px;
    }
    .gm-live-feed div:nth-child(n+3) {
        display: none;
    }
    .gm-id-card-preview,
    .gm-cert-preview {
        min-height: auto;
    }
    .gm-session {
        padding: 18px;
    }
    .gm-trade-balance-card {
        padding: 18px;
    }
    .gm-trade-balance-card:after {
        right: 12px;
        font-size: 74px;
    }
    .gm-trade-balance-card strong {
        font-size: 46px;
    }
    .gm-session-list {
        gap: 10px;
    }
    .gm-session-list div {
        min-height: 132px;
    }
    .gm-live-impact {
        min-height: 0;
        padding: 14px;
    }
    .gm-recycle-stage {
        min-height: 96px;
    }
    .gm-bottle-rain {
        transform: scale(.76);
        transform-origin: top center;
    }
    .gm-recycle-machine {
        width: 124px;
        height: 68px;
    }
    .gm-recycle-machine b {
        left: 34px;
        top: 18px;
        font-size: 34px;
    }
    .gm-live-copy h2 {
        font-size: 29px;
        line-height: 1.12;
    }
    .gm-live-copy p {
        font-size: 14px;
    }
    .gm-live-metrics {
        gap: 8px;
        margin-top: 12px;
    }
    .gm-live-metrics div {
        padding: 10px 12px;
    }
    .gm-live-metrics small {
        min-height: 0;
        font-size: 12px;
        line-height: 1.25;
    }
    .gm-live-metrics strong {
        font-size: 22px;
    }
    .gm-earth-meter {
        grid-template-columns: 82px minmax(0, 1fr);
        justify-items: start;
        text-align: left;
        gap: 10px;
    }
    .gm-meter-ring {
        grid-row: span 2;
        width: 106px;
    }
    .gm-meter-ring span {
        width: 40px;
        height: 40px;
        font-size: 17px;
    }
    .gm-meter-ring span {
        font-size: 20px;
    }
    .gm-earth-meter p {
        font-size: 12px;
    }
    .gm-live-roi-card {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .gm-roi-empty-copy {
        padding: 22px;
    }
    .gm-roi-empty-copy b {
        font-size: 24px;
    }
    .gm-tree-line {
        gap: 12px;
    }
    .gm-building-line i {
        width: 44px;
    }
    .gm-live-roi-card > i {
        width: 48px;
        height: 48px;
    }
    .gm-live-roi-money {
        grid-column: auto;
    }
    .gm-live-roi-money strong {
        font-size: 25px;
    }
    .gm-id-card-preview > img,
    .gm-cert-preview > img {
        width: 180px;
    }
    .gm-wallet-row,
    .gm-hero-actions,
    .gm-ref-copy div {
        flex-direction: column;
        align-items: stretch;
    }
    .gm-top-actions {
        display: none;
    }
}

/* GreenMoney concept/business plan page */
.concept-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 30px;
    align-items: center;
    min-height: 520px;
    padding: clamp(28px, 5vw, 74px);
    color: #f4fff5;
    background:
        linear-gradient(105deg, rgba(2, 47, 30, .96), rgba(5, 72, 42, .9) 48%, rgba(9, 89, 47, .55)),
        url('slider/plastic-waste.jpg') center/cover;
}

.concept-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 110px;
    background: linear-gradient(0deg, #f6fbf4, transparent);
    pointer-events: none;
}

.concept-hero-copy,
.concept-visual {
    position: relative;
    z-index: 1;
}

.concept-hero-copy {
    max-width: 820px;
}

.concept-hero h1 {
    margin: 0 0 18px;
    font-family: Georgia, serif;
    font-size: clamp(58px, 9vw, 126px);
    line-height: .9;
}

.concept-hero p {
    margin: 0;
    max-width: 760px;
    color: #dff7e5;
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1.55;
}

.concept-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.concept-language-tools {
    display: grid;
    gap: 12px;
    margin-bottom: 28px;
}

.concept-lang-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.concept-lang-buttons button,
.concept-audio-btn,
.concept-story-actions button,
.concept-story-actions a {
    min-height: 40px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 8px;
    padding: 0 14px;
    color: #f4fff5;
    background: rgba(255,255,255,.08);
    font-weight: 900;
    cursor: pointer;
    text-decoration: none;
    backdrop-filter: blur(10px);
}

.concept-lang-buttons button.active,
.concept-audio-btn,
.concept-story-actions button,
.concept-story-actions a {
    border-color: rgba(183,246,81,.52);
    color: #062014;
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.concept-audio-btn,
.concept-story-actions button,
.concept-story-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: max-content;
}

.concept-audio-btn .gm-nav-icon,
.concept-story-actions .gm-nav-icon {
    margin: 0;
    width: 26px;
    height: 26px;
    color: #062014;
    background: transparent;
    box-shadow: none;
}

main[data-concept-lang="ur"] {
    direction: rtl;
}

main[data-concept-lang="ur"] .concept-actions,
main[data-concept-lang="ur"] .concept-story-actions,
main[data-concept-lang="ur"] .concept-lang-buttons {
    direction: ltr;
}

.concept-visual {
    display: grid;
    place-items: center;
    min-height: 360px;
}

.concept-visual img {
    width: min(360px, 80vw);
    padding: 18px 24px;
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.concept-loop {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(216,242,124,.28);
    border-radius: 50%;
}

.concept-loop span {
    position: absolute;
    min-width: 92px;
    padding: 9px 12px;
    border-radius: 8px;
    color: #082316;
    background: linear-gradient(135deg, #35d857, #b7f651);
    font-weight: 900;
    text-align: center;
    box-shadow: 0 12px 26px rgba(0,0,0,.22);
}

.concept-loop span:nth-of-type(1) { top: -14px; left: 50%; transform: translateX(-50%); }
.concept-loop span:nth-of-type(2) { right: -22px; top: 48%; }
.concept-loop span:nth-of-type(3) { bottom: -14px; left: 50%; transform: translateX(-50%); }
.concept-loop span:nth-of-type(4) { left: -22px; top: 48%; }
.concept-loop span:nth-of-type(5) {
    right: 8%;
    bottom: 9%;
    background: linear-gradient(135deg, #fff36d, #35d857);
    animation: conceptRewardBlink 2.8s ease-in-out infinite;
}

.concept-loop i {
    position: absolute;
    inset: 48px;
    border-radius: 50%;
    border: 2px dashed rgba(255,255,255,.26);
    animation: conceptOrbit 16s linear infinite;
}

.concept-impact-story {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
    gap: 0;
    width: min(1480px, calc(100% - 40px));
    margin: -38px auto 22px;
    border: 1px solid rgba(16, 99, 54, .22);
    border-radius: 8px;
    color: #f4fff5;
    background:
        radial-gradient(circle at 82% 22%, rgba(255,123,54,.22), transparent 26%),
        linear-gradient(135deg, #071c13, #0b5d34);
    box-shadow: 0 28px 80px rgba(13,75,42,.2);
    z-index: 3;
}

.concept-story-copy {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: center;
    gap: 18px;
    min-height: 430px;
    padding: clamp(26px, 4vw, 54px);
    background:
        linear-gradient(90deg, rgba(3,18,12,.95), rgba(3,18,12,.74), transparent),
        radial-gradient(circle at 0 0, rgba(183,246,81,.14), transparent 36%);
}

.concept-story-copy h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(34px, 4vw, 64px);
    line-height: 1;
}

.concept-story-copy p {
    max-width: 720px;
    margin: 0;
    color: #c9ead1;
    font-size: clamp(17px, 1.5vw, 22px);
    line-height: 1.55;
}

.concept-story-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.concept-world-stage {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    background:
        linear-gradient(180deg, rgba(9,76,49,.18), rgba(3,18,12,.92)),
        url('earth-real.webp') right center/cover;
    isolation: isolate;
}

.concept-world-stage:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,18,12,.58), rgba(4,47,31,.05)),
        radial-gradient(circle at 75% 42%, rgba(255,91,44,.34), transparent 28%),
        repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.035) 39px 40px);
    mix-blend-mode: screen;
    opacity: .78;
}

.concept-stage-sky {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 30%, rgba(255, 100, 45, .4), transparent 20%),
        radial-gradient(circle at 48% 15%, rgba(183,246,81,.12), transparent 24%);
    animation: conceptHeat 5s ease-in-out infinite;
}

.concept-warming-earth {
    position: absolute;
    right: 9%;
    top: 52px;
    width: 174px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 6px solid rgba(155, 255, 194, .28);
    background:
        radial-gradient(circle at 34% 30%, rgba(255,255,255,.65), transparent 10%),
        radial-gradient(circle at 64% 60%, rgba(70,255,129,.72), transparent 14%),
        radial-gradient(circle at 36% 70%, rgba(36,174,75,.74), transparent 18%),
        radial-gradient(circle at 50% 50%, #459bd4 0 58%, #0a3c78 59% 100%);
    box-shadow:
        0 0 0 12px rgba(255,93,48,.08),
        0 0 46px rgba(255,83,43,.34),
        inset -24px -20px 38px rgba(0,0,0,.34);
    animation: conceptEarthSpin 12s linear infinite, conceptEarthFever 6s ease-in-out infinite;
}

.concept-warming-earth i,
.concept-warming-earth b,
.concept-warming-earth span {
    position: absolute;
    border-radius: 50%;
    background: rgba(255,103,50,.36);
    filter: blur(2px);
    animation: conceptHotSpot 3.8s ease-in-out infinite;
}

.concept-warming-earth i { width: 46px; height: 34px; left: 18px; top: 52px; }
.concept-warming-earth b { width: 58px; height: 45px; right: 20px; top: 72px; animation-delay: .7s; }
.concept-warming-earth span { width: 38px; height: 38px; left: 66px; bottom: 22px; animation-delay: 1.2s; }

.concept-warming-earth em {
    position: absolute;
    inset: -18px;
    border-radius: 50%;
    border: 3px solid rgba(255,199,116,.38);
    border-right-color: transparent;
    border-bottom-color: rgba(183,246,81,.54);
    animation: gmEarthTurn 5.5s linear infinite;
}

.concept-forest,
.concept-building-line,
.concept-city {
    position: absolute;
}

.concept-forest {
    left: 8%;
    bottom: 66px;
    display: flex;
    align-items: end;
    gap: 16px;
}

.concept-forest i {
    position: relative;
    width: 13px;
    height: 62px;
    border-radius: 12px 12px 2px 2px;
    background: linear-gradient(180deg, #755125, #301b0d);
    animation: conceptForestFade 8s ease-in-out infinite;
}

.concept-forest i:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -36px;
    width: 68px;
    height: 70px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, #b7f651, transparent 25%),
        radial-gradient(circle at 67% 34%, #4bdd57, transparent 26%),
        linear-gradient(135deg, #35d857, #087338);
    transform: translateX(-50%);
    box-shadow: 0 18px 28px rgba(53,216,87,.18);
}

.concept-forest i:nth-child(2) { height: 86px; animation-delay: .3s; }
.concept-forest i:nth-child(3) { height: 55px; animation-delay: .8s; }
.concept-forest i:nth-child(4) { height: 78px; animation-delay: 1.1s; }
.concept-forest i:nth-child(5) { height: 64px; animation-delay: 1.5s; }
.concept-forest i:nth-child(6) { height: 92px; animation-delay: 1.8s; }

.concept-cut-tree {
    position: absolute;
    left: 34%;
    bottom: 68px;
    width: 14px;
    height: 90px;
    border-radius: 12px 12px 2px 2px;
    background: linear-gradient(180deg, #895a25, #3a210d);
    transform-origin: 50% 100%;
    animation: conceptTreeCut 8s ease-in-out infinite;
}

.concept-cut-tree:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -38px;
    width: 76px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #b7f651, #0b7f3d);
    transform: translateX(-50%);
}

.concept-city {
    right: 27%;
    bottom: 66px;
    display: flex;
    align-items: end;
    gap: 9px;
}

.concept-city i {
    width: 44px;
    height: 124px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 5px 5px 0 0;
    background:
        repeating-linear-gradient(180deg, rgba(255,199,116,.5) 0 5px, transparent 6px 18px),
        linear-gradient(180deg, #263b3c, #071212);
    box-shadow: 0 0 34px rgba(255,98,45,.12);
    transform: translateY(110px);
    animation: conceptCityRise 8s ease-in-out infinite;
}

.concept-city i:nth-child(2) { height: 174px; width: 52px; animation-delay: .45s; }
.concept-city i:nth-child(3) { height: 102px; width: 38px; animation-delay: .85s; }
.concept-city i:nth-child(4) { height: 145px; width: 62px; animation-delay: 1.2s; }

.concept-recycle-path {
    position: absolute;
    left: 10%;
    right: 8%;
    bottom: 34px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff7040, #b7f651, #35d857);
    box-shadow: 0 0 22px rgba(53,216,87,.32);
}

.concept-recycle-path i {
    position: absolute;
    bottom: 14px;
    width: 34px;
    height: 78px;
    border: 3px solid rgba(255,255,255,.68);
    border-top-color: #d8f27c;
    border-radius: 16px 16px 10px 10px;
    transform: rotate(-16deg);
    animation: conceptBottleMove 7s linear infinite;
}

.concept-recycle-path i:nth-child(2) { animation-delay: -2s; }
.concept-recycle-path i:nth-child(3) { animation-delay: -4.2s; }

.concept-recycle-path strong {
    position: absolute;
    right: 0;
    bottom: 19px;
    width: 86px;
    height: 72px;
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 52%, #f4fff5 0 16%, transparent 17%),
        linear-gradient(180deg, #0c8748, #064126);
    box-shadow: 0 16px 32px rgba(0,0,0,.22);
}

.concept-bottle-rescue {
    position: absolute;
    right: 24px;
    bottom: 88px;
    width: 62px;
    height: 118px;
    border: 4px solid rgba(255,255,255,.82);
    border-top-color: #b7f651;
    border-radius: 26px 26px 15px 15px;
    transform: rotate(16deg);
    animation: conceptBottleRecycle 4.8s ease-in-out infinite;
}

.concept-clean-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 118px;
    background: linear-gradient(0deg, rgba(53,216,87,.34), rgba(53,216,87,0));
    transform: translateY(58px);
    animation: conceptCleanWave 8s ease-in-out infinite;
}

.concept-summary,
.concept-section,
.concept-cta {
    width: min(1480px, calc(100% - 40px));
    margin: 22px auto;
}

.concept-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: -36px;
    position: relative;
    z-index: 2;
}

.concept-summary article,
.concept-section {
    border: 1px solid #dbeade;
    border-radius: 8px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 54px rgba(19, 77, 45, .08);
}

.concept-summary article {
    display: grid;
    gap: 8px;
    min-height: 142px;
    padding: 22px;
}

.concept-summary strong {
    color: #0b6938;
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1;
}

.concept-summary span,
.concept-section p,
.concept-card-list span,
.allocation-list span,
.concept-example-grid span,
.concept-roadmap span {
    color: #527365;
    line-height: 1.65;
}

.concept-section {
    padding: clamp(22px, 3.5vw, 46px);
}

.concept-two {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
    gap: 28px;
    align-items: start;
}

.concept-section h2,
.concept-title-row h2 {
    margin: 0 0 14px;
    color: #103323;
    font-size: clamp(30px, 3.2vw, 52px);
    line-height: 1;
}

.concept-section p {
    margin: 0 0 14px;
    font-size: 17px;
}

.concept-card-list,
.allocation-list {
    display: grid;
    gap: 12px;
}

.concept-card-list div,
.allocation-list div,
.concept-example-grid article,
.concept-roadmap article {
    border: 1px solid #dbeade;
    border-radius: 8px;
    background: #f3faf0;
}

.concept-card-list div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
}

.concept-card-list .gm-nav-icon {
    flex: 0 0 38px;
    color: #0b6938;
    background: #e2f6d5;
}

.concept-title-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.concept-title-row p {
    max-width: 460px;
    text-align: right;
}

.concept-table-wrap {
    overflow-x: auto;
    border: 1px solid #dbeade;
    border-radius: 8px;
}

.concept-table-wrap table {
    min-width: 780px;
    color: #103323;
    background: white;
}

.concept-table-wrap th {
    color: #0b6938;
    background: #e9f7e5;
}

.concept-table-wrap td {
    border-color: #dbeade;
    white-space: normal;
}

.concept-warning {
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(172, 130, 20, .35);
    border-radius: 8px;
    color: #7a5a00;
    background: #fff7cd;
    line-height: 1.55;
}

.concept-example-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.concept-example-grid article {
    display: grid;
    gap: 8px;
    min-height: 168px;
    padding: 18px;
    background:
        radial-gradient(circle at 88% 0%, rgba(64, 198, 66, .18), transparent 42%),
        #f7fcf5;
}

.concept-example-grid b {
    color: #0b6938;
    font-size: 28px;
}

.concept-flow .process-strip {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.allocation-list div {
    padding: 16px;
}

.allocation-list b {
    display: block;
    margin-bottom: 6px;
    color: #103323;
    font-size: 20px;
}

.concept-example-grid.rewards article {
    min-height: 150px;
}

.concept-reward-showcase {
    position: relative;
    overflow: hidden;
    color: #f4fff5;
    border-color: rgba(183,246,81,.26);
    background:
        radial-gradient(circle at 8% 0%, rgba(183,246,81,.28), transparent 30%),
        radial-gradient(circle at 96% 20%, rgba(53,216,87,.2), transparent 28%),
        linear-gradient(135deg, rgba(4,37,24,.96), rgba(9,84,47,.94));
}

.concept-reward-showcase:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0 44px, rgba(255,255,255,.035) 45px 46px),
        linear-gradient(180deg, transparent 0 44px, rgba(255,255,255,.025) 45px 46px);
    opacity: .55;
    pointer-events: none;
}

.concept-reward-showcase .concept-title-row,
.concept-reward-track,
.concept-reward-showcase .concept-warning {
    position: relative;
    z-index: 1;
}

.concept-reward-showcase h2,
.concept-reward-showcase .concept-title-row p {
    color: #f5fff1;
}

.concept-reward-showcase .concept-title-row p {
    color: #c4eccc;
}

.concept-reward-track {
    display: grid;
    grid-template-columns: repeat(7, minmax(150px, 1fr));
    gap: 12px;
}

.concept-reward-track article {
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 198px;
    padding: 18px;
    border: 1px solid rgba(183,246,81,.22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), transparent),
        rgba(2, 28, 17, .72);
    box-shadow: inset 0 -3px 0 rgba(183,246,81,.5);
    animation: conceptRewardRise 6s ease-in-out infinite;
}

.concept-reward-track article:nth-child(2n) {
    animation-delay: .5s;
}

.concept-reward-track article:nth-child(3n) {
    animation-delay: 1s;
}

.concept-reward-track article:after {
    content: "";
    position: absolute;
    inset: auto -20% -40% -20%;
    height: 80%;
    background: radial-gradient(circle at 50% 100%, rgba(183,246,81,.25), transparent 58%);
    pointer-events: none;
}

.concept-reward-track i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, #35d857, #b7f651);
    box-shadow: 0 14px 30px rgba(53,216,87,.24);
}

.concept-reward-track i .gm-nav-icon {
    margin: 0;
    color: #062014;
    background: transparent;
    box-shadow: none;
}

.concept-reward-track small {
    width: max-content;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    color: #082316;
    background: #d9ff78;
    font-weight: 900;
}

.concept-reward-track b {
    color: #f4fff5;
    font-size: 20px;
    line-height: 1.18;
}

.concept-reward-track span {
    color: #b6dfbf;
    line-height: 1.45;
}

.concept-notes {
    margin-top: 4px;
}

.concept-roadmap > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.concept-roadmap article {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.concept-roadmap b {
    width: max-content;
    padding: 8px 10px;
    border-radius: 8px;
    color: #082316;
    background: linear-gradient(135deg, #35d857, #b7f651);
}

.concept-roadmap strong {
    color: #103323;
    font-size: 20px;
}

.concept-cta {
    margin-bottom: 40px;
}

.concept-cta .primary {
    align-self: center;
    white-space: nowrap;
}

@media (min-width: 881px) {
    body:has(.ngo-main) .site-header {
        gap: 18px;
    }
    body:has(.ngo-main) .site-nav {
        flex-wrap: nowrap;
        justify-content: flex-end;
        overflow-x: auto;
        scrollbar-width: none;
    }
    body:has(.ngo-main) .site-nav::-webkit-scrollbar {
        display: none;
    }
    body:has(.ngo-main) .site-nav a {
        flex: 0 0 auto;
        white-space: nowrap;
        padding-inline: 12px;
        font-size: 15px;
    }
    body:has(.ngo-main) .site-brand img {
        max-width: 260px;
    }
}

@keyframes conceptOrbit {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes conceptHeat {
    0%, 100% { opacity: .58; transform: scale(1); filter: hue-rotate(0deg); }
    50% { opacity: .95; transform: scale(1.04); filter: hue-rotate(-12deg); }
}

@keyframes conceptEarthSpin {
    from { background-position: 0 0, 0 0, 0 0, 0 0; }
    to { background-position: 42px 0, -38px 18px, 32px -18px, 0 0; }
}

@keyframes conceptEarthFever {
    0%, 100% { box-shadow: 0 0 0 12px rgba(255,93,48,.08), 0 0 46px rgba(255,83,43,.34), inset -24px -20px 38px rgba(0,0,0,.34); }
    50% { box-shadow: 0 0 0 20px rgba(255,93,48,.14), 0 0 76px rgba(255,83,43,.52), inset -18px -14px 30px rgba(0,0,0,.22); }
}

@keyframes conceptHotSpot {
    0%, 100% { opacity: .42; transform: scale(.86); }
    50% { opacity: .9; transform: scale(1.16); }
}

@keyframes conceptForestFade {
    0%, 34% { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
    58%, 100% { opacity: .24; transform: translateY(10px) scale(.82); filter: saturate(.35); }
}

@keyframes conceptTreeCut {
    0%, 32% { opacity: 1; transform: rotate(0); }
    48%, 72% { opacity: .78; transform: rotate(68deg) translateX(10px); }
    100% { opacity: .34; transform: rotate(68deg) translateX(20px); }
}

@keyframes conceptCityRise {
    0%, 38% { opacity: .18; transform: translateY(110px); }
    62%, 100% { opacity: 1; transform: translateY(0); }
}

@keyframes conceptBottleMove {
    0% { left: 4%; opacity: 0; transform: translateY(-12px) rotate(-22deg); }
    12% { opacity: .95; }
    72% { opacity: .95; transform: translateY(0) rotate(18deg); }
    100% { left: calc(100% - 76px); opacity: 0; transform: translateY(12px) rotate(88deg); }
}

@keyframes conceptBottleRecycle {
    0%, 100% { transform: translateY(0) rotate(16deg); opacity: .55; }
    50% { transform: translateY(-10px) rotate(-12deg); opacity: 1; }
}

@keyframes conceptCleanWave {
    0%, 52% { transform: translateY(72px); opacity: .2; }
    72%, 100% { transform: translateY(0); opacity: .82; }
}

@keyframes conceptRewardBlink {
    0%, 100% { box-shadow: 0 12px 26px rgba(0,0,0,.22); transform: translateY(0); }
    50% { box-shadow: 0 0 0 8px rgba(183,246,81,.14), 0 18px 34px rgba(183,246,81,.3); transform: translateY(-4px); }
}

@keyframes conceptRewardRise {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@media (max-width: 1160px) {
    .concept-hero,
    .concept-two,
    .concept-impact-story {
        grid-template-columns: 1fr;
    }
    .concept-impact-story {
        margin-top: 18px;
    }
    .concept-visual {
        min-height: 300px;
    }
    .concept-story-copy,
    .concept-world-stage {
        min-height: 360px;
    }
    .concept-summary,
    .concept-example-grid,
    .concept-roadmap > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .concept-reward-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .concept-hero {
        min-height: auto;
        padding: 30px 18px 80px;
    }
    .concept-hero h1 {
        font-size: 58px;
    }
    .concept-hero p {
        font-size: 17px;
    }
    .concept-lang-buttons {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .concept-lang-buttons button,
    .concept-audio-btn,
    .concept-story-actions button,
    .concept-story-actions a {
        width: 100%;
    }
    .concept-visual {
        min-height: 230px;
    }
    .concept-story-copy,
    .concept-world-stage {
        min-height: 320px;
    }
    .concept-story-copy {
        padding: 24px 18px;
    }
    .concept-warming-earth {
        right: 7%;
        top: 36px;
        width: 132px;
    }
    .concept-city {
        right: 18%;
    }
    .concept-city i {
        width: 34px;
    }
    .concept-forest {
        left: 7%;
        gap: 10px;
    }
    .concept-loop {
        inset: 12px;
    }
    .concept-loop span {
        min-width: 74px;
        padding: 7px 9px;
        font-size: 12px;
    }
    .concept-loop span:nth-of-type(2) {
        right: -8px;
    }
    .concept-loop span:nth-of-type(4) {
        left: -8px;
    }
    .concept-loop span:nth-of-type(5) {
        right: 0;
        bottom: 14%;
    }
    .concept-summary,
    .concept-example-grid,
    .concept-reward-track,
    .concept-roadmap > div,
    .concept-title-row {
        grid-template-columns: 1fr;
    }
    .concept-summary,
    .concept-section,
    .concept-cta {
        width: min(100% - 24px, 1480px);
    }
    .concept-title-row {
        display: grid;
        align-items: start;
    }
    .concept-title-row p {
        text-align: left;
    }
    .concept-table-wrap table {
        min-width: 0;
    }
    .concept-table-wrap th,
    .concept-table-wrap td {
        white-space: normal;
        font-size: 13px;
        padding: 10px 8px;
    }
    .concept-cta .primary {
        white-space: normal;
        text-align: center;
    }
}

/* Separate GreenMoney admin portal */
.gm-admin-body,
.gm-admin-login-body {
    margin: 0;
    color: #effff1;
    background:
        radial-gradient(circle at 18% 12%, rgba(47, 215, 74, .22), transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(163, 255, 59, .13), transparent 34%),
        linear-gradient(135deg, #020b07 0%, #061a10 48%, #021009 100%);
}

.gm-admin-portal {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 308px minmax(0, 1fr);
}

.gm-admin-shade {
    display: none;
}

.gm-admin-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px 18px;
    overflow-y: auto;
    scrollbar-width: none;
    background:
        linear-gradient(180deg, rgba(3, 33, 17, .92), rgba(2, 11, 7, .97)),
        url("slider/pickup-recyclables.jpg") center/cover;
    border-right: 1px solid rgba(129, 255, 91, .16);
    box-shadow: 24px 0 70px rgba(0, 0, 0, .35);
}

.gm-admin-sidebar::-webkit-scrollbar {
    display: none;
}

.gm-admin-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gm-admin-brand img {
    width: 162px;
    padding: 8px 10px;
    border-radius: 9px;
    background: white;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .28);
}

.gm-admin-close,
.gm-admin-menu-btn {
    border: 0;
    color: #effff1;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
}

.gm-admin-close {
    display: none;
    width: 46px;
    height: 46px;
    border-radius: 10px;
    font-size: 30px;
    font-weight: 900;
}

.gm-admin-account,
.gm-admin-side-card,
.gm-admin-top-actions a,
.gm-admin-card,
.gm-admin-stat,
.gm-admin-login-card,
.gm-admin-login-art {
    border: 1px solid rgba(132, 255, 91, .18);
    background: linear-gradient(145deg, rgba(11, 66, 34, .9), rgba(3, 21, 12, .92));
    box-shadow: 0 26px 70px rgba(0, 0, 0, .28);
}

.gm-admin-account {
    display: grid;
    grid-template-columns: 52px 1fr 8px;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 12px;
}

.gm-admin-account > span,
.gm-admin-top-actions i {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 10px;
    color: #041208;
    font-weight: 1000;
    background: linear-gradient(135deg, #35e35b, #adff43);
}

.gm-admin-account b {
    display: block;
    font-size: 18px;
}

.gm-admin-account small,
.gm-admin-side-card small,
.gm-admin-muted {
    color: #9ccaae;
}

.gm-admin-account i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #95ff39;
    box-shadow: 0 0 18px rgba(149, 255, 57, .75);
}

.gm-admin-menu {
    display: grid;
    gap: 7px;
}

.gm-admin-menu p {
    margin: 14px 4px 6px;
    color: #d8ff6b;
    font-size: 12px;
    font-weight: 1000;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gm-admin-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #eaf9ec;
    text-decoration: none;
    font-weight: 1000;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.gm-admin-menu a:hover,
.gm-admin-menu a.active {
    transform: translateX(4px);
    border-color: rgba(150, 255, 63, .28);
    background: linear-gradient(135deg, rgba(47, 217, 72, .28), rgba(132, 255, 62, .12));
}

.gm-admin-menu .gm-nav-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
    color: #dfff70;
    background: radial-gradient(circle at 35% 24%, rgba(202, 255, 86, .32), rgba(3, 30, 15, .78));
    border: 1px solid rgba(159, 255, 80, .24);
}

.gm-admin-menu .gm-nav-icon svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 2;
}

.gm-admin-side-card {
    margin-top: auto;
    padding: 16px;
    border-radius: 12px;
}

.gm-admin-side-card span {
    color: #b5dac0;
}

.gm-admin-side-card b {
    display: block;
    margin: 4px 0;
    font-size: 38px;
}

.gm-admin-main {
    min-width: 0;
}

.gm-admin-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 28px;
    border-bottom: 1px solid rgba(129, 255, 91, .14);
    background: rgba(1, 11, 7, .86);
    backdrop-filter: blur(18px);
}

.gm-admin-topbar > div:first-child {
    display: flex;
    align-items: center;
    gap: 14px;
}

.gm-admin-topbar small {
    display: block;
    color: #c6f874;
    font-size: 11px;
    font-weight: 1000;
    letter-spacing: .1em;
}

.gm-admin-topbar h1 {
    margin: 0;
    font-size: 26px;
}

.gm-admin-menu-btn {
    display: none;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    padding: 12px;
}

.gm-admin-menu-btn span {
    display: block;
    height: 3px;
    margin: 5px 0;
    border-radius: 99px;
    background: currentColor;
}

.gm-admin-top-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gm-admin-top-actions a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 8px 14px;
    border-radius: 10px;
    color: #eaffeb;
    text-decoration: none;
}

.gm-admin-top-actions span {
    color: #a8cfb5;
}

.gm-admin-top-actions i {
    font-style: normal;
}

.gm-admin-workspace {
    width: min(100% - 56px, 1760px);
    margin: 0 auto;
    padding: 34px 0 52px;
}

.gm-admin-flash {
    margin-bottom: 16px;
    padding: 13px 16px;
    border-radius: 10px;
    border: 1px solid rgba(151, 255, 78, .22);
    background: rgba(38, 122, 50, .22);
    color: #dcffda;
    font-weight: 900;
}

.gm-admin-flash.error {
    border-color: rgba(255, 113, 113, .35);
    background: rgba(100, 23, 23, .35);
}

.gm-admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.gm-admin-stat {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 14px;
    min-height: 138px;
    padding: 20px;
    border-radius: 12px;
    background:
        linear-gradient(120deg, rgba(2,18,11,.9), rgba(9,72,40,.74)),
        url('slider/pet-bales.jpg') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-admin-stat:nth-child(even) {
    background:
        linear-gradient(120deg, rgba(2,18,11,.9), rgba(9,72,40,.74)),
        url('green-rewards-realistic.webp') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-admin-stat:before,
.gm-admin-card:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 92% 8%, rgba(159, 255, 69, .22), transparent 30%),
        linear-gradient(110deg, transparent, rgba(255, 255, 255, .04), transparent);
}

.gm-admin-stat i {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 12px;
    color: #06170a;
    background: linear-gradient(135deg, #34e359, #b5ff48);
    box-shadow: 0 0 32px rgba(96, 255, 83, .25);
}

.gm-admin-stat i svg {
    width: 29px;
    height: 29px;
    stroke: currentColor;
    stroke-width: 2;
}

.gm-admin-stat div,
.gm-admin-card > * {
    position: relative;
}

.gm-admin-stat span {
    color: #aed2bb;
    font-weight: 800;
}

.gm-admin-stat b {
    display: block;
    margin: 4px 0;
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1;
}

.gm-admin-stat small {
    color: #d8ff7a;
}

.gm-admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(340px, .7fr);
    gap: 18px;
    margin-bottom: 18px;
}

.gm-admin-dashboard-grid.bottom {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
}

.gm-admin-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: 12px;
    background:
        linear-gradient(112deg, rgba(2,17,10,.94), rgba(8,61,35,.82) 60%, rgba(3,18,12,.78)),
        url('slider/pickup-recyclables.jpg') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-admin-card:nth-of-type(even) {
    background:
        linear-gradient(112deg, rgba(2,17,10,.94), rgba(8,61,35,.82) 60%, rgba(3,18,12,.78)),
        url('green-rewards-realistic.webp') right center/cover;
    background-blend-mode: normal, multiply;
}

.gm-admin-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.gm-admin-card-head h2,
.gm-admin-card h3 {
    margin: 0;
    font-size: 26px;
}

.gm-admin-card-head span,
.gm-admin-card-head a {
    color: #afe5bd;
    font-weight: 900;
    text-decoration: none;
}

.gm-admin-flow-line {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.gm-admin-flow-line article,
.gm-admin-rule-grid article,
.gm-admin-example,
.gm-admin-ticket,
.gm-admin-compliance-list label {
    border: 1px solid rgba(151, 255, 78, .16);
    border-radius: 12px;
    background: rgba(0, 14, 8, .42);
}

.gm-admin-flow-line article {
    min-height: 168px;
    padding: 18px;
    display: grid;
    align-content: center;
    gap: 8px;
}

.gm-admin-flow-line i,
.gm-admin-rule-grid i {
    color: #cfff64;
}

.gm-admin-flow-line svg,
.gm-admin-rule-grid svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
    stroke-width: 2;
}

.gm-admin-flow-line b {
    font-size: 22px;
}

.gm-admin-flow-line span,
.gm-admin-card p,
.gm-admin-ticket span,
.gm-admin-compliance-list small {
    color: #afd4bb;
    line-height: 1.5;
}

.gm-admin-queue-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 16px;
    border-radius: 10px;
    color: #edfff0;
    text-decoration: none;
    background: rgba(0, 16, 9, .52);
    border: 1px solid rgba(143, 255, 80, .14);
}

.gm-admin-queue-row span {
    min-width: 48px;
    text-align: center;
    padding: 7px 10px;
    border-radius: 8px;
    color: #06150b;
    background: linear-gradient(135deg, #34e158, #b3ff43);
    font-weight: 1000;
}

.gm-admin-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.gm-admin-metric-grid article {
    min-height: 112px;
    padding: 16px;
    border: 1px solid rgba(151, 255, 78, .16);
    border-radius: 12px;
    background: rgba(0, 14, 8, .42);
    display: grid;
    align-content: center;
    gap: 7px;
}

.gm-admin-metric-grid span,
.gm-admin-metric-grid small {
    color: #afe5bd;
    overflow-wrap: anywhere;
}

.gm-admin-metric-grid b {
    color: #f6fff2;
    font-size: 25px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.gm-admin-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(129, 255, 91, .14);
    border-radius: 12px;
}

.gm-admin-table-wrap table {
    width: 100%;
    min-width: 880px;
    border-collapse: collapse;
}

.gm-admin-table-wrap th,
.gm-admin-table-wrap td {
    padding: 15px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(129, 255, 91, .12);
    vertical-align: middle;
}

.gm-admin-table-wrap th {
    color: #d9ff6d;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: rgba(16, 74, 32, .52);
}

.gm-admin-table-wrap td small {
    display: block;
    margin-top: 4px;
    color: #91bea0;
}

.gm-admin-table-wrap tr:last-child td {
    border-bottom: 0;
}

.gm-admin-status {
    display: inline-grid;
    place-items: center;
    min-width: 78px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #ddffb7;
    background: rgba(122, 255, 58, .12);
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
}

.gm-admin-status.pending,
.gm-admin-status.created {
    color: #ffe889;
    background: rgba(255, 199, 64, .15);
}

.gm-admin-status.rejected,
.gm-admin-status.error,
.gm-admin-status.blocked,
.gm-admin-status.no-match {
    color: #ffb6b6;
    background: rgba(255, 60, 60, .16);
}

.gm-admin-status.inactive {
    color: #d9e7da;
    background: rgba(255, 255, 255, .11);
}

.gm-admin-row-actions {
    display: flex;
    gap: 8px;
}

.gm-admin-row-actions button,
.gm-admin-settings-form button,
.gm-admin-login-card button {
    border: 0;
    border-radius: 9px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    cursor: pointer;
}

.gm-admin-row-actions button {
    padding: 9px 12px;
}

.gm-admin-row-actions button[value="reject"] {
    color: #ffe8e8;
    background: rgba(255, 79, 79, .2);
    border: 1px solid rgba(255, 79, 79, .28);
}

.gm-support-message-cell {
    min-width: 320px;
    max-width: 560px;
    white-space: normal;
    line-height: 1.5;
}

.gm-support-reply-form {
    min-width: 360px;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 8px;
    align-items: stretch;
}

.gm-support-reply-form textarea {
    width: 100%;
    min-height: 48px;
    resize: vertical;
    padding: 10px 12px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 9px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .62);
    font: inherit;
}

.gm-support-reply-form button {
    min-width: 74px;
    border: 0;
    border-radius: 9px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    cursor: pointer;
}

.gm-support-chat-admin {
    display: grid;
    grid-template-columns: minmax(280px, .34fr) minmax(0, 1fr);
    gap: 14px;
}

.gm-support-thread-list {
    max-height: 720px;
    overflow-y: auto;
    display: grid;
    align-content: start;
    gap: 9px;
    padding-right: 4px;
}

.gm-support-thread-list a {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid rgba(129, 255, 91, .14);
    border-radius: 12px;
    color: #effff2;
    background: rgba(0, 12, 7, .42);
    text-decoration: none;
}

.gm-support-thread-list a.active {
    border-color: rgba(174, 255, 72, .72);
    background: linear-gradient(135deg, rgba(55, 219, 76, .25), rgba(0, 17, 9, .58));
}

.gm-support-thread-list b {
    font-size: 16px;
}

.gm-support-thread-list span,
.gm-support-thread-list small,
.gm-support-thread-list em {
    color: #afd4bb;
    font-style: normal;
    overflow-wrap: anywhere;
}

.gm-support-thread-list em {
    font-size: 12px;
    color: #d5ffd1;
}

.gm-support-conversation {
    min-width: 0;
    border: 1px solid rgba(129, 255, 91, .14);
    border-radius: 14px;
    background: rgba(0, 12, 7, .32);
    overflow: hidden;
}

.gm-support-conversation-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid rgba(129, 255, 91, .12);
    background: rgba(0, 22, 10, .52);
}

.gm-support-conversation-head h3 {
    margin: 0;
    font-size: 24px;
}

.gm-support-conversation-head span {
    color: #afe5bd;
}

.gm-support-conversation-head b {
    color: #d8ff67;
}

.gm-support-admin-chat-window {
    min-height: 420px;
    max-height: 620px;
    overflow-y: auto;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gm-support-admin-bubble {
    max-width: min(78%, 760px);
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    color: #f4fff4;
    background: rgba(255, 255, 255, .09);
}

.gm-support-admin-bubble.admin {
    align-self: flex-end;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    border-color: transparent;
}

.gm-support-admin-bubble small {
    display: block;
    margin-bottom: 6px;
    color: inherit;
    opacity: .74;
    font-weight: 900;
}

.gm-support-admin-bubble p {
    margin: 0;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.gm-support-thread-reply {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 14px;
    border-top: 1px solid rgba(129, 255, 91, .12);
    background: rgba(0, 22, 10, .52);
}

.gm-support-thread-reply textarea {
    width: 100%;
    min-height: 76px;
    resize: vertical;
    padding: 12px 14px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 10px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .68);
    font: inherit;
}

.gm-support-thread-reply button {
    min-width: 118px;
    border: 0;
    border-radius: 10px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    cursor: pointer;
}

.gm-admin-empty {
    color: #a8cfb5;
    text-align: center;
}

.gm-admin-impact-card {
    display: grid;
    align-content: center;
    text-align: center;
}

.gm-admin-impact-meter {
    position: relative;
    display: grid;
    place-items: center;
    width: 168px;
    height: 168px;
    margin: 10px auto 16px;
    border-radius: 50%;
    background: conic-gradient(#a9ff3f calc(var(--p) * 1%), rgba(130, 255, 91, .14) 0);
}

.gm-admin-impact-meter:after {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 28%, #53abdf, #0d6635 34%, #06170c 65%);
    box-shadow: inset -18px -18px 28px rgba(0, 0, 0, .42), 0 0 30px rgba(139, 255, 63, .18);
}

.gm-admin-impact-meter b {
    position: relative;
    z-index: 1;
    color: #ecffd1;
    font-size: 32px;
}

.gm-admin-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 16px;
}

.gm-admin-mini-grid span {
    padding: 14px;
    border-radius: 10px;
    color: #acd4b8;
    background: rgba(0, 14, 8, .42);
}

.gm-admin-mini-grid b {
    display: block;
    color: #f1fff0;
    font-size: 22px;
}

.gm-admin-rule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.gm-admin-rule-grid article {
    min-height: 210px;
    padding: 18px;
}

.gm-admin-rule-grid span,
.gm-admin-example span {
    display: block;
    margin: 10px 0 4px;
    color: #a8cfb5;
}

.gm-admin-rule-grid b {
    font-size: 28px;
}

.gm-admin-example {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.gm-admin-example div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(129, 255, 91, .12);
}

.gm-admin-example div:last-child {
    border-bottom: 0;
}

.gm-admin-example .strong b,
.gm-admin-example .strong span {
    color: #dfff70;
}

.gm-admin-settings-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.gm-admin-settings-form label,
.gm-admin-login-card label {
    display: grid;
    gap: 8px;
    color: #cfefd6;
    font-weight: 900;
}

.gm-admin-settings-form .wide {
    grid-column: span 2;
}

.gm-admin-settings-form input,
.gm-admin-settings-form select,
.gm-admin-login-card input {
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 9px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
    outline: none;
}

.gm-admin-settings-form button {
    grid-column: 1 / -1;
    min-height: 58px;
    font-size: 18px;
}

.gm-admin-danger-zone {
    border: 1px solid rgba(255, 93, 93, .36);
}

.gm-admin-setting-lock {
    max-width: 720px;
}

.gm-admin-setting-lock p {
    color: #afe5bd;
    font-weight: 800;
}

.gm-admin-danger-zone p {
    max-width: 860px;
    color: #ffd4d4;
    font-weight: 800;
}

.gm-admin-clear-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.gm-admin-clear-form label {
    display: grid;
    gap: 8px;
    color: #ffd4d4;
    font-weight: 900;
}

.gm-admin-clear-form input {
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid rgba(255, 93, 93, .38);
    border-radius: 9px;
    color: #fff;
    background: rgba(24, 0, 0, .42);
}

.gm-admin-clear-form button {
    min-height: 50px;
    padding: 0 18px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #b42323;
    font-weight: 1000;
    cursor: pointer;
}

.gm-bypass-head-actions,
.gm-bypass-process-form {
    display: flex;
    gap: 10px;
    align-items: center;
}

.gm-bypass-head-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.gm-bypass-process-form input {
    width: 92px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 8px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
}

.gm-bypass-process-form button,
.gm-bypass-lock-form button,
.gm-bypass-form button {
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    color: #10200f;
    background: linear-gradient(135deg, #ffe566, #ffc933);
    font-weight: 1000;
    cursor: pointer;
}

.gm-bypass-lock-form button {
    color: #fff;
    background: #b42323;
}

.gm-bypass-grid {
    display: grid;
    grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr);
    gap: 14px;
}

.gm-bypass-settings-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid rgba(129, 255, 91, .16);
    border-radius: 10px;
    background: rgba(0, 12, 7, .34);
}

.gm-bypass-settings-form label {
    display: grid;
    gap: 7px;
    color: #cfefd6;
    font-weight: 900;
}

.gm-bypass-settings-form input,
.gm-bypass-settings-form select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 8px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
}

.gm-bypass-settings-form button {
    min-height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    color: #10200f;
    background: linear-gradient(135deg, #dfff70, #3ec642);
    font-weight: 1000;
    cursor: pointer;
}

.gm-admin-reset-link {
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    color: #eaffdf;
    background: rgba(0, 12, 7, .42);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 1000;
}

.gm-bypass-settings-form small {
    grid-column: 1 / -1;
    color: #afe5bd;
    font-weight: 800;
}

.gm-bypass-panel {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(129, 255, 91, .16);
    border-radius: 10px;
    background: rgba(0, 12, 7, .42);
}

.gm-bypass-form {
    display: grid;
    gap: 10px;
}

.gm-bypass-form input,
.gm-bypass-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 8px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
    outline: none;
}

.gm-bypass-form textarea {
    min-height: 86px;
    padding-top: 12px;
    resize: vertical;
}

.gm-admin-compliance-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gm-admin-compliance-list label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
}

.gm-admin-compliance-list input {
    width: 22px;
    height: 22px;
    accent-color: #8dff3e;
}

.gm-admin-compliance-list b {
    display: block;
    margin-bottom: 4px;
    font-size: 18px;
}

.gm-admin-warning-card {
    margin-top: 18px;
    border-color: rgba(255, 218, 79, .24);
    background: linear-gradient(145deg, rgba(83, 70, 12, .42), rgba(4, 22, 12, .9));
}

.gm-admin-concept-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
    min-height: 300px;
    background:
        linear-gradient(115deg, rgba(5, 38, 20, .96), rgba(6, 74, 35, .72), rgba(3, 18, 11, .92)),
        url("slider/pet-bales.jpg") center/cover;
}

.gm-admin-concept-hero small {
    color: #dfff70;
    font-weight: 1000;
    letter-spacing: .08em;
}

.gm-admin-concept-hero h2 {
    max-width: 900px;
    margin: 10px 0 16px;
    font-size: clamp(42px, 5vw, 82px);
    line-height: .92;
}

.gm-admin-concept-hero p {
    max-width: 980px;
    color: #d8f4de;
    font-size: 20px;
}

.gm-admin-concept-badge {
    display: grid;
    place-items: center;
    min-height: 220px;
    padding: 22px;
    border-radius: 50%;
    text-align: center;
    color: #06150b;
    background: radial-gradient(circle at 38% 30%, #efffd6, #96ff45 48%, #24c94f 72%);
    box-shadow: 0 0 60px rgba(140, 255, 62, .35);
}

.gm-admin-concept-badge span,
.gm-admin-concept-badge small {
    font-weight: 1000;
}

.gm-admin-concept-badge b {
    font-size: 54px;
    line-height: 1;
}

.gm-admin-ticket {
    display: grid;
    grid-template-columns: 180px 1fr 90px;
    gap: 12px;
    align-items: center;
    padding: 15px;
    margin-bottom: 10px;
}

.gm-admin-ticket em {
    justify-self: end;
    padding: 7px 10px;
    border-radius: 999px;
    color: #06150b;
    background: #a8ff42;
    font-style: normal;
    font-weight: 1000;
}

.gm-admin-note {
    font-size: 18px;
}

.gm-members-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.gm-admin-search-form {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 10px;
}

.gm-admin-search-form input,
.gm-admin-search-form select,
.gm-member-actions input,
.gm-member-actions select {
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 9px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
    outline: none;
}

.gm-admin-search-form input {
    flex: 1 1 360px;
}

.gm-admin-search-form button,
.gm-admin-search-form a,
.gm-admin-toolbar-actions a,
.gm-member-actions button {
    display: inline-grid;
    place-items: center;
    min-height: 46px;
    padding: 0 16px;
    border: 0;
    border-radius: 9px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    text-decoration: none;
    cursor: pointer;
}

.gm-admin-search-form a {
    color: #eaffeb;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(132, 255, 91, .18);
}

.gm-admin-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.gm-admin-toolbar-actions span {
    padding: 11px 13px;
    border-radius: 9px;
    color: #c7ebcf;
    background: rgba(0, 16, 9, .42);
    border: 1px solid rgba(132, 255, 91, .13);
    font-weight: 800;
}

.gm-members-table table {
    min-width: 1180px;
}

.gm-admin-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
}

.gm-admin-pagination a {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 9px;
    color: #eaffeb;
    background: rgba(0, 16, 9, .42);
    font-weight: 950;
    text-decoration: none;
}

.gm-admin-pagination a.active {
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    border-color: transparent;
}

.gm-admin-pagination a.disabled {
    opacity: .42;
    pointer-events: none;
}

.gm-roi-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-roi-toolbar {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 14px;
}

.gm-roi-search {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    align-items: end;
    gap: 10px;
    flex: 1;
}

.gm-roi-search label {
    display: grid;
    gap: 7px;
    color: #cfefd6;
    font-weight: 900;
}

.gm-roi-search input {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(129, 255, 91, .18);
    border-radius: 8px;
    color: #f1fff0;
    background: rgba(0, 12, 7, .55);
}

.gm-roi-search button,
.gm-roi-credit-all button {
    min-height: 44px;
    padding: 0 16px;
}

.gm-roi-search button {
    border: 0;
    border-radius: 8px;
    color: #10200f;
    background: linear-gradient(135deg, #dfff70, #3ec642);
    font-weight: 1000;
    cursor: pointer;
}

.gm-roi-credit-all {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 760px) {
    .gm-roi-summary,
    .gm-roi-search {
        grid-template-columns: 1fr;
    }

    .gm-roi-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .gm-roi-search button,
    .gm-roi-search .gm-admin-reset-link,
    .gm-roi-credit-all,
    .gm-roi-credit-all button {
        width: 100%;
    }
}

.gm-admin-status-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 22px;
}

.gm-admin-status-tabs-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gm-admin-status-tabs-five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gm-admin-status-tabs a {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 12px 16px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 12px;
    color: #dff7df;
    background:
        radial-gradient(circle at 18% 15%, rgba(158, 255, 74, .16), transparent 34%),
        rgba(0, 17, 10, .62);
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.gm-admin-status-tabs a::after {
    content: "";
    position: absolute;
    inset: auto 12px 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #28e05d, #b8ff44);
    transform: scaleX(.18);
    transform-origin: left;
    opacity: .55;
    transition: transform .22s ease, opacity .22s ease;
}

.gm-admin-status-tabs a span,
.gm-admin-status-tabs a b {
    position: relative;
    z-index: 1;
}

.gm-admin-status-tabs a span {
    font-weight: 1000;
}

.gm-admin-status-tabs a b {
    min-width: 38px;
    min-height: 34px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    box-shadow: 0 12px 28px rgba(85, 255, 85, .18);
}

.gm-admin-status-tabs a.active {
    color: #06150b;
    background: linear-gradient(135deg, rgba(52, 223, 89, .95), rgba(182, 255, 69, .95));
    border-color: transparent;
}

.gm-admin-status-tabs a.active b {
    color: #eaffeb;
    background: rgba(0, 19, 11, .82);
}

.gm-admin-status-tabs a.active::after,
.gm-admin-status-tabs a:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

@media (max-width: 760px) {
    .gm-admin-status-tabs,
    .gm-admin-status-tabs-four,
    .gm-admin-status-tabs-five {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-install-shell {
        width: min(100% - 20px, 760px);
        padding-top: 18px;
    }

    .gm-install-hero {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .gm-install-hero img {
        max-width: 260px;
    }

    .gm-install-check-grid {
        grid-template-columns: 1fr;
    }
}

.gm-member-actions summary {
    width: max-content;
    padding: 10px 14px;
    border-radius: 9px;
    color: #06150b;
    background: linear-gradient(135deg, #34df59, #b6ff45);
    font-weight: 1000;
    cursor: pointer;
    list-style: none;
}

.gm-member-actions summary::-webkit-details-marker {
    display: none;
}

.gm-member-action-grid {
    width: min(720px, 82vw);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(132, 255, 91, .18);
    border-radius: 12px;
    background: rgba(0, 10, 6, .86);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.gm-member-action-grid form {
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 10px;
    background: rgba(12, 57, 27, .58);
}

.gm-member-action-grid form.wide {
    grid-column: 1 / -1;
}

.gm-member-action-grid label {
    display: grid;
    gap: 6px;
    color: #bee5c8;
    font-size: 13px;
    font-weight: 900;
}

.gm-member-action-grid form div {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gm-member-actions button[value="wallet_debit"],
.gm-member-actions button[value="reset_wallet_address"] {
    color: #ffe8e8;
    background: rgba(255, 79, 79, .2);
    border: 1px solid rgba(255, 79, 79, .28);
}

.gm-admin-login-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.gm-admin-login {
    width: min(1120px, 100%);
    display: grid;
    grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr);
    gap: 18px;
}

.gm-admin-login-card,
.gm-admin-login-art {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    padding: 30px;
}

.gm-admin-login-card img {
    width: 230px;
    max-width: 100%;
    padding: 10px 16px;
    border-radius: 10px;
    background: white;
}

.gm-admin-login-card small {
    display: block;
    margin-top: 22px;
    color: #d7ff6c;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.gm-admin-login-card h1 {
    margin: 8px 0;
    font-size: clamp(42px, 6vw, 74px);
    line-height: .95;
}

.gm-admin-login-card p,
.gm-admin-login-art div span {
    color: #afd4bb;
    line-height: 1.5;
}

.gm-admin-login-card form {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.gm-admin-login-card button {
    min-height: 58px;
    font-size: 18px;
}

.gm-admin-demo-creds {
    margin-top: 14px;
    padding: 12px;
    border-radius: 9px;
    color: #dcffda;
    background: rgba(148, 255, 65, .1);
}

.gm-admin-login-card a {
    display: inline-block;
    margin-top: 16px;
    color: #dfff70;
    font-weight: 900;
}

.gm-admin-login-art {
    min-height: 560px;
    display: grid;
    align-content: end;
    gap: 14px;
    background:
        linear-gradient(180deg, rgba(4, 39, 21, .55), rgba(2, 13, 8, .95)),
        url("slider/pet-bales.jpg") center/cover;
}

.gm-admin-login-art h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(30px, 4vw, 58px);
    line-height: 1;
}

.gm-admin-login-art div:not(.gm-admin-orbit) {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px;
    border-radius: 10px;
    background: rgba(1, 14, 8, .62);
    border: 1px solid rgba(151, 255, 78, .16);
}

.gm-admin-orbit {
    position: absolute;
    right: 38px;
    top: 34px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 38% 36%, #78d4ff, transparent 18%),
        radial-gradient(circle at 56% 58%, #43dd6b, transparent 20%),
        radial-gradient(circle at 52% 44%, #0a6836 0 35%, #09200f 36% 63%, transparent 64%),
        conic-gradient(from 20deg, #a7ff3d, #246847, #a7ff3d);
    box-shadow: 0 0 52px rgba(151, 255, 78, .28);
    animation: gmAdminPulse 3.6s ease-in-out infinite;
}

@keyframes gmAdminPulse {
    0%, 100% { transform: scale(1); filter: saturate(1); }
    50% { transform: scale(1.04); filter: saturate(1.35); }
}

@media (max-width: 1180px) {
    .gm-admin-portal {
        grid-template-columns: 1fr;
    }
    .gm-admin-sidebar {
        position: fixed;
        z-index: 50;
        left: 0;
        top: 0;
        width: min(330px, calc(100vw - 42px));
        transform: translateX(-105%);
        transition: transform .28s ease;
    }
    body.gm-admin-menu-open .gm-admin-sidebar {
        transform: translateX(0);
    }
    .gm-admin-shade {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 45;
        background: rgba(0, 0, 0, .55);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease, visibility .2s ease;
    }
    body.gm-admin-menu-open .gm-admin-shade {
        opacity: 1;
        visibility: visible;
    }
    .gm-admin-close,
    .gm-admin-menu-btn {
        display: block;
    }
    .gm-admin-workspace {
        width: min(100% - 28px, 1760px);
    }
    .gm-admin-dashboard-grid,
    .gm-admin-dashboard-grid.bottom {
        grid-template-columns: 1fr;
    }
    .gm-admin-stat-grid,
    .gm-admin-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .gm-admin-topbar {
        align-items: flex-start;
        flex-direction: column;
        padding: 12px 14px;
    }
    .gm-admin-top-actions {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .gm-admin-top-actions::-webkit-scrollbar {
        display: none;
    }
    .gm-admin-top-actions a {
        flex: 0 0 auto;
    }
    .gm-admin-stat-grid,
    .gm-admin-rule-grid,
    .gm-admin-flow-line,
    .gm-admin-compliance-list,
    .gm-admin-mini-grid,
    .gm-admin-metric-grid,
    .gm-support-chat-admin,
    .gm-admin-settings-form,
    .gm-admin-clear-form,
    .gm-bypass-grid,
    .gm-bypass-settings-form,
    .gm-admin-login {
        grid-template-columns: 1fr;
    }
    .gm-bypass-process-form {
        width: 100%;
        align-items: stretch;
    }
    .gm-admin-settings-form .wide {
        grid-column: auto;
    }
    .gm-admin-card {
        padding: 18px;
    }
    .gm-admin-card-head,
    .gm-admin-ticket,
    .gm-members-toolbar {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .gm-admin-card-head {
        display: grid;
    }
    .gm-admin-ticket em {
        justify-self: start;
    }
    .gm-support-thread-reply {
        grid-template-columns: 1fr;
    }
    .gm-support-admin-bubble {
        max-width: 100%;
    }
    .gm-admin-login-art {
        min-height: 420px;
    }
    .gm-admin-concept-hero {
        grid-template-columns: 1fr;
    }
    .gm-admin-concept-badge {
        width: 210px;
        height: 210px;
        min-height: 210px;
    }
    .gm-members-toolbar {
        display: grid;
    }
    .gm-admin-toolbar-actions {
        justify-content: flex-start;
    }
    .gm-member-action-grid {
        grid-template-columns: 1fr;
        width: min(620px, 76vw);
    }
    .gm-member-action-grid form.wide {
        grid-column: auto;
    }
}

@media (max-width: 1100px) {
    .gm-token-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .gm-reward-marquee {
        grid-template-columns: 1fr;
    }
    .gm-token-rule-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .gm-dashboard-join-actions {
        grid-template-columns: 1fr;
    }
    .gm-dashboard-copy-invite {
        width: 100%;
    }
    .gm-dashboard-live-grid {
        display: flex;
        flex-direction: column;
    }
    .gm-dashboard-live-grid .gm-mission-hero {
        order: 1;
        display: grid;
        width: 100%;
        min-height: auto;
        visibility: visible;
    }
}

.gm-password-field .gm-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(159, 255, 188, .18);
    border-radius: 8px;
    padding: 0;
    color: #d8f27c;
    background: rgba(1, 19, 12, .76);
    box-shadow: none;
    font-size: 0;
    line-height: 1;
}

.gm-password-field .gm-password-toggle svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gm-password-field .gm-password-toggle.is-visible {
    color: #06130d;
    background: linear-gradient(135deg, #32f060, #b6ff3d);
}

.gm-weekly-salary-panel,
.gm-weekly-history-panel {
    margin-top: 18px;
}

.gm-weekly-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.gm-weekly-countdown > div {
    display: grid;
    place-items: center;
    align-content: center;
    min-width: 0;
    min-height: 92px;
    padding: 12px;
    border: 1px solid rgba(159, 255, 188, .18);
    border-radius: 8px;
    background: rgba(1, 19, 12, .62);
}

.gm-weekly-countdown b {
    color: #d8f27c;
    font-size: 32px;
    line-height: 1;
    letter-spacing: 0;
}

.gm-weekly-countdown span {
    margin-top: 8px;
    color: #afd4bb;
    font-size: 13px;
    font-weight: 900;
}

.gm-weekly-admin-run {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(159, 255, 188, .18);
    border-radius: 8px;
    background: rgba(1, 19, 12, .62);
}

.gm-weekly-admin-run > div {
    display: grid;
    gap: 5px;
}

.gm-weekly-admin-run span {
    color: #afd4bb;
    line-height: 1.5;
}

.gm-weekly-admin-run form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 720px) {
    .gm-weekly-countdown {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gm-weekly-admin-run {
        align-items: stretch;
        flex-direction: column;
    }

    .gm-weekly-admin-run button {
        width: 100%;
    }
}
