/* SwissKnifeTools Light Blue Theme — v2 (aggressive overrides)
   Place this AFTER all other CSS links.
*/
:root{
  --skn-bg:#f0f7ff;
  --skn-surface:#ffffff;
  --skn-surface-2:#f4f9ff;
  --skn-primary-50:#eff6ff;
  --skn-primary-100:#dbeafe;
  --skn-primary-200:#bfdbfe;
  --skn-primary-300:#93c5fd;
  --skn-primary-400:#60a5fa;
  --skn-primary-500:#3b82f6;
  --skn-primary-600:#2563eb;
  --skn-primary-700:#1d4ed8;
  --skn-ink:#111827;
  --skn-ink-soft:#475569;
  --skn-border:#e6eefb;
}
html{ color-scheme: light !important; }
body{ background: var(--skn-bg) !important; color: var(--skn-ink) !important; }

/* Generic surfaces */
.header, header, .topbar, .site-header,
footer, .site-footer,
.card, .panel, .box, .widget, .tool-card, .calculator-card, .module, .feature,
aside, .sidebar, .leftnav, .side-panel,
.container, .grid, .searchbar, .footer {
  background: var(--skn-surface) !important;
  border-color: var(--skn-border) !important;
  color: var(--skn-ink) !important;
}

/* Tabs / chips / categories */
.tabs .tab, .category-tabs .tab, .chip, .pill, .category, .filter-chip, .tag, .badge {
  background: var(--skn-primary-50) !important;
  color: var(--skn-ink) !important;
  border: 1px solid var(--skn-primary-100) !important;
  border-radius: 999px !important;
}
.tabs .tab.active, .category-tabs .tab.active, .chip.active, .pill.active, .category.active {
  background: var(--skn-primary-500) !important;
  color: #fff !important;
  border-color: var(--skn-primary-500) !important;
}

/* Buttons */
button, .btn, input[type=submit], input[type=button], .button {
  background: var(--skn-primary-600) !important;
  color: #fff !important;
  border: 1px solid var(--skn-primary-600) !important;
  border-radius: 12px !important;
}
button.ghost, .btn.ghost, .button.ghost {
  background: transparent !important;
  color: var(--skn-primary-700) !important;
  border-color: var(--skn-primary-300) !important;
}
button.secondary, .btn.secondary {
  background: var(--skn-primary-100) !important;
  color: var(--skn-primary-700) !important;
  border-color: var(--skn-primary-200) !important;
}

/* Inputs */
input, select, textarea {
  background: #fff !important;
  color: var(--skn-ink) !important;
  border: 1px solid var(--skn-border) !important;
  border-radius: 12px !important;
}

/* Results / info boxes */
.result, .notice, .info, .summary, .output {
  background: var(--skn-primary-50) !important;
  color: var(--skn-ink) !important;
  border: 1px solid var(--skn-primary-100) !important;
  border-radius: 12px !important;
}

/* Tables */
table { background: var(--skn-surface) !important; border: 1px solid var(--skn-border) !important; }
thead th { background: var(--skn-primary-50) !important; color: var(--skn-ink) !important; }

/* Kill any explicit black backgrounds from existing CSS */
*[style*="background:#000"], *[style*="background: #000"], *[style*="background:black"], *[style*="background: black"],
.bg-black, .bg_dark, .dark-bg, .bg--black, .black-bg {
  background: var(--skn-primary-100) !important;
  color: var(--skn-ink) !important;
}

/* If a CSS variable falls back to black, force a safer fallback */
:root{
  --btn-bg: var(--skn-primary-600) !important;
  --tab-bg: var(--skn-primary-50) !important;
  --surface: var(--skn-surface) !important;
}
