/* ============================================================
   Site-wide light theme
   Scoped under html[data-theme="light"], set server-side in
   layouts/app.blade.php from the logged-in user's saved preference
   (or a guest's "site_theme" cookie). Covers the main site only -
   NOT the admin panel and NOT the token trading page, which is a
   fully standalone document with its own separate per-token color
   system and never includes this stylesheet.

   main.css has no CSS custom properties anywhere (confirmed by
   audit) - every color is hardcoded per-selector, so this file
   overrides the same selectors directly rather than redefining
   variables. Several original rules use !important, so matching
   overrides here do too, to win regardless of cascade order.

   Coverage is the structural chrome used everywhere (header, footer,
   cards, tables, forms, dashboard tiles) plus general text/link
   colors - not an exhaustive rewrite of all ~3600 lines of main.css.
   Marketing-page hero sections and other one-off components may still
   need spot-fixes as they're found.
   ============================================================ */

/* ---- Toggle button (unscoped - same control shell in both themes) ---- */
.theme-toggle-btn {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s;
}
.theme-toggle-btn:hover {
    color: #22d3ee;
}
html[data-theme="light"] .theme-toggle-btn {
    color: rgba(20, 25, 35, 0.65);
}
html[data-theme="light"] .theme-toggle-btn:hover {
    color: #2e86de;
}

/* ---- Base surfaces ---- */
html[data-theme="light"] body {
    color: #1b2430;
    background: #f4f6f8;
}
html[data-theme="light"] .bg--body {
    background-color: #f4f6f8 !important;
}

/* ---- Headings ----
   main.css sets every h1-h6 to color:#fff globally (main.css:19-30), and
   many homepage sections (creator-tools, app promo, feature cards, etc.)
   are separate Blade partials that each carry their own inline <style>
   block reusing plain "h5 { color: #fff }"-style selectors with no
   !important. Those inline blocks render in the page body, after this
   stylesheet's <link> in <head>, so at equal specificity they'd normally
   win on document order - !important here is what actually wins instead,
   fixing every one of those scattered per-section overrides in one place
   rather than hunting each down individually. */
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6,
html[data-theme="light"] h1 a,
html[data-theme="light"] h2 a,
html[data-theme="light"] h3 a,
html[data-theme="light"] h4 a,
html[data-theme="light"] h5 a,
html[data-theme="light"] h6 a {
    color: #1b2430 !important;
}

/* ---- EXCEPTION to the heading rule above ----
   partials/breadcrumb.blade.php is the page-title banner shown at the top
   of nearly every interior page (FAQ, About, Services, Blog, Contact,
   dashboard, etc: master.blade.php includes it between the header and
   @yield('content')). It's a photo background with a fixed dark 80%-opacity
   overlay (.bg--overlay::before, main.css:331-335) drawn on top - always
   dark regardless of site theme, by design - so its heading must stay
   white, not follow the global dark-heading rule above. Higher specificity
   (3 selectors vs 1) wins over that rule regardless of source order. */
html[data-theme="light"] .hero-section.bg--overlay .hero-content h2 {
    color: #fff !important;
}

/* Same exception for the homepage banner (home.blade.php) - another
   .bg--overlay photo hero, always dark by design. The heading gets its
   color from the global h1-h6 rule above (no color of its own in
   main.css) and the sub-heading from inherited body text color, so both
   need the same override, not just the heading like the breadcrumb. */
html[data-theme="light"] .banner-section.bg--overlay .banner-title,
html[data-theme="light"] .banner-section.bg--overlay .banner-text {
    color: #fff !important;
}

/* ---- Full-page preloader (shown while the page's assets load, before
   any theme class has visibly mattered to the user yet) - hardcoded
   dark navy in main.css, same untouched-dark-surface pattern. ---- */
html[data-theme="light"] .preloader {
    background: #f4f6f8 !important;
}

/* ---- .post__item's REAL background rule ----
   main.css:2653 sets .post__item { background: #1e272e; } directly, with
   no ancestor requirement - a completely separate, higher-priority rule
   from the .bg--section .post__item / .bg--body .post__item compound
   selectors already covered further down. blog.blade.php's cards aren't
   wrapped in .bg--section, so only THIS rule was ever actually governing
   their background - the earlier fix never touched it, leaving the card
   dark while the title (h6, from the global heading rule above) turned
   dark too: dark-on-dark, invisible. Also covers the same class on the
   post-details page (.post__item isn't used there, but keeping this near
   its cause) and adds belt-and-suspenders color overrides directly on
   .post__title/.widget__post__title in case anything else is still
   fighting the global heading rule for these specific elements. */
html[data-theme="light"] .post__item {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}
html[data-theme="light"] .post__title,
html[data-theme="light"] .post__title a,
html[data-theme="light"] .widget__post__title {
    color: #1b2430 !important;
}

html[data-theme="light"] .bg--section {
    background-color: #ffffff !important;
}

/* ---- Cards / panels / tiles ---- */
html[data-theme="light"] .custom--card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
}
html[data-theme="light"] .card {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.1);
    color: #1b2430;
}
html[data-theme="light"] .bg--section .highlow-time-duration li a,
html[data-theme="light"] .bg--section .reply-item,
html[data-theme="light"] .bg--section .list--group,
html[data-theme="light"] .bg--section .cmn--table,
html[data-theme="light"] .bg--section .dashboard__item,
html[data-theme="light"] .bg--section .custom--card .card-body,
html[data-theme="light"] .bg--section .predict-type-item,
html[data-theme="light"] .bg--section .post__item,
html[data-theme="light"] .bg--section .footer__contact__item,
html[data-theme="light"] .bg--section .feature__item,
html[data-theme="light"] .bg--section .cmn--form--control,
html[data-theme="light"] .bg--body .highlow-time-duration li a,
html[data-theme="light"] .bg--body .reply-item,
html[data-theme="light"] .bg--body .list--group,
html[data-theme="light"] .bg--body .cmn--table,
html[data-theme="light"] .bg--body .dashboard__item,
html[data-theme="light"] .bg--body .custom--card .card-body,
html[data-theme="light"] .bg--body .predict-type-item,
html[data-theme="light"] .bg--body .post__item,
html[data-theme="light"] .bg--body .footer__contact__item,
html[data-theme="light"] .bg--body .feature__item,
html[data-theme="light"] .bg--body .cmn--form--control {
    background: #f4f6f8;
    color: #1b2430;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .dashboard__item {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

/* ---- Header / nav ---- */
html[data-theme="light"] .header-top.bg--section,
html[data-theme="light"] .header-bottom,
html[data-theme="light"] .header-section.active .header-bottom {
    background: #ffffff !important;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .menu li a,
html[data-theme="light"] .header-top .header-top-area li.links a {
    color: #1b2430;
}
html[data-theme="light"] .menu li a:hover {
    color: #2e86de;
}

/* ---- Footer ---- */
html[data-theme="light"] .footer-top {
    border-bottom-color: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .footer-middle-wrapper {
    border-color: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .footer__contact__item {
    background: #ffffff;
}
html[data-theme="light"] .footer__widget,
html[data-theme="light"] .footer__widget p,
html[data-theme="light"] .footer__widget li,
html[data-theme="light"] .footer__widget a {
    color: #4a5568;
}

/* ---- Tables ---- */
html[data-theme="light"] .cmn--table {
    background: #ffffff;
}
html[data-theme="light"] .cmn--table thead tr th {
    color: #1b2430;
}
html[data-theme="light"] .cmn--table tbody {
    color: #1b2430;
}
html[data-theme="light"] .cmn--table tbody tr td {
    border-color: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .cmn--table tbody tr:first-child {
    border-top-color: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .cmn--table tbody tr td {
    border-left-color: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .cmn--table tbody tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.02);
}

/* ---- Forms ---- */
html[data-theme="light"] .cmn--form--control,
html[data-theme="light"] select.cmn--form--control,
html[data-theme="light"] .form-control {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.15);
    color: #1b2430 !important;
}
html[data-theme="light"] .cmn--form--control::placeholder,
html[data-theme="light"] .form-control::placeholder {
    color: #8a94a3;
}
html[data-theme="light"] .cmn--form--control:focus,
html[data-theme="light"] .form-control:focus {
    background: #ffffff;
    color: #1b2430 !important;
}

/* ---- Contact/Login/Register form labels ----
   .text--white is a generic "force white text" utility (main.css:496-498,
   !important) used only on these three pages' form labels - safe to flip
   for light mode since nothing here needs to stay white. .bg--glass
   (Contact page's form wrapper) is a 5%-white frosted-glass tint made to
   read against a dark page; on light it's nearly invisible, so give it an
   actual light card look instead. ---- */
html[data-theme="light"] .text--white {
    color: #1b2430 !important;
}
/* Bootstrap's built-in single-hyphen variant, used the same way (force
   white text) across ~38 account/dashboard pages (deposits, withdrawals,
   transactions, blog byline, etc.) - same fix as the custom class above. */
html[data-theme="light"] .text-white {
    color: #1b2430 !important;
}
html[data-theme="light"] .bg--glass {
    background: #ffffff;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] select.cmn--form--control option {
    background-color: #ffffff;
    color: #1b2430;
}
html[data-theme="light"] input[type="file"].cmn--form--control {
    color: #1b2430;
}

/* ---- General text ---- */
html[data-theme="light"] .text-muted,
html[data-theme="light"] .cmn--table tbody tr td .date {
    color: #6b7684 !important;
}

/* ---- Homepage section cards with their own inline <style> blocks ----
   These each hardcode white/near-white text against a translucent card
   background that reads fine on the dark base but disappears on white.
   Same !important reasoning as the headings above. */
html[data-theme="light"] .creator-tool-card p {
    color: #4a5568 !important;
}
html[data-theme="light"] .pwa-state-box {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.12);
    color: #1b2430 !important;
}

/* ---- Blog listing card: a MORE specific selector than the .bg--body/
   .bg--section group above (main.css:544), so it wins over that override -
   needs its own fix. Excerpt link text is also a fixed translucent white
   (main.css:3638), invisible regardless of the card background. ---- */
html[data-theme="light"] .post__item .post__content .meta__date {
    background: #f4f6f8 !important;
}
html[data-theme="light"] .blog-short-desc a {
    color: #4a5568 !important;
}

/* ---- FAQ accordion (main.css component, used on the dedicated FAQ page
   and elsewhere) - card background and title bar are hardcoded dark. ---- */
html[data-theme="light"] .faq__item {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.1);
}
html[data-theme="light"] .faq__item .faq__title {
    background: rgba(0, 0, 0, 0.03);
}
html[data-theme="light"] .faq__item .faq__title .title {
    color: #1b2430 !important;
}
html[data-theme="light"] .faq__item .faq__content {
    color: #1b2430;
}

/* ---- /create-token marketing page ----
   Self-contained design using its own CSS custom properties (--ct-bg,
   --ct-card, --ct-border) scoped under .ct-page - redefining those here
   covers most of the page's cards/sections in one place. A few things
   (hero gradient, heading/body text colors) are hardcoded hex rather than
   using the variables, so still need explicit overrides below. */
html[data-theme="light"] {
    --ct-bg: #f4f6f8;
    --ct-card: #ffffff;
    --ct-border: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .ct-page {
    color: #1b2430;
}
html[data-theme="light"] .ct-hero {
    background: linear-gradient(135deg, #f4f6f8 0%, #eef1f4 55%, #f4f6f8 100%);
}
html[data-theme="light"] .ct-features,
html[data-theme="light"] .ct-faq {
    background: rgba(0, 0, 0, 0.02);
}
html[data-theme="light"] .ct-hero h1,
html[data-theme="light"] .h-stat .num,
html[data-theme="light"] .ct-section-title h2,
html[data-theme="light"] .step-card h3,
html[data-theme="light"] .feat-body h3,
html[data-theme="light"] .why-text h2,
html[data-theme="light"] .stat-item .sv,
html[data-theme="light"] .faq-q,
html[data-theme="light"] .ct-cta h2 {
    color: #1b2430 !important;
}
html[data-theme="light"] .ct-hero .sub,
html[data-theme="light"] .ct-section-title p,
html[data-theme="light"] .step-card p,
html[data-theme="light"] .feat-body p,
html[data-theme="light"] .why-text p,
html[data-theme="light"] .why-list li,
html[data-theme="light"] .faq-a,
html[data-theme="light"] .ct-cta p,
html[data-theme="light"] .why-visual .big-lbl,
html[data-theme="light"] .stat-item .sl {
    color: #4a5568 !important;
}
html[data-theme="light"] .h-stat .lbl,
html[data-theme="light"] .strip-title {
    color: #8a94a3 !important;
}
html[data-theme="light"] .strip-chip {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.08);
    color: #4a5568;
}

/* ---- /live-market page intro text ---- */
html[data-theme="light"] .lm-intro-sub {
    color: #4a5568 !important;
}

/* ---- Login/register page marquee ticker ----
   Translucent cyan designed to glow against a dark card; low-contrast
   against .bg--section once that's white. The page's own <style> block
   renders in <body> (after this stylesheet's <link> in <head>), so a
   non-important rule here loses the cascade tie - needs !important. ---- */
html[data-theme="light"] .marquee-wrapper {
    background: rgba(0, 0, 0, 0.04) !important;
    box-shadow: none !important;
}
html[data-theme="light"] .marquee-track {
    color: #0891b2 !important;
    text-shadow: none !important;
}

/* ---- Community Posts listing ----
   Cards use a near-invisible translucent-white tint (4%) meant to lift
   slightly off a dark page background - vanishes on a light one, leaving
   plain white text with nothing to contrast against. ---- */
html[data-theme="light"] .cp-intro-sub {
    color: #4a5568 !important;
}
html[data-theme="light"] .cp-card {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.1);
}
html[data-theme="light"] .cp-card:hover {
    background: #f9fafb;
}
html[data-theme="light"] .cp-card-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .cp-card-excerpt,
html[data-theme="light"] .cp-card-date,
html[data-theme="light"] .cp-card-footer,
html[data-theme="light"] .cp-empty {
    color: #4a5568 !important;
}

/* ---- Public token page (/token/{symbol}) ----
   Same self-contained-CSS-variable pattern as /create-token and
   /live-market: redefine its own --tp-bg/--tp-card, then patch the few
   things that are hardcoded hex rather than using those variables. */
html[data-theme="light"] {
    --tp-bg: #f4f6f8;
    --tp-card: #ffffff;
}
html[data-theme="light"] .tp-page {
    color: #1b2430;
}
html[data-theme="light"] .tp-hero {
    background: linear-gradient(135deg, #f4f6f8, #eef1f4 60%, #e9edf2);
}
html[data-theme="light"] .tp-price {
    color: #1b2430 !important;
}
html[data-theme="light"] .tp-unit,
html[data-theme="light"] .tp-desc,
html[data-theme="light"] .tp-creator {
    color: #4a5568 !important;
}

/* ---- Logged-in dashboard nav (auth_header.blade.php) ----
   A deliberate "neon pill" design (its own inline <style>, second block in
   that file, explicitly commented as such) - cyan glowing pills, used only
   on account/dashboard pages via layouts.master. The public-facing pages
   (blog, FAQ, create-token, etc.) use layouts.frontend -> partials.header
   instead, a plain nav with none of this styling, which is why it never
   showed up on those pages. Restyled to match that same plain look here,
   by request, instead of keeping the neon accent. !important throughout
   since the inline block it's overriding uses !important on several of
   the same properties (color, plus renders later in the document so wins
   ties on source order too). */
@media (min-width: 992px) {
    html[data-theme="light"] .menu > li > a {
        color: #1b2430 !important;
        background: transparent !important;
        border-color: rgba(0, 0, 0, 0.1) !important;
        text-shadow: none !important;
    }
    html[data-theme="light"] .menu > li > a:hover,
    html[data-theme="light"] .menu > li > a.active {
        color: #2e86de !important;
        background: rgba(0, 0, 0, 0.04) !important;
        border-color: rgba(0, 0, 0, 0.18) !important;
        text-shadow: none !important;
        box-shadow: none !important;
    }
    html[data-theme="light"] .menu .submenu {
        background: #ffffff !important;
        border-color: rgba(0, 0, 0, 0.12) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    }
    html[data-theme="light"] .menu .submenu li a {
        color: #1b2430 !important;
        text-shadow: none !important;
    }
    html[data-theme="light"] .menu .submenu li a:hover {
        background: rgba(0, 0, 0, 0.05) !important;
        text-shadow: none !important;
    }
}
@media (max-width: 991px) {
    html[data-theme="light"] .menu {
        background: #ffffff !important;
        border-bottom-color: rgba(0, 0, 0, 0.1) !important;
    }
    html[data-theme="light"] .menu li a {
        color: #1b2430 !important;
    }
    html[data-theme="light"] .menu li a:hover {
        background: rgba(0, 0, 0, 0.05) !important;
    }
    html[data-theme="light"] .menu .submenu {
        background: rgba(0, 0, 0, 0.03) !important;
    }
    html[data-theme="light"] .menu .submenu li a {
        color: #1b2430 !important;
    }
}
/* The submenu icons themselves use an inline style="color:#0ff" (main
   nav's Learn/Wallet dropdowns) - a !important rule beats a non-important
   inline style, so this still overrides them despite the higher normal
   specificity of inline styles. */
html[data-theme="light"] .menu .submenu li a i {
    color: #2e86de !important;
}

/* ---- /user/learn/video/{slug} page - entirely inline dark styles,
   classes added directly in learn_video.blade.php so these can target
   them precisely instead of guessing at inline-style substrings. ---- */
html[data-theme="light"] .lv-muted,
html[data-theme="light"] .lv-muted-icon {
    color: rgba(27, 36, 48, 0.55) !important;
}
html[data-theme="light"] .lv-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .lv-subtitle {
    color: rgba(27, 36, 48, 0.7) !important;
}
html[data-theme="light"] .lv-box {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .lv-box-accent {
    background: rgba(99, 102, 241, 0.05) !important;
    border-color: rgba(99, 102, 241, 0.2) !important;
}
html[data-theme="light"] .lv-box-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .lv-box-desc {
    color: rgba(27, 36, 48, 0.5) !important;
}
html[data-theme="light"] .lv-box-item {
    background: rgba(0, 0, 0, 0.03) !important;
}
html[data-theme="light"] .lv-box-text {
    color: rgba(27, 36, 48, 0.85) !important;
}
html[data-theme="light"] .lv-next-card {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .lv-next-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .lv-btn-outline {
    background: #f1f5f9 !important;
    color: #1b2430 !important;
    border-color: #e2e8f0 !important;
}

/* ---- /trading-basics page - the page's own <style> block permanently
   overrides its originally-light card design with a "TRADEPESA DARK
   THEME OVERRIDES" block; that block is now scoped to dark mode only
   (see trading_basics.blade.php), so nothing further needed here. ---- */

/* ---- Practice/Live Trading Logs pages ("neon cyberpunk" cards) -
   hardcoded dark regardless of theme, never covered by the generic
   .bg--section/.bg--body group above (same untouched-card pattern as
   the blog's .post__item bug). Converted to plain light cards, keeping
   the colored border as a semantic accent (success/danger/warning). ---- */
html[data-theme="light"] .neon-header {
    background: #f8fafc !important;
    border-bottom-color: #c7d2fe !important;
    text-shadow: none !important;
}
html[data-theme="light"] .neon-header h4 {
    color: #1b2430 !important;
}
html[data-theme="light"] .neon-card,
html[data-theme="light"] .neon-stat-card {
    background: #ffffff !important;
    border-color: #c7d2fe !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .neon-stat-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
}
html[data-theme="light"] .neon-stat-card.success {
    border-color: #10b981 !important;
    box-shadow: 0 2px 12px rgba(16, 185, 129, 0.15) !important;
}
html[data-theme="light"] .neon-stat-card.danger {
    border-color: #ef4444 !important;
    box-shadow: 0 2px 12px rgba(239, 68, 68, 0.15) !important;
}
html[data-theme="light"] .neon-stat-card.warning {
    border-color: #f59e0b !important;
    box-shadow: 0 2px 12px rgba(245, 158, 11, 0.15) !important;
}
html[data-theme="light"] .neon-stat-card h6 {
    color: #64748b !important;
    text-shadow: none !important;
}
html[data-theme="light"] .neon-stat-card h3 {
    color: #1b2430 !important;
    text-shadow: none !important;
}
html[data-theme="light"] .neon-table {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .neon-table thead {
    background: #f8fafc !important;
    border-bottom-color: #e2e8f0 !important;
}
html[data-theme="light"] .neon-table thead th {
    color: #1b2430 !important;
    text-shadow: none !important;
}
html[data-theme="light"] .neon-table tbody tr {
    border-bottom-color: #e2e8f0 !important;
}
html[data-theme="light"] .neon-table tbody tr:hover {
    background: #f8fafc !important;
    box-shadow: none !important;
}
html[data-theme="light"] .neon-table tbody td {
    color: #1b2430 !important;
}
html[data-theme="light"] .neon-form-control {
    background: #ffffff !important;
    border-color: #c7d2fe !important;
    color: #1b2430 !important;
}
html[data-theme="light"] .neon-pl-card {
    background: #ffffff !important;
    border-color: #c7d2fe !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .neon-pl-card.positive {
    border-color: #10b981 !important;
    box-shadow: 0 2px 12px rgba(16, 185, 129, 0.15) !important;
}
html[data-theme="light"] .neon-pl-card.negative {
    border-color: #ef4444 !important;
    box-shadow: 0 2px 12px rgba(239, 68, 68, 0.15) !important;
}
html[data-theme="light"] .neon-pl-card h5,
html[data-theme="light"] .neon-pl-card strong,
html[data-theme="light"] .neon-pl-card span {
    color: #1b2430 !important;
    text-shadow: none !important;
}
html[data-theme="light"] .profit-positive {
    color: #16a34a !important;
    text-shadow: none !important;
}
html[data-theme="light"] .profit-negative {
    color: #dc2626 !important;
    text-shadow: none !important;
}

/* ---- Bootstrap's built-in .text-white-50 (distinct from both the site's
   custom .text--white and Bootstrap's own .text-white, fixed earlier) -
   used for muted labels/captions on dozens of dark cards site-wide. ---- */
html[data-theme="light"] .text-white-50 {
    color: rgba(27, 36, 48, 0.6) !important;
}

/* ---- Referral dashboard page - entirely inline dark/neon styles,
   classes added directly in referral_dashboard.blade.php so these can
   target them precisely. ---- */
html[data-theme="light"] .rp-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .rp-input-prefix {
    background: #eef2ff !important;
    border-color: #c7d2fe !important;
    color: #4f46e5 !important;
}
html[data-theme="light"] .rp-input {
    background: #f8fafc !important;
    border-color: #c7d2fe !important;
    color: #1b2430 !important;
}
html[data-theme="light"] .rp-accent {
    color: #4f46e5 !important;
}
html[data-theme="light"] .rp-icon-accent {
    color: #4f46e5 !important;
}
html[data-theme="light"] .rp-stat-cyan {
    color: #0891b2 !important;
}
html[data-theme="light"] .rp-stat-green {
    color: #059669 !important;
}
html[data-theme="light"] .rp-stat-amber {
    color: #d97706 !important;
}
html[data-theme="light"] .rp-table {
    color: #334155 !important;
}
html[data-theme="light"] .rp-table thead tr {
    border-bottom-color: #e2e8f0 !important;
}
html[data-theme="light"] .rp-table-row {
    border-bottom-color: #e2e8f0 !important;
}
html[data-theme="light"] .rp-badge-paid {
    background: rgba(5, 150, 105, 0.12) !important;
    color: #059669 !important;
}
html[data-theme="light"] .rp-badge-pending {
    background: rgba(217, 119, 6, 0.12) !important;
    color: #d97706 !important;
}
html[data-theme="light"] .rp-badge-neutral {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

/* ---- /user/create-token page (the real form linked from the nav,
   distinct from the marketing /create-token page's --ct-* variables
   above) - its own dark "premium card" .ctp-* styles, never touched. ---- */
html[data-theme="light"] .ctp-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .ctp-card h1 {
    color: #1b2430 !important;
}
html[data-theme="light"] .ctp-card .sub {
    color: #64748b !important;
}
html[data-theme="light"] .ctp-group label {
    color: #475569 !important;
}
html[data-theme="light"] .ctp-group input[type=text],
html[data-theme="light"] .ctp-group input[type=number],
html[data-theme="light"] .ctp-group input[type=tel],
html[data-theme="light"] .ctp-group textarea {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #1b2430 !important;
}
html[data-theme="light"] .ctp-group input[type=file] {
    color: #475569 !important;
}
html[data-theme="light"] .ctp-check label {
    color: #334155 !important;
}
html[data-theme="light"] .ctp-protect {
    background: linear-gradient(135deg, rgba(139, 92, 246, .05), rgba(99, 102, 241, .05)) !important;
    border-color: rgba(139, 92, 246, .25) !important;
}
html[data-theme="light"] .ctp-protect-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .ctp-protect-title span {
    color: #94a3b8 !important;
}
html[data-theme="light"] .ctp-protect-divider {
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .ctp-theme {
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}
html[data-theme="light"] .ctp-theme.active {
    border-color: #8b5cf6 !important;
    background: rgba(139, 92, 246, .08) !important;
}
html[data-theme="light"] .ctp-solana {
    background: rgba(139, 92, 246, .04) !important;
    border-color: rgba(139, 92, 246, .2) !important;
}
html[data-theme="light"] .ctp-solana .warn {
    color: #64748b !important;
    background: #f8fafc !important;
}

/* ---- Header notification bell + dropdown, and the avatar profile
   dropdown - both hardcoded dark/white regardless of theme in
   partials/auth_header.blade.php, never touched since .header-top's
   background itself was fixed (icon/dropdown content is separate). ---- */
html[data-theme="light"] .notif-bell-btn {
    color: rgba(20, 25, 35, 0.65) !important;
}
html[data-theme="light"] .notif-bell-btn:hover {
    color: #2e86de !important;
}
html[data-theme="light"] .notif-dropdown {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
}
html[data-theme="light"] .notif-dropdown-header {
    color: #1b2430 !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .notif-item {
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}
html[data-theme="light"] .notif-item:hover {
    background: rgba(0, 0, 0, 0.03) !important;
}
html[data-theme="light"] .notif-item.unread {
    background: rgba(46, 134, 222, 0.06) !important;
}
html[data-theme="light"] .notif-item-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .notif-item-body {
    color: rgba(27, 36, 48, 0.6) !important;
}
html[data-theme="light"] .notif-item-time {
    color: rgba(27, 36, 48, 0.4) !important;
}
html[data-theme="light"] .notif-empty {
    color: rgba(27, 36, 48, 0.5) !important;
}
html[data-theme="light"] .dashboard-dashboard-icon .dashboard-menu {
    background: #ffffff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
}
html[data-theme="light"] .dashboard-dashboard-icon .dashboard-menu li a {
    color: #1b2430 !important;
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}
html[data-theme="light"] .dashboard-dashboard-icon .dashboard-menu li:hover > a {
    color: #ffffff !important;
}

/* ---- Public profile page (/u/{username}) - profile/show.blade.php's
   own <style> block, entirely white/near-white text over a light-tinted
   card. Headings (username, section titles) are already covered by the
   global h1-h6 rule above; everything below is non-heading text that
   wasn't. ---- */
html[data-theme="light"] .prof-bio {
    color: rgba(27, 36, 48, 0.75) !important;
}
html[data-theme="light"] .prof-meta {
    color: rgba(27, 36, 48, 0.55) !important;
}
html[data-theme="light"] .prof-stat-btn,
html[data-theme="light"] .prof-stat {
    color: rgba(27, 36, 48, 0.75) !important;
}
html[data-theme="light"] .prof-stat-btn:hover {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-stats strong {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-tr-item {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .prof-tr-label {
    color: rgba(27, 36, 48, 0.55) !important;
}
html[data-theme="light"] .prof-tr-value {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-tr-sub {
    color: rgba(27, 36, 48, 0.5) !important;
}
html[data-theme="light"] .prof-empty-tokens {
    color: rgba(27, 36, 48, 0.6) !important;
}
html[data-theme="light"] .prof-post-card,
html[data-theme="light"] .prof-token-card {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .prof-post-title {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-post-meta {
    color: rgba(27, 36, 48, 0.5) !important;
}
html[data-theme="light"] .prof-token-name {
    color: rgba(27, 36, 48, 0.7) !important;
}
html[data-theme="light"] .prof-token-price {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-modal-card {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .prof-modal-header {
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .prof-modal-header h3 {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-modal-close {
    color: rgba(27, 36, 48, 0.5) !important;
}
html[data-theme="light"] .prof-modal-close:hover {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-modal-user {
    color: #4f46e5 !important;
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}
html[data-theme="light"] .prof-modal-user:hover {
    color: #1b2430 !important;
}
html[data-theme="light"] .prof-loading,
html[data-theme="light"] .prof-empty {
    color: rgba(27, 36, 48, 0.5) !important;
}

/* ---- Login page "Or continue with" divider ----
   The span punches a hole in the divider line by hardcoding the card's
   own background color (#0A192F) behind it; its text already goes dark
   via the global .text--white fix, so unless this background also flips
   light, the text lands dark-on-dark. ---- */
html[data-theme="light"] .social-login-divider::before {
    background: rgba(0, 0, 0, 0.12) !important;
}
html[data-theme="light"] .social-login-divider span {
    background: #ffffff !important;
    opacity: 1 !important;
}

/* ---- Register page password/username requirements box ----
   Translucent black overlay (50%) meant to sit on a dark card; on the
   now-white card it's a medium-gray box with #999 text on it - both
   close enough in tone to be almost unreadable. ---- */
html[data-theme="light"] .password-requirements-list,
html[data-theme="light"] .username-requirements-list {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}
html[data-theme="light"] .requirement-text,
html[data-theme="light"] .requirement-item.error .requirement-text {
    color: #64748b !important;
}

/* ---- Live Market token cards ----
   Previously kept as a deliberate dark "premium" card (like the token
   detail page), but on request now converted to a light card so it
   doesn't float as a dark island on the now-white page. The thumbnail
   (chart/token image), rank/volume/creator badges, avatar circle, and
   buy/sell/analysis buttons are all already self-colored and stay as-is
   - only the card shell and its plain (non-badge) text needed to flip. */
html[data-theme="light"] .token-card {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
}
html[data-theme="light"] .token-card:hover {
    border-color: #c7d2fe !important;
    box-shadow: 0 14px 28px rgba(99, 102, 241, 0.18) !important;
}

/* Stat boxes (Price/Market Cap/24h Trades/Views) are all the same plain
   gray box - give each a colored left edge so the eye can tell them
   apart at a glance instead of scanning four identical rectangles.
   Order is fixed by the JS template that builds these cards, so
   nth-child is reliable here. */
html[data-theme="light"] .token-stats .stat-item {
    border-left: 3px solid transparent;
    text-align: left;
    padding-left: 10px;
}
html[data-theme="light"] .token-stats .stat-item:nth-child(1) {
    border-left-color: #6366f1;
}
html[data-theme="light"] .token-stats .stat-item:nth-child(2) {
    border-left-color: #8b5cf6;
}
html[data-theme="light"] .token-stats .stat-item:nth-child(3) {
    border-left-color: #0891b2;
}
html[data-theme="light"] .token-stats .stat-item:nth-child(4) {
    border-left-color: #d97706;
}
html[data-theme="light"] .token-symbol {
    color: #1b2430 !important;
}
html[data-theme="light"] .token-name {
    color: rgba(27, 36, 48, 0.6) !important;
}
html[data-theme="light"] .token-description {
    color: rgba(27, 36, 48, 0.7) !important;
}
html[data-theme="light"] .stat-label {
    color: rgba(27, 36, 48, 0.55) !important;
}
html[data-theme="light"] .token-creator {
    color: rgba(27, 36, 48, 0.6) !important;
}

/* ---- Dashboard token cards' like/dislike buttons ----
   dashboard.blade.php has its own separate .token-card <style> block
   (not shared with live-market.blade.php's) whose base .action-btn rule
   is "color: white" - fine on the original dark card, invisible now.
   Buy/Sell/Analysis buttons all set their own color via inline style and
   must stay untouched, so this only targets buttons with no inline style
   at all, which is only the like/dislike buttons. */
html[data-theme="light"] .action-btn:not([style]) {
    color: #1b2430 !important;
    background: rgba(99, 102, 241, 0.08) !important;
    border-color: rgba(99, 102, 241, 0.25) !important;
}
html[data-theme="light"] .action-btn:not([style]):hover {
    background: rgba(99, 102, 241, 0.18) !important;
}
html[data-theme="light"] .action-btn.liked:not([style]) {
    color: #16a34a !important;
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: #22c55e !important;
}
html[data-theme="light"] .action-btn.disliked:not([style]) {
    color: #dc2626 !important;
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: #ef4444 !important;
}

/* ---- Mobile hamburger toggle (.header-bar) ----
   Its 3 bars are hardcoded white in main.css - fine on the original dark
   header, invisible once .header-bottom goes white on mobile (where this
   toggle is the only way to open the nav at all, unlike desktop). ---- */
html[data-theme="light"] .header-bar span {
    background-color: #1b2430 !important;
}

/* ---- Mobile menu items with a submenu (Learn/Practice/Trade/Wallet) ----
   NOT theme-specific - same bug in both themes, just easiest to spot once
   the light theme's menu text is finally legible. main.js adds
   .menu-item-has-children to any <li> with a .submenu, and its CSS adds a
   chevron via ::after on the link. On mobile, .menu li a is a 2-item flex
   row (icon, text) with justify-content:space-between, which right-aligns
   the text - fine with 2 items. Adding the chevron as a 3rd flex child
   makes space-between redistribute all three, pushing the text toward the
   middle instead of staying flush right next to the chevron like it
   should. Taking the chevron out of the flex flow (absolutely positioned)
   restores the icon/text pair to the same 2-item alignment every other
   menu row has. ---- */
@media (max-width: 991px) {
    /* !important needed - .menu li a { padding: 5px 20px; } in main.css
       has one more type selector (li) than .menu-item-has-children > a,
       so it otherwise wins on specificity despite loading first, and the
       padding-right never actually reserves room for the chevron. */
    .menu-item-has-children > a {
        position: relative;
        padding-right: 34px !important;
    }
    .menu-item-has-children > a::after {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
    }
}

/* ---- /user/token/{id}/analysis page (Market Analysis) ----
   Entirely its own dark "premium" design, never touched before now,
   built on CSS custom properties (--bg/--card/--card2/--card3/--tx/--mu/
   --mu2 for surfaces+text, --cy/--gr/--rd/--go/--pu/--pk for semantic
   accents) declared on :root. Redefining them here (with the extra
   attribute selector giving this higher specificity than the page's own
   bare :root block) converts almost the whole page in one place. A
   handful of labels/values still use a hardcoded color:#fff instead of
   var(--tx) though, and .hero has its own gradient background rather
   than var(--bg), so those need individual overrides too. The token
   avatar's background is a per-token generated inline style, so its
   white text is left alone - always readable against its own color. */
html[data-theme="light"] {
    --bg: #f8fafc;
    --card: #ffffff;
    --card2: #f1f5f9;
    --card3: #eef2f7;
    --bord: rgba(15, 23, 42, 0.1);
    --bord2: rgba(15, 23, 42, 0.18);
    --cy: #0891b2;
    --gr: #059669;
    --rd: #dc2626;
    --go: #d97706;
    --pu: #7c3aed;
    --pk: #db2777;
    --tx: #1b2430;
    --mu: #64748b;
    --mu2: #475569;
}
html[data-theme="light"] .hero {
    background: linear-gradient(135deg, #f0f9ff 0%, #eff6ff 55%, #f0f9ff 100%) !important;
}
html[data-theme="light"] .h-name,
html[data-theme="light"] .h-price,
html[data-theme="light"] .pp-val,
html[data-theme="light"] .sc-val,
html[data-theme="light"] .pc,
html[data-theme="light"] .cta h3 {
    color: #1b2430 !important;
}
