/* === LIGHT MODE — Pure White, scoped to html[data-color-mode="light"] === */
/* Activated by adding data-color-mode="light" on <html>. Default = dark.  */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

html[data-color-mode="light"],
html[data-color-mode="light"] body.astra {
    --space-void:    #f8fafc;
    --space-deep:    #f1f5f9;
    --space-mid:     #e2e8f0;
    --aurora-violet: #4f46e5;
    --aurora-magenta:#6366f1;
    --aurora-cyan:   #818cf8;
    --aurora-indigo: #4f46e5;
    --star-gold:     #f59e0b;
    --ink:           #0f172a;
    --ink-dim:       #334155;
    --muted:         #64748b;
    --line:          rgba(79, 70, 229, 0.10);
    --line-bright:   rgba(79, 70, 229, 0.25);

    /* Surface tokens (read by globals-boost) */
    --theme-surface-card:     #ffffff;
    --theme-surface-elevated: #f8fafc;
    --theme-shadow-card:      rgba(79, 70, 229, 0.06);
    --theme-surface-input:    #ffffff;
    --theme-surface-nav:      rgba(255, 255, 255, 0.97);
}

/* ── Base ── */
html[data-color-mode="light"] body.astra {
    background: #f8fafc !important;
    color: #0f172a !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

html[data-color-mode="light"] body.astra h1,
html[data-color-mode="light"] body.astra h2,
html[data-color-mode="light"] body.astra h3,
html[data-color-mode="light"] body.astra h4,
html[data-color-mode="light"] body.astra h5,
html[data-color-mode="light"] body.astra h6,
html[data-color-mode="light"] body.astra .display-font {
    color: #0f172a !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    letter-spacing: -0.02em;
}

/* ── Background / cosmos ── */
html[data-color-mode="light"] body.astra .cosmos::before {
    background:
        radial-gradient(ellipse 70% 40% at 50% -5%, rgba(79, 70, 229, 0.06), transparent 60%),
        radial-gradient(ellipse 45% 30% at 95% 80%, rgba(99, 102, 241, 0.04), transparent 55%),
        linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}
html[data-color-mode="light"] body.astra .cosmos::after { display: none !important; }
html[data-color-mode="light"] body.astra .cosmos .stars .star  { opacity: 0 !important; }
html[data-color-mode="light"] body.astra .cosmos .stars .planet { opacity: 0 !important; }

/* ── Navbar ── */
html[data-color-mode="light"] nav.topnav {
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: 1px solid rgba(79, 70, 229, 0.12) !important;
    border-left: none !important; border-right: none !important; border-top: none !important;
    box-shadow: 0 1px 12px rgba(15, 23, 42, 0.06) !important;
}
html[data-color-mode="light"] nav.topnav .brand,
html[data-color-mode="light"] nav.topnav .brand * { color: #0f172a !important; text-shadow: none !important; }
html[data-color-mode="light"] nav.topnav a,
html[data-color-mode="light"] nav.topnav span,
html[data-color-mode="light"] nav.topnav button { color: #334155 !important; }
html[data-color-mode="light"] nav.topnav a:hover { color: #4f46e5 !important; }

/* ── Buttons ── */
html[data-color-mode="light"] .btn-primary,
html[data-color-mode="light"] body.astra .btn-primary {
    background: #4f46e5 !important;
    color: #ffffff !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    border-radius: 8px !important;
    padding: 10px 22px !important;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.28) !important;
}
html[data-color-mode="light"] .btn-primary:hover { background: #4338ca !important; box-shadow: 0 4px 16px rgba(79, 70, 229, 0.40) !important; transform: translateY(-1px); }
html[data-color-mode="light"] .btn-outline-primary {
    background: transparent !important;
    border: 1.5px solid #4f46e5 !important;
    color: #4f46e5 !important;
    border-radius: 8px !important;
}
html[data-color-mode="light"] .btn-outline-primary:hover { background: rgba(79, 70, 229, 0.07) !important; }

/* ── Cards ── */
html[data-color-mode="light"] body.astra .card,
html[data-color-mode="light"] .game-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.05) !important;
    border-radius: 12px !important;
    color: #0f172a !important;
}
html[data-color-mode="light"] body.astra .card:hover,
html[data-color-mode="light"] .game-card:hover {
    border-color: rgba(79, 70, 229, 0.28) !important;
    box-shadow: 0 4px 20px rgba(79, 70, 229, 0.10) !important;
    transform: translateY(-2px);
}

/* ── Forms ── */
html[data-color-mode="light"] .form-control,
html[data-color-mode="light"] .form-select,
html[data-color-mode="light"] input[type="text"],
html[data-color-mode="light"] input[type="email"],
html[data-color-mode="light"] input[type="password"],
html[data-color-mode="light"] input[type="number"],
html[data-color-mode="light"] textarea {
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #0f172a !important;
    border-radius: 8px !important;
    font-family: 'Inter', sans-serif !important;
}
html[data-color-mode="light"] .form-control:focus,
html[data-color-mode="light"] .form-select:focus,
html[data-color-mode="light"] input:focus,
html[data-color-mode="light"] textarea:focus {
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
    background: #ffffff !important;
}
html[data-color-mode="light"] .form-control::placeholder,
html[data-color-mode="light"] input::placeholder,
html[data-color-mode="light"] textarea::placeholder { color: #94a3b8 !important; }
html[data-color-mode="light"] .form-label,
html[data-color-mode="light"] label { color: #334155 !important; font-weight: 500; }
html[data-color-mode="light"] .input-group-text {
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    color: #64748b !important;
}

/* ── Footer ── */
html[data-color-mode="light"] footer,
html[data-color-mode="light"] .footer,
html[data-color-mode="light"] .site-footer {
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    color: #64748b !important;
}
html[data-color-mode="light"] footer a { color: #4f46e5 !important; }
html[data-color-mode="light"] footer a:hover { color: #4338ca !important; }
html[data-color-mode="light"] .footer-links a { color: #4f46e5 !important; }
html[data-color-mode="light"] .footer-links a:hover { color: #4338ca !important; }
html[data-color-mode="light"] .footer-title {
    color: #0f172a !important;
    border-bottom-color: rgba(79, 70, 229, 0.18) !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: none !important; letter-spacing: -0.01em !important;
    font-weight: 700 !important; font-size: 1rem !important;
}
html[data-color-mode="light"] .footer-tagline { color: #64748b !important; }
html[data-color-mode="light"] .footer-bottom-links a { color: #4f46e5 !important; }
html[data-color-mode="light"] .footer-bottom-links a:hover { color: #4338ca !important; }
html[data-color-mode="light"] .footer-bottom-links .sep { color: rgba(79, 70, 229, 0.25) !important; }
html[data-color-mode="light"] .footer-copy { color: #94a3b8 !important; }

/* ── Text & links ── */
html[data-color-mode="light"] body.astra p,
html[data-color-mode="light"] body.astra span,
html[data-color-mode="light"] body.astra div { color: inherit; }
html[data-color-mode="light"] body.astra .text-muted,
html[data-color-mode="light"] body.astra small { color: #64748b !important; }
html[data-color-mode="light"] body.astra a { color: #4f46e5; }
html[data-color-mode="light"] body.astra a:hover { color: #4338ca; }

/* ── Scrollbar ── */
html[data-color-mode="light"] ::-webkit-scrollbar-track { background: #f1f5f9; }
html[data-color-mode="light"] ::-webkit-scrollbar-thumb { background: #c7d2fe; border-radius: 10px; border: 2px solid #f1f5f9; }
html[data-color-mode="light"] ::-webkit-scrollbar-thumb:hover { background: #4f46e5; }
html[data-color-mode="light"] body.astra ::selection { background: #4f46e5; color: #fff; }

/* ── Toasts ── */
html[data-color-mode="light"] #toast-container > .toast-success { background: #4f46e5 !important; color: #fff !important; border-radius: 12px !important; }
html[data-color-mode="light"] #toast-container > .toast-error  { background: #dc2626 !important; border-radius: 12px !important; }

/* ── Bottom nav ── */
html[data-color-mode="light"] .bottomnav {
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(79, 70, 229, 0.14) !important;
    box-shadow: 0 -2px 20px rgba(15, 23, 42, 0.08) !important;
}
html[data-color-mode="light"] .bn-item { color: #64748b !important; font-family: 'Inter', sans-serif !important; }
html[data-color-mode="light"] .bn-item:hover { color: #4f46e5 !important; }
html[data-color-mode="light"] .bn-item.active { color: #4f46e5 !important; font-weight: 700 !important; }
html[data-color-mode="light"] .bn-item.active svg { filter: drop-shadow(0 0 3px rgba(79, 70, 229, 0.45)) !important; }
html[data-color-mode="light"] .bn-center-circle {
    background: linear-gradient(135deg, #6366f1, #4f46e5) !important;
    box-shadow: 0 6px 18px rgba(79, 70, 229, 0.40), 0 0 0 4px #f8fafc, inset 0 1px 0 rgba(255,255,255,0.25) !important;
    animation: none !important;
}
html[data-color-mode="light"] .bn-center:hover .bn-center-circle {
    box-shadow: 0 10px 26px rgba(79, 70, 229, 0.55), 0 0 0 4px #f8fafc, inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
html[data-color-mode="light"] .bn-center span { color: #4f46e5 !important; }

/* ── Topnav brand & account buttons ── */
html[data-color-mode="light"] .brand .name {
    background: linear-gradient(135deg, #4f46e5, #818cf8) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
html[data-color-mode="light"] .nav-login {
    background: #4f46e5 !important; color: #fff !important;
    box-shadow: 0 3px 12px rgba(79, 70, 229, 0.32) !important;
}
html[data-color-mode="light"] .nav-login:hover { background: #4338ca !important; }
html[data-color-mode="light"] .nav-register {
    background: transparent !important;
    border: 1.5px solid rgba(79, 70, 229, 0.30) !important;
    color: #4f46e5 !important;
}
html[data-color-mode="light"] .nav-register:hover { background: rgba(79, 70, 229, 0.07) !important; border-color: #4f46e5 !important; }
html[data-color-mode="light"] .nav-account {
    background: rgba(79, 70, 229, 0.06) !important;
    border: 1px solid rgba(79, 70, 229, 0.18) !important;
    color: #0f172a !important;
}
html[data-color-mode="light"] .nav-account:hover { background: rgba(79, 70, 229, 0.10) !important; }
html[data-color-mode="light"] .nav-account .avatar {
    background: linear-gradient(135deg, #4f46e5, #818cf8) !important;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.35) !important;
}

/* ── Hero search ── */
html[data-color-mode="light"] .hero-search-box {
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 2px 16px rgba(79, 70, 229, 0.08) !important;
}
html[data-color-mode="light"] .hero-search-box:focus-within {
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12), 0 4px 20px rgba(79, 70, 229, 0.10) !important;
}
html[data-color-mode="light"] .hero-search-box::before { display: none !important; }
html[data-color-mode="light"] .hero-search-input { color: #0f172a !important; }
html[data-color-mode="light"] .hero-search-input::placeholder { color: #94a3b8 !important; }
html[data-color-mode="light"] .hero-search-icon { color: #4f46e5 !important; filter: none !important; animation: none !important; }
html[data-color-mode="light"] .hero-search-shortcut {
    background: #f1f5f9 !important; border-color: #e2e8f0 !important; color: #64748b !important;
}
html[data-color-mode="light"] .hero-suggestions {
    background: #ffffff !important; border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10) !important;
}

/* ── Transaksi page ── */
html[data-color-mode="light"] .tx-page-title { color: #0f172a !important; }
html[data-color-mode="light"] .tx-page-title em {
    background: linear-gradient(90deg, #4f46e5, #6366f1, #818cf8) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
html[data-color-mode="light"] .tx-page-subtitle { color: #64748b !important; }
html[data-color-mode="light"] .tx-eyebrow {
    background: #f1f5f9 !important; border-color: rgba(79, 70, 229, 0.20) !important;
    color: #64748b !important;
}
html[data-color-mode="light"] .tx-eyebrow::before { background: #4f46e5 !important; box-shadow: 0 0 6px rgba(79, 70, 229, 0.5) !important; }
html[data-color-mode="light"] .search-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(79, 70, 229, 0.18) !important;
    box-shadow: 0 4px 20px rgba(79, 70, 229, 0.08) !important;
}
html[data-color-mode="light"] .search-card::before { display: none !important; }
html[data-color-mode="light"] .search-input-fld {
    background: #f8fafc !important; border-color: #e2e8f0 !important; color: #0f172a !important;
}
html[data-color-mode="light"] .search-input-fld:focus {
    border-color: #4f46e5 !important; background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
}
html[data-color-mode="light"] .search-input-fld::placeholder { color: #94a3b8 !important; }
html[data-color-mode="light"] .btn-search {
    background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
    box-shadow: 0 4px 14px rgba(79, 70, 229, 0.35) !important;
}
html[data-color-mode="light"] .detail-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05) !important;
}
html[data-color-mode="light"] .detail-card.focus {
    border-color: rgba(79, 70, 229, 0.28) !important;
    box-shadow: 0 4px 20px rgba(79, 70, 229, 0.10) !important;
}
html[data-color-mode="light"] .detail-label { color: #64748b !important; }
html[data-color-mode="light"] .detail-value { color: #0f172a !important; }
html[data-color-mode="light"] .detail-value.highlight { color: #4f46e5 !important; -webkit-text-fill-color: #4f46e5 !important; }
html[data-color-mode="light"] .detail-row { border-bottom-color: #f1f5f9 !important; }
html[data-color-mode="light"] .section-label { color: #94a3b8 !important; }
html[data-color-mode="light"] .section-label::before { background: rgba(79, 70, 229, 0.25) !important; }
html[data-color-mode="light"] .copy-icon { color: #4f46e5 !important; }
html[data-color-mode="light"] .notif-banner h3 { color: #0f172a !important; }
html[data-color-mode="light"] .notif-banner p  { color: #64748b !important; }
html[data-color-mode="light"] .notif-banner.success { background: #f0fdf4 !important; border-color: #86efac !important; }
html[data-color-mode="light"] .notif-banner.pending { background: #fffbeb !important; border-color: #fde68a !important; }
html[data-color-mode="light"] .notif-banner.info    { background: #eff6ff !important; border-color: #bfdbfe !important; }
html[data-color-mode="light"] .notif-banner.failed  { background: #fef2f2 !important; border-color: #fca5a5 !important; }

/* ── Buy page — game-header & step-card ── */
html[data-color-mode="light"] .game-header {
    background: linear-gradient(135deg, rgba(79,70,229,0.06), rgba(99,102,241,0.03)) !important;
    border-color: rgba(79,70,229,0.18) !important;
    box-shadow: 0 8px 32px rgba(79,70,229,0.08) !important;
}
html[data-color-mode="light"] .game-header-img {
    box-shadow: 0 8px 24px rgba(0,0,0,0.15), 0 0 0 2px rgba(79,70,229,0.25) !important;
}
html[data-color-mode="light"] .step-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 2px 12px rgba(15,23,42,0.05) !important;
}
html[data-color-mode="light"] .step-card.active {
    border-color: rgba(79,70,229,0.30) !important;
    box-shadow: 0 4px 20px rgba(79,70,229,0.10) !important;
}
html[data-color-mode="light"] .step-card.completed { border-color: rgba(22,163,74,0.30) !important; }

/* ── Payment page ── */
html[data-color-mode="light"] .pay-card {
    background: #ffffff !important;
    border-color: rgba(79,70,229,0.18) !important;
    box-shadow: 0 4px 20px rgba(79,70,229,0.08) !important;
}
html[data-color-mode="light"] .invoice-top {
    box-shadow: 0 4px 24px rgba(79,70,229,0.10), 0 0 0 1px rgba(79,70,229,0.10) !important;
}
html[data-color-mode="light"] .invoice-top-banner::before {
    background: linear-gradient(135deg, rgba(79,70,229,0.65) 0%, rgba(99,102,241,0.50) 100%) !important;
}
html[data-color-mode="light"] .invoice-bottom {
    background: rgba(248,250,252,0.97) !important;
    border-top-color: rgba(79,70,229,0.12) !important;
}
html[data-color-mode="light"] .invoice-game-thumb {
    box-shadow: 0 6px 18px rgba(79,70,229,0.20), 0 0 0 2px rgba(79,70,229,0.25) !important;
}
html[data-color-mode="light"] .tx-toast {
    background: rgba(255,255,255,0.97) !important;
    border-color: rgba(79,70,229,0.25) !important;
    color: #0f172a !important;
}

/* ── Buy page — nominal & payment selected states ── */
/* These have hardcoded rgba() backgrounds, so CSS-var fix alone isn't enough */
html[data-color-mode="light"] .nominal-label {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] .nominal-item:hover .nominal-label {
    border-color: rgba(79,70,229,0.30) !important;
    background: rgba(79,70,229,0.04) !important;
}
html[data-color-mode="light"] .nominal-item input:checked + .nominal-label {
    background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 1px #4f46e5, 0 8px 24px rgba(79,70,229,0.25) !important;
}
html[data-color-mode="light"] .nominal-item input:checked + .nominal-label .nominal-amount { color: #fff !important; }
html[data-color-mode="light"] .nominal-item input:checked + .nominal-label .nominal-price {
    background: none !important; -webkit-text-fill-color: rgba(255,255,255,0.9) !important; color: rgba(255,255,255,0.9) !important;
}
html[data-color-mode="light"] .nominal-item input:checked + .nominal-label .nominal-price-old { color: rgba(255,255,255,0.6) !important; }
html[data-color-mode="light"] .nominal-item input:checked + .nominal-label .cat-label { color: rgba(255,255,255,0.7) !important; }
html[data-color-mode="light"] .pay-label {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] .pay-option:hover .pay-label {
    border-color: rgba(79,70,229,0.30) !important;
    background: rgba(79,70,229,0.04) !important;
}
html[data-color-mode="light"] .pay-option input:checked + .pay-label {
    background: rgba(79,70,229,0.06) !important;
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 1.5px #4f46e5 !important;
}
html[data-color-mode="light"] .pay-group {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] .pay-group.open { border-color: rgba(79,70,229,0.28) !important; }
html[data-color-mode="light"] .pay-group-head:hover { background: rgba(79,70,229,0.04) !important; }
html[data-color-mode="light"] .pay-group.open .pay-group-head { background: rgba(79,70,229,0.05) !important; }
html[data-color-mode="light"] .nominal-tab {
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
}
html[data-color-mode="light"] .nominal-tab:hover { border-color: rgba(79,70,229,0.30) !important; color: #0f172a !important; }
html[data-color-mode="light"] .nominal-tab.active {
    background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(79,70,229,0.30) !important;
}
html[data-color-mode="light"] .modal-game-banner {
    background: rgba(79,70,229,0.05) !important;
    border-color: rgba(79,70,229,0.15) !important;
}
html[data-color-mode="light"] .input-note {
    background: rgba(79,70,229,0.05) !important;
    border-left-color: #4f46e5 !important;
}
html[data-color-mode="light"] .input-note strong { color: #4f46e5 !important; }
html[data-color-mode="light"] .nickname-result.error { background: rgba(79,70,229,0.06) !important; border-color: rgba(79,70,229,0.25) !important; color: #4f46e5 !important; }
html[data-color-mode="light"] .btn-order:disabled {
    background: #e2e8f0 !important;
    color: #94a3b8 !important;
}
/* Deposit page reuses the same pay-option pattern as buy page */
html[data-color-mode="light"] body.astra .dp-card .pay-option input:checked + .pay-label,
html[data-color-mode="light"] .pay-option input:checked + .pay-label {
    background: rgba(79,70,229,0.06) !important;
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 1.5px #4f46e5 !important;
}

/* ── Buy page ── */
html[data-color-mode="light"] .step-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.05) !important;
}
html[data-color-mode="light"] .step-card.active {
    border-color: rgba(79, 70, 229, 0.35) !important;
    box-shadow: 0 4px 20px rgba(79, 70, 229, 0.10) !important;
}
html[data-color-mode="light"] .step-title { color: #0f172a !important; }
html[data-color-mode="light"] .summary-bar {
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(79, 70, 229, 0.20) !important;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(79, 70, 229, 0.08) !important;
}
html[data-color-mode="light"] .summary-label   { color: #94a3b8 !important; }
html[data-color-mode="light"] .summary-product { color: #0f172a !important; }
html[data-color-mode="light"] .summary-product.empty { color: #94a3b8 !important; }
html[data-color-mode="light"] .modal-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 -8px 40px rgba(15, 23, 42, 0.12) !important;
    color: #0f172a !important;
}
html[data-color-mode="light"] .modal-handle { background: #e2e8f0 !important; }
html[data-color-mode="light"] .modal-overlay { background: rgba(15, 23, 42, 0.40) !important; }

/* ── CS page ── */
html[data-color-mode="light"] .cs-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06) !important;
}
html[data-color-mode="light"] .cs-card-body p { color: #334155 !important; }

/* ── Tables ── */
html[data-color-mode="light"] body.astra .table { color: #0f172a !important; }
html[data-color-mode="light"] body.astra .table thead th {
    background: #f8fafc !important; color: #334155 !important; border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] body.astra .table tbody td { border-color: #f1f5f9 !important; }
html[data-color-mode="light"] body.astra .table tbody tr:hover { background: rgba(79, 70, 229, 0.04) !important; }

/* ── Alerts ── */
html[data-color-mode="light"] body.astra .alert-success { background: #f0fdf4 !important; border-color: #86efac !important; color: #166534 !important; }
html[data-color-mode="light"] body.astra .alert-danger  { background: #fef2f2 !important; border-color: #fca5a5 !important; color: #991b1b !important; }
html[data-color-mode="light"] body.astra .alert-warning { background: #fffbeb !important; border-color: #fde68a !important; color: #92400e !important; }
html[data-color-mode="light"] body.astra .alert-info    { background: #eff6ff !important; border-color: #bfdbfe !important; color: #1d4ed8 !important; }

/* ── Dark-gradient card pattern (rgba(19,19,51) / rgba(10,10,31)) ──
   Used across account settings, payment, deposit, and other page-specific cards
   that aren't covered by globals-boost's generic .card selector. */
html[data-color-mode="light"] body.astra .st-card,
html[data-color-mode="light"] body.astra .pay-card,
html[data-color-mode="light"] body.astra .dp-card,
html[data-color-mode="light"] body.astra .pv-card,
html[data-color-mode="light"] body.astra .inv-card,
html[data-color-mode="light"] body.astra .set-card,
html[data-color-mode="light"] body.astra .ref-card,
html[data-color-mode="light"] body.astra .sec-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 2px 12px rgba(15,23,42,0.06) !important;
    color: #0f172a !important;
}

/* ── Account page — hardcoded dark gradient cards ── */
html[data-color-mode="light"] .profile-card {
    background: linear-gradient(135deg, rgba(79,70,229,0.06), rgba(99,102,241,0.03)) !important;
    border-color: rgba(79,70,229,0.20) !important;
    box-shadow: 0 8px 32px rgba(79,70,229,0.10) !important;
}
html[data-color-mode="light"] .transaction-card,
html[data-color-mode="light"] .order-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] .transaction-card:hover,
html[data-color-mode="light"] .order-card:hover {
    border-color: rgba(79,70,229,0.25) !important;
    box-shadow: 0 4px 16px rgba(79,70,229,0.08) !important;
}
html[data-color-mode="light"] .orders-empty {
    background: rgba(79,70,229,0.03) !important;
    border-color: rgba(79,70,229,0.18) !important;
}
html[data-color-mode="light"] .filter-tab {
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}
html[data-color-mode="light"] .filter-tab:hover {
    background: rgba(79,70,229,0.07) !important;
    border-color: rgba(79,70,229,0.25) !important;
    color: #0f172a !important;
}
html[data-color-mode="light"] .filter-tab.active {
    background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(79,70,229,0.30) !important;
}
html[data-color-mode="light"] .filter-tab[data-filter="success"].active { background: linear-gradient(135deg, #16a34a, #22c55e) !important; }
html[data-color-mode="light"] .filter-tab[data-filter="pending"].active { background: linear-gradient(135deg, #d97706, #f59e0b) !important; color: #1a1208 !important; }
html[data-color-mode="light"] .filter-tab[data-filter="failed"].active { background: linear-gradient(135deg, #b91c1c, #ef4444) !important; }
html[data-color-mode="light"] .filter-count { background: rgba(0,0,0,0.12) !important; }
html[data-color-mode="light"] .filter-tab.active .filter-count { background: rgba(255,255,255,0.25) !important; }
html[data-color-mode="light"] .tr-back {
    background: rgba(79,70,229,0.05) !important;
    border-color: rgba(79,70,229,0.15) !important;
}
html[data-color-mode="light"] .tr-back:hover {
    background: rgba(79,70,229,0.10) !important;
    border-color: #4f46e5 !important;
}
html[data-color-mode="light"] .action-icon {
    background: rgba(79,70,229,0.10) !important;
    border-color: rgba(79,70,229,0.20) !important;
}
html[data-color-mode="light"] .action-card.gold {
    background: rgba(245,158,11,0.05) !important;
    border-color: rgba(245,158,11,0.20) !important;
}
html[data-color-mode="light"] .trans-item {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}
html[data-color-mode="light"] .trans-item:hover { background: rgba(79,70,229,0.05) !important; border-color: rgba(79,70,229,0.20) !important; }

/* ── Misc globals override ── */
html[data-color-mode="light"] body.astra .text-muted { color: #64748b !important; opacity: 1 !important; }
html[data-color-mode="light"] body.astra h2 em { color: #4f46e5 !important; }
html[data-color-mode="light"] body.astra .trending-pill { border-color: rgba(79, 70, 229, 0.20) !important; color: #334155 !important; }
html[data-color-mode="light"] body.astra .trending-pill:hover { border-color: #4f46e5 !important; color: #0f172a !important; }
html[data-color-mode="light"] body.astra .stat-card   { background: #ffffff !important; border: 1px solid #e2e8f0 !important; }
html[data-color-mode="light"] body.astra .stat-label  { color: #64748b !important; }
html[data-color-mode="light"] body.astra .stat-value  { color: #0f172a !important; }
html[data-color-mode="light"] body.astra .action-card {
    background: #ffffff !important; border: 1px solid #e2e8f0 !important; color: #0f172a !important;
}
html[data-color-mode="light"] body.astra .action-card:hover { border-color: rgba(79, 70, 229, 0.30) !important; }
html[data-color-mode="light"] body.astra .pagination .page-item .page-link {
    background: #ffffff !important; border-color: #e2e8f0 !important; color: #334155 !important;
}
html[data-color-mode="light"] body.astra .pagination .page-item.active .page-link {
    background: #4f46e5 !important; border-color: #4f46e5 !important; color: #fff !important;
}

/* ── Dark mode toggle button ── */
.theme-toggle-btn {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 8px;
    background: transparent; border: 1px solid var(--line-bright, rgba(139,92,246,0.3));
    color: var(--ink-dim, #c4c4e0); cursor: pointer;
    transition: background 0.18s, border-color 0.18s, color 0.18s;
    font-size: 16px; padding: 0; flex-shrink: 0;
}
.theme-toggle-btn:hover { background: var(--line, rgba(139,92,246,0.1)) !important; color: var(--ink, #f5f5ff) !important; }
html[data-color-mode="light"] .theme-toggle-btn {
    border-color: rgba(79, 70, 229, 0.20) !important; color: #334155 !important;
}
html[data-color-mode="light"] .theme-toggle-btn:hover { background: rgba(79, 70, 229, 0.07) !important; color: #4f46e5 !important; }
/* Show moon on dark, sun on light */
.theme-toggle-btn .icon-sun  { display: none; }
.theme-toggle-btn .icon-moon { display: block; }
html[data-color-mode="light"] .theme-toggle-btn .icon-sun  { display: block; }
html[data-color-mode="light"] .theme-toggle-btn .icon-moon { display: none; }

/* ── Calculator pages (kalkulator, winrate, magicwheel, zodiac) ── */
html[data-color-mode="light"] body.astra .calc-card {
    background: #ffffff !important;
    border-color: rgba(79,70,229,0.15) !important;
    box-shadow: 0 4px 20px rgba(79,70,229,0.08) !important;
}
html[data-color-mode="light"] body.astra .calc-input {
    background: #f8fafc !important;
    border-color: rgba(79,70,229,0.2) !important;
    color: #0f172a !important;
}
html[data-color-mode="light"] body.astra .calc-input::placeholder { color: #94a3b8 !important; opacity: 1 !important; }
html[data-color-mode="light"] body.astra .calc-input:focus {
    background: rgba(79,70,229,0.04) !important;
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 3px rgba(79,70,229,0.12) !important;
}
html[data-color-mode="light"] body.astra .calc-btn.secondary {
    background: rgba(79,70,229,0.05) !important;
    border-color: rgba(79,70,229,0.2) !important;
    color: #334155 !important;
}
html[data-color-mode="light"] body.astra .calc-btn.secondary:hover {
    background: rgba(79,70,229,0.10) !important;
    border-color: rgba(79,70,229,0.35) !important;
    color: #1e1b4b !important;
}
html[data-color-mode="light"] body.astra .calc-result {
    background: rgba(79,70,229,0.06) !important;
    border-color: rgba(79,70,229,0.2) !important;
    color: #334155 !important;
}
html[data-color-mode="light"] body.astra .calc-nav-card {
    background: #ffffff !important;
    border-color: rgba(79,70,229,0.15) !important;
    box-shadow: 0 2px 12px rgba(79,70,229,0.07) !important;
}
html[data-color-mode="light"] body.astra .calc-nav-card:hover {
    background: rgba(79,70,229,0.05) !important;
    border-color: rgba(79,70,229,0.3) !important;
}
html[data-color-mode="light"] body.astra .calc-nav-icon {
    background: linear-gradient(135deg, rgba(79,70,229,0.12), rgba(99,102,241,0.08)) !important;
    border-color: rgba(79,70,229,0.2) !important;
}
html[data-color-mode="light"] body.astra .calc-nav-name { color: #1e1b4b !important; }
html[data-color-mode="light"] body.astra .calc-nav-arrow { color: #94a3b8 !important; }
html[data-color-mode="light"] body.astra .calc-nav-card:hover .calc-nav-arrow { color: #4f46e5 !important; }
html[data-color-mode="light"] body.astra .calc-back { color: #64748b !important; }
html[data-color-mode="light"] body.astra .calc-back:hover { color: #1e1b4b !important; }

/* ── Rank page table ── */
html[data-color-mode="light"] body.astra .title-head-games,
html[data-color-mode="light"] body.astra .title-head-sub { color: #1e1b4b !important; }
html[data-color-mode="light"] body.astra .hero-name,
html[data-color-mode="light"] body.astra .rank-badge { color: #1e1b4b !important; }
html[data-color-mode="light"] body.astra .stat { color: #334155 !important; }
