/*
 * TrapRoyaltiesPro Publisher Portal — dark theme override
 * Slate + indigo palette matching traproyaltiespro.com landing + /forensic.
 * Affects colors, backgrounds, borders ONLY. Links and page functionality are untouched.
 */

html, body {
  background: #020617 !important;
  color: #cbd5e1 !important;
}

body { color-scheme: dark; }

a { color: #818cf8 !important; }
a:hover { color: #a5b4fc !important; }

h1, h2, h3, h4, h5, h6,
strong, b {
  color: #f1f5f9 !important;
}

.section, .cta-block, .card, .panel, .box, .tile, .feature, .kv,
.quote, .stat, .metric, .list-group-item,
table, thead, tbody, tfoot, th, td {
  background: #0f172a !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
}

.section h2, .cta-block h3, .card h3, .panel h3 {
  color: #f1f5f9 !important;
}

.navbar, .topbar, .header, header, .footer, footer {
  background: #020617 !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
}

.navbar a, .nav-links a, .header a, .footer a, footer a {
  color: #cbd5e1 !important;
}
.navbar a:hover, .nav-links a:hover, .header a:hover, .footer a:hover, footer a:hover {
  color: #a5b4fc !important;
}

.logo, .brand {
  background: linear-gradient(135deg,#818cf8,#6366f1) !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  color: transparent !important;
}

.hero-block, .hero, .page-hero, [class*="hero"] {
  background: linear-gradient(135deg,#020617 0%,#1e293b 50%,#3730a3 100%) !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

.hero-block h1, .hero h1, .page-hero h1 { color: #f1f5f9 !important; }
.hero-block p, .hero p, .page-hero p, .hero-block .sub { color: #cbd5e1 !important; }

.hero-block::before, .hero::before {
  background: radial-gradient(circle,rgba(99,102,241,0.35) 0%,transparent 70%) !important;
}

.eye, .eyebrow, .pill {
  background: rgba(99,102,241,0.12) !important;
  border: 1px solid rgba(99,102,241,0.35) !important;
  color: #a5b4fc !important;
}

.demo-badge {
  background: rgba(99,102,241,0.1) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99,102,241,0.25) !important;
}

.live-dot {
  background: #6366f1 !important;
  box-shadow: 0 0 0 2px rgba(99,102,241,0.25) !important;
}

.breadcrumb, .muted, .subtle, small, .small, .reassure, .hint, .caption {
  color: #64748b !important;
}

.breadcrumb a, .muted a, .reassure a { color: #818cf8 !important; }

.btn-primary, .btn.primary, button.primary, input[type="submit"].primary {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 1px 2px rgba(99,102,241,0.4) !important;
}
.btn-primary:hover, .btn.primary:hover, button.primary:hover {
  background: linear-gradient(135deg,#6366f1,#818cf8) !important;
}

.btn-secondary, .btn.secondary, button.secondary, .btn-outline {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}
.btn-secondary:hover, .btn.secondary:hover, button.secondary:hover, .btn-outline:hover {
  background: #334155 !important;
  color: #f1f5f9 !important;
}

button, .btn, a.btn { color: #e2e8f0; }

input, select, textarea {
  background: #0f172a !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}
input::placeholder, textarea::placeholder { color: #64748b !important; }
input:focus, select:focus, textarea:focus {
  border-color: #6366f1 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.2) !important;
}

.steps li {
  border-color: rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
}
.steps li::before {
  background: rgba(99,102,241,0.15) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99,102,241,0.35) !important;
}

table { border-color: rgba(255,255,255,0.08) !important; }
th {
  background: #1e293b !important;
  color: #94a3b8 !important;
  border-color: rgba(255,255,255,0.08) !important;
}
td {
  background: transparent !important;
  color: #cbd5e1 !important;
  border-color: rgba(255,255,255,0.06) !important;
}
tr:hover td { background: rgba(99,102,241,0.05) !important; }

hr, .divider {
  border-color: rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.08) !important;
}

.success, .ok, .badge-success { color: #34d399 !important; }
.warn, .warning, .badge-warn { color: #fbbf24 !important; }
.error, .danger, .badge-error { color: #f87171 !important; }

.step, .step-card, .howit-row .step, .tool-card {
  background: #0f172a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
  box-shadow: none !important;
}
.step strong, .step-card strong, .tool-card h3 { color: #f1f5f9 !important; }

.step .step-num, .step-num {
  background: rgba(99,102,241,0.18) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99,102,241,0.35) !important;
}

.pilot-highlight {
  background: linear-gradient(135deg,#0f172a 0%,#1e293b 100%) !important;
  border-left: 5px solid #6366f1 !important;
  color: #cbd5e1 !important;
}
.pilot-highlight h3, .pilot-highlight strong { color: #f1f5f9 !important; }

.footer-contact {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: #94a3b8 !important;
}

.benefit-pill, .trust-badge {
  background: rgba(99,102,241,0.1) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99,102,241,0.25) !important;
}

[style*="background: white"], [style*="background:white"],
[style*="background-color: white"], [style*="background-color:white"],
[style*="background:#ffffff"], [style*="background: #ffffff"],
[style*="background:#fff"], [style*="background: #fff"],
[style*="background:#f6fbfd"], [style*="background: #f6fbfd"],
[style*="background:#eef4f7"], [style*="background: #eef4f7"],
[style*="background:#eef7f3"], [style*="background: #eef7f3"],
[style*="background:#daf1ea"], [style*="background: #daf1ea"],
[style*="background:#e6f4ef"], [style*="background: #e6f4ef"],
[style*="background:#fafcff"], [style*="background: #fafcff"],
[style*="background:#e0f2fe"], [style*="background: #e0f2fe"],
[style*="background:#dcfce7"], [style*="background: #dcfce7"],
[style*="background:#ecfdf5"], [style*="background: #ecfdf5"],
[style*="background:#f0fdf4"], [style*="background: #f0fdf4"],
[style*="background:#f9fafb"], [style*="background: #f9fafb"],
[style*="background:#f3f4f6"], [style*="background: #f3f4f6"] {
  background: #0f172a !important;
  color: #cbd5e1 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

[style*="linear-gradient(115deg, #eef4f7"],
[style*="linear-gradient(115deg,#eef4f7"],
[style*=", white)"], [style*=",white)"],
[style*=", #fff)"], [style*=",#fff)"],
[style*=", #ffffff)"], [style*=",#ffffff)"] {
  background: linear-gradient(135deg,#0f172a 0%,#1e293b 100%) !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
}

[style*="background: #1b6e54"], [style*="background:#1b6e54"],
[style*="background: #0f5c48"], [style*="background:#0f5c48"],
[style*="background: #0b4f3c"], [style*="background:#0b4f3c"],
[style*="background: #1b7e5e"], [style*="background:#1b7e5e"],
[style*="background: #059669"], [style*="background:#059669"],
[style*="background: #10b981"], [style*="background:#10b981"] {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
}

[style*="color: #4A5568"], [style*="color:#4A5568"],
[style*="color: #4a5568"], [style*="color:#4a5568"],
[style*="color: #334155"], [style*="color:#334155"] {
  color: #94a3b8 !important;
}

div[style*="background: #e6f4ef"], div[style*="background:#e6f4ef"],
div[style*="background: #eef7f3"], div[style*="background:#eef7f3"],
section[style*="background: #e6f4ef"], section[style*="background:#e6f4ef"] {
  background: #0f172a !important;
  color: #cbd5e1 !important;
}

/* ── force text visible on nested elements in existing portal styles ── */
.section p, .section li, .section ul li, .section ol li,
.card p, .card h4, .card .card-icon,
.faq-item summary, .faq-item p, .faq-item,
.doc-row, .doc-row .doc-title, .doc-row .doc-meta,
.step-body h4, .step-body p,
.page-hero p.lead, .page-hero .lead,
.cta-strip p, .cta-strip h3,
.pricing-card, .pricing-card p, .pricing-card h3, .pricing-card h4, .pricing-card li,
.health-card, .health-card p, .health-card h4,
.breakdown-card, .breakdown-card p, .breakdown-card h4,
.scan-widget, .scan-widget p, .scan-widget h3,
.dropzone, .dropzone p, .dropzone h3,
.tab-row, .tab-row button,
.risk-strip,
.detail-table th, .detail-table td,
summary, details, details p {
  color: #cbd5e1 !important;
}

.section h3, .card h4, .step-body h4,
.pricing-card h3, .health-card h4, .breakdown-card h4,
.scan-widget h3, .dropzone h3, .cta-strip h3, .faq-item summary {
  color: #f1f5f9 !important;
}

.faq-item summary::after,
.faq-item[open] summary::after {
  color: #a5b4fc !important;
}

.faq-item {
  border-bottom-color: rgba(255,255,255,0.08) !important;
}

/* ── uncovered white-box classes (from inline <style> blocks) ── */
.scan-widget, .dropzone, .health-card, .breakdown-card,
.detail-table, .pricing-card, .pricing-card.featured,
.page-hero {
  background: #0f172a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: none !important;
}

.page-hero {
  background: linear-gradient(135deg,#020617 0%,#1e293b 50%,#3730a3 100%) !important;
  color: #f1f5f9 !important;
}

.page-hero h1, .page-hero h1 .accent {
  color: #f1f5f9 !important;
  -webkit-text-fill-color: #f1f5f9 !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
          background-clip: border-box !important;
}

.page-hero p, .page-hero p.lead {
  color: #cbd5e1 !important;
}

/* tabs */
.tab-row button {
  background: #1e293b !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}
.tab-row button.active {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
  border-color: #6366f1 !important;
}

/* warning strip on dark */
.risk-strip {
  background: rgba(251,191,36,0.08) !important;
  border: 1px solid rgba(251,191,36,0.3) !important;
  border-left: 4px solid #fbbf24 !important;
  color: #fcd34d !important;
}

/* green readiness banner keep as indigo */
.readiness-banner {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
}

/* paywall dark + indigo accent */
.paywall {
  background: linear-gradient(135deg,#020617 0%,#1e293b 100%) !important;
  border: 1px solid rgba(99,102,241,0.3) !important;
  color: #f1f5f9 !important;
}
.paywall .pw-cta {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
}
.paywall .pw-eyebrow { color: #a5b4fc !important; }
.paywall .pw-foot { color: #94a3b8 !important; }
.paywall h3 { color: #f1f5f9 !important; }
.paywall p, .paywall ul, .paywall li { color: #cbd5e1 !important; }

/* remaining white-bg classes in cleaning-wizard */
.card-icon {
  background: rgba(99,102,241,0.15) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99,102,241,0.3) !important;
}
.ss, .cwr-r {
  background: #0f172a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #cbd5e1 !important;
}
.file-btn {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  color: #ffffff !important;
}

/* btn-outline (white bg, dark green border+text → dark bg, indigo border+text) */
.btn-outline {
  background: #1e293b !important;
  border: 1.5px solid #6366f1 !important;
  color: #a5b4fc !important;
}
.btn-outline:hover {
  background: #334155 !important;
  color: #c7d2fe !important;
}

/* nav active */
.nav-links a.active { color: #a5b4fc !important; }

/* eyebrow pills using light-green #e6f4ef */
.eyebrow {
  background: rgba(99,102,241,0.12) !important;
  color: #a5b4fc !important;
}

/* doc-row + card anchor buttons */
.doc-row a {
  border-color: #6366f1 !important;
  color: #a5b4fc !important;
}
.doc-row a:hover {
  background: #6366f1 !important;
  color: #ffffff !important;
}
.doc-row { border-bottom-color: rgba(255,255,255,0.08) !important; }

/* code/pre inline */
code, pre {
  background: #0b1222 !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

/* terms/privacy body text */
article, article p, article li, .legal, .legal p, .legal li, main p, main li {
  color: #cbd5e1 !important;
}
article h1, article h2, article h3, .legal h1, .legal h2, .legal h3, main h1, main h2, main h3 {
  color: #f1f5f9 !important;
}
