/* =============================================
   ThreatCluster Theme System
   CSS custom properties + light mode overrides
   ============================================= */

/* --- A) CSS Custom Properties --- */
:root {
    --tc-bg: #0a0b0a;
    --tc-surface: #1a1b1a;
    --tc-elevated: rgba(10, 11, 10, 0.85);
    --tc-border-color: #2a2b2a;
    --tc-border-subtle: rgba(42, 43, 42, 0.3);
    --tc-text: #ffffff;
    --tc-text-sec: #a0a0a0;
    --tc-text-mut: #707070;
    --tc-shadow-text: 0 2px 8px rgba(0,0,0,0.8);
    --tc-gradient-hero-from: rgba(10, 11, 10, 0);
    --tc-gradient-hero-to: rgba(10, 11, 10, 1);
    --tc-skeleton-from: #1a1b1a;
    --tc-skeleton-mid: #2a2b2a;
    --tc-overlay-hover: rgba(255,255,255,0.05);
    --tc-modal-backdrop: rgba(0,0,0,0.75);
    --tc-nav-bg: rgba(10, 11, 10, 0.3);
    --tc-nav-border: rgba(42, 43, 42, 0.15);
    --tc-input-bg: #0a0b0a;
    --tc-scrollbar-track: #1a1b1a;
    --tc-scrollbar-thumb: #2a2b2a;
}

[data-theme="light"] {
    --tc-bg: #f5f6f8;
    --tc-surface: #ffffff;
    --tc-elevated: rgba(255, 255, 255, 0.92);
    --tc-border-color: #dfe1e6;
    --tc-border-subtle: rgba(0, 0, 0, 0.08);
    --tc-text: #1a1a1a;
    --tc-text-sec: #555555;
    --tc-text-mut: #888888;
    --tc-shadow-text: none;
    --tc-gradient-hero-from: rgba(245, 246, 248, 0);
    --tc-gradient-hero-to: rgba(245, 246, 248, 1);
    --tc-skeleton-from: #e8e8e8;
    --tc-skeleton-mid: #f0f0f0;
    --tc-overlay-hover: rgba(0,0,0,0.04);
    --tc-modal-backdrop: rgba(0,0,0,0.4);
    --tc-nav-bg: rgba(255, 255, 255, 0.7);
    --tc-nav-border: rgba(0, 0, 0, 0.08);
    --tc-input-bg: #f0f1f3;
    --tc-scrollbar-track: #f0f0f0;
    --tc-scrollbar-thumb: #cccccc;
}


/* --- B) Tailwind tc-* class overrides under light mode --- */

[data-theme="light"] .bg-tc-black {
    background-color: var(--tc-bg) !important;
}
[data-theme="light"] .bg-tc-surface {
    background-color: var(--tc-surface) !important;
}
[data-theme="light"] .border-tc-border {
    border-color: var(--tc-border-color) !important;
}
/* Catch border-tc-border/30 and similar opacity variants */
[data-theme="light"] [class*="border-tc-border"] {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .text-tc-text-primary {
    color: var(--tc-text) !important;
}
[data-theme="light"] .text-tc-text-secondary {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .text-tc-text-muted {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .placeholder-tc-text-muted::placeholder {
    color: var(--tc-text-mut) !important;
}

/* Hover variants */
[data-theme="light"] .hover\:bg-tc-black:hover {
    background-color: var(--tc-bg) !important;
}
[data-theme="light"] .hover\:bg-tc-surface:hover {
    background-color: var(--tc-surface) !important;
}
[data-theme="light"] .hover\:border-tc-border:hover {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .hover\:text-tc-text-primary:hover {
    color: var(--tc-text) !important;
}
[data-theme="light"] .hover\:text-tc-text-secondary:hover {
    color: var(--tc-text-sec) !important;
}

/* tc-red stays the same — brand accent */
/* Severity colors stay the same */


/* --- C) Global text-white override + exceptions --- */

[data-theme="light"] .text-white {
    color: var(--tc-text) !important;
}

/* Keep white on colored backgrounds */
[data-theme="light"] .bg-tc-red .text-white,
[data-theme="light"] .bg-tc-red.text-white,
[data-theme="light"] button.bg-tc-red .text-white,
[data-theme="light"] button.bg-tc-red.text-white,
[data-theme="light"] .hover\:bg-tc-red:hover .text-white,
[data-theme="light"] .hover\:bg-tc-red:hover.text-white,
[data-theme="light"] [class*="bg-tc-red"] .text-white,
[data-theme="light"] [class*="bg-tc-red"].text-white,
[data-theme="light"] .bg-critical .text-white,
[data-theme="light"] .bg-critical.text-white,
[data-theme="light"] .bg-high .text-white,
[data-theme="light"] .bg-high.text-white,
[data-theme="light"] .bg-medium .text-white,
[data-theme="light"] .bg-medium.text-white,
[data-theme="light"] .bg-low .text-white,
[data-theme="light"] .bg-low.text-white,
[data-theme="light"] .bg-info .text-white,
[data-theme="light"] .bg-info.text-white,
[data-theme="light"] .bg-green-600 .text-white,
[data-theme="light"] .bg-green-600.text-white,
[data-theme="light"] .bg-blue-600 .text-white,
[data-theme="light"] .bg-blue-600.text-white,
[data-theme="light"] .bg-red-600 .text-white,
[data-theme="light"] .bg-red-600.text-white,
[data-theme="light"] .bg-yellow-600 .text-white,
[data-theme="light"] .bg-yellow-600.text-white,
[data-theme="light"] .bg-purple-600 .text-white,
[data-theme="light"] .bg-purple-600.text-white,
[data-theme="light"] .bg-orange-600 .text-white,
[data-theme="light"] .bg-orange-600.text-white {
    color: #fff !important;
}

/* hover:text-white on hover:bg-tc-red — keep white when hovering */
[data-theme="light"] .hover\:bg-tc-red:hover .hover\:text-white:hover,
[data-theme="light"] .hover\:bg-tc-red:hover.hover\:text-white:hover {
    color: #fff !important;
}
[data-theme="light"] .hover\:text-white:hover {
    color: var(--tc-text) !important;
}
/* But if the parent is bg-tc-red on hover, keep white */
[data-theme="light"] .hover\:bg-tc-red:hover .hover\:text-white:hover {
    color: #fff !important;
}


/* text-white with opacity variants (text-white/70, text-white/60, etc.) */
[data-theme="light"] .text-white\/70 {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .text-white\/60 {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .text-white\/50 {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .text-white\/80 {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .text-white\/90 {
    color: var(--tc-text) !important;
}

/* --- D) Inline style catch-all for dropdowns/modals --- */
/* Only target elements with backdrop-filter (dropdowns/modals), NOT gradient overlays */

[data-theme="light"] [style*="rgba(10, 11, 10"][style*="backdrop-filter"],
[data-theme="light"] [style*="rgba(10,11,10"][style*="backdrop-filter"] {
    background: var(--tc-elevated) !important;
    border-color: var(--tc-border-subtle) !important;
}

/* Also catch the nav background and border inline styles */
[data-theme="light"] [style*="rgba(42, 43, 42"][style*="backdrop-filter"],
[data-theme="light"] [style*="rgba(42,43,42"][style*="backdrop-filter"] {
    border-color: var(--tc-border-color) !important;
}

/* Standalone border styles with rgba(42,43,42) (no backdrop-filter) */
[data-theme="light"] [style*="border"][style*="rgba(42, 43, 42"],
[data-theme="light"] [style*="border"][style*="rgba(42,43,42"] {
    border-color: var(--tc-border-color) !important;
}

/* --- D2) Text shadows — remove in light mode --- */
[data-theme="light"] [style*="text-shadow"] {
    text-shadow: none !important;
}

/* --- D3) Gradient overlays on hero cards, threat cards, page headers --- */
/* These use inline linear-gradient with rgba(10,11,10,...) and #0a0b0a */
[data-theme="light"] [style*="linear-gradient"][style*="0a0b0a"],
[data-theme="light"] [style*="linear-gradient"][style*="rgba(10,11,10"],
[data-theme="light"] [style*="linear-gradient"][style*="rgba(10, 11, 10"] {
    background: linear-gradient(to bottom, transparent 10%, rgba(245,246,248,0.3) 35%, rgba(245,246,248,0.7) 60%, #f5f6f8 80%, #f5f6f8 100%) !important;
}

/* Horizontal vignette gradients (left/right edges) — remove in light mode */
[data-theme="light"] [style*="linear-gradient(to right, #0a0b0a"] {
    background: none !important;
}


/* --- E) Body, skeleton, scrollbar, nav, modal, input overrides --- */

[data-theme="light"] body {
    background-color: var(--tc-bg) !important;
    color: var(--tc-text);
}

/* Skeleton loading */
[data-theme="light"] .skeleton {
    background: linear-gradient(90deg, var(--tc-skeleton-from) 0%, var(--tc-skeleton-mid) 50%, var(--tc-skeleton-from) 100%) !important;
    background-size: 200% 100%;
}

/* Orb backgrounds — dim them in light mode */
[data-theme="light"] .banner-bg .orb {
    opacity: 0.4;
}

/* Modal backdrop */
[data-theme="light"] .bg-black.bg-opacity-75,
[data-theme="light"] .bg-black\/75,
[data-theme="light"] .bg-black\/80 {
    background-color: var(--tc-modal-backdrop) !important;
}

/* Scrollbar */
[data-theme="light"] .trending-scroll::-webkit-scrollbar-track {
    background: var(--tc-scrollbar-track);
}
[data-theme="light"] .trending-scroll::-webkit-scrollbar-thumb {
    background: var(--tc-scrollbar-thumb);
}

/* Search inputs (.search-input class used in dark-web.html, reports.html) */
[data-theme="light"] .search-input {
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .search-input::placeholder {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] select.search-input {
    background-color: var(--tc-surface) !important;
}
[data-theme="light"] select.search-input option {
    background-color: var(--tc-surface) !important;
    color: var(--tc-text) !important;
}

/* Global search input in navbar */
[data-theme="light"] #globalSearch {
    background-color: var(--tc-input-bg) !important;
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}

/* bg-white/5 hover states → use light equivalent */
[data-theme="light"] .hover\:bg-white\/5:hover {
    background-color: rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .bg-white\/5 {
    background-color: rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .bg-white\/10 {
    background-color: rgba(0, 0, 0, 0.06) !important;
}

/* bg-black used as background (not backdrop) */
[data-theme="light"] .bg-black:not(.bg-opacity-75):not([class*="bg-black/"]) {
    background-color: var(--tc-bg) !important;
}

/* Card shadows — lighter in light mode */
[data-theme="light"] .threat-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(209, 10, 48, 0.15) !important;
}
[data-theme="light"] #heroMain:hover,
[data-theme="light"] #heroSecond:hover,
[data-theme="light"] #heroThird:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(209, 10, 48, 0.15) !important;
}

/* Hero gradient overlays */
[data-theme="light"] [class*="from-tc-black"],
[data-theme="light"] .from-tc-black {
    --tw-gradient-from: var(--tc-bg) !important;
}
[data-theme="light"] [class*="to-tc-black"],
[data-theme="light"] .to-tc-black {
    --tw-gradient-to: var(--tc-bg) !important;
}
[data-theme="light"] [class*="via-tc-black"],
[data-theme="light"] .via-tc-black {
    --tw-gradient-via: var(--tc-bg) !important;
}

/* Footer */
[data-theme="light"] footer {
    border-top-color: var(--tc-border-color) !important;
}

/* Specific table / data views */
[data-theme="light"] .divide-tc-border > * + * {
    border-color: var(--tc-border-color) !important;
}

/* Threat score bar backgrounds */
[data-theme="light"] .bg-tc-border {
    background-color: var(--tc-border-color) !important;
}

/* Ring colors */
[data-theme="light"] .ring-tc-border {
    --tw-ring-color: var(--tc-border-color) !important;
}

/* Focus border on tc-red stays the same */

/* --- F) Elements that stay the same in both themes --- */
/* tc-red brand color — no override needed */
/* Severity badge colors (critical/high/medium/low/info) — no override needed */
/* Entity type badge colors — no override needed */

/* --- Nav-specific glassmorphism --- */
[data-theme="light"] nav.sticky {
    background: var(--tc-nav-bg) !important;
    border-bottom-color: var(--tc-nav-border) !important;
}

/* Bottom nav */
[data-theme="light"] nav.fixed.bottom-0 {
    background: var(--tc-nav-bg) !important;
    border-top-color: var(--tc-nav-border) !important;
}

/* Mobile menu modal panel */
[data-theme="light"] #mobileMenuModal > div.fixed {
    background: var(--tc-elevated) !important;
    border-top-color: var(--tc-nav-border) !important;
}

/* Ensure text colors inside dropdowns work in light mode */
[data-theme="light"] .rounded-lg.shadow-xl {
    background: var(--tc-elevated) !important;
    border-color: var(--tc-border-subtle) !important;
}

/* Profile dropdown and similar JS-injected dropdowns */
[data-theme="light"] #profileDropdown {
    background: var(--tc-elevated) !important;
    border-color: var(--tc-border-subtle) !important;
}

/* AI Query modal */
[data-theme="light"] #aiQueryModal > div {
    background: var(--tc-elevated) !important;
    border-color: var(--tc-border-subtle) !important;
}

/* Collection picker modal */
[data-theme="light"] #collectionPickerModal > div {
    background: var(--tc-elevated) !important;
    border-color: var(--tc-border-subtle) !important;
}

/* Grid/graph background */
[data-theme="light"] .banner-grid {
    background-image: linear-gradient(rgba(209, 10, 48, 0.06) 1px, transparent 1px),
                       linear-gradient(90deg, rgba(209, 10, 48, 0.06) 1px, transparent 1px) !important;
}

/* Ensure SVG icons using currentColor work properly */
[data-theme="light"] .text-white svg {
    color: inherit;
}

/* Keep theme toggle button icons colored correctly */
[data-theme="light"] #themeToggle .text-white,
[data-theme="light"] #themeToggleMobile .text-white {
    color: var(--tc-text) !important;
}


/* =============================================
   G) Page-specific CSS class overrides
   ============================================= */

/* --- G1) Glass/card backgrounds (settings, explore, category, vulnerabilities, dark-web) --- */
[data-theme="light"] .glass-card {
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .stat-card {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .chart-container {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .cve-card {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .victim-card {
    border-color: var(--tc-border-color) !important;
}

/* --- G2) Settings page --- */
[data-theme="light"] .settings-nav-item {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .settings-nav-item:hover {
    background-color: var(--tc-surface) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .settings-nav-item.active {
    background-color: var(--tc-surface) !important;
    color: var(--tc-text) !important;
}

/* --- G3) Explore page --- */
[data-theme="light"] .jvm-container {
    background-color: var(--tc-bg) !important;
}
[data-theme="light"] .jvm-tooltip {
    background-color: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .map-container {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .nav-item {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .nav-item:hover {
    color: var(--tc-text) !important;
}
[data-theme="light"] .entity-card {
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .slide-panel {
    background: var(--tc-surface) !important;
    border-left-color: var(--tc-border-color) !important;
}
[data-theme="light"] .slide-panel-overlay {
    background: rgba(0, 0, 0, 0.3) !important;
}
[data-theme="light"] .cluster-mini-card {
    border-color: var(--tc-border-color) !important;
}

/* --- G4) Cluster page --- */
[data-theme="light"] .entity-tooltip {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .entity-tooltip-overview {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .entity-tooltip-stat-label,
[data-theme="light"] .entity-tooltip-loading {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .entity-tooltip-loading .spinner {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .threat-actor-overview {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .threat-actor-stats {
    border-top-color: var(--tc-border-color) !important;
}
[data-theme="light"] .threat-actor-stat-value {
    color: var(--tc-text) !important;
}
[data-theme="light"] .threat-actor-stat-label {
    color: var(--tc-text-mut) !important;
}

/* --- G5) Dark web page --- */
[data-theme="light"] .tab-btn {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .news-filter-btn {
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .data-table th {
    color: var(--tc-text-mut) !important;
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .data-table td {
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .modal-content {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .modal-header {
    border-bottom-color: var(--tc-border-color) !important;
    background: var(--tc-surface) !important;
}
[data-theme="light"] .modal-close {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .detail-label {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .detail-value {
    color: var(--tc-text) !important;
}
[data-theme="light"] .detail-row {
    border-bottom-color: var(--tc-border-color) !important;
}

/* --- G6) Reports page --- */
[data-theme="light"] .cluster-card {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .report-content h2 {
    color: var(--tc-text) !important;
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .report-content h3 {
    color: var(--tc-text) !important;
}
[data-theme="light"] .report-content code {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .report-content pre {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .report-content blockquote {
    background: rgba(209, 10, 48, 0.03) !important;
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .report-content blockquote .quote-source {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .report-content blockquote .quote-source a {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .report-content th {
    background: rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .report-content table {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .report-section {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .report-section-header {
    background: var(--tc-bg) !important;
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .section-drag-handle {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .section-drag-handle:hover {
    color: var(--tc-text-sec) !important;
}

/* Tiptap editor (reports) */
[data-theme="light"] .tiptap-editor {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror h2 {
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror h3 {
    color: var(--tc-text) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror blockquote {
    background: rgba(209, 10, 48, 0.03) !important;
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror code {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror pre {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror table {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .tiptap-editor .ProseMirror th {
    background: rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .editor-toolbar {
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .editor-toolbar button:hover {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .editor-toolbar .separator {
    background: var(--tc-border-color) !important;
}
[data-theme="light"] .entity-mention {
    background: var(--tc-input-bg) !important;
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .mention-dropdown {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .mention-dropdown-item:hover {
    background: rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .mention-dropdown-item .entity-name {
    color: var(--tc-text) !important;
}
[data-theme="light"] .mention-dropdown-item .entity-type {
    color: var(--tc-text-mut) !important;
}

/* --- G7) Blog post page --- */
[data-theme="light"] .prose {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .prose h1,
[data-theme="light"] .prose h2,
[data-theme="light"] .prose h3,
[data-theme="light"] .prose h4 {
    color: var(--tc-text) !important;
}
[data-theme="light"] .prose h2 {
    border-bottom-color: var(--tc-border-color) !important;
}
[data-theme="light"] .prose blockquote {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] .prose code {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .prose pre {
    background: var(--tc-input-bg) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .prose hr {
    border-top-color: var(--tc-border-color) !important;
}
[data-theme="light"] .prose table,
[data-theme="light"] .prose th,
[data-theme="light"] .prose td {
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .prose th {
    background: rgba(0, 0, 0, 0.03) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .share-section {
    border-top-color: var(--tc-border-color) !important;
}
[data-theme="light"] .share-btn {
    border-color: var(--tc-border-color) !important;
    background: var(--tc-surface) !important;
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] .share-btn:hover {
    border-color: var(--tc-border-color) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .author-card {
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .author-social-link {
    color: var(--tc-text-sec) !important;
    background: var(--tc-surface) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .author-social-link:hover {
    color: var(--tc-text) !important;
    border-color: var(--tc-border-color) !important;
}
[data-theme="light"] .cta-signup-box {
    background: linear-gradient(135deg, rgba(209, 10, 48, 0.06) 0%, rgba(209, 10, 48, 0.02) 100%) !important;
}
[data-theme="light"] .cta-signup-box h3 {
    color: var(--tc-text) !important;
}
[data-theme="light"] .cta-signup-box p {
    color: var(--tc-text-sec) !important;
}

/* --- G8) Analyst page --- */
[data-theme="light"] .markdown-preview code {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .markdown-preview pre {
    background: var(--tc-input-bg) !important;
}
[data-theme="light"] .markdown-preview blockquote {
    color: var(--tc-text-sec) !important;
}

/* --- G9) Index page trending sidebar --- */
[data-theme="light"] .trending-scroll::-webkit-scrollbar-thumb:hover {
    background: #aaaaaa !important;
}
[data-theme="light"] .entity-tooltip .sparkline-bar.empty {
    background: var(--tc-border-color) !important;
}


/* =============================================
   H) Inline hardcoded text color overrides
   (JS template literals with style="color: ...")
   ============================================= */

[data-theme="light"] [style*="color: #eeefe9"],
[data-theme="light"] [style*="color:#eeefe9"] {
    color: var(--tc-text) !important;
}
[data-theme="light"] [style*="color: #8a8b85"],
[data-theme="light"] [style*="color:#8a8b85"] {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] [style*="color: #b0b1ab"],
[data-theme="light"] [style*="color:#b0b1ab"] {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] [style*="color: #a0a0a0"],
[data-theme="light"] [style*="color:#a0a0a0"] {
    color: var(--tc-text-sec) !important;
}
[data-theme="light"] [style*="color: #707070"],
[data-theme="light"] [style*="color:#707070"] {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] [style*="color: #ffffff"],
[data-theme="light"] [style*="color:#ffffff"],
[data-theme="light"] [style*="color: #fff;"],
[data-theme="light"] [style*="color:#fff;"],
[data-theme="light"] [style*="color: white"],
[data-theme="light"] [style*="color:white"] {
    color: var(--tc-text) !important;
}
[data-theme="light"] [style*="color: #e8e8e8"],
[data-theme="light"] [style*="color:#e8e8e8"],
[data-theme="light"] [style*="color: #e0e0e0"],
[data-theme="light"] [style*="color:#e0e0e0"],
[data-theme="light"] [style*="color: #c0c0c0"],
[data-theme="light"] [style*="color:#c0c0c0"] {
    color: var(--tc-text-sec) !important;
}

/* Inline background overrides for hardcoded dark backgrounds */
[data-theme="light"] [style*="background-color: #0a0b0a"],
[data-theme="light"] [style*="background-color:#0a0b0a"],
[data-theme="light"] [style*="background: #0a0b0a"],
[data-theme="light"] [style*="background:#0a0b0a"] {
    background-color: var(--tc-bg) !important;
}
[data-theme="light"] [style*="background-color: #1a1b1a"],
[data-theme="light"] [style*="background-color:#1a1b1a"],
[data-theme="light"] [style*="background: #1a1b1a"],
[data-theme="light"] [style*="background:#1a1b1a"] {
    background-color: var(--tc-surface) !important;
}
[data-theme="light"] [style*="background-color: #0e0f0e"],
[data-theme="light"] [style*="background:#0e0f0e"] {
    background-color: var(--tc-surface) !important;
}
[data-theme="light"] [style*="background: #2a2b2a"],
[data-theme="light"] [style*="background-color: #2a2b2a"],
[data-theme="light"] [style*="background:#2a2b2a"] {
    background-color: var(--tc-border-color) !important;
}
[data-theme="light"] [style*="border-color: #2a2b2a"],
[data-theme="light"] [style*="border: 1px solid #2a2b2a"],
[data-theme="light"] [style*="border-color:#2a2b2a"] {
    border-color: var(--tc-border-color) !important;
}

/* --- G10) Onboarding page --- */
[data-theme="light"] .chip {
    border-color: var(--tc-border-color) !important;
    background: var(--tc-surface) !important;
    color: var(--tc-text) !important;
}
[data-theme="light"] .chip.selected {
    background: #d10a30 !important;
    border-color: #d10a30 !important;
    color: #fff !important;
}
[data-theme="light"] .chip-ai {
    border-color: var(--tc-text-mut) !important;
    background: var(--tc-bg) !important;
    color: var(--tc-text-sec) !important;
}


/* =============================================
   I) Targeted fixes
   ============================================= */

/* --- I1) MITRE ATT&CK heatmap (cluster.html) --- */
/* Empty tactic cells use inline style with rgba(10,11,10,0.85) bg — caught by D */
/* But the text colors #505050 and #404040 are inline and invisible on light */
[data-theme="light"] [style*="color: #505050"],
[data-theme="light"] [style*="color:#505050"] {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] [style*="color: #404040"],
[data-theme="light"] [style*="color:#404040"] {
    color: var(--tc-text-mut) !important;
}
[data-theme="light"] [style*="color: #ccc"],
[data-theme="light"] [style*="color:#ccc"] {
    color: var(--tc-text-sec) !important;
}
/* Empty MITRE cells background — rgba(10,11,10,0.85) without backdrop-filter */
/* Needs explicit catch since D only targets backdrop-filter elements */
[data-theme="light"] [style*="background-color: rgba(10, 11, 10"],
[data-theme="light"] [style*="background-color: rgba(10,11,10"],
[data-theme="light"] [style*="background-color:rgba(10, 11, 10"],
[data-theme="light"] [style*="background-color:rgba(10,11,10"] {
    background-color: var(--tc-input-bg) !important;
}
/* Empty MITRE cell border */
[data-theme="light"] [style*="border: 1px solid rgba(42, 43, 42"],
[data-theme="light"] [style*="border: 1px solid rgba(42,43,42"] {
    border-color: var(--tc-border-color) !important;
}

/* --- I2) Entity tooltip on cluster page --- */
[data-theme="light"] .entity-tooltip-name {
    color: var(--tc-text) !important;
}
[data-theme="light"] .entity-tooltip-type {
    background-color: rgba(209, 10, 48, 0.1) !important;
}
[data-theme="light"] .entity-tooltip-stat-value {
    color: var(--tc-text) !important;
}
[data-theme="light"] .entity-tooltip-sparkline-bar.empty {
    background-color: var(--tc-border-color) !important;
}

/* --- I3) "My Content" modal (reports.html) — needs a background --- */
[data-theme="light"] #savedReportsModal > div > div {
    background-color: var(--tc-surface) !important;
}

/* --- I4) IOC/STIX grey badges on cluster page --- */
/* bg-tc-black/50 is nearly invisible on light bg and text clashes */
[data-theme="light"] [class*="bg-tc-black\/"] {
    background-color: var(--tc-input-bg) !important;
}
/* Also catch the entity badges in cluster sidebar that use bg-tc-black/50 */
[data-theme="light"] .bg-tc-black\/50 {
    background-color: var(--tc-input-bg) !important;
}

/* Threat actor profile card styles */
[data-theme="light"] .threat-actor-badge {
    background-color: rgba(209, 10, 48, 0.1) !important;
}
