/* assets/css/theme.css */

:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --surface-soft: #f1f5f9;
  --border: #d9e2ec;
  --text: #0f172a;
  --text-muted: #64748b;
  --heading: #020617;
  --accent: #f97316;
  --accent-hover: #ea580c;
  --danger: #ef4444;
  --success: #10b981;
  --warning: #f59e0b;
  --input-bg: #ffffff;
  --input-text: #0f172a;
  --input-border: #cbd5e1;
  --table-head: #f8fafc;
  --sidebar-bg: #ffffff;
  --topbar-bg: #ffffff;
  --modal-bg: #ffffff;

  /* Backward Compatibility Mappings */
  --bg-main: var(--bg);
  --bg-card: var(--surface);
  --bg-sidebar: var(--sidebar-bg);
  --border-color: var(--border);
  --border-color-heavy: var(--input-border);
  --text-main: var(--text);
  
  /* Portal backwards compatibility */
  --bg-base: var(--bg);
}

[data-theme="dark"] {
  --bg: #070d1a;
  --surface: #101827;
  --surface-soft: #111c2f;
  --border: #243044;
  --text: #e5edf8;
  --text-muted: #94a3b8;
  --heading: #ffffff;
  --accent: #f97316;
  --accent-hover: #fb923c;
  --danger: #ef4444;
  --success: #10b981;
  --warning: #f59e0b;
  --input-bg: #0b1220;
  --input-text: #e5edf8;
  --input-border: #334155;
  --table-head: #111827;
  --sidebar-bg: #0b1220;
  --topbar-bg: #0b1220;
  --modal-bg: #111827;

  /* Backward Compatibility Mappings */
  --bg-main: var(--bg);
  --bg-card: var(--surface);
  --bg-sidebar: var(--sidebar-bg);
  --border-color: var(--border);
  --border-color-heavy: var(--input-border);
  --text-main: var(--text);
  
  /* Portal backwards compatibility */
  --bg-base: var(--bg);
}

/* Global Safety Overrides to resolve hardcoded inline styles in light mode */
html[data-theme="light"] [style*="color: #FFF"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]),
html[data-theme="light"] [style*="color: #ffffff"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]),
html[data-theme="light"] [style*="color:#FFF"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]),
html[data-theme="light"] [style*="color:#ffffff"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]),
html[data-theme="light"] [style*="color: rgb(255, 255, 255)"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]),
html[data-theme="light"] [style*="color:rgb(255,255,255)"]:not(.btn):not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.badge):not(.badge-success):not(.badge-danger):not(.badge-warning):not(.alert):not([style*="background-color: var(--accent-color)"]):not([style*="background: var(--accent-color)"]):not([style*="background-color:var(--accent-color)"]):not([style*="background:var(--accent-color)"]) {
    color: var(--text) !important;
}

html[data-theme="light"] [style*="background: #111827"],
html[data-theme="light"] [style*="background:#111827"],
html[data-theme="light"] [style*="background-color: #111827"],
html[data-theme="light"] [style*="background-color:#111827"],
html[data-theme="light"] [style*="background: #101827"],
html[data-theme="light"] [style*="background:#101827"],
html[data-theme="light"] [style*="background: #131B2E"],
html[data-theme="light"] [style*="background:#131B2E"],
html[data-theme="light"] [style*="background-color: #101827"],
html[data-theme="light"] [style*="background-color:#101827"] {
    background: var(--surface) !important;
}

html[data-theme="light"] [style*="background: #0B1220"],
html[data-theme="light"] [style*="background:#0B1220"],
html[data-theme="light"] [style*="background-color: #0B1220"],
html[data-theme="light"] [style*="background-color:#0B1220"],
html[data-theme="light"] [style*="background: #070d1a"],
html[data-theme="light"] [style*="background:#070d1a"] {
    background: var(--bg) !important;
}

html[data-theme="light"] [style*="border: 1px solid #1F2937"],
html[data-theme="light"] [style*="border:1px solid #1F2937"],
html[data-theme="light"] [style*="border-color: #1F2937"],
html[data-theme="light"] [style*="border-color:#1F2937"] {
    border-color: var(--border) !important;
}

/* Ensure inputs are fully readable and adapt */
input, select, textarea {
    background: var(--input-bg) !important;
    color: var(--input-text) !important;
    border-color: var(--input-border) !important;
}
input::placeholder, textarea::placeholder {
    color: var(--text-muted) !important;
    opacity: 0.75 !important;
}
input:disabled, select:disabled, textarea:disabled {
    background: var(--surface-soft) !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Fix standard elements and tables */
body {
    background-color: var(--bg);
    color: var(--text);
}
h1, h2, h3, h4, h5, h6 {
    color: var(--heading);
}
.custom-table {
    background: var(--surface) !important;
    border-color: var(--border) !important;
}
.custom-table th {
    background: var(--table-head) !important;
    color: var(--text-muted) !important;
}
.custom-table td {
    color: var(--text) !important;
    border-color: var(--border) !important;
}
.custom-table tbody tr:hover {
    background: var(--surface-soft) !important;
}
.card {
    background: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}
.card h1, .card h2, .card h3, .card h4 {
    color: var(--heading) !important;
}
.sidebar {
    background-color: var(--sidebar-bg) !important;
    border-right-color: var(--border) !important;
}
.sidebar-menu li a {
    color: var(--text-muted) !important;
}
.sidebar-menu li.active a {
    background-color: var(--accent-light) !important;
    color: var(--accent-color) !important;
}
.topbar {
    background-color: var(--topbar-bg) !important;
    border-bottom-color: var(--border) !important;
}
.topbar-title {
    color: var(--heading) !important;
}
.drawer-panel, .modal-content {
    background: var(--modal-bg) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}
.dropdown-menu-content {
    background: var(--surface) !important;
    border-color: var(--border) !important;
}
.dropdown-item {
    color: var(--text-muted) !important;
}
.dropdown-item:hover {
    background: var(--surface-soft) !important;
    color: var(--heading) !important;
}
