/**
 * Stock Analyst Ratings — Dark Mode
 * Page-level:  body.sar-page-dark  — Kadence theme overrides
 * Plugin-level: .sar-dark          — plugin section overrides
 */

/* ═══════════════════════════════════════════════════════════
   PAGE-LEVEL DARK  (Kadence theme wrapper)
   Palette matches existing Vandromeda dark header + footer:
     bg-deep:   #0d1117   body / site blocks
     bg-card:   #161b22   panels / surface
     bg-subtle: #1c2128   hover / inset
     border:    #30363d
     text:      #e6edf3
     muted:     #8b949e
   ═══════════════════════════════════════════════════════════ */

/* Body & site wrapper */
body.sar-page-dark,
body.sar-page-dark .site,
body.sar-page-dark .wp-site-blocks {
    background-color: #0d1117 !important;
    color: #e6edf3 !important;
}

/* Main content area */
body.sar-page-dark .site-main,
body.sar-page-dark .wrap,
body.sar-page-dark .content-area,
body.sar-page-dark .entry-content,
body.sar-page-dark article,
body.sar-page-dark .kb-inner-wrap,
body.sar-page-dark .inner-wrap {
    background-color: transparent !important;
    color: #e6edf3 !important;
}

/* Kadence row layouts & group blocks */
body.sar-page-dark .wp-block-kadence-rowlayout,
body.sar-page-dark .wp-block-group,
body.sar-page-dark .wp-block-cover,
body.sar-page-dark .alignfull {
    background-color: #0d1117 !important;
    color: #e6edf3 !important;
}

/* Typography */
body.sar-page-dark h1,
body.sar-page-dark h2,
body.sar-page-dark h3,
body.sar-page-dark h4,
body.sar-page-dark h5,
body.sar-page-dark h6 {
    color: #e6edf3 !important;
}

body.sar-page-dark p,
body.sar-page-dark li,
body.sar-page-dark td,
body.sar-page-dark th,
body.sar-page-dark label {
    color: #c9d1d9 !important;
}

body.sar-page-dark a:not(.sar-pub a) {
    color: #79c0ff !important;
}
body.sar-page-dark a:not(.sar-pub a):hover {
    color: #b3d4ff !important;
}

/* Kadence nav / header — already dark, keep it; just ensure text stays readable */
body.sar-page-dark .site-header {
    background-color: #010409 !important;
}
body.sar-page-dark .site-header a,
body.sar-page-dark .site-header nav a {
    color: #e6edf3 !important;
}

/* Page title / hero row (above content) */
body.sar-page-dark .entry-header,
body.sar-page-dark .page-hero,
body.sar-page-dark .wp-block-kadence-header {
    background-color: #010409 !important;
    color: #e6edf3 !important;
}

/* Kadence feature boxes, icon boxes, info boxes */
body.sar-page-dark .kt-blocks-info-box,
body.sar-page-dark .kt-info-box,
body.sar-page-dark .kb-feature-grid-wrap,
body.sar-page-dark .wp-block-kadence-iconlist,
body.sar-page-dark .wp-block-kadence-tabs,
body.sar-page-dark .wp-block-kadence-accordion {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

/* Tables inside page content (not plugin tables) */
body.sar-page-dark table:not(.sar-tbl) {
    background-color: #161b22 !important;
    border-color: #30363d !important;
}
body.sar-page-dark table:not(.sar-tbl) th {
    background-color: #21262d !important;
    color: #e6edf3 !important;
    border-color: #30363d !important;
}
body.sar-page-dark table:not(.sar-tbl) td {
    color: #c9d1d9 !important;
    border-color: #21262d !important;
}

/* Buttons (Kadence/WP native) outside plugin */
body.sar-page-dark .wp-block-button__link:not(.sar-pub *),
body.sar-page-dark .kb-btn:not(.sar-pub *) {
    background-color: #6366f1 !important;
    color: #fff !important;
    border-color: #6366f1 !important;
}

/* Kadence pricing tables */
body.sar-page-dark .kt-pricing-table,
body.sar-page-dark .kt-pricing-table-container {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

/* Inputs / forms outside plugin */
body.sar-page-dark input:not(.sar-pub input),
body.sar-page-dark textarea:not(.sar-pub textarea),
body.sar-page-dark select:not(.sar-pub select) {
    background-color: #161b22 !important;
    color: #e6edf3 !important;
    border-color: #30363d !important;
}

/* Horizontal rules, borders */
body.sar-page-dark hr {
    border-color: #30363d !important;
}

/* Footer already dark, ensure text legibility */
body.sar-page-dark .site-footer {
    background-color: #010409 !important;
    color: #8b949e !important;
}
body.sar-page-dark .site-footer a {
    color: #8b949e !important;
}
body.sar-page-dark .site-footer a:hover {
    color: #e6edf3 !important;
}

/* Scrollbar (whole page) */
body.sar-page-dark ::-webkit-scrollbar { width: 8px; height: 8px; }
body.sar-page-dark ::-webkit-scrollbar-track { background: #0d1117; }
body.sar-page-dark ::-webkit-scrollbar-thumb { background: #30363d; border-radius: 4px; }
body.sar-page-dark ::-webkit-scrollbar-thumb:hover { background: #484f58; }

/* Selection highlight */
body.sar-page-dark ::selection { background: #1f4068; color: #e6edf3; }

/* ── Base ── */
.sar-dark { color: #e6edf3; }

.sar-dark .sar-stats-bar,
.sar-dark .sar-ai,
.sar-dark .sar-section,
.sar-dark .sar-strat-legend,
.sar-dark .sar-news-modal-body {
    background: #161b22;
    border-color: #30363d;
}

/* ── Stats bar cards ── */
.sar-dark .sar-stat { background: #21262d; border-color: #30363d; color: #e6edf3; }
.sar-dark .sar-stat-num { color: #e6edf3; }
.sar-dark .sar-stat-label { color: #8b949e; }
.sar-dark .sar-stat-num--sm { color: #8b949e; }
.sar-dark .sar-cov-bar { background: #30363d; }

/* ── Hero ── */
.sar-dark .sar-hero { background: linear-gradient(135deg, #010409, #0d1117); }

/* ── Changelog panel ── */
.sar-dark .sar-changelog { background: #161b22; border-color: #30363d; }
.sar-dark .sar-cl-version { color: #e6edf3; border-bottom-color: #21262d; }
.sar-dark .sar-cl-item { color: #8b949e; }

/* ── Freshness cards ── */
.sar-dark .sar-freshness-card { background: #21262d; border-color: #30363d; }
.sar-dark .sar-freshness-label,
.sar-dark .sar-freshness-desc,
.sar-dark .sar-freshness-meta { color: #8b949e; }

/* ── Chunks ── */
.sar-dark .sar-chunk-age { color: #8b949e; }
.sar-dark .sar-chunk-ct { color: #6e7681; }
.sar-dark .sar-chunk-labels { color: #6e7681; }

/* ── AI summary ── */
.sar-dark .sar-ai { border-color: #30363d; }
.sar-dark .sar-ai-of { color: #6e7681; }
.sar-dark .sar-ai-strat { color: #8b949e; }
.sar-dark .sar-ai-tag--buy  { background: #0d2318; color: #3fb950; }
.sar-dark .sar-ai-tag--sell { background: #2d1416; color: #f85149; }

/* ── Sections ── */
.sar-dark .sar-section h2 { color: #e6edf3; }
.sar-dark .sar-h2-meta { color: #6e7681; }

/* ── Tables ── */
.sar-dark .sar-tbl thead { background: #21262d; }
.sar-dark .sar-tbl th { color: #8b949e; border-bottom-color: #30363d; }
.sar-dark .sar-tbl td { border-bottom-color: #21262d; }
.sar-dark .sar-tbl tbody tr:hover { background: #1c2128; }
.sar-dark .sar-tbl-tk { color: #e6edf3; }
.sar-dark .sar-tbl-tk:hover { color: #818cf8; }
.sar-dark .sar-tbl-sector { color: #818cf8; background: #1a1b3a; }

/* ── Signal rows ── */
.sar-dark .sar-sticky-head { background: #161b22; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.sar-dark .sar-signal-header { background: #21262d; border-bottom-color: #30363d; }
.sar-dark .sar-sh { color: #8b949e; }
.sar-dark .sar-signal-row { border-bottom-color: #21262d; }
.sar-dark .sar-signal-row:hover { background: #1c2128; }
.sar-dark .sar-signal-row.sar-expandable:hover { background: #1a1b2e; }
.sar-dark .sar-signal-tk { color: #e6edf3; }
.sar-dark .sar-tk-symbol { color: #e6edf3; }
.sar-dark .sar-exchange-badge { background: #30363d; color: #c9d1d9; }
.sar-dark .sar-signal-rank { color: #6e7681; }
.sar-dark .sar-signal-analysts { color: #6e7681; }
.sar-dark .sar-signal-age { color: #6e7681; }
.sar-dark .sar-signal-sector { color: #818cf8; background: #1a1b3a; }
.sar-dark .sar-signal-cov { color: #3fb950; }
.sar-dark .sar-signal-cov.sar-cov-partial { color: #d29922; }
.sar-dark .sar-signal-count { color: #8b949e; }

/* ── Asset type badges ── */
.sar-dark .sar-type-stock     { color: #79c0ff; background: #0d2149; }
.sar-dark .sar-type-etf       { color: #ffb86c; background: #2d1a0e; }
.sar-dark .sar-type-crypto    { color: #d2a8ff; background: #21103b; }
.sar-dark .sar-type-commodity { color: #e3b341; background: #2b1f08; }
.sar-dark .sar-type-forex     { color: #3fb950; background: #0d2318; }

/* ── Consensus score colors (brighter for dark bg) ── */
.sar-dark .sar-consensus-green       { color: #34d399; }
.sar-dark .sar-consensus-light-green { color: #4ade80; }
.sar-dark .sar-consensus-yellow      { color: #fbbf24; }
.sar-dark .sar-consensus-orange      { color: #fb923c; }
.sar-dark .sar-consensus-red         { color: #f87171; }

/* ── Value badges ── */
.sar-dark .sar-val-undervalued { background: #0d2149; color: #79c0ff; }
.sar-dark .sar-val-fair        { background: #21262d; color: #8b949e; }
.sar-dark .sar-val-overvalued  { background: #21103b; color: #d2a8ff; }
.sar-dark .sar-val-unknown     { color: #30363d; }

/* ── Signal tags ── */
.sar-dark .sar-signal-tag--hold     { background: #2d2208; color: #d29922; }
.sar-dark .sar-signal-tag--sell     { background: #2d1416; color: #f85149; }
.sar-dark .sar-signal-tag--strong_sell { background: #2d1416; color: #f85149; }

/* ── Expand detail panel ── */
.sar-dark .sar-signal-detail { background: #1c2128; border-top-color: #30363d; }
.sar-dark .sar-signal-wrap { border-bottom-color: #21262d; }
.sar-dark .sar-detail-desc { color: #8b949e; }
.sar-dark .sar-ds-bar-wrap { background: #30363d; }
.sar-dark .sar-ds-name { color: #e6edf3; }
.sar-dark .sar-ds-score { color: #e6edf3; }
.sar-dark .sar-ds-reason { color: #6e7681; }
.sar-dark .sar-ds-scored-at { color: #30363d; }
.sar-dark .sar-ds-signal--strong_buy,
.sar-dark .sar-ds-signal--buy  { background: #0d2318; color: #3fb950; }
.sar-dark .sar-ds-signal--hold { background: #2d2208; color: #d29922; }
.sar-dark .sar-ds-signal--sell,
.sar-dark .sar-ds-signal--strong_sell { background: #2d1416; color: #f85149; }

/* ── Fundamentals ── */
.sar-dark .sar-detail-funds { }
.sar-dark .sar-df { color: #8b949e; }
.sar-dark .sar-df b { color: #e6edf3; }

/* ── Analyst bars ── */
.sar-dark .sar-dab-bar { background: #30363d; }
.sar-dark .sar-dab-label { color: #6e7681; }
.sar-dark .sar-detail-analyst-bar { }

/* ── Rating bars ── */
.sar-dark .sar-pick-bar { background: #30363d; }
.sar-dark .sar-sector-bar { background: #30363d; }
.sar-dark .sar-strat-bar-wrap { background: #30363d; }

/* ── Picks ── */
.sar-dark .sar-pick2 { border-color: #30363d; }
.sar-dark .sar-pick2:nth-child(odd) { background: #1c2128; }
.sar-dark .sar-pick2-name { color: #8b949e; }
.sar-dark .sar-pick2-composite { color: #e6edf3; }
.sar-dark .sar-pick-rank { color: #6e7681; }
.sar-dark .sar-pick-tk { color: #e6edf3; }
.sar-dark .sar-pick-tk:hover { color: #818cf8; }
.sar-dark .sar-pick-count { color: #6e7681; }
.sar-dark .sar-pick-age { color: #6e7681; }
.sar-dark .sar-pick-age.sar-stale { color: #f85149; }
.sar-dark .sar-strat-val { color: #c9d1d9; }
.sar-dark .sar-strat-label { color: #8b949e; }
.sar-dark .sar-picks-legend-item { color: #8b949e; }

/* ── Sectors ── */
.sar-dark .sar-sector { border-bottom-color: #21262d; }
.sar-dark .sar-sector-name { color: #e6edf3; }
.sar-dark .sar-sector-desc { color: #6e7681; }
.sar-dark .sar-sector-ct { color: #6e7681; }

/* ── Strategy weights legend ── */
.sar-dark .sar-strat-legend { background: #161b22; border-color: #30363d; }
.sar-dark .sar-sl-title { color: #c9d1d9; }
.sar-dark .sar-sl-item { color: #8b949e; }
.sar-dark .sar-sl-w { color: #c9d1d9; }
.sar-dark .sar-sl-more { color: #79c0ff; }
.sar-dark .sar-sl-hint { color: #6e7681; }

/* ── Filter bar ── */
.sar-dark .sar-filter-bar { }
.sar-dark .sar-filter-count { color: #6e7681; }
.sar-dark .sar-filter-clear { background: #161b22; border-color: #30363d; color: #6e7681; }
.sar-dark .sar-filter-clear:hover { background: #2d1416; color: #f85149; border-color: #6e3a3a; }
.sar-dark .sar-expand-all,
.sar-dark .sar-collapse-all { background: #161b22; border-color: #30363d; color: #8b949e; }
.sar-dark .sar-expand-all:hover,
.sar-dark .sar-collapse-all:hover { background: #1a1b3a; border-color: #818cf8; color: #818cf8; }

/* ── Filter row inputs ── */
.sar-dark .sar-filter-row { background: #1c2128; border-bottom-color: #30363d; }
.sar-dark .sar-fr-input { background: #161b22; border-color: #30363d; color: #e6edf3; }
.sar-dark .sar-fr-input:focus { border-color: #818cf8; background: #1c2128; box-shadow: 0 0 0 1px rgba(129,140,248,.2); }
.sar-dark .sar-fr-input::placeholder { color: #6e7681; }

/* ── Multi-select dropdown ── */
.sar-dark .sar-multi-btn { background: #161b22; border-color: #30363d; color: #8b949e; }
.sar-dark .sar-multi-btn:hover { border-color: #818cf8; }
.sar-dark .sar-multi-btn.sar-multi-active { background: #1a1b3a; border-color: #818cf8; color: #818cf8; }
/* Dropdown is position:fixed so it may render outside .sar-dark — target both */
.sar-dark .sar-multi-drop,
body.sar-page-dark .sar-multi-drop { background: #161b22; border-color: #30363d; box-shadow: 0 8px 24px rgba(0,0,0,0.6); }
.sar-dark .sar-multi-drop label, body.sar-page-dark .sar-multi-drop label { color: #c9d1d9; }
.sar-dark .sar-multi-drop label:hover, body.sar-page-dark .sar-multi-drop label:hover { background: #21262d; }
.sar-dark .sar-multi-apply, body.sar-page-dark .sar-multi-apply { background: #818cf8; border-top-color: #30363d; color: #0d1117; }
.sar-dark .sar-multi-apply:hover, body.sar-page-dark .sar-multi-apply:hover { background: #6366f1; }

/* ── Scrollbar ── */
.sar-dark .sar-signal-scroll-wrap::-webkit-scrollbar-track { background: #161b22; }
.sar-dark .sar-signal-scroll-wrap::-webkit-scrollbar-thumb { background: #30363d; }
.sar-dark .sar-signal-scroll-wrap::-webkit-scrollbar-thumb:hover { background: #484f58; }

/* ── Load more ── */
.sar-dark .sar-load-more { background: #21262d; border-color: #30363d; color: #8b949e; }
.sar-dark .sar-load-more:hover { background: #1a1b3a; border-color: #818cf8; color: #818cf8; }

/* ── Skeleton ── */
.sar-dark .sar-skeleton {
    background: linear-gradient(90deg, #21262d 25%, #30363d 50%, #21262d 75%);
    background-size: 200% 100%;
}

/* ── Signal / position description & news blurb ── */
.sar-dark .sar-signal-desc { color: #8b949e; }
.sar-dark .sar-pos-desc  { color: #8b949e; }
.sar-dark .sar-pos-blurb { color: #8b949e; }
.sar-dark .sar-pos-blurb.sar-up   { color: #34d399; }
.sar-dark .sar-pos-blurb.sar-down { color: #f87171; }

/* ── Log entries ── */
.sar-dark .sar-log { border-bottom-color: #21262d; }
.sar-dark .sar-log-date { color: #8b949e; }
.sar-dark .sar-lt--b { background: #0d2318; color: #3fb950; }
.sar-dark .sar-lt--s { background: #2d1416; color: #f85149; }

/* ── News modal ── */
.sar-dark .sar-news-btn { background: #21262d; border-color: #30363d; color: #8b949e; }
.sar-dark .sar-news-btn:hover { background: #3b82f6; color: #fff; border-color: #3b82f6; }
.sar-dark .sar-news-modal-header { border-bottom-color: #30363d; }
.sar-dark .sar-news-modal-header h3 { color: #e6edf3; }
.sar-dark .sar-news-close { color: #8b949e; }
.sar-dark .sar-news-close:hover { color: #e6edf3; }
.sar-dark .sar-news-item { border-bottom-color: #21262d; }
.sar-dark .sar-news-item-title { color: #e6edf3; }
.sar-dark .sar-news-item-title:hover { color: #79c0ff; }
.sar-dark .sar-news-item-meta { color: #8b949e; }
.sar-dark .sar-news-summary { color: #8b949e; }
.sar-dark .sar-news-loading,
.sar-dark .sar-news-empty { color: #6e7681; }

/* ── Errors / Empty ── */
.sar-dark .sar-empty { color: #6e7681; }
.sar-dark .sar-error { background: #2d1416; color: #f85149; border-left-color: #f85149; }

/* ── Footer ── */
.sar-dark .sar-foot { color: #6e7681; }

/* ── Dark mode toggle button (fixed top-right) ── */
.sar-theme-toggle {
    position: fixed;
    top: 12px;
    right: 20px;
    z-index: 99999;
    background: rgba(255,255,255,0.95);
    border: 2px solid #6366f1;
    border-radius: 20px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #4f46e5;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    white-space: nowrap;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.sar-theme-toggle:hover { background: #6366f1; color: #fff; border-color: #6366f1; }
/* Dark mode: toggle stays high-contrast */
.sar-dark .sar-theme-toggle,
body.sar-page-dark .sar-theme-toggle {
    background: rgba(22,27,34,0.95);
    border-color: #818cf8;
    color: #c4b5fd;
}
.sar-dark .sar-theme-toggle:hover,
body.sar-page-dark .sar-theme-toggle:hover { background: #818cf8; color: #0d1117; border-color: #818cf8; }

/* ── Paper Portfolio Module ── */
.sar-dark .sar-paper-stat { background: #21262d; border-color: #30363d; }
.sar-dark .sar-paper-stat-label { color: #6e7681; }
.sar-dark .sar-paper-positions { border-color: #30363d; }
.sar-dark .sar-paper-pos-head { background: #21262d; border-bottom-color: #30363d; color: #8b949e; }
.sar-dark .sar-paper-pos-row { border-bottom-color: #21262d; }
.sar-dark .sar-paper-pos-row:hover { background: #1c2128; }
.sar-dark .sar-paper-ticker { color: #e6edf3; }
.sar-dark .sar-paper-strat { color: #8b949e; }
.sar-dark .sar-paper-date { color: #6e7681; }
.sar-dark .sar-paper-section-label { color: #8b949e; }
.sar-dark .sar-paper-empty { color: #6e7681; }
.sar-dark .sar-paper-footer { color: #6e7681; }

/* ── Strategy count pills (bnb) ── */
.sar-dark .sar-bnb-b { background: #052e16; color: #4ade80; }
.sar-dark .sar-bnb-n { background: #451a03; color: #fbbf24; }
.sar-dark .sar-bnb-r { background: #450a0a; color: #f87171; }
.sar-dark .sar-bnb-cov { color: #6e7681; }
