/* ═══════════════════════════════════════════════════════════════
   VELTRIX OS — Global Theme Enforcer
   Forces cream + white + orange design across ALL modules.
   Loaded after other CSS files to win specificity.
   ═══════════════════════════════════════════════════════════════ */

/* ── Ensure body always gets the cream background ── */
body,
html {
  background: var(--bg, #F7F6F2) !important;
  color: var(--text, #18170F) !important;
}

/* ── Main content area ── */
.main,
.shell,
.page-content,
.content-area,
.main-content,
.main-wrap,
.rf-page,
.sop-center,
.sop-body {
  background: var(--bg, #F7F6F2);
}

/* ── .main-content → act like .main (layout.css uses .main) ── */
.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.main-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

/* ── Cards & Surfaces ── */
.card,
.stat,
.panel,
.box,
[class*="-card"]:not([class*="color-"]):not([class*="tag-"]):not(.briefing-card),
[class*="-panel"]:not(.notif-panel):not(.sop-gen-panel),
[class*="-section"]:not([class*="section-hd"]) {
  background: var(--surface, #FFFFFF);
  color: var(--text, #18170F);
}

/* ── Override any remaining dark inline backgrounds ── */
.sop-library  { background: var(--surface, #FFFFFF) !important; }
.sop-center   { background: var(--bg, #F7F6F2) !important; }
.rf-page      { background: var(--bg, #F7F6F2) !important; }

/* ── Input / select fields ── */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),
select,
textarea {
  background: var(--bg-2, #EEECEA) !important;
  color: var(--text, #18170F) !important;
  border-color: var(--border, #E5E2DB) !important;
}
select option { background: var(--surface, #fff) !important; color: var(--text, #18170F) !important; }

/* ── Modals ── */
[class*="-modal"]:not([class*="overlay"]):not([class*="backdrop"]) {
  background: var(--surface, #FFFFFF) !important;
  color: var(--text, #18170F) !important;
  border-color: var(--border-2, #D8D4CC) !important;
}

/* ── Topbar stays correct ── */
.topbar {
  background: var(--surface, #FFFFFF) !important;
  border-bottom-color: var(--border, #E5E2DB) !important;
}

/* ── Sidebar stays correct ── */
nav.sb,
aside.sb,
#sb {
  background: var(--surface, #FFFFFF) !important;
  border-right-color: var(--border, #E5E2DB) !important;
}

/* ── Orange accent ── */
.btn-primary,
.btn-orange,
[class*="btn-accent"],
.primary-action {
  background: var(--brand-accent, #C86230) !important;
  color: #fff !important;
  border-color: var(--brand-accent, #C86230) !important;
}

/* ── Prevent leftover dark color text from showing invisible ── */
[style*="color:rgba(255,255,255"],
[style*="color: rgba(255,255,255"] {
  color: var(--text-2, #5C5849) !important;
}

/* ── Scrollbars ── */
* {
  scrollbar-color: var(--border, #E5E2DB) transparent;
}
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border, #E5E2DB); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--border-2, #D8D4CC); }

/* ── Dark mode: flip everything back correctly ── */
[data-theme="dark"] body,
[data-theme="dark"] html {
  background: var(--bg, #0F0E0B) !important;
  color: var(--text, #F2EFE6) !important;
}
[data-theme="dark"] .card,
[data-theme="dark"] .stat,
[data-theme="dark"] [class*="-card"]:not([class*="color-"]):not([class*="tag-"]) {
  background: var(--surface, #1C1B17) !important;
  color: var(--text, #F2EFE6) !important;
}
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background: var(--bg-2, #171612) !important;
  color: var(--text, #F2EFE6) !important;
  border-color: var(--border, #2C2B24) !important;
}

/* ── Animations disabled (set by applyVeltrixSettings) ── */
body.vx-no-animations *,
body.vx-no-animations *::before,
body.vx-no-animations *::after {
  animation: none !important;
  transition: none !important;
}
