/* =========================================================================
   APEXTRADES — CLEAN REDESIGN
   Covers: Auth pages (login, register) + User dashboard
   Drop this file at: /assets/frontend/css/clean-redesign.css
   Then add ONE line to resources/views/frontend/default/include/__head.blade.php
   (instructions in the README).
   ========================================================================= */

/* -----------------------------------------------------------------------
   1. FONTS  (Geist for UI, Geist Mono for numbers, Instrument Serif accent)
   ----------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');

/* -----------------------------------------------------------------------
   2. TOKENS — Light/Dark via the existing `.dark-theme` body toggle.

   The site's default body class is `.dark-theme` (set in layout). When
   that class is present, we apply LIGHT tokens (matching the existing
   site's "neo light" convention). When the user clicks the theme
   toggle, `.dark-theme` is removed and our :root DARK tokens activate.

   So:
     body.dark-theme   → light mode (the default look)
     body (no class)   → dark mode  (after toggle)
   ----------------------------------------------------------------------- */

/* :root = DARK tokens (active when .dark-theme is removed by toggle) */
:root {
    --cr-bg:           #0a0a0b;
    --cr-surface:      #121214;
    --cr-surface-2:    #16161a;
    --cr-surface-3:    #1c1c20;

    --cr-border:       #26262b;
    --cr-border-2:     #36363c;

    --cr-text:         #f5f5f4;
    --cr-text-2:       #a8a29e;
    --cr-text-3:       #78716c;
    --cr-text-inv:     #0a0a0a;

    --cr-accent:       #6366f1;
    --cr-accent-hover: #818cf8;
    --cr-accent-soft:  rgba(99, 102, 241, 0.16);
    --cr-accent-ink:   #c7d2fe;

    --cr-success:      #10b981;
    --cr-success-soft: rgba(16, 185, 129, 0.14);
    --cr-success-ink:  #6ee7b7;

    --cr-danger:       #ef4444;
    --cr-danger-soft:  rgba(239, 68, 68, 0.14);
    --cr-danger-ink:   #fca5a5;

    --cr-warn:         #f59e0b;
    --cr-warn-soft:    rgba(245, 158, 11, 0.14);
    --cr-warn-ink:     #fcd34d;

    --cr-info:         #38bdf8;
    --cr-info-soft:    rgba(56, 189, 248, 0.14);
    --cr-info-ink:     #7dd3fc;

    --cr-radius-sm:    8px;
    --cr-radius:       14px;
    --cr-radius-lg:    20px;
    --cr-radius-pill:  999px;

    --cr-shadow-xs:    0 1px 2px rgba(0, 0, 0, 0.4);
    --cr-shadow-sm:    0 1px 3px rgba(0, 0, 0, 0.5);
    --cr-shadow-md:    0 4px 12px -2px rgba(0, 0, 0, 0.5);
    --cr-shadow-lg:    0 16px 40px -12px rgba(0, 0, 0, 0.6);

    --cr-font:         'Geist', 'Sofia Pro', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --cr-font-mono:    'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
    --cr-font-serif:   'Instrument Serif', Georgia, serif;
}

/* .dark-theme on body = LIGHT tokens (the default state per layout) */
body.dark-theme {
    --cr-bg:           #f6f6f4;
    --cr-surface:      #ffffff;
    --cr-surface-2:    #fafaf9;
    --cr-surface-3:    #f1f1ef;

    --cr-border:       #e7e5e2;
    --cr-border-2:     #d6d3cf;

    --cr-text:         #0a0a0a;
    --cr-text-2:       #57534e;
    --cr-text-3:       #8a847d;
    --cr-text-inv:     #ffffff;

    --cr-accent:       #4f46e5;
    --cr-accent-hover: #4338ca;
    --cr-accent-soft:  #eef2ff;
    --cr-accent-ink:   #3730a3;

    --cr-success:      #059669;
    --cr-success-soft: #ecfdf5;
    --cr-success-ink:  #065f46;

    --cr-danger:       #dc2626;
    --cr-danger-soft:  #fef2f2;
    --cr-danger-ink:   #991b1b;

    --cr-warn:         #d97706;
    --cr-warn-soft:    #fffbeb;
    --cr-warn-ink:     #92400e;

    --cr-info:         #0284c7;
    --cr-info-soft:    #f0f9ff;
    --cr-info-ink:     #075985;

    --cr-shadow-xs:    0 1px 2px rgba(15, 15, 15, 0.04);
    --cr-shadow-sm:    0 1px 3px rgba(15, 15, 15, 0.06), 0 1px 2px rgba(15, 15, 15, 0.04);
    --cr-shadow-md:    0 4px 12px -2px rgba(15, 15, 15, 0.08), 0 2px 4px -1px rgba(15, 15, 15, 0.05);
    --cr-shadow-lg:    0 16px 40px -12px rgba(15, 15, 15, 0.18);
}

/* =========================================================================
   2b. KILL THE DUPLICATED SIDEBAR WALLET CARD
   The main content already has the indigo balance hero. Hiding the
   sidebar wallet to avoid showing the same info twice.
   ========================================================================= */
.panel-layout .side-nav .side-wallet-box,
body.dark-theme .panel-layout .side-nav .side-wallet-box {
    display: none !important;
}

/* =========================================================================
   2bb. PANEL CHROME COLOR — works in BOTH light (.dark-theme on) and dark
   (.dark-theme off) modes. The original styles.css hardcodes mint green
   on the logo + sidebar; we override unconditionally.
   ========================================================================= */
body .panel-layout .panel-header,
body.dark-theme .panel-layout .panel-header {
    background: var(--cr-surface) !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .panel-layout .panel-header .logo,
body.dark-theme .panel-layout .panel-header .logo {
    background: var(--cr-surface) !important;
    border-right: 1px solid var(--cr-border) !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .panel-layout .panel-header .nav-wrap,
body.dark-theme .panel-layout .panel-header .nav-wrap {
    background: var(--cr-surface) !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .panel-layout .side-nav,
body.dark-theme .panel-layout .side-nav {
    background: var(--cr-surface) !important;
    border-right: 1px solid var(--cr-border) !important;
}

/* =========================================================================
   2c. FORCE BACKGROUND on neo-* legacy cards so the dark-navy
   `#1a2236` from dashboard-modern.css can't sneak through anywhere.
   ========================================================================= */
body .neo-chart-card,
body .neo-transactions-card,
body .neo-wallet-card,
body .neo-referral-card,
body .invest-calc-card,
body .auto-invest-toggle,
body.dark-theme .neo-chart-card,
body.dark-theme .neo-transactions-card,
body.dark-theme .neo-wallet-card,
body.dark-theme .neo-referral-card,
body.dark-theme .invest-calc-card,
body.dark-theme .auto-invest-toggle {
    background: var(--cr-surface) !important;
    border-color: var(--cr-border) !important;
    color: var(--cr-text) !important;
}

/* Same for the gradient backgrounds applied by .neo-grad-* — neutralize them */
body .neo-grad-green,
body .neo-grad-pink,
body .neo-grad-blue,
body .neo-grad-peach,
body .neo-grad-mint,
body .neo-grad-rose,
body .neo-grad-lavender,
body .neo-grad-sky,
body.dark-theme .neo-grad-green,
body.dark-theme .neo-grad-pink,
body.dark-theme .neo-grad-blue,
body.dark-theme .neo-grad-peach,
body.dark-theme .neo-grad-mint,
body.dark-theme .neo-grad-rose,
body.dark-theme .neo-grad-lavender,
body.dark-theme .neo-grad-sky {
    background: var(--cr-surface) !important;
}

/* =========================================================================
   3. AUTH PAGES  (login + register)
   We re-skin the existing .site-auth wrapper so no extra setup is needed.
   ========================================================================= */

.site-auth.cr-auth {
    min-height: 100vh;
    padding: 0;
    background: var(--cr-bg);
    font-family: var(--cr-font);
    color: var(--cr-text);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    position: relative;
    overflow: hidden;
}

@media (max-width: 991px) {
    .site-auth.cr-auth { grid-template-columns: 1fr; }
}

/* ---- left brand panel ---- */
.cr-auth-brand {
    position: relative;
    padding: 56px 56px 48px;
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(99, 102, 241, 0.35) 0%, transparent 55%),
        radial-gradient(100% 80% at 100% 100%, rgba(16, 185, 129, 0.22) 0%, transparent 60%),
        linear-gradient(160deg, #0f0f12 0%, #1a1a22 100%);
    color: #f5f5f4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

@media (max-width: 991px) {
    .cr-auth-brand {
        padding: 32px 24px;
        min-height: 280px;
    }
}

.cr-auth-brand::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.cr-auth-brand-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cr-auth-brand-top img {
    height: 38px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.cr-auth-brand-hero {
    position: relative;
    z-index: 2;
    max-width: 460px;
}

.cr-auth-brand-hero h1 {
    font-family: var(--cr-font-serif);
    font-weight: 400;
    font-size: clamp(36px, 4.5vw, 56px);
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 20px;
}

.cr-auth-brand-hero h1 em {
    font-style: italic;
    color: #c7d2fe;
}

.cr-auth-brand-hero p {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(245, 245, 244, 0.7);
    margin: 0;
}

.cr-auth-brand-foot {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 32px;
    font-size: 13px;
    color: rgba(245, 245, 244, 0.55);
}

.cr-auth-brand-foot strong {
    display: block;
    font-family: var(--cr-font-mono);
    font-weight: 500;
    font-size: 22px;
    color: #ffffff;
    margin-bottom: 2px;
    letter-spacing: -0.02em;
}

@media (max-width: 991px) {
    .cr-auth-brand-foot { display: none; }
}

/* ---- right form panel ---- */
.cr-auth-form-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 48px;
    background: var(--cr-bg);
}

@media (max-width: 575px) {
    .cr-auth-form-wrap { padding: 32px 20px; }
}

.cr-auth-form {
    width: 100%;
    max-width: 440px;
}

.cr-auth-form.is-wide { max-width: 560px; }

.cr-auth-form-head { margin-bottom: 32px; }

.cr-auth-form-head h2 {
    font-family: var(--cr-font);
    font-weight: 600;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--cr-text);
    margin: 0 0 8px;
}

.cr-auth-form-head p {
    font-size: 15px;
    color: var(--cr-text-2);
    margin: 0;
}

.cr-field { margin-bottom: 18px; }

.cr-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 0;
}

@media (max-width: 575px) {
    .cr-field-row { grid-template-columns: 1fr; gap: 0; }
}

.cr-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--cr-text);
    margin-bottom: 7px;
    letter-spacing: -0.005em;
}

.cr-label .cr-req { color: var(--cr-danger); margin-left: 2px; }

.cr-input,
.cr-select {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid var(--cr-border);
    background: var(--cr-surface);
    border-radius: var(--cr-radius-sm);
    font-family: var(--cr-font);
    font-size: 15px;
    color: var(--cr-text);
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
    -webkit-appearance: none;
    appearance: none;
}

.cr-input::placeholder { color: var(--cr-text-3); }

.cr-input:hover { border-color: var(--cr-border-2); }

.cr-input:focus,
.cr-select:focus {
    outline: none;
    border-color: var(--cr-accent);
    box-shadow: 0 0 0 4px var(--cr-accent-soft);
    background: var(--cr-surface);
}

.cr-input-group {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius-sm);
    background: var(--cr-surface);
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}

.cr-input-group:focus-within {
    border-color: var(--cr-accent);
    box-shadow: 0 0 0 4px var(--cr-accent-soft);
}

.cr-input-group-addon {
    display: flex;
    align-items: center;
    padding: 0 14px;
    background: var(--cr-surface-3);
    color: var(--cr-text-2);
    font-family: var(--cr-font-mono);
    font-size: 14px;
    border-right: 1px solid var(--cr-border);
}

.cr-input-group .cr-input {
    border: none;
    border-radius: 0;
    background: transparent;
}

.cr-input-group .cr-input:focus { box-shadow: none; }

.cr-input-password { position: relative; }

.cr-pw-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--cr-text-3);
    font-size: 13px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: color .15s, background .15s;
}

.cr-pw-toggle:hover { color: var(--cr-text); background: var(--cr-surface-3); }

/* nice-select integration (the package overlays a <div>; we restyle it) */
.cr-auth-form .nice-select.site-nice-select,
.cr-field .nice-select {
    height: 46px;
    line-height: 44px;
    padding: 0 36px 0 14px;
    border: 1px solid var(--cr-border);
    background: var(--cr-surface);
    border-radius: var(--cr-radius-sm);
    color: var(--cr-text);
    font-family: var(--cr-font);
    font-size: 15px;
    width: 100%;
}

.cr-auth-form .nice-select:after,
.cr-field .nice-select:after {
    border-color: var(--cr-text-2);
    right: 16px;
}

.cr-auth-form .nice-select .list,
.cr-field .nice-select .list {
    background: var(--cr-surface);
    border: 1px solid var(--cr-border);
    box-shadow: var(--cr-shadow-md);
    color: var(--cr-text);
    border-radius: var(--cr-radius-sm);
}

.cr-auth-form .nice-select .option,
.cr-field .nice-select .option {
    color: var(--cr-text);
}

.cr-auth-form .nice-select .option:hover,
.cr-auth-form .nice-select .option.selected,
.cr-field .nice-select .option:hover,
.cr-field .nice-select .option.selected {
    background: var(--cr-accent-soft);
    color: var(--cr-accent-ink);
}

/* checkbox + actions */
.cr-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--cr-text-2);
    margin-bottom: 20px;
    cursor: pointer;
    user-select: none;
}

.cr-checkbox input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    border: 1px solid var(--cr-border-2);
    border-radius: 5px;
    background: var(--cr-surface);
    margin-top: 1px;
    cursor: pointer;
    position: relative;
    transition: all .15s ease;
}

.cr-checkbox input[type="checkbox"]:checked {
    background: var(--cr-accent);
    border-color: var(--cr-accent);
}

.cr-checkbox input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    inset: 3px 4px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) translate(-1px, -1px);
    width: 5px; height: 9px;
    left: 5px; top: 1px;
}

.cr-checkbox a {
    color: var(--cr-accent);
    text-decoration: none;
    font-weight: 500;
}

.cr-checkbox a:hover { text-decoration: underline; }

.cr-form-row-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.cr-form-row-between .cr-checkbox { margin-bottom: 0; }

.cr-link {
    font-size: 14px;
    color: var(--cr-accent);
    text-decoration: none;
    font-weight: 500;
}

.cr-link:hover { color: var(--cr-accent-hover); text-decoration: underline; }

/* primary button */
.cr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    padding: 0 20px;
    background: var(--cr-text);
    color: var(--cr-bg);
    border: 1px solid var(--cr-text);
    border-radius: var(--cr-radius-sm);
    font-family: var(--cr-font);
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .15s ease, background .15s ease;
}

.cr-btn:hover {
    background: color-mix(in srgb, var(--cr-text) 88%, transparent);
    color: var(--cr-bg);
    transform: translateY(-1px);
    box-shadow: var(--cr-shadow-md);
}

/* accent variant — must keep specificity equal to or higher than .dark-theme .cr-btn */
.cr-btn.cr-btn-accent,
.dark-theme .cr-btn.cr-btn-accent {
    background: var(--cr-accent);
    color: #fff;
    border-color: var(--cr-accent);
}
.cr-btn.cr-btn-accent:hover,
.dark-theme .cr-btn.cr-btn-accent:hover {
    background: var(--cr-accent-hover);
    border-color: var(--cr-accent-hover);
    color: #fff;
}

.cr-auth-foot {
    text-align: center;
    margin-top: 28px;
    font-size: 14px;
    color: var(--cr-text-2);
}

.cr-auth-foot a {
    color: var(--cr-accent);
    text-decoration: none;
    font-weight: 500;
}
.cr-auth-foot a:hover { text-decoration: underline; }

/* alert */
.cr-alert {
    padding: 12px 14px;
    border-radius: var(--cr-radius-sm);
    background: var(--cr-danger-soft);
    border: 1px solid color-mix(in srgb, var(--cr-danger) 20%, transparent);
    color: var(--cr-danger-ink);
    font-size: 14px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cr-alert ul { margin: 0; padding-left: 18px; }
.cr-alert li { margin: 2px 0; }

/* =========================================================================
   4. USER DASHBOARD
   ========================================================================= */

/* widen content a touch + warmer background */
body .panel-layout .page-container .main-content {
    background: var(--cr-bg);
}

body .panel-layout {
    font-family: var(--cr-font);
    color: var(--cr-text);
    background: var(--cr-bg);
}

/* ---- balance hero + referral ---- */
.cr-top-row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

@media (max-width: 991px) {
    .cr-top-row { grid-template-columns: 1fr; }
}

.cr-card {
    background: var(--cr-surface);
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius);
    padding: 22px;
    box-shadow: var(--cr-shadow-xs);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.cr-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.cr-card-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--cr-text-2);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Balance card — the hero. Indigo→violet gradient with noise overlay. */
.cr-balance-card {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.18) 0%, transparent 40%),
        radial-gradient(80% 120% at 0% 100%, rgba(0,0,0,0.22) 0%, transparent 55%),
        linear-gradient(135deg, #4338ca 0%, #4f46e5 45%, #6366f1 100%);
    border: 1px solid transparent;
    color: #ffffff;
}

.cr-balance-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0);
    background-size: 16px 16px;
    pointer-events: none;
    opacity: 0.5;
}

.cr-balance-card > * { position: relative; z-index: 1; }

.cr-balance-card .cr-card-title { color: rgba(255,255,255,0.85); }
.cr-balance-card .cr-card-head > span { color: rgba(255,255,255,0.7) !important; }

.cr-balance-grid { position: relative; z-index: 1; }

.cr-balance-card .cr-balance-item .cr-balance-label {
    color: rgba(255,255,255,0.92);
    font-weight: 500;
}
.cr-balance-card .cr-balance-item .cr-balance-amount { color: #ffffff; }
.cr-balance-card .cr-balance-item .cr-balance-amount .cr-cur {
    color: rgba(255,255,255,0.85);
}

/* Buttons on the hero gradient: white solid primary, translucent ghost */
.cr-balance-card .cr-action-primary {
    background: #ffffff;
    color: #3730a3;
    border-color: #ffffff;
    font-weight: 600;
}
.cr-balance-card .cr-action-primary:hover {
    background: #f3f4f6;
    color: #312e81;
    border-color: #f3f4f6;
}
.dark-theme .cr-balance-card .cr-action-primary {
    color: #312e81;
}
.dark-theme .cr-balance-card .cr-action-primary:hover {
    color: #1e1b4b;
}

.cr-balance-card .cr-action-ghost {
    background: rgba(255,255,255,0.12);
    color: #ffffff;
    border-color: rgba(255,255,255,0.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.cr-balance-card .cr-action-ghost:hover {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
    border-color: rgba(255,255,255,0.4);
}

.dark-theme .cr-balance-card {
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.12) 0%, transparent 40%),
        radial-gradient(80% 120% at 0% 100%, rgba(0,0,0,0.35) 0%, transparent 55%),
        linear-gradient(135deg, #312e81 0%, #4338ca 50%, #4f46e5 100%);
}

.cr-balance-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 22px;
}

@media (max-width: 575px) {
    .cr-balance-grid { grid-template-columns: 1fr; gap: 16px; }
}

.cr-balance-item .cr-balance-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--cr-text-2);
    margin-bottom: 6px;
    font-weight: 500;
}

.cr-balance-item .cr-balance-label svg { width: 14px; height: 14px; }

.cr-balance-amount {
    font-family: var(--cr-font);
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--cr-text);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.cr-balance-amount .cr-cur {
    font-size: 18px;
    color: var(--cr-text-2);
    font-weight: 500;
    margin-right: 4px;
    vertical-align: top;
    position: relative;
    top: 4px;
}

.cr-balance-divider {
    width: 1px;
    background: var(--cr-border);
    align-self: stretch;
    justify-self: center;
}

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

.cr-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 16px;
    border-radius: var(--cr-radius-sm);
    font-family: var(--cr-font);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all .15s ease;
    border: 1px solid transparent;
}

.cr-action-btn svg { width: 16px; height: 16px; }

.cr-action-primary {
    background: var(--cr-accent);
    color: #fff;
    border-color: var(--cr-accent);
}
.cr-action-primary:hover {
    background: var(--cr-accent-hover);
    border-color: var(--cr-accent-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--cr-shadow-md);
}

.cr-action-ghost {
    background: var(--cr-surface);
    color: var(--cr-text);
    border-color: var(--cr-border-2);
}
.cr-action-ghost:hover {
    background: var(--cr-surface-3);
    color: var(--cr-text);
    border-color: var(--cr-text-2);
}

/* Referral card */
.cr-referral-card { display: flex; flex-direction: column; }

.cr-ref-copy {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius-sm);
    overflow: hidden;
    background: var(--cr-surface-2);
    transition: border-color .15s, box-shadow .15s;
}

.cr-ref-copy:focus-within {
    border-color: var(--cr-accent);
    box-shadow: 0 0 0 4px var(--cr-accent-soft);
}

.cr-ref-input {
    flex: 1;
    min-width: 0;
    height: 42px;
    padding: 0 14px;
    background: transparent;
    border: none;
    color: var(--cr-text);
    font-family: var(--cr-font-mono);
    font-size: 13px;
}
.cr-ref-input:focus { outline: none; }

.cr-ref-copybtn {
    background: transparent;
    color: var(--cr-accent);
    border: none;
    border-left: 1px solid var(--cr-border);
    padding: 0 18px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--cr-font);
    transition: background .15s, color .15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.cr-ref-copybtn:hover {
    background: var(--cr-accent-soft);
    color: var(--cr-accent-ink);
}
.cr-ref-copybtn:active { background: color-mix(in srgb, var(--cr-accent) 18%, transparent); }

.cr-ref-meta {
    margin-top: 12px;
    font-size: 13px;
    color: var(--cr-text-2);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cr-ref-share {
    margin-top: auto;
    padding-top: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--cr-text-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cr-ref-share-icons { display: flex; gap: 8px; }

.cr-ref-share-icons a {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cr-border);
    border-radius: 50%;
    color: var(--cr-text-2);
    text-decoration: none;
    transition: all .15s;
    font-size: 13px;
}
.cr-ref-share-icons a:hover {
    border-color: var(--cr-text);
    color: var(--cr-text);
    background: var(--cr-surface-3);
}

/* ---- stat cards grid ---- */
.cr-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

@media (max-width: 1199px) { .cr-stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .cr-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px)  { .cr-stats { grid-template-columns: 1fr; } }

.cr-stat {
    background: var(--cr-surface);
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius);
    padding: 18px;
    transition: all .15s ease;
    box-shadow: var(--cr-shadow-xs);
    position: relative;
    overflow: hidden;
}

.cr-stat:hover {
    border-color: var(--cr-border-2);
    box-shadow: var(--cr-shadow-md);
    transform: translateY(-1px);
}

.cr-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 16px;
}

.cr-stat-icon svg { width: 18px; height: 18px; }

.cr-stat-icon.is-neutral { background: var(--cr-surface-3); color: var(--cr-text); }
.cr-stat-icon.is-accent  { background: var(--cr-accent-soft);  color: var(--cr-accent-ink); }
.cr-stat-icon.is-success { background: var(--cr-success-soft); color: var(--cr-success-ink); }
.cr-stat-icon.is-danger  { background: var(--cr-danger-soft);  color: var(--cr-danger-ink); }
.cr-stat-icon.is-warn    { background: var(--cr-warn-soft);    color: var(--cr-warn-ink); }
.cr-stat-icon.is-info    { background: var(--cr-info-soft);    color: var(--cr-info-ink); }

.cr-stat-label {
    font-size: 13px;
    color: var(--cr-text-2);
    margin: 0 0 4px;
    font-weight: 500;
}

.cr-stat-value {
    font-family: var(--cr-font);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--cr-text);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 0;
}

.cr-stat-value .cr-cur {
    font-size: 15px;
    color: var(--cr-text-2);
    font-weight: 500;
    margin-right: 1px;
}

/* Optional: tiny trend chip — keeps the door open if you add deltas later */
.cr-stat-trend {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    color: var(--cr-text-2);
}
.cr-stat-trend.is-up   { color: var(--cr-success); }
.cr-stat-trend.is-down { color: var(--cr-danger); }

/* ---- override the old neo-* and washed-out gradient cards, just in case
       they linger anywhere in the codebase ---- */
.neo-stat-card,
.neo-wallet-card,
.neo-referral-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    box-shadow: var(--cr-shadow-xs) !important;
    color: var(--cr-text) !important;
}

.neo-stat-label,
.neo-wallet-label { color: var(--cr-text-2) !important; }

.neo-stat-value,
.neo-wallet-amount { color: var(--cr-text) !important; }

.neo-stat-icon-circle {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
}

/* =========================================================================
   5. Other dashboard partials — make them coherent with the new design
   (KYC alert, announcement banner, chart, recent transactions)
   ========================================================================= */

/* ---- KYC / site-alert (the yellow banner with the big triangle) ---- */
.alert.site-alert {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 18px !important;
    margin-bottom: 16px !important;
    border-radius: var(--cr-radius) !important;
    background: var(--cr-warn-soft) !important;
    border: 1px solid color-mix(in srgb, var(--cr-warn) 28%, transparent) !important;
    color: var(--cr-warn-ink) !important;
    box-shadow: var(--cr-shadow-xs) !important;
}

.alert.site-alert .content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.alert.site-alert .content .icon {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    border-radius: 8px !important;
    background: color-mix(in srgb, var(--cr-warn) 18%, transparent) !important;
    color: var(--cr-warn-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    margin: 0 !important;
    border: none !important;
}

.alert.site-alert .content strong {
    color: var(--cr-warn-ink) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.alert.site-alert .action {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

.alert.site-alert .action .site-btn-sm,
.alert.site-alert .action a.site-btn-sm {
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    transition: background .15s !important;
    box-shadow: none !important;
}
.alert.site-alert .action .site-btn-sm:hover {
    background: var(--cr-accent-hover) !important;
    color: #fff !important;
}

.alert.site-alert .action .site-btn-sm.red-btn {
    background: transparent !important;
    color: var(--cr-warn-ink) !important;
    border: 1px solid color-mix(in srgb, var(--cr-warn) 35%, transparent) !important;
}
.alert.site-alert .action .site-btn-sm.red-btn:hover {
    background: color-mix(in srgb, var(--cr-warn) 12%, transparent) !important;
    color: var(--cr-warn-ink) !important;
}

@media (max-width: 575px) {
    .alert.site-alert {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .alert.site-alert .action { width: 100%; }
}

/* ---- announcement banner ---- */
.neo-announce-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border-radius: var(--cr-radius);
    border: 1px solid var(--cr-border);
    background: var(--cr-surface);
    box-shadow: var(--cr-shadow-xs);
    margin-bottom: 16px;
    color: var(--cr-text);
}

.neo-announce-info    { background: var(--cr-info-soft);    border-color: color-mix(in srgb, var(--cr-info) 25%, transparent);    color: var(--cr-info-ink); }
.neo-announce-warning { background: var(--cr-warn-soft);    border-color: color-mix(in srgb, var(--cr-warn) 25%, transparent);    color: var(--cr-warn-ink); }
.neo-announce-danger  { background: var(--cr-danger-soft);  border-color: color-mix(in srgb, var(--cr-danger) 25%, transparent);  color: var(--cr-danger-ink); }
.neo-announce-success { background: var(--cr-success-soft); border-color: color-mix(in srgb, var(--cr-success) 25%, transparent); color: var(--cr-success-ink); }

.neo-announce-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.5);
    flex-shrink: 0;
    font-size: 16px;
}
.dark-theme .neo-announce-icon { background: rgba(0,0,0,0.25); }

.neo-announce-text { flex: 1; min-width: 0; }
.neo-announce-text strong { display: block; font-size: 14px; margin-bottom: 2px; }
.neo-announce-text p { margin: 0; font-size: 13px; opacity: 0.85; }

.neo-announce-actions {
    display: flex; align-items: center; gap: 8px;
    flex-shrink: 0;
}

.neo-announce-btn {
    height: 32px; padding: 0 12px;
    border-radius: 8px;
    background: rgba(255,255,255,0.4);
    color: currentColor;
    text-decoration: none;
    font-size: 13px; font-weight: 500;
    display: inline-flex; align-items: center;
    transition: background .15s;
}
.neo-announce-btn:hover { background: rgba(255,255,255,0.7); color: currentColor; }
.dark-theme .neo-announce-btn { background: rgba(255,255,255,0.08); }
.dark-theme .neo-announce-btn:hover { background: rgba(255,255,255,0.14); }

.neo-announce-close {
    width: 32px; height: 32px;
    border: none; background: transparent;
    border-radius: 8px;
    color: currentColor; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .15s; opacity: 0.7;
}
.neo-announce-close:hover { background: rgba(255,255,255,0.4); opacity: 1; }

/* ---- profit chart card ---- */
.neo-chart-section { margin-bottom: 24px; }

.neo-chart-card {
    background: var(--cr-surface);
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius);
    padding: 22px;
    box-shadow: var(--cr-shadow-xs);
}

.neo-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.neo-card-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--cr-text-2);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.dark-theme .neo-card-title { color: var(--cr-text-2); }

.neo-chart-legend {
    display: flex; gap: 16px;
    font-size: 12px;
    color: var(--cr-text-2);
    font-weight: 500;
}

.neo-chart-legend-item { display: inline-flex; align-items: center; gap: 6px; }

.neo-chart-dot {
    width: 8px; height: 8px; border-radius: 50%;
    display: inline-block;
}
.neo-chart-dot-profit  { background: var(--cr-success); }
.neo-chart-dot-deposit { background: var(--cr-accent); }

.neo-chart-body { height: 280px; position: relative; }

/* ---- recent transactions ---- */
.neo-transactions-section { margin-bottom: 24px; }

.neo-transactions-card {
    background: var(--cr-surface);
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius);
    padding: 22px;
    box-shadow: var(--cr-shadow-xs);
    overflow: hidden;
}

.neo-transactions-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.neo-transactions-body { margin: 0 -22px -22px; }
.neo-transactions-body .site-datatable { padding: 0; }

.neo-transactions-body table.data-table {
    width: 100% !important;
    border-collapse: collapse;
    color: var(--cr-text);
    font-family: var(--cr-font);
}

.neo-transactions-body table.data-table thead th {
    background: var(--cr-surface-2) !important;
    border-top: 1px solid var(--cr-border) !important;
    border-bottom: 1px solid var(--cr-border) !important;
    color: var(--cr-text-2) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 16px !important;
    text-align: left;
}

.neo-transactions-body table.data-table tbody td {
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--cr-border) !important;
    font-size: 14px !important;
    color: var(--cr-text) !important;
    background: transparent !important;
    vertical-align: middle;
}

.neo-transactions-body table.data-table tbody tr:last-child td { border-bottom: none !important; }
.neo-transactions-body table.data-table tbody tr:hover td { background: var(--cr-surface-2) !important; }

.neo-txn-desc { display: flex; align-items: center; gap: 12px; }

.neo-txn-icon-circle {
    width: 34px; height: 34px;
    border-radius: 10px;
    background: var(--cr-surface-3);
    color: var(--cr-text);
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

.neo-txn-icon-circle [icon-name],
.neo-txn-icon-circle i { width: 16px; height: 16px; }

.neo-txn-detail { display: flex; flex-direction: column; min-width: 0; }
.neo-txn-detail strong {
    font-weight: 500;
    font-size: 14px;
    color: var(--cr-text);
    display: flex; align-items: center; gap: 6px;
}
.neo-txn-date {
    font-size: 12px;
    color: var(--cr-text-3);
    font-family: var(--cr-font-mono);
    margin-top: 2px;
}

.neo-txn-msg {
    display: inline-flex;
    width: 18px; height: 18px;
    color: var(--cr-text-3);
    cursor: help;
}

.neo-txn-id {
    font-family: var(--cr-font-mono);
    font-size: 13px;
    color: var(--cr-text-2);
    font-weight: 500;
}

.neo-txn-charge,
.neo-txn-gateway {
    font-size: 13px;
    color: var(--cr-text-2);
}

/* Type badge (neutral) */
.neo-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--cr-radius-pill);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    font-family: var(--cr-font);
}

.neo-badge-type {
    background: var(--cr-surface-3);
    color: var(--cr-text-2);
    border: 1px solid var(--cr-border);
}

.neo-badge-pending {
    background: var(--cr-warn-soft);
    color: var(--cr-warn-ink);
    border: 1px solid color-mix(in srgb, var(--cr-warn) 25%, transparent);
}

.neo-badge-success {
    background: var(--cr-success-soft);
    color: var(--cr-success-ink);
    border: 1px solid color-mix(in srgb, var(--cr-success) 25%, transparent);
}

.neo-badge-failed {
    background: var(--cr-danger-soft);
    color: var(--cr-danger-ink);
    border: 1px solid color-mix(in srgb, var(--cr-danger) 25%, transparent);
}

/* legacy txn amount colors */
.green-color { color: var(--cr-success) !important; font-variant-numeric: tabular-nums; }
.red-color   { color: var(--cr-danger)  !important; font-variant-numeric: tabular-nums; }

/* empty state */
.neo-empty-state {
    text-align: center !important;
    padding: 48px 20px !important;
    color: var(--cr-text-3) !important;
}
.neo-empty-icon {
    width: 56px; height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: var(--cr-surface-3);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 22px;
    color: var(--cr-text-3);
}
.neo-empty-state p { margin: 0; font-size: 14px; }

/* DataTables length / search controls — keep them readable on the new bg */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    padding: 12px 22px !important;
    color: var(--cr-text-2) !important;
    font-size: 13px !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: 8px !important;
    color: var(--cr-text) !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    height: 32px;
}

.dataTables_wrapper .paginate_button {
    border-radius: 6px !important;
    padding: 4px 10px !important;
    margin: 0 2px !important;
    color: var(--cr-text-2) !important;
}

.dataTables_wrapper .paginate_button.current,
.dataTables_wrapper .paginate_button.current:hover {
    background: var(--cr-accent) !important;
    color: #fff !important;
    border-color: var(--cr-accent) !important;
}

/* =========================================================================
   6. Subtle entrance animation
   ========================================================================= */
@keyframes cr-fade-up {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.cr-stat,
.cr-balance-card,
.cr-referral-card,
.cr-card {
    animation: cr-fade-up .35s ease both;
}

.cr-stats .cr-stat:nth-child(1) { animation-delay: .02s; }
.cr-stats .cr-stat:nth-child(2) { animation-delay: .05s; }
.cr-stats .cr-stat:nth-child(3) { animation-delay: .08s; }
.cr-stats .cr-stat:nth-child(4) { animation-delay: .11s; }
.cr-stats .cr-stat:nth-child(5) { animation-delay: .14s; }
.cr-stats .cr-stat:nth-child(6) { animation-delay: .17s; }
.cr-stats .cr-stat:nth-child(7) { animation-delay: .20s; }
.cr-stats .cr-stat:nth-child(8) { animation-delay: .23s; }
.cr-stats .cr-stat:nth-child(9) { animation-delay: .26s; }
.cr-stats .cr-stat:nth-child(10){ animation-delay: .29s; }
.cr-stats .cr-stat:nth-child(11){ animation-delay: .32s; }
.cr-stats .cr-stat:nth-child(12){ animation-delay: .35s; }

@media (prefers-reduced-motion: reduce) {
    .cr-stat, .cr-balance-card, .cr-referral-card, .cr-card { animation: none; }
}

/* =========================================================================
   7. PANEL CHROME — Sidebar + Header bar
   Re-skins the existing .side-nav, .panel-header markup without changing
   the Blade files. Makes the WHOLE dashboard feel like one cohesive product.
   ========================================================================= */

/* ---- Sidebar wrapper ---- */
.panel-layout .side-nav {
    background: var(--cr-surface) !important;
    border-right: 1px solid var(--cr-border) !important;
    padding: 20px 16px !important;
}

.dark-theme .panel-layout .side-nav {
    background: var(--cr-surface) !important;
    border-right-color: var(--cr-border) !important;
}

/* ---- Sidebar wallet card — make it slim and refined (not a screaming orange box) ---- */
.side-wallet-box,
.side-wallet-box.default-wallet {
    background: var(--cr-surface-2) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    padding: 14px !important;
    box-shadow: none !important;
    margin-bottom: 16px !important;
}

.side-wallet-box .user-balance-card { background: transparent !important; padding: 0 !important; }

.side-wallet-box .wallet-name {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}
.side-wallet-box .wallet-name .name {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--cr-text-2) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.side-wallet-box .wallet-name .default {
    font-size: 10px !important;
    background: var(--cr-surface-3) !important;
    color: var(--cr-text-3) !important;
    padding: 3px 8px !important;
    border-radius: var(--cr-radius-pill) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    border: 1px solid var(--cr-border) !important;
}

.side-wallet-box .wallet-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 0 !important;
    border-top: 1px solid var(--cr-border) !important;
    background: transparent !important;
}
.side-wallet-box .wallet-info:first-of-type { border-top: none !important; padding-top: 2px !important; }

.side-wallet-box .wallet-id {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: var(--cr-text-2) !important;
    font-weight: 500 !important;
}
.side-wallet-box .wallet-id i,
.side-wallet-box .wallet-id [icon-name],
.side-wallet-box .wallet-id svg { width: 14px !important; height: 14px !important; color: var(--cr-text-3) !important; flex-shrink: 0 !important; }

.side-wallet-box .balance {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    font-variant-numeric: tabular-nums !important;
    letter-spacing: -0.01em !important;
}

/* Sidebar action buttons (Deposit, Invest now) */
.side-wallet-box .actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--cr-border) !important;
}

.side-wallet-box .actions .user-sidebar-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all .15s !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    border: 1px solid var(--cr-accent) !important;
}
.side-wallet-box .actions .user-sidebar-btn:hover {
    background: var(--cr-accent-hover) !important;
    color: #fff !important;
    border-color: var(--cr-accent-hover) !important;
}
.side-wallet-box .actions .user-sidebar-btn i,
.side-wallet-box .actions .user-sidebar-btn [icon-name],
.side-wallet-box .actions .user-sidebar-btn svg { width: 12px !important; height: 12px !important; flex-shrink: 0 !important; }

.side-wallet-box .actions .user-sidebar-btn.red-btn {
    background: var(--cr-surface) !important;
    color: var(--cr-text) !important;
    border: 1px solid var(--cr-border-2) !important;
}
.side-wallet-box .actions .user-sidebar-btn.red-btn:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
    border-color: var(--cr-text-2) !important;
}

/* ---- Sidebar nav menu ---- */
.side-nav-inside { padding: 0 !important; }

.side-nav-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.side-nav-item { margin: 0 !important; padding: 0 !important; }

.side-nav-item a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    border-radius: var(--cr-radius-sm) !important;
    color: var(--cr-text-2) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: background .15s, color .15s !important;
    background: transparent !important;
    border: none !important;
}

.side-nav-item a i,
.side-nav-item a [icon-name],
.side-nav-item a svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    color: var(--cr-text-3) !important;
    font-size: 18px !important;
}

.side-nav-item a span { line-height: 1.2 !important; }

.side-nav-item a:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
}
.side-nav-item a:hover i,
.side-nav-item a:hover [icon-name],
.side-nav-item a:hover svg { color: var(--cr-text-2) !important; }

.side-nav-item.active > a,
.side-nav-item.active a {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    font-weight: 600 !important;
}
.side-nav-item.active a i,
.side-nav-item.active a [icon-name],
.side-nav-item.active a svg { color: var(--cr-accent-ink) !important; }

/* ---- Logout button — was a screaming purple gradient, make it understated ---- */
.side-nav-item form .site-btn.grad-btn,
.side-nav .site-btn.grad-btn {
    background: transparent !important;
    color: var(--cr-text-2) !important;
    border: 1px solid var(--cr-border-2) !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    transition: all .15s !important;
    width: 100% !important;
}
.side-nav-item form .site-btn.grad-btn:hover,
.side-nav .site-btn.grad-btn:hover {
    background: var(--cr-danger-soft) !important;
    color: var(--cr-danger-ink) !important;
    border-color: color-mix(in srgb, var(--cr-danger) 30%, transparent) !important;
}
.side-nav-item form .site-btn.grad-btn i,
.side-nav-item form .site-btn.grad-btn [icon-name],
.side-nav-item form .site-btn.grad-btn svg {
    color: currentColor !important;
    width: 14px !important; height: 14px !important;
    flex-shrink: 0 !important;
}

/* ---- Header bar (panel-header) ---- */
.panel-layout .panel-header {
    background: var(--cr-surface) !important;
    border-bottom: 1px solid var(--cr-border) !important;
    box-shadow: none !important;
    padding: 10px 24px !important;
}

.dark-theme .panel-layout .panel-header {
    background: var(--cr-surface) !important;
    border-bottom-color: var(--cr-border) !important;
}

.panel-layout .panel-header .logo img { max-height: 32px !important; width: auto !important; }

.panel-layout .panel-header .sidebar-toggle {
    width: 36px !important; height: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    background: var(--cr-surface-3) !important;
    border: 1px solid var(--cr-border) !important;
    color: var(--cr-text-2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .15s !important;
}
.panel-layout .panel-header .sidebar-toggle:hover {
    background: var(--cr-surface-2) !important;
    color: var(--cr-text) !important;
}

/* Header right side icons (theme switcher, notifications, language, user) */
.panel-layout .panel-header .single-right {
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
}

.panel-layout .panel-header .color-switcher {
    width: 36px !important; height: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    background: var(--cr-surface-3) !important;
    border: 1px solid var(--cr-border) !important;
    color: var(--cr-text-2) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .15s !important;
    padding: 0 !important;
}
.panel-layout .panel-header .color-switcher:hover {
    background: var(--cr-surface-2) !important;
    color: var(--cr-text) !important;
}
.panel-layout .panel-header .color-switcher i,
.panel-layout .panel-header .color-switcher [icon-name],
.panel-layout .panel-header .color-switcher svg {
    width: 16px !important; height: 16px !important;
}

/* Notification bell button (was bright red rectangle — make it subtle) */
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text-2) !important;
    border: 1px solid var(--cr-border) !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    padding: 0 !important;
    margin: 0 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    transition: background .15s, color .15s !important;
    position: relative !important;
}
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot:hover,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot:hover {
    background: var(--cr-surface-2) !important;
    color: var(--cr-text) !important;
    border-color: var(--cr-border-2) !important;
}

/* The bell icon */
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot i,
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot [icon-name],
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot svg,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot i,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot [icon-name],
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot svg {
    width: 16px !important;
    height: 16px !important;
    color: currentColor !important;
    margin: 0 !important;
}

/* The little number badge — keep it as a small red circle but smaller and refined */
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot .number,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot .number {
    height: 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    border-radius: 8px !important;
    background: var(--cr-danger) !important;
    color: #ffffff !important;
    position: absolute !important;
    top: -3px !important;
    right: -3px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    border: 2px solid var(--cr-surface) !important;
    padding: 0 !important;
}

/* Hide the "0" badge when there are no unread notifications — looks bad otherwise */
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot .number:empty,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-dot .number:empty {
    display: none !important;
}

/* Notification dropdown panel */
body .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-pop,
body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-nav-right .notification-pop {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    box-shadow: var(--cr-shadow-lg) !important;
    padding: 0 !important;
    min-width: 320px !important;
}

/* Language select in header */
.panel-layout .panel-header .single-right .nice-select.site-nice-select {
    height: 36px !important;
    line-height: 34px !important;
    padding: 0 32px 0 14px !important;
    border-radius: var(--cr-radius-sm) !important;
    border: 1px solid var(--cr-border) !important;
    background: var(--cr-surface-3) !important;
    color: var(--cr-text-2) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    min-width: 96px !important;
}
.panel-layout .panel-header .single-right .nice-select.site-nice-select:after {
    border-color: var(--cr-text-2) !important;
    right: 14px !important;
}

/* User avatar dropdown trigger */
.panel-layout .panel-header .single-right .item {
    width: 36px !important; height: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    background: var(--cr-accent) !important;
    border: 1px solid var(--cr-accent) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .15s !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.panel-layout .panel-header .single-right .item:hover {
    background: var(--cr-accent-hover) !important;
    border-color: var(--cr-accent-hover) !important;
}
.panel-layout .panel-header .single-right .item i,
.panel-layout .panel-header .single-right .item [icon-name],
.panel-layout .panel-header .single-right .item svg {
    width: 16px !important; height: 16px !important;
    color: #fff !important;
}

/* Dropdown menu */
.panel-layout .panel-header .dropdown-menu {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    box-shadow: var(--cr-shadow-lg) !important;
    padding: 6px !important;
    min-width: 200px !important;
}
.panel-layout .panel-header .dropdown-menu .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    text-decoration: none !important;
    transition: background .15s, color .15s !important;
}
.panel-layout .panel-header .dropdown-menu .dropdown-item:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
}
.panel-layout .panel-header .dropdown-menu .dropdown-item i,
.panel-layout .panel-header .dropdown-menu .dropdown-item [icon-name],
.panel-layout .panel-header .dropdown-menu .dropdown-item svg {
    width: 14px !important; height: 14px !important;
    color: var(--cr-text-3) !important;
    flex-shrink: 0 !important;
}
.panel-layout .panel-header .dropdown-menu .logout .dropdown-item:hover {
    background: var(--cr-danger-soft) !important;
    color: var(--cr-danger-ink) !important;
}
.panel-layout .panel-header .dropdown-menu .logout .dropdown-item:hover i,
.panel-layout .panel-header .dropdown-menu .logout .dropdown-item:hover [icon-name],
.panel-layout .panel-header .dropdown-menu .logout .dropdown-item:hover svg {
    color: var(--cr-danger-ink) !important;
}

/* ---- Page container background tighten + spacing ---- */
.panel-layout .page-container .main-content,
.panel-layout .page-container .main-content .section-gap {
    background: var(--cr-bg) !important;
}

.panel-layout .page-container .main-content .container-fluid {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* =========================================================================
   8. BULLETPROOF CARD BACKGROUNDS
   Direct selectors with explicit light/dark scoping so we don't depend
   on the CSS variable cascade (which has been competing with the existing
   styles.css/dashboard-modern.css rules).
   ========================================================================= */

/* Default — force cards to use the token-resolved surface (light when
   body.dark-theme is active, dark when it's not). Exclude .cr-balance-card
   which stays indigo gradient in both modes. */
body .cr-card:not(.cr-balance-card),
body .cr-stat,
body .cr-referral-card {
    background: var(--cr-surface) !important;
    border-color: var(--cr-border) !important;
}

body .cr-card:not(.cr-balance-card) .cr-card-title,
body .cr-stat .cr-stat-label,
body .cr-referral-card .cr-card-title {
    color: var(--cr-text-2) !important;
}

body .cr-stat .cr-stat-value,
body .cr-referral-card .cr-ref-input {
    color: var(--cr-text) !important;
}

body .cr-ref-copy,
body .cr-ref-input {
    background: var(--cr-surface-2) !important;
}

/* Dark theme — force dark cards */








/* The balance card is always indigo gradient — don't override its bg */
body .cr-card.cr-balance-card,
body.dark-theme  .cr-card.cr-balance-card {
    /* preserve the gradient from rule above */
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.18) 0%, transparent 40%),
        radial-gradient(80% 120% at 0% 100%, rgba(0,0,0,0.22) 0%, transparent 55%),
        linear-gradient(135deg, #4338ca 0%, #4f46e5 45%, #6366f1 100%) !important;
    border-color: transparent !important;
}

/* =========================================================================
   9. SUPER-HIGH-SPECIFICITY SIDEBAR + WALLET OVERRIDES
   The existing styles.css has 6-class selectors. Match or exceed them.
   ========================================================================= */

/* Orange wallet — kill the original linear-gradient & re-skin as slim card */
body .panel-layout .side-wallet-box.default-wallet .user-balance-card,
body.dark-theme .panel-layout .side-wallet-box.default-wallet .user-balance-card {
    background: transparent !important;
    padding: 0 !important;
}

body .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-name .name,
body.dark-theme .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-name .name {
    color: var(--cr-text-2) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

body .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-name .default,
body.dark-theme .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-name .default {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text-3) !important;
    border: 1px solid var(--cr-border) !important;
    position: static !important;
    padding: 3px 8px !important;
    font-size: 10px !important;
    border-radius: var(--cr-radius-pill) !important;
}

body .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-info .wallet-id,
body.dark-theme .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-info .wallet-id {
    color: var(--cr-text-2) !important;
}
body .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-info .balance,
body.dark-theme .panel-layout .side-wallet-box.default-wallet .user-balance-card .wallet-info .balance {
    color: var(--cr-text) !important;
}

/* Sidebar nav buttons (Deposit/Invest) — kill original colors */
body .panel-layout .side-wallet-box .actions .user-sidebar-btn,
body.dark-theme .panel-layout .side-wallet-box .actions .user-sidebar-btn {
    width: auto !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border-radius: var(--cr-radius-sm) !important;
    padding: 0 10px !important;
    height: 36px !important;
}
body .panel-layout .side-wallet-box .actions .user-sidebar-btn:last-of-type,
body.dark-theme .panel-layout .side-wallet-box .actions .user-sidebar-btn:last-of-type {
    background: var(--cr-surface) !important;
    color: var(--cr-text) !important;
    border: 1px solid var(--cr-border-2) !important;
}
body .panel-layout .side-wallet-box .actions .user-sidebar-btn:hover,
body.dark-theme .panel-layout .side-wallet-box .actions .user-sidebar-btn:hover {
    background: var(--cr-accent-hover) !important;
    color: #fff !important;
}
body .panel-layout .side-wallet-box .actions .user-sidebar-btn:last-of-type:hover,
body.dark-theme .panel-layout .side-wallet-box .actions .user-sidebar-btn:last-of-type:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
}

/* Sidebar nav items — match the 6-class specificity of existing rules */
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a {
    padding: 10px 12px !important;
    border-radius: var(--cr-radius-sm) !important;
    color: var(--cr-text-2) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: transparent !important;
    text-transform: none !important;
}

body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a:hover,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
}

body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item.active a,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item.active a {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    font-weight: 600 !important;
}

/* Kill the ::after pill animation that creates the rounded background hover */
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a::after,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a::after {
    display: none !important;
}

/* =========================================================================
   11. DATA TABLES — Force light backgrounds throughout
   The original styles.css line 3853 has `.dark-theme .site-datatable .data-table
   { background: #003049 }` which makes tables dark navy. Override aggressively.
   ========================================================================= */
body .site-datatable .data-table,
body.dark-theme .site-datatable .data-table {
    background: transparent !important;
    box-shadow: none !important;
}
body .site-datatable .data-table thead tr th,
body.dark-theme .site-datatable .data-table thead tr th {
    background: transparent !important;
    color: var(--cr-text-2) !important;
    border-bottom: 1px solid var(--cr-border) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 20px !important;
}
body .site-datatable .data-table tbody tr,
body.dark-theme .site-datatable .data-table tbody tr {
    background: transparent !important;
}
body .site-datatable .data-table tbody tr:hover,
body.dark-theme .site-datatable .data-table tbody tr:hover {
    background: var(--cr-surface-3) !important;
}
body .site-datatable .data-table tbody tr td,
body.dark-theme .site-datatable .data-table tbody tr td {
    background: transparent !important;
    color: var(--cr-text) !important;
    border-bottom: 1px solid var(--cr-border) !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}
body .site-datatable .data-table tbody tr td .avatar-text,
body.dark-theme .site-datatable .data-table tbody tr td .avatar-text {
    color: var(--cr-text) !important;
}

/* Transaction-specific text styling */
body .neo-txn-detail strong,
body.dark-theme .neo-txn-detail strong {
    color: var(--cr-text) !important;
}
body .neo-txn-date,
body.dark-theme .neo-txn-date {
    color: var(--cr-text-3) !important;
    font-family: var(--cr-font-mono) !important;
    font-size: 12px !important;
}
body .neo-txn-id,
body.dark-theme .neo-txn-id {
    color: var(--cr-text-2) !important;
    font-family: var(--cr-font-mono) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
}
body .neo-txn-charge,
body.dark-theme .neo-txn-charge {
    color: var(--cr-text-3) !important;
    font-size: 13px !important;
}
body .neo-txn-gateway,
body.dark-theme .neo-txn-gateway {
    color: var(--cr-text-2) !important;
    font-size: 13px !important;
}

/* Transaction icon circles — refined square tiles matching stat cards */
body .neo-txn-icon-circle,
body.dark-theme .neo-txn-icon-circle {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    box-shadow: none !important;
}
body .neo-txn-icon-circle svg,
body .neo-txn-icon-circle i,
body.dark-theme .neo-txn-icon-circle svg,
body.dark-theme .neo-txn-icon-circle i {
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
    color: var(--cr-accent-ink) !important;
}

/* Type/status badges — clean pill */
body .neo-badge,
body.dark-theme .neo-badge {
    display: inline-block !important;
    padding: 4px 10px !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border: none !important;
    line-height: 1.4 !important;
}
body .neo-badge-type,
body.dark-theme .neo-badge-type {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
}
body .neo-badge-success,
body.dark-theme .neo-badge-success {
    background: var(--cr-success-soft) !important;
    color: var(--cr-success-ink) !important;
}
body .neo-badge-pending,
body.dark-theme .neo-badge-pending {
    background: var(--cr-warn-soft) !important;
    color: var(--cr-warn-ink) !important;
}
body .neo-badge-failed,
body.dark-theme .neo-badge-failed {
    background: var(--cr-danger-soft) !important;
    color: var(--cr-danger-ink) !important;
}

/* Amount color helpers */
body .green-color,
body.dark-theme .green-color { color: var(--cr-success) !important; font-weight: 600 !important; }
body .red-color,
body.dark-theme .red-color { color: var(--cr-danger) !important; font-weight: 600 !important; }

/* Recent Transactions card outer + header bar refinement */
body .neo-transactions-header,
body.dark-theme .neo-transactions-header {
    padding: 20px 24px !important;
    border-bottom: 1px solid var(--cr-border) !important;
}
body .neo-card-title,
body.dark-theme .neo-card-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--cr-text-2) !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* =========================================================================
   12. SIDEBAR — Tighten width and refine nav menu density
   The original sidebar is 400px wide — too generous. Slim to 248px.
   ========================================================================= */
body .panel-layout .side-nav,
body.dark-theme .panel-layout .side-nav {
    width: 248px !important;
    padding: 16px 12px !important;
}
body .panel-layout .page-container,
body.dark-theme .panel-layout .page-container {
    padding-left: 248px !important;
}
@media (max-width: 991px) {
    body .panel-layout .page-container,
    body.dark-theme .panel-layout .page-container {
        padding-left: 0 !important;
    }
    body .panel-layout .side-nav,
    body.dark-theme .panel-layout .side-nav {
        width: 0 !important;
        padding: 0 !important;
    }
}
body .panel-layout .panel-header .logo,
body.dark-theme .panel-layout .panel-header .logo {
    width: 248px !important;
}
@media (max-width: 991px) {
    body .panel-layout .panel-header .logo,
    body.dark-theme .panel-layout .panel-header .logo {
        width: auto !important;
    }
}
body .panel-layout .side-nav .side-nav-inside .side-nav-menu,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu {
    gap: 1px !important;
}
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a {
    padding: 8px 12px !important;
    font-size: 13.5px !important;
    gap: 11px !important;
}
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a i,
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a [icon-name],
body .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a svg,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a i,
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a [icon-name],
body.dark-theme .panel-layout .side-nav .side-nav-inside .side-nav-menu .side-nav-item a svg {
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
}

/* =========================================================================
   ============================================================================
   10. HOMEPAGE — PUBLIC LANDING (nv-* classes)
   Re-skins the public marketing page to match the dashboard's design language:
   Geist font, indigo accent, refined typography, clean cards, subtle motion.
   Light mode = body.dark-theme (the user's default). Dark mode = no class.
   ============================================================================
   ========================================================================= */

/* ---- Page base ---- */
body.dark-theme,
body {
    font-family: var(--cr-font);
    color: var(--cr-text);
    background: var(--cr-bg);
}

/* Make sure body bg matches our token in both states (the existing
   .dark-theme { background: #f0f2f5 !important } from dashboard-modern.css
   needs overriding because that color clashes with our warmer #f6f6f4) */
body,
body.dark-theme {
    background: var(--cr-bg) !important;
    color: var(--cr-text) !important;
}

/* =========================================================================
   10.1  PUBLIC HEADER (nv-header)
   ========================================================================= */
body .nv-header,
body.dark-theme .nv-header {
    background: var(--cr-surface) !important;
    border-bottom: 1px solid var(--cr-border) !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
}

body .nv-nav,
body.dark-theme .nv-nav {
    height: 64px !important;
    gap: 24px !important;
}

body .nv-logo img,
body.dark-theme .nv-logo img {
    height: 28px !important;
    width: auto !important;
}

body .nv-menu,
body.dark-theme .nv-menu {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .nv-menu li,
body.dark-theme .nv-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

body .nv-menu li a,
body.dark-theme .nv-menu li a {
    padding: 8px 14px !important;
    border-radius: var(--cr-radius-sm) !important;
    color: var(--cr-text-2) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: background .15s, color .15s !important;
    line-height: 1.4 !important;
}
body .nv-menu li a:hover,
body.dark-theme .nv-menu li a:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
}
body .nv-menu li a.active,
body.dark-theme .nv-menu li a.active {
    color: var(--cr-accent-ink) !important;
    background: var(--cr-accent-soft) !important;
}

body .nv-actions,
body.dark-theme .nv-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body .nv-lang-select,
body.dark-theme .nv-lang-select {
    height: 36px !important;
    padding: 0 30px 0 12px !important;
    border-radius: var(--cr-radius-sm) !important;
    border: 1px solid var(--cr-border) !important;
    background: var(--cr-surface-3) !important;
    color: var(--cr-text-2) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 12px !important;
}

/* nv-btn — global button styles for homepage */
body .nv-btn,
body.dark-theme .nv-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: var(--cr-font) !important;
    text-decoration: none !important;
    transition: all .15s !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    letter-spacing: -0.005em !important;
    line-height: 1.2 !important;
}

body .nv-btn-primary,
body.dark-theme .nv-btn-primary {
    background: var(--cr-accent) !important;
    color: #fff !important;
    border-color: var(--cr-accent) !important;
}
body .nv-btn-primary:hover,
body.dark-theme .nv-btn-primary:hover {
    background: var(--cr-accent-hover) !important;
    color: #fff !important;
    border-color: var(--cr-accent-hover) !important;
}

body .nv-btn-outline,
body.dark-theme .nv-btn-outline {
    background: transparent !important;
    color: var(--cr-text) !important;
    border: 1px solid var(--cr-border-2) !important;
}
body .nv-btn-outline:hover,
body.dark-theme .nv-btn-outline:hover {
    background: var(--cr-surface-3) !important;
    color: var(--cr-text) !important;
    border-color: var(--cr-text-2) !important;
}

body .nv-btn-white,
body.dark-theme .nv-btn-white {
    background: #fff !important;
    color: #3730a3 !important;
    border: 1px solid #fff !important;
    font-weight: 600 !important;
}
body .nv-btn-white:hover,
body.dark-theme .nv-btn-white:hover {
    background: #f3f4f6 !important;
    color: #312e81 !important;
}

body .nv-btn-lg,
body.dark-theme .nv-btn-lg {
    padding: 14px 24px !important;
    font-size: 15px !important;
    border-radius: var(--cr-radius) !important;
    font-weight: 600 !important;
}

body .nv-btn-block,
body.dark-theme .nv-btn-block {
    display: flex !important;
    width: 100% !important;
}

/* Mobile menu toggle */
body .nv-toggle,
body.dark-theme .nv-toggle {
    background: transparent !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-sm) !important;
    width: 40px !important;
    height: 40px !important;
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    cursor: pointer !important;
}
body .nv-toggle span,
body.dark-theme .nv-toggle span {
    width: 18px !important;
    height: 1.5px !important;
    background: var(--cr-text) !important;
    transition: all .2s !important;
}
@media (max-width: 991px) {
    body .nv-toggle,
    body.dark-theme .nv-toggle { display: inline-flex !important; }
    body .nv-collapse,
    body.dark-theme .nv-collapse { width: 100% !important; }
}

/* =========================================================================
   10.2  HERO SECTION
   ========================================================================= */
body .nv-hero,
body.dark-theme .nv-hero {
    position: relative !important;
    padding: 80px 0 100px !important;
    background: var(--cr-bg) !important;
    overflow: hidden !important;
}

body .nv-hero-bg,
body.dark-theme .nv-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    background:
        radial-gradient(80% 80% at 100% 0%, rgba(99,102,241,0.08) 0%, transparent 50%),
        radial-gradient(60% 80% at 0% 100%, rgba(99,102,241,0.04) 0%, transparent 50%) !important;
    pointer-events: none !important;
}

body .nv-hero-content h1,
body.dark-theme .nv-hero-content h1 {
    font-size: clamp(36px, 5vw, 56px) !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 20px !important;
    font-family: var(--cr-font) !important;
}

body .nv-hero-content p,
body.dark-theme .nv-hero-content p {
    font-size: 18px !important;
    color: var(--cr-text-2) !important;
    line-height: 1.6 !important;
    margin-bottom: 32px !important;
    max-width: 520px !important;
    letter-spacing: -0.005em !important;
}

body .nv-hero-btns,
body.dark-theme .nv-hero-btns {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body .nv-hero-img,
body.dark-theme .nv-hero-img {
    text-align: center !important;
    position: relative !important;
}
body .nv-hero-img img,
body.dark-theme .nv-hero-img img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 480px !important;
    border-radius: var(--cr-radius-lg) !important;
}

/* =========================================================================
   10.3  SECTION GENERIC + HEADER (nv-section, nv-section-header)
   ========================================================================= */
body .nv-section,
body.dark-theme .nv-section {
    padding: 80px 0 !important;
    background: var(--cr-bg) !important;
}

body .nv-section-alt,
body.dark-theme .nv-section-alt {
    background: var(--cr-surface) !important;
}

body .nv-section-header,
body.dark-theme .nv-section-header {
    text-align: center !important;
    margin-bottom: 48px !important;
}

body .nv-section-tag,
body.dark-theme .nv-section-tag {
    display: inline-block !important;
    padding: 5px 12px !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 14px !important;
}

body .nv-section-header h2,
body.dark-theme .nv-section-header h2 {
    font-size: clamp(28px, 3.5vw, 40px) !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    font-family: var(--cr-font) !important;
}

/* =========================================================================
   10.4  COUNTER (statistics)
   ========================================================================= */
body .nv-counter,
body.dark-theme .nv-counter {
    padding: 56px 0 !important;
    background: var(--cr-surface) !important;
    border-top: 1px solid var(--cr-border) !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .nv-counter-grid,
body.dark-theme .nv-counter-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 24px !important;
}

body .nv-counter-item,
body.dark-theme .nv-counter-item {
    text-align: center !important;
    padding: 20px !important;
}

body .nv-counter-item img,
body.dark-theme .nv-counter-item img {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    margin: 0 auto 12px !important;
    display: block !important;
    opacity: 0.85 !important;
}

body .nv-counter-item h3,
body.dark-theme .nv-counter-item h3 {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 4px !important;
    font-variant-numeric: tabular-nums !important;
}

body .nv-counter-item p,
body.dark-theme .nv-counter-item p {
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

/* =========================================================================
   10.5  INVESTMENT PLANS (nv-plans, nv-plan-card)
   ========================================================================= */
body .nv-plans-grid,
body.dark-theme .nv-plans-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
}

body .nv-plan-card,
body.dark-theme .nv-plan-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 28px !important;
    position: relative !important;
    transition: border-color .2s, box-shadow .2s, transform .2s !important;
    display: flex !important;
    flex-direction: column !important;
}
body .nv-plan-card:hover,
body.dark-theme .nv-plan-card:hover {
    border-color: var(--cr-border-2) !important;
    box-shadow: var(--cr-shadow-md) !important;
    transform: translateY(-2px) !important;
}

/* Featured plan — subtle accent fill with strong border, not full gradient */
body .nv-plan-card.nv-plan-featured,
body.dark-theme .nv-plan-card.nv-plan-featured {
    background: var(--cr-surface) !important;
    border: 2px solid var(--cr-accent) !important;
    box-shadow: 0 0 0 4px var(--cr-accent-soft), var(--cr-shadow-md) !important;
    transform: scale(1.02) !important;
}
body .nv-plan-card.nv-plan-featured:hover,
body.dark-theme .nv-plan-card.nv-plan-featured:hover {
    transform: scale(1.02) translateY(-2px) !important;
    box-shadow: 0 0 0 4px var(--cr-accent-soft), var(--cr-shadow-lg) !important;
}

body .nv-plan-badge,
body.dark-theme .nv-plan-badge {
    position: absolute !important;
    top: -12px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    padding: 4px 14px !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
body .nv-plan-featured .nv-plan-badge,
body.dark-theme .nv-plan-featured .nv-plan-badge {
    background: var(--cr-accent) !important;
    color: #fff !important;
}

body .nv-plan-header,
body.dark-theme .nv-plan-header {
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--cr-border) !important;
}
body .nv-plan-featured .nv-plan-header,
body.dark-theme .nv-plan-featured .nv-plan-header {
    border-bottom-color: var(--cr-border) !important;
}

body .nv-plan-icon,
body.dark-theme .nv-plan-icon {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    margin-bottom: 14px !important;
}

body .nv-plan-header h3,
body.dark-theme .nv-plan-header h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em !important;
}

body .nv-plan-rate,
body.dark-theme .nv-plan-rate {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

body .nv-plan-price,
body.dark-theme .nv-plan-price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--cr-accent) !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums !important;
}

body .nv-plan-period,
body.dark-theme .nv-plan-period {
    font-size: 13px !important;
    color: var(--cr-text-2) !important;
    font-weight: 500 !important;
}
body .nv-plan-featured .nv-plan-period,
body.dark-theme .nv-plan-featured .nv-plan-period {
    color: var(--cr-text-2) !important;
}

body .nv-plan-features,
body.dark-theme .nv-plan-features {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    flex: 1 !important;
}

body .nv-plan-features li,
body.dark-theme .nv-plan-features li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--cr-border) !important;
    font-size: 13px !important;
    color: var(--cr-text-2) !important;
}
body .nv-plan-features li:last-child,
body.dark-theme .nv-plan-features li:last-child { border-bottom: none !important; }
body .nv-plan-featured .nv-plan-features li,
body.dark-theme .nv-plan-featured .nv-plan-features li {
    color: var(--cr-text-2) !important;
    border-bottom-color: var(--cr-border) !important;
}

body .nv-plan-features li strong,
body.dark-theme .nv-plan-features li strong {
    color: var(--cr-text) !important;
    font-weight: 600 !important;
}
body .nv-plan-featured .nv-plan-features li strong,
body.dark-theme .nv-plan-featured .nv-plan-features li strong {
    color: var(--cr-text) !important;
}

/* Plan CTA button — same indigo, no change on featured */
body .nv-plan-featured .nv-btn-primary,
body.dark-theme .nv-plan-featured .nv-btn-primary {
    background: var(--cr-accent) !important;
    color: #fff !important;
    border-color: var(--cr-accent) !important;
}
body .nv-plan-featured .nv-btn-primary:hover,
body.dark-theme .nv-plan-featured .nv-btn-primary:hover {
    background: var(--cr-accent-hover) !important;
    color: #fff !important;
}

/* =========================================================================
   10.6  HOW IT WORKS — STEPS (nv-steps)
   ========================================================================= */
body .nv-steps-grid,
body.dark-theme .nv-steps-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 24px !important;
}

body .nv-step-card,
body.dark-theme .nv-step-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 32px 24px !important;
    text-align: center !important;
    position: relative !important;
    transition: border-color .2s, box-shadow .2s !important;
}
body .nv-step-card:hover,
body.dark-theme .nv-step-card:hover {
    border-color: var(--cr-border-2) !important;
    box-shadow: var(--cr-shadow-sm) !important;
}

body .nv-step-num,
body.dark-theme .nv-step-num {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: var(--cr-radius-pill) !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

body .nv-step-icon,
body.dark-theme .nv-step-icon {
    width: 56px !important;
    height: 56px !important;
    border-radius: var(--cr-radius) !important;
    background: var(--cr-accent-soft) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 20px !important;
}
body .nv-step-icon img,
body.dark-theme .nv-step-icon img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
}

body .nv-step-card h4,
body.dark-theme .nv-step-card h4 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.01em !important;
}

body .nv-step-card p,
body.dark-theme .nv-step-card p {
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* =========================================================================
   10.7  CALCULATOR (nv-calculator-section)
   ========================================================================= */
body .nv-calc-card,
body.dark-theme .nv-calc-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 32px !important;
    box-shadow: var(--cr-shadow-sm) !important;
}

body .nv-calc-card label,
body.dark-theme .nv-calc-card label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--cr-text-2) !important;
    margin-bottom: 6px !important;
}

body .nv-calc-card .form-select,
body .nv-calc-card .form-control,
body.dark-theme .nv-calc-card .form-select,
body.dark-theme .nv-calc-card .form-control {
    height: 44px !important;
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border-2) !important;
    border-radius: var(--cr-radius-sm) !important;
    color: var(--cr-text) !important;
    font-size: 14px !important;
    padding: 0 14px !important;
    font-family: var(--cr-font) !important;
    transition: border-color .15s !important;
}
body .nv-calc-card .form-select:focus,
body .nv-calc-card .form-control:focus,
body.dark-theme .nv-calc-card .form-select:focus,
body.dark-theme .nv-calc-card .form-control:focus {
    border-color: var(--cr-accent) !important;
    box-shadow: 0 0 0 3px var(--cr-accent-soft) !important;
    outline: none !important;
}

body .nv-calc-card .input-group-text,
body.dark-theme .nv-calc-card .input-group-text {
    background: var(--cr-surface-3) !important;
    border: 1px solid var(--cr-border-2) !important;
    border-left: none !important;
    color: var(--cr-text-2) !important;
    border-radius: 0 var(--cr-radius-sm) var(--cr-radius-sm) 0 !important;
    font-size: 13px !important;
    padding: 0 14px !important;
}

body .nv-calc-result,
body.dark-theme .nv-calc-result {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--cr-border) !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

body .nv-calc-result-item,
body.dark-theme .nv-calc-result-item {
    text-align: center !important;
    padding: 16px !important;
    background: var(--cr-surface-3) !important;
    border-radius: var(--cr-radius) !important;
}
body .nv-calc-result-item span,
body.dark-theme .nv-calc-result-item span {
    display: block !important;
    font-size: 12px !important;
    color: var(--cr-text-2) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}
body .nv-calc-result-item strong,
body.dark-theme .nv-calc-result-item strong {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    letter-spacing: -0.01em !important;
    font-variant-numeric: tabular-nums !important;
}
body .nv-text-profit,
body.dark-theme .nv-text-profit { color: var(--cr-success-ink) !important; }
body .nv-text-primary,
body.dark-theme .nv-text-primary { color: var(--cr-accent-ink) !important; }

/* =========================================================================
   10.8  WHY CHOOSE US — FEATURES (nv-features)
   ========================================================================= */
body .nv-features-grid,
body.dark-theme .nv-features-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 20px !important;
}

body .nv-feature-card,
body.dark-theme .nv-feature-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 28px !important;
    transition: border-color .2s, box-shadow .2s !important;
}
body .nv-feature-card:hover,
body.dark-theme .nv-feature-card:hover {
    border-color: var(--cr-accent) !important;
    box-shadow: 0 0 0 3px var(--cr-accent-soft), var(--cr-shadow-sm) !important;
}

body .nv-feature-icon,
body.dark-theme .nv-feature-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: var(--cr-radius) !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    font-size: 22px !important;
}
body .nv-feature-icon img,
body.dark-theme .nv-feature-icon img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
}

body .nv-feature-card h4,
body.dark-theme .nv-feature-card h4 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.01em !important;
}

body .nv-feature-card p,
body.dark-theme .nv-feature-card p {
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* =========================================================================
   10.9  GATEWAYS — payment methods strip
   ========================================================================= */
body .nv-gateways,
body.dark-theme .nv-gateways {
    padding: 64px 0 !important;
    background: var(--cr-bg) !important;
}

body .nv-gateway-grid,
body.dark-theme .nv-gateway-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
    gap: 16px !important;
    align-items: center !important;
}

body .nv-gateway-item,
body.dark-theme .nv-gateway-item {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    padding: 20px !important;
    text-align: center !important;
    transition: border-color .15s, transform .15s !important;
}
body .nv-gateway-item:hover,
body.dark-theme .nv-gateway-item:hover {
    border-color: var(--cr-border-2) !important;
    transform: translateY(-2px) !important;
}
body .nv-gateway-item img,
body.dark-theme .nv-gateway-item img {
    max-height: 32px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    filter: grayscale(0.3) !important;
    opacity: 0.9 !important;
    transition: filter .15s, opacity .15s !important;
}
body .nv-gateway-item:hover img,
body.dark-theme .nv-gateway-item:hover img {
    filter: none !important;
    opacity: 1 !important;
}

/* =========================================================================
   10.10  CTA (call-to-action banner)
   ========================================================================= */
body .nv-cta,
body.dark-theme .nv-cta {
    padding: 80px 0 !important;
    background: var(--cr-bg) !important;
}

body .nv-cta-inner,
body.dark-theme .nv-cta-inner {
    position: relative !important;
    overflow: hidden !important;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.18) 0%, transparent 40%),
        radial-gradient(80% 120% at 0% 100%, rgba(0,0,0,0.22) 0%, transparent 55%),
        linear-gradient(135deg, #4338ca 0%, #4f46e5 45%, #6366f1 100%) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 64px 48px !important;
    text-align: center !important;
}
body .nv-cta-inner::after,
body.dark-theme .nv-cta-inner::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0) !important;
    background-size: 16px 16px !important;
    pointer-events: none !important;
    opacity: 0.5 !important;
}
body .nv-cta-inner > *,
body.dark-theme .nv-cta-inner > * { position: relative !important; z-index: 1 !important; }

body .nv-cta-inner h2,
body.dark-theme .nv-cta-inner h2 {
    font-size: clamp(28px, 4vw, 40px) !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}

body .nv-cta-inner p,
body.dark-theme .nv-cta-inner p {
    font-size: 16px !important;
    color: rgba(255,255,255,0.85) !important;
    margin: 0 0 28px !important;
    line-height: 1.6 !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================================
   10.11  BLOG cards (nv-blog)
   ========================================================================= */
body .nv-blog-card,
body.dark-theme .nv-blog-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    overflow: hidden !important;
    transition: border-color .2s, box-shadow .2s, transform .2s !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
body .nv-blog-card:hover,
body.dark-theme .nv-blog-card:hover {
    border-color: var(--cr-border-2) !important;
    box-shadow: var(--cr-shadow-md) !important;
    transform: translateY(-2px) !important;
}

body .nv-blog-img,
body.dark-theme .nv-blog-img {
    aspect-ratio: 16/9 !important;
    overflow: hidden !important;
    background: var(--cr-surface-3) !important;
}
body .nv-blog-img img,
body.dark-theme .nv-blog-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .3s !important;
}
body .nv-blog-card:hover .nv-blog-img img,
body.dark-theme .nv-blog-card:hover .nv-blog-img img {
    transform: scale(1.03) !important;
}

body .nv-blog-body,
body.dark-theme .nv-blog-body {
    padding: 22px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

body .nv-blog-date,
body.dark-theme .nv-blog-date {
    display: inline-block !important;
    font-size: 12px !important;
    color: var(--cr-text-3) !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-weight: 500 !important;
}

body .nv-blog-body h4,
body.dark-theme .nv-blog-body h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 0 0 14px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
    flex: 1 !important;
}
body .nv-blog-body h4 a,
body.dark-theme .nv-blog-body h4 a {
    color: var(--cr-text) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
body .nv-blog-body h4 a:hover,
body.dark-theme .nv-blog-body h4 a:hover {
    color: var(--cr-accent-ink) !important;
}

body .nv-blog-link,
body.dark-theme .nv-blog-link {
    color: var(--cr-accent) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color .15s !important;
    align-self: flex-start !important;
}
body .nv-blog-link:hover,
body.dark-theme .nv-blog-link:hover {
    color: var(--cr-accent-hover) !important;
}

/* =========================================================================
   10.12  FAQ — accordion (nv-accordion)
   ========================================================================= */
body .nv-accordion-item,
body.dark-theme .nv-accordion-item {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    transition: border-color .15s !important;
}
body .nv-accordion-item:has(.nv-accordion-btn:not(.collapsed)),
body.dark-theme .nv-accordion-item:has(.nv-accordion-btn:not(.collapsed)) {
    border-color: var(--cr-accent) !important;
    box-shadow: 0 0 0 3px var(--cr-accent-soft) !important;
}

body .nv-accordion-btn,
body.dark-theme .nv-accordion-btn {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 18px 20px !important;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--cr-text) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transition: color .15s !important;
    font-family: var(--cr-font) !important;
    letter-spacing: -0.005em !important;
}
body .nv-accordion-btn:hover,
body.dark-theme .nv-accordion-btn:hover {
    color: var(--cr-accent-ink) !important;
}
body .nv-accordion-btn::after,
body.dark-theme .nv-accordion-btn::after {
    content: "" !important;
    width: 12px !important;
    height: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    transition: transform .2s !important;
    flex-shrink: 0 !important;
    margin-left: 16px !important;
}
body .nv-accordion-btn.collapsed::after,
body.dark-theme .nv-accordion-btn.collapsed::after {
    transform: rotate(-90deg) !important;
}

body .nv-accordion-body,
body.dark-theme .nv-accordion-body {
    padding: 0 20px 20px !important;
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    line-height: 1.65 !important;
}

/* =========================================================================
   10.13  RECENT INVESTORS / WITHDRAWS (nv-live)
   ========================================================================= */
body .nv-live-card,
body.dark-theme .nv-live-card {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 24px !important;
    height: 100% !important;
}

body .nv-live-card h4,
body.dark-theme .nv-live-card h4 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cr-text-2) !important;
    margin: 0 0 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .nv-live-list,
body.dark-theme .nv-live-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

body .nv-live-item,
body.dark-theme .nv-live-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 8px !important;
    border-radius: var(--cr-radius-sm) !important;
    transition: background .15s !important;
}
body .nv-live-item:hover,
body.dark-theme .nv-live-item:hover {
    background: var(--cr-surface-3) !important;
}

body .nv-live-avatar,
body.dark-theme .nv-live-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--cr-radius-pill) !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}
body .nv-avatar-withdraw,
body.dark-theme .nv-avatar-withdraw {
    background: var(--cr-success-soft) !important;
    color: var(--cr-success-ink) !important;
}

body .nv-live-info,
body.dark-theme .nv-live-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
body .nv-live-info strong,
body.dark-theme .nv-live-info strong {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body .nv-live-info span,
body.dark-theme .nv-live-info span {
    font-size: 12px !important;
    color: var(--cr-text-3) !important;
}

body .nv-live-badge,
body.dark-theme .nv-live-badge {
    padding: 3px 8px !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    flex-shrink: 0 !important;
}
body .nv-badge-success,
body.dark-theme .nv-badge-success {
    background: var(--cr-success-soft) !important;
    color: var(--cr-success-ink) !important;
}
body .nv-badge-warning,
body.dark-theme .nv-badge-warning {
    background: var(--cr-warn-soft) !important;
    color: var(--cr-warn-ink) !important;
}
body .nv-badge-danger,
body.dark-theme .nv-badge-danger {
    background: var(--cr-danger-soft) !important;
    color: var(--cr-danger-ink) !important;
}

body .nv-live-amount,
body.dark-theme .nv-live-amount {
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
}
body .nv-live-amount strong,
body.dark-theme .nv-live-amount strong {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    font-variant-numeric: tabular-nums !important;
}
body .nv-amount-profit,
body.dark-theme .nv-amount-profit {
    font-size: 12px !important;
    color: var(--cr-success-ink) !important;
    font-weight: 500 !important;
}

/* =========================================================================
   10.14  NEWSLETTER signup
   ========================================================================= */
body .nv-newsletter,
body.dark-theme .nv-newsletter {
    background: var(--cr-surface) !important;
    border-top: 1px solid var(--cr-border) !important;
    border-bottom: 1px solid var(--cr-border) !important;
}

body .nv-newsletter h3,
body.dark-theme .nv-newsletter h3 {
    font-size: clamp(24px, 3vw, 32px) !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.02em !important;
}

body .nv-newsletter p,
body.dark-theme .nv-newsletter p {
    font-size: 15px !important;
    color: var(--cr-text-2) !important;
    margin: 0 0 24px !important;
    line-height: 1.55 !important;
}

body .nv-newsletter-form,
body.dark-theme .nv-newsletter-form {
    display: flex !important;
    gap: 8px !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}

body .nv-newsletter-form input,
body.dark-theme .nv-newsletter-form input {
    flex: 1 !important;
    height: 46px !important;
    padding: 0 16px !important;
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border-2) !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 14px !important;
    color: var(--cr-text) !important;
    font-family: var(--cr-font) !important;
    transition: border-color .15s, box-shadow .15s !important;
    outline: none !important;
}
body .nv-newsletter-form input:focus,
body.dark-theme .nv-newsletter-form input:focus {
    border-color: var(--cr-accent) !important;
    box-shadow: 0 0 0 3px var(--cr-accent-soft) !important;
}
body .nv-newsletter-form input::placeholder,
body.dark-theme .nv-newsletter-form input::placeholder {
    color: var(--cr-text-3) !important;
}

body .nv-newsletter-form button,
body.dark-theme .nv-newsletter-form button {
    height: 46px !important;
    padding: 0 24px !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .15s !important;
    font-family: var(--cr-font) !important;
}
body .nv-newsletter-form button:hover,
body.dark-theme .nv-newsletter-form button:hover {
    background: var(--cr-accent-hover) !important;
}

/* =========================================================================
   10.15  FOOTER (nv-footer)
   ========================================================================= */
body .nv-footer,
body.dark-theme .nv-footer {
    background: var(--cr-surface) !important;
    border-top: 1px solid var(--cr-border) !important;
    padding: 56px 0 24px !important;
    color: var(--cr-text-2) !important;
}

body .nv-footer-logo,
body.dark-theme .nv-footer-logo {
    height: 28px !important;
    width: auto !important;
    margin-bottom: 16px !important;
}

body .nv-footer-about p,
body.dark-theme .nv-footer-about p {
    font-size: 14px !important;
    color: var(--cr-text-2) !important;
    line-height: 1.65 !important;
    margin: 0 0 20px !important;
    max-width: 320px !important;
}

body .nv-footer-socials,
body.dark-theme .nv-footer-socials {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
body .nv-footer-socials a,
body.dark-theme .nv-footer-socials a {
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--cr-radius-sm) !important;
    background: var(--cr-surface-3) !important;
    border: 1px solid var(--cr-border) !important;
    color: var(--cr-text-2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all .15s !important;
    font-size: 14px !important;
}
body .nv-footer-socials a:hover,
body.dark-theme .nv-footer-socials a:hover {
    background: var(--cr-accent) !important;
    color: #fff !important;
    border-color: var(--cr-accent) !important;
    transform: translateY(-1px) !important;
}

body .nv-footer h5,
body .nv-footer h6,
body.dark-theme .nv-footer h5,
body.dark-theme .nv-footer h6 {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin: 0 0 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

body .nv-footer ul,
body.dark-theme .nv-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body .nv-footer ul li,
body.dark-theme .nv-footer ul li {
    margin-bottom: 8px !important;
}
body .nv-footer ul li a,
body.dark-theme .nv-footer ul li a {
    color: var(--cr-text-2) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: color .15s !important;
}
body .nv-footer ul li a:hover,
body.dark-theme .nv-footer ul li a:hover {
    color: var(--cr-accent-ink) !important;
}

body .nv-footer-bottom,
body.dark-theme .nv-footer-bottom {
    border-top: 1px solid var(--cr-border) !important;
    padding-top: 20px !important;
    margin-top: 32px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: var(--cr-text-3) !important;
}

/* =========================================================================
   13. MOBILE DASHBOARD — Full redesign of mobile_screen_include blades
   The mobile dashboard uses separate blade files with their own class system.
   Overrides the colorful old design (green/purple/orange buttons, dark navy
   navigation, money-bag wallet illustration, purple pill bottom appbar)
   with a clean unified look matching the desktop redesign.
   ========================================================================= */

/* ---- KYC alert mobile — make subtle inline notice ---- */
body .user-kyc-mobile,
body.dark-theme .user-kyc-mobile {
    background: var(--cr-warn-soft) !important;
    color: var(--cr-warn-ink) !important;
    border: 1px solid color-mix(in srgb, var(--cr-warn) 20%, transparent) !important;
    border-radius: var(--cr-radius) !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    line-height: 1.4 !important;
}
body .user-kyc-mobile .kyc-star,
body.dark-theme .user-kyc-mobile .kyc-star {
    width: 18px !important;
    height: 18px !important;
    color: var(--cr-warn) !important;
    flex-shrink: 0 !important;
}
body .user-kyc-mobile a,
body.dark-theme .user-kyc-mobile a {
    color: var(--cr-accent) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    margin-left: 4px !important;
}

/* ---- User ranking mobile (greeting card) — clean white card ---- */
body .user-ranking-mobile,
body.dark-theme .user-ranking-mobile {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    padding: 14px 16px !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-shadow: none !important;
    background-image: none !important;
}
body .user-ranking-mobile::before,
body .user-ranking-mobile::after,
body.dark-theme .user-ranking-mobile::before,
body.dark-theme .user-ranking-mobile::after {
    display: none !important;
}
body .user-ranking-mobile .icon,
body.dark-theme .user-ranking-mobile .icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--cr-radius-pill) !important;
    background: var(--cr-accent-soft) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: none !important;
}
body .user-ranking-mobile .icon img,
body.dark-theme .user-ranking-mobile .icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: var(--cr-radius-pill) !important;
}
body .user-ranking-mobile .name,
body.dark-theme .user-ranking-mobile .name {
    flex: 1 !important;
    min-width: 0 !important;
}
body .user-ranking-mobile .name h4,
body.dark-theme .user-ranking-mobile .name h4 {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin: 0 0 2px !important;
    letter-spacing: -0.01em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body .user-ranking-mobile .name p,
body.dark-theme .user-ranking-mobile .name p {
    font-size: 12px !important;
    color: var(--cr-text-2) !important;
    margin: 0 !important;
    font-weight: 500 !important;
}
body .user-ranking-mobile .name p span,
body.dark-theme .user-ranking-mobile .name p span {
    color: var(--cr-accent) !important;
    font-weight: 600 !important;
}
body .user-ranking-mobile .rank-badge,
body.dark-theme .user-ranking-mobile .rank-badge {
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
}
body .user-ranking-mobile .rank-badge img,
body.dark-theme .user-ranking-mobile .rank-badge img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
}

/* ---- Wallets mobile (purple stacked card) — clean indigo gradient hero ---- */
body .user-wallets-mobile,
body.dark-theme .user-wallets-mobile {
    position: relative !important;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.16) 0%, transparent 45%),
        radial-gradient(80% 120% at 0% 100%, rgba(0,0,0,0.18) 0%, transparent 55%),
        linear-gradient(135deg, #4338ca 0%, #4f46e5 50%, #6366f1 100%) !important;
    border: none !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 20px !important;
    margin-bottom: 16px !important;
    color: #ffffff !important;
    overflow: hidden !important;
    box-shadow: var(--cr-shadow-md) !important;
    transform: none !important;
}
/* Kill the stacked decoration pseudo-elements */
body .user-wallets-mobile::before,
body .user-wallets-mobile::after,
body.dark-theme .user-wallets-mobile::before,
body.dark-theme .user-wallets-mobile::after {
    display: none !important;
}
/* Hide the wallet shadow money-bag illustration */
body .user-wallets-mobile .wallet-shadow,
body.dark-theme .user-wallets-mobile .wallet-shadow {
    display: none !important;
}
body .user-wallets-mobile .head,
body.dark-theme .user-wallets-mobile .head {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.75) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.16) !important;
    padding-bottom: 12px !important;
}
body .user-wallets-mobile .one,
body.dark-theme .user-wallets-mobile .one {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 10px 0 !important;
    border: none !important;
}
body .user-wallets-mobile .one .balance,
body.dark-theme .user-wallets-mobile .one .balance {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: -0.025em !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums !important;
}
body .user-wallets-mobile .one .balance .symbol,
body.dark-theme .user-wallets-mobile .one .balance .symbol {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-right: 2px !important;
    color: rgba(255,255,255,0.85) !important;
}
body .user-wallets-mobile .one .balance .after-dot,
body.dark-theme .user-wallets-mobile .one .balance .after-dot {
    font-size: 15px !important;
    color: rgba(255,255,255,0.65) !important;
    font-weight: 500 !important;
}
body .user-wallets-mobile .one .wallet,
body.dark-theme .user-wallets-mobile .one .wallet {
    font-size: 12px !important;
    color: rgba(255,255,255,0.85) !important;
    font-weight: 500 !important;
}
body .user-wallets-mobile .one.p-wal .balance,
body.dark-theme .user-wallets-mobile .one.p-wal .balance {
    color: #ffffff !important;
}
body .user-wallets-mobile .info,
body.dark-theme .user-wallets-mobile .info {
    font-size: 12px !important;
    color: rgba(255,255,255,0.85) !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.16) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
body .user-wallets-mobile .info svg,
body .user-wallets-mobile .info i,
body.dark-theme .user-wallets-mobile .info svg,
body.dark-theme .user-wallets-mobile .info i {
    width: 14px !important;
    height: 14px !important;
    color: rgba(255,255,255,0.85) !important;
}

/* ---- Mobile shortcut buttons (Deposit/Investment/Withdraw) — unified ---- */
body .mob-shortcut-btn,
body.dark-theme .mob-shortcut-btn {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
    background: transparent !important;
}
body .mob-shortcut-btn a,
body.dark-theme .mob-shortcut-btn a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 16px 8px !important;
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    color: var(--cr-text) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: border-color .15s, background .15s !important;
    box-shadow: none !important;
}
body .mob-shortcut-btn a:hover,
body .mob-shortcut-btn a:active,
body.dark-theme .mob-shortcut-btn a:hover,
body.dark-theme .mob-shortcut-btn a:active {
    border-color: var(--cr-accent) !important;
    color: var(--cr-accent) !important;
    background: var(--cr-accent-soft) !important;
}
body .mob-shortcut-btn a i,
body .mob-shortcut-btn a [icon-name],
body .mob-shortcut-btn a svg,
body.dark-theme .mob-shortcut-btn a i,
body.dark-theme .mob-shortcut-btn a [icon-name],
body.dark-theme .mob-shortcut-btn a svg {
    width: 20px !important;
    height: 20px !important;
    color: var(--cr-accent) !important;
}

/* ---- All Navigations grid — light card with icon tiles ---- */
body .all-feature-mobile,
body.dark-theme .all-feature-mobile {
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    padding: 18px !important;
    margin-bottom: 16px !important;
    color: var(--cr-text) !important;
}
body .all-feature-mobile .title,
body.dark-theme .all-feature-mobile .title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--cr-text-2) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--cr-border) !important;
}
body .all-feature-mobile .contents,
body.dark-theme .all-feature-mobile .contents {
    margin: 0 -4px !important;
}
body .all-feature-mobile .single,
body.dark-theme .all-feature-mobile .single {
    padding: 4px !important;
}
body .all-feature-mobile .single a,
body.dark-theme .all-feature-mobile .single a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 6px !important;
    background: var(--cr-surface-2) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    text-decoration: none !important;
    color: var(--cr-text-2) !important;
    transition: border-color .15s, background .15s, color .15s !important;
    text-align: center !important;
    min-height: 84px !important;
}
body .all-feature-mobile .single a:hover,
body .all-feature-mobile .single a:active,
body.dark-theme .all-feature-mobile .single a:hover,
body.dark-theme .all-feature-mobile .single a:active {
    border-color: var(--cr-accent) !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
}
body .all-feature-mobile .single a .icon,
body.dark-theme .all-feature-mobile .single a .icon {
    width: 32px !important;
    height: 32px !important;
    background: var(--cr-accent-soft) !important;
    border-radius: var(--cr-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}
body .all-feature-mobile .single a .icon img,
body.dark-theme .all-feature-mobile .single a .icon img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
    filter: none !important;
}
body .all-feature-mobile .single a .name,
body.dark-theme .all-feature-mobile .single a .name {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: inherit !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* "Load more" button + moretext containers */
body .all-feature-mobile .moretext,
body.dark-theme .all-feature-mobile .moretext {
    overflow: hidden !important;
    max-height: 0 !important;
    transition: max-height .3s ease !important;
}
body .all-feature-mobile .moretext.expanded,
body.dark-theme .all-feature-mobile .moretext.expanded {
    max-height: 1000px !important;
}
body .all-feature-mobile .centered,
body.dark-theme .all-feature-mobile .centered {
    text-align: center !important;
    margin-top: 16px !important;
}
body .all-feature-mobile .moreless-button,
body .all-feature-mobile .site-btn-sm,
body.dark-theme .all-feature-mobile .moreless-button,
body.dark-theme .all-feature-mobile .site-btn-sm {
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    border: 1px solid var(--cr-border) !important;
    padding: 8px 18px !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-family: var(--cr-font) !important;
    cursor: pointer !important;
    transition: background .15s !important;
}
body .all-feature-mobile .moreless-button:hover,
body.dark-theme .all-feature-mobile .moreless-button:hover {
    background: var(--cr-accent) !important;
    color: #fff !important;
    border-color: var(--cr-accent) !important;
}

/* ---- All Statistic cards (single-card) ---- */
body .all-cards-mobile,
body.dark-theme .all-cards-mobile {
    background: transparent !important;
}
body .all-cards-mobile .contents,
body.dark-theme .all-cards-mobile .contents {
    margin: 0 -4px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}
body .all-cards-mobile .col-12,
body.dark-theme .all-cards-mobile .col-12 {
    padding: 4px !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}
body .single-card,
body.dark-theme .single-card {
    background: var(--cr-surface-2) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    padding: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-shadow: none !important;
    height: 100% !important;
}
body .single-card .icon,
body.dark-theme .single-card .icon {
    width: 36px !important;
    height: 36px !important;
    background: var(--cr-accent-soft) !important;
    color: var(--cr-accent-ink) !important;
    border-radius: var(--cr-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
}
body .single-card .icon i,
body .single-card .icon [icon-name],
body .single-card .icon svg,
body.dark-theme .single-card .icon i,
body.dark-theme .single-card .icon [icon-name],
body.dark-theme .single-card .icon svg {
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
    color: var(--cr-accent-ink) !important;
}
body .single-card .content,
body.dark-theme .single-card .content {
    min-width: 0 !important;
}
body .single-card .content .amount,
body.dark-theme .single-card .content .amount {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--cr-text) !important;
    letter-spacing: -0.015em !important;
    font-variant-numeric: tabular-nums !important;
    line-height: 1.2 !important;
}
body .single-card .content .amount .count,
body.dark-theme .single-card .content .amount .count {
    color: inherit !important;
}
body .single-card .content .name,
body.dark-theme .single-card .content .name {
    font-size: 11px !important;
    color: var(--cr-text-2) !important;
    margin-top: 2px !important;
    font-weight: 500 !important;
}

/* ---- Recent Transactions on mobile (single-transaction rows) ---- */
body .all-feature-mobile.mobile-transactions .contents,
body.dark-theme .all-feature-mobile.mobile-transactions .contents {
    margin: 0 !important;
    padding: 0 !important;
}
body .single-transaction,
body.dark-theme .single-transaction {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--cr-border) !important;
    background: transparent !important;
}
body .single-transaction:last-child,
body.dark-theme .single-transaction:last-child {
    border-bottom: none !important;
}
body .single-transaction .transaction-left,
body.dark-theme .single-transaction .transaction-left {
    flex: 1 !important;
    min-width: 0 !important;
}
body .single-transaction .transaction-title,
body.dark-theme .single-transaction .transaction-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--cr-text) !important;
    margin-bottom: 2px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body .single-transaction .transaction-id,
body.dark-theme .single-transaction .transaction-id {
    font-size: 11px !important;
    color: var(--cr-text-2) !important;
    font-family: var(--cr-font-mono) !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
}
body .single-transaction .transaction-date,
body.dark-theme .single-transaction .transaction-date {
    font-size: 10px !important;
    color: var(--cr-text-3) !important;
    font-family: var(--cr-font-mono) !important;
}
body .single-transaction .transaction-right,
body.dark-theme .single-transaction .transaction-right {
    text-align: right !important;
    flex-shrink: 0 !important;
    min-width: 100px !important;
}
body .single-transaction .transaction-amount,
body.dark-theme .single-transaction .transaction-amount {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    font-variant-numeric: tabular-nums !important;
}
body .single-transaction .transaction-amount.add,
body.dark-theme .single-transaction .transaction-amount.add {
    color: var(--cr-success) !important;
}
body .single-transaction .transaction-amount.sub,
body.dark-theme .single-transaction .transaction-amount.sub {
    color: var(--cr-danger) !important;
}
body .single-transaction .transaction-fee,
body.dark-theme .single-transaction .transaction-fee {
    font-size: 10px !important;
    color: var(--cr-text-3) !important;
    margin-top: 2px !important;
}
body .single-transaction .transaction-gateway,
body.dark-theme .single-transaction .transaction-gateway {
    font-size: 10px !important;
    color: var(--cr-text-3) !important;
    margin-top: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
body .single-transaction .transaction-status,
body.dark-theme .single-transaction .transaction-status {
    display: inline-block !important;
    margin-top: 4px !important;
    padding: 2px 8px !important;
    border-radius: var(--cr-radius-pill) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
body .single-transaction .transaction-status.success,
body.dark-theme .single-transaction .transaction-status.success {
    background: var(--cr-success-soft) !important;
    color: var(--cr-success-ink) !important;
}
body .single-transaction .transaction-status.pending,
body.dark-theme .single-transaction .transaction-status.pending {
    background: var(--cr-warn-soft) !important;
    color: var(--cr-warn-ink) !important;
}
body .single-transaction .transaction-status.canceled,
body .single-transaction .transaction-status.failed,
body.dark-theme .single-transaction .transaction-status.canceled,
body.dark-theme .single-transaction .transaction-status.failed {
    background: var(--cr-danger-soft) !important;
    color: var(--cr-danger-ink) !important;
}

/* ---- Mobile referral URL block ---- */
body .mobile-ref-url,
body.dark-theme .mobile-ref-url {
    margin-bottom: 16px !important;
}
body .mobile-referral-link-form,
body.dark-theme .mobile-referral-link-form {
    display: flex !important;
    gap: 6px !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
}
body .mobile-referral-link-form input,
body.dark-theme .mobile-referral-link-form input {
    flex: 1 !important;
    height: 38px !important;
    padding: 0 12px !important;
    background: var(--cr-surface-2) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-sm) !important;
    color: var(--cr-text) !important;
    font-size: 12px !important;
    font-family: var(--cr-font-mono) !important;
    outline: none !important;
}
body .mobile-referral-link-form input:focus,
body.dark-theme .mobile-referral-link-form input:focus {
    border-color: var(--cr-accent) !important;
}
body .mobile-referral-link-form button,
body.dark-theme .mobile-referral-link-form button {
    height: 38px !important;
    padding: 0 16px !important;
    background: var(--cr-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--cr-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--cr-font) !important;
}
body .mobile-referral-link-form button:hover,
body.dark-theme .mobile-referral-link-form button:hover {
    background: var(--cr-accent-hover) !important;
}
body .referral-joined,
body.dark-theme .referral-joined {
    font-size: 11px !important;
    color: var(--cr-text-3) !important;
    margin: 0 !important;
}

/* ---- Bottom appbar — clean floating nav, no more purple pill ---- */
body .bottom-appbar,
body.dark-theme .bottom-appbar {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around !important;
    align-items: center !important;
    padding: 8px 12px !important;
    height: 64px !important;
    position: fixed !important;
    bottom: 12px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 100 !important;
    background: var(--cr-surface) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
    box-shadow: 0 8px 24px -6px rgba(15, 15, 15, 0.12) !important;
    backdrop-filter: saturate(180%) blur(8px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(8px) !important;
}
body .bottom-appbar a,
body.dark-theme .bottom-appbar a {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    color: var(--cr-text-3) !important;
    text-decoration: none !important;
    height: 100% !important;
    border-radius: var(--cr-radius-sm) !important;
    transition: color .15s, background .15s !important;
    padding: 4px 0 !important;
    text-align: center !important;
}
body .bottom-appbar a:hover,
body.dark-theme .bottom-appbar a:hover {
    color: var(--cr-text-2) !important;
}
body .bottom-appbar a.active,
body.dark-theme .bottom-appbar a.active {
    color: var(--cr-accent) !important;
    background: var(--cr-accent-soft) !important;
}
body .bottom-appbar a i,
body .bottom-appbar a [icon-name],
body .bottom-appbar a svg,
body.dark-theme .bottom-appbar a i,
body.dark-theme .bottom-appbar a [icon-name],
body.dark-theme .bottom-appbar a svg {
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
}

/* Make sure mobile content has room for the floating appbar at the bottom */
@media (max-width: 991px) {
    body .panel-layout .page-container,
    body.dark-theme .panel-layout .page-container {
        padding-bottom: 100px !important;
    }
    body .panel-layout .main-content,
    body.dark-theme .panel-layout .main-content {
        padding-bottom: 16px !important;
    }
}

/* Mobile-only: hide desktop sidebar/header chrome that's not needed */
@media (max-width: 991px) {
    /* The mobile dashboard shouldn't show the desktop hero card etc. */
    body .desktop-screen-show,
    body.dark-theme .desktop-screen-show {
        display: none !important;
    }
}

/* Mobile section: visible only on small screens */
body .mobile-screen-show,
body.dark-theme .mobile-screen-show {
    display: none;
}
@media (max-width: 991px) {
    body .mobile-screen-show,
    body.dark-theme .mobile-screen-show {
        display: block !important;
    }
}

/* Mobile header back/profile buttons — make them subtle, not bold purple */
@media (max-width: 991px) {
    body .panel-layout .panel-header .nav-wrap .nav-left button,
    body .panel-layout .panel-header .nav-wrap .nav-right .single-right > button,
    body .panel-layout .panel-header .nav-wrap .nav-right .single-right > a,
    body.dark-theme .panel-layout .panel-header .nav-wrap .nav-left button,
    body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-right > button,
    body.dark-theme .panel-layout .panel-header .nav-wrap .nav-right .single-right > a {
        background: var(--cr-surface-3) !important;
        color: var(--cr-text-2) !important;
        border: 1px solid var(--cr-border) !important;
        border-radius: var(--cr-radius-sm) !important;
        width: 36px !important;
        height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: none !important;
    }
}
