/* EIP Theme System — Light / Dark 雙主題切換
   消費端只需在站台 site.css / eip.css 也用 [data-theme="dark"] 覆蓋自有變數即可 */

/* ========== 淺色主題 (預設) ========== */
:root {
  /* eip.css 變數 */
  --eip-main-bg: #F6F7F9;
  --eip-card-bg: #FFFFFF;
  --eip-border: #C7D2E3;
  --eip-primary: #14256A;
  --eip-accent: #1462CC;
  --eip-accent-hover: #1b4f9f;
  --eip-text-main: #111827;
  --eip-text-muted: #6B7280;
  --eip-footer-height: 56px;

  /* site.css 變數 */
  --accent-primary: #14256A;
  --accent-secondary: #1462CC;
  --table-header-bg: #f8fafc;
  --bg-main: #f8fafc;
  --bg-white: #ffffff;
  --text-primary: #0f172a;
  --text-muted: #64748b;

  /* Sidebar / Layout 專用 */
  --sidebar-bg: #FFFFFF;
  --sidebar-border: #E2E8F0;
  --sidebar-header-bg: linear-gradient(135deg, #14256A 0%, #1462CC 100%);
  --sidebar-header-text: #FFFFFF;
  --sidebar-toggle-color: rgba(255, 255, 255, 0.65);
  --sidebar-toggle-hover-bg: rgba(255, 255, 255, 0.15);
  --sidebar-toggle-border: rgba(255, 255, 255, 0.25);
  --menu-section-header-bg: #F8FAFC;
  --menu-section-header-color: #6B7280;
  --menu-section-header-border: #E2E8F0;
  --menu-item-color: #475569;
  --menu-item-hover-bg: #F8FAFC;
  --menu-item-hover-color: #1E40AF;
  --menu-item-active-bg: #DBEAFE;
  --menu-item-active-color: #1E40AF;
  --menu-item-active-border: #2563EB;
  --menu-item-border: #F1F5F9;
  --sidebar-footer-bg: #FFFFFF;
  --sidebar-footer-border: #E2E8F0;

  /* Header */
  --header-bg: #FFFFFF;
  --header-border: #E2E8F0;
  --header-title-color: #0F172A;

  /* Content */
  --content-bg: #F6F7F9;
  --card-bg: #FFFFFF;
  --card-border: #E2E8F0;
  --card-header-bg: #F8FAFC;
  --card-header-border: #E2E8F0;

  /* Table */
  --table-bg: #FFFFFF;
  --table-thead-bg: #F8FAFC;
  --table-thead-color: #6B7280;
  --table-thead-border: #E2E8F0;

  /* Form */
  --input-bg: #FFFFFF;
  --input-border: #C7D2E3;
  --input-color: #111827;
  --input-disabled-bg: #e9ecef;

  /* Dropdown */
  --dropdown-bg: #FFFFFF;
  --dropdown-border: transparent;
  --dropdown-item-hover-bg: #F8FAFC;

  /* Badge / Avatar */
  --avatar-bg: #6B7280;
}

/* ========== 深色主題 ========== */
[data-theme="dark"] {
  --eip-main-bg: #0f172a;
  --eip-card-bg: #1e293b;
  --eip-border: #334155;
  --eip-primary: #3b82f6;
  --eip-accent: #60a5fa;
  --eip-accent-hover: #93c5fd;
  --eip-text-main: #e2e8f0;
  --eip-text-muted: #94a3b8;

  --accent-primary: #3b82f6;
  --accent-secondary: #60a5fa;
  --table-header-bg: #1e293b;
  --bg-main: #0f172a;
  --bg-white: #1e293b;
  --text-primary: #f1f5f9;
  --text-muted: #94a3b8;

  --sidebar-bg: #1e293b;
  --sidebar-border: #334155;
  --sidebar-header-bg: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
  --sidebar-header-text: #e2e8f0;
  --sidebar-toggle-color: rgba(226, 232, 240, 0.65);
  --sidebar-toggle-hover-bg: rgba(226, 232, 240, 0.15);
  --sidebar-toggle-border: rgba(226, 232, 240, 0.25);
  --menu-section-header-bg: #162032;
  --menu-section-header-color: #94a3b8;
  --menu-section-header-border: #334155;
  --menu-item-color: #cbd5e1;
  --menu-item-hover-bg: #162032;
  --menu-item-hover-color: #60a5fa;
  --menu-item-active-bg: #1e3a5f;
  --menu-item-active-color: #93c5fd;
  --menu-item-active-border: #3b82f6;
  --menu-item-border: #1e293b;
  --sidebar-footer-bg: #1e293b;
  --sidebar-footer-border: #334155;

  --header-bg: #1e293b;
  --header-border: #334155;
  --header-title-color: #f1f5f9;

  --content-bg: #0f172a;
  --card-bg: #1e293b;
  --card-border: #334155;
  --card-header-bg: #162032;
  --card-header-border: #334155;

  --table-bg: #1e293b;
  --table-thead-bg: #162032;
  --table-thead-color: #94a3b8;
  --table-thead-border: #334155;

  --input-bg: #1e293b;
  --input-border: #475569;
  --input-color: #e2e8f0;
  --input-disabled-bg: #0f172a;

  --dropdown-bg: #1e293b;
  --dropdown-border: #334155;
  --dropdown-item-hover-bg: #162032;

  --avatar-bg: #475569;
}

/* ========== 套用變數到 eip-admin.css 硬編碼 ========== */

/* Body / 整體背景 */
[data-theme="dark"] .admin-body {
  background-color: var(--eip-main-bg);
}

/* Sidebar */
[data-theme="dark"] .admin-sidebar {
  background-color: var(--sidebar-bg);
  border-right-color: var(--sidebar-border);
}

[data-theme="dark"] .admin-sidebar-header {
  background: var(--sidebar-header-bg);
  border-bottom-color: var(--sidebar-border);
}

[data-theme="dark"] .admin-brand {
  color: var(--sidebar-header-text);
}

[data-theme="dark"] .admin-brand i {
  color: var(--sidebar-header-text);
}

[data-theme="dark"] .sidebar-toggle-btn {
  color: var(--sidebar-toggle-color);
  border-color: var(--sidebar-toggle-border);
}

[data-theme="dark"] .sidebar-toggle-btn:hover,
[data-theme="dark"] .sidebar-toggle-btn:focus {
  color: var(--sidebar-header-text);
  background-color: var(--sidebar-toggle-hover-bg);
}

/* Menu */
[data-theme="dark"] .menu-section-header {
  color: var(--menu-section-header-color);
  background-color: var(--menu-section-header-bg);
  border-bottom-color: var(--menu-section-header-border);
}

[data-theme="dark"] .menu-item {
  color: var(--menu-item-color);
  border-bottom-color: var(--menu-item-border);
}

[data-theme="dark"] .menu-item:hover {
  background-color: var(--menu-item-hover-bg);
  color: var(--menu-item-hover-color);
}

[data-theme="dark"] .menu-item.active {
  background-color: var(--menu-item-active-bg);
  color: var(--menu-item-active-color);
  border-left-color: var(--menu-item-active-border);
}

/* Sidebar Footer */
[data-theme="dark"] .admin-sidebar-footer {
  background-color: var(--sidebar-footer-bg);
  border-top-color: var(--sidebar-footer-border);
}

/* Header */
[data-theme="dark"] .admin-header {
  background-color: var(--header-bg);
  border-bottom-color: var(--header-border);
}

[data-theme="dark"] .admin-header-title h4 {
  color: var(--header-title-color);
}

/* Main Content */
[data-theme="dark"] .admin-content {
  background-color: var(--content-bg);
}

/* Cards */
[data-theme="dark"] .card,
[data-theme="dark"] .admin-content .card {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .admin-content .card-header,
[data-theme="dark"] .admin-content .card-footer {
  background-color: var(--card-header-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .card-body { color: var(--text-primary); }
[data-theme="dark"] .card-title { color: var(--text-primary); }

/* Tables */
[data-theme="dark"] .table,
[data-theme="dark"] .admin-content .table {
  background-color: var(--table-bg) !important;
  color: var(--text-primary);
  --bs-table-bg: var(--table-bg);
  --bs-table-color: var(--text-primary);
  --bs-table-border-color: var(--card-border);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .table > :not(caption) > * > * {
  background-color: var(--table-bg);
  color: var(--text-primary);
  border-bottom-color: var(--card-border);
}

[data-theme="dark"] .table > thead,
[data-theme="dark"] .admin-content .table thead th {
  background-color: var(--table-thead-bg) !important;
  color: var(--table-thead-color);
  border-bottom-color: var(--table-thead-border);
  --bs-table-bg-state: var(--table-thead-bg);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(255, 255, 255, 0.04);
  background-color: var(--bs-table-accent-bg) !important;
}

[data-theme="dark"] .table-bordered,
[data-theme="dark"] .table-bordered > :not(caption) > * > * {
  border-color: var(--card-border);
}

[data-theme="dark"] .table-hover > tbody > tr:hover {
  --bs-table-hover-bg: rgba(255, 255, 255, 0.08);
  background-color: var(--bs-table-hover-bg);
}

/* Dropdowns in HeaderBar */
[data-theme="dark"] .dropdown-menu {
  background-color: var(--dropdown-bg);
  border-color: var(--dropdown-border);
}

[data-theme="dark"] .dropdown-item {
  color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--dropdown-item-hover-bg);
  color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item.active,
[data-theme="dark"] .dropdown-item:active {
  background-color: var(--accent-primary);
  color: #ffffff;
}

[data-theme="dark"] .dropdown-divider {
  border-top-color: var(--sidebar-border);
}

/* Avatar */
[data-theme="dark"] .eip-avatar {
  background-color: var(--avatar-bg);
}

/* Links in header bar */
[data-theme="dark"] .admin-header-actions a.text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .admin-header-actions a.text-decoration-none {
  color: var(--text-primary);
}

/* Separator */
[data-theme="dark"] .admin-header-actions span.text-muted {
  color: var(--text-muted) !important;
}

/* Front-end header / footer */
[data-theme="dark"] .eip-header {
  background-color: var(--header-bg);
  border-bottom-color: var(--header-border);
}

[data-theme="dark"] .eip-header-actions a.text-decoration-none {
  color: var(--text-primary);
}

[data-theme="dark"] .eip-header-actions span.text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .eip-footer {
  background-color: var(--card-bg);
  border-top-color: var(--card-border);
}

/* Form controls (common) */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] input.form-control,
[data-theme="dark"] select.form-select,
[data-theme="dark"] textarea.form-control {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border);
  color: var(--input-color) !important;
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--text-muted);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--input-bg) !important;
  border-color: var(--eip-accent);
  color: var(--input-color) !important;
  box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.25);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly] {
  background-color: var(--input-disabled-bg) !important;
}

[data-theme="dark"] .form-label { color: var(--text-primary); }

/* Radio / Checkbox (form-check) */
[data-theme="dark"] .form-check-input {
  background-color: var(--input-bg);
  border-color: var(--input-border);
}

[data-theme="dark"] .form-check-input:checked {
  background-color: var(--eip-accent);
  border-color: var(--eip-accent);
}

[data-theme="dark"] .form-check-label {
  color: var(--text-primary);
}

/* Table striped variant */
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(255, 255, 255, 0.03);
}

/* Pagination Bar (if using table pagination) */
[data-theme="dark"] .page-link {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .page-link:hover {
  background-color: var(--menu-item-hover-bg);
  border-color: var(--card-border);
  color: var(--eip-accent);
}

[data-theme="dark"] .page-item.active .page-link {
  background-color: var(--eip-accent);
  border-color: var(--eip-accent);
  color: #ffffff;
}

[data-theme="dark"] .page-item.disabled .page-link {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-muted);
}

/* Pagination info text */
[data-theme="dark"] .text-muted {
  color: var(--text-muted) !important;
}

/* Headings & body text in dark mode */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
  color: var(--text-primary);
}

[data-theme="dark"] p { color: var(--text-primary); }

[data-theme="dark"] a { color: var(--eip-accent); }
[data-theme="dark"] a:hover { color: var(--eip-accent-hover); }
[data-theme="dark"] a.btn { color: var(--bs-btn-color); }
[data-theme="dark"] a.btn:hover { color: var(--bs-btn-hover-color); }

/* Small / helper text */
[data-theme="dark"] small,
[data-theme="dark"] .small { color: var(--text-muted); }
[data-theme="dark"] .help-text,
[data-theme="dark"] .helper-text { color: var(--text-muted); }

/* Toast background overrides */
[data-theme="dark"] .toast {
  background-color: var(--card-bg);
  border-color: var(--card-border);
}

/* Offcanvas (mobile sidebar) */
[data-theme="dark"] .offcanvas {
  background-color: var(--sidebar-bg);
  color: var(--text-primary);
}

[data-theme="dark"] .offcanvas .btn-close {
  filter: invert(0.8);
}

/* Modal */
[data-theme="dark"] .modal-content {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .modal-header {
  border-bottom-color: var(--card-border);
}

[data-theme="dark"] .modal-footer {
  border-top-color: var(--card-border);
}

/* Close button in dark modals */
[data-theme="dark"] .btn-close {
  filter: invert(0.8);
}

/* Cross-module navigator dark overrides */
[data-theme="dark"] .cmn-panel {
  background-color: var(--sidebar-bg);
  border-left-color: var(--sidebar-border);
}

/* Scenario coach (already dark, adjust border) */
[data-theme="dark"] #eip-scenario-coach-mount {
  --sc-bg: #1e293b;
  --sc-border: #334155;
  --sc-text: #e2e8f0;
}

/* ========== Subsystem Dashboard (子系統首頁) 深色覆蓋 ========== */
[data-theme="dark"] .erp-dashboard-wrap,
[data-theme="dark"] .erp-layout {
  color: var(--text-primary);
  background-color: var(--content-bg);
  border-color: var(--card-border);
}

[data-theme="dark"] .quick-action-card,
[data-theme="dark"] .doc-card {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .quick-action-name,
[data-theme="dark"] .doc-card h3 {
  color: var(--text-primary);
}

[data-theme="dark"] .quick-action-subtitle,
[data-theme="dark"] .doc-summary,
[data-theme="dark"] .empty-state {
  color: var(--text-muted);
}

[data-theme="dark"] .doc-card li {
  border-bottom-color: var(--card-border);
  color: var(--text-primary);
}

[data-theme="dark"] .doc-card li a {
  color: var(--text-primary);
}

[data-theme="dark"] .doc-card li a:hover {
  color: var(--eip-accent);
}

/* Header Bar 文字在深色底色上的可讀性補強 */
[data-theme="dark"] .admin-header-actions a,
[data-theme="dark"] .admin-header-actions button {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .admin-header-actions a:hover,
[data-theme="dark"] .admin-header-actions button:hover {
  color: var(--eip-accent) !important;
}

[data-theme="dark"] .admin-header-actions .dropdown-toggle::after {
  border-top-color: var(--text-primary);
}

[data-theme="dark"] .admin-header-actions .eip-avatar {
  background-color: var(--eip-accent);
  color: #ffffff;
}

/* ========== Bootstrap 背景工具類深色覆蓋 ========== */
[data-theme="dark"] .bg-light {
  background-color: var(--eip-main-bg) !important;
}

/* ========== Bootstrap 按鈕深色主題覆蓋 ========== */
[data-theme="dark"] .btn.btn-primary {
  color: #ffffff !important;
  background-color: var(--eip-accent) !important;
  border-color: var(--eip-accent) !important;
}
[data-theme="dark"] .btn.btn-primary:hover {
  color: #ffffff !important;
  background-color: #3b82f6 !important;
  border-color: #3b82f6 !important;
}
[data-theme="dark"] .btn.btn-primary:active,
[data-theme="dark"] .btn.btn-primary.active {
  color: #ffffff !important;
  background-color: #2563eb !important;
  border-color: #2563eb !important;
}

[data-theme="dark"] .btn.btn-outline-primary {
  color: var(--eip-accent) !important;
  border-color: var(--eip-accent) !important;
}
[data-theme="dark"] .btn.btn-outline-primary:hover {
  color: #ffffff !important;
  background-color: var(--eip-accent) !important;
  border-color: var(--eip-accent) !important;
}
[data-theme="dark"] .btn.btn-outline-primary:active,
[data-theme="dark"] .btn.btn-outline-primary.active {
  color: #ffffff !important;
  background-color: #3b82f6 !important;
  border-color: #3b82f6 !important;
}

[data-theme="dark"] .btn.btn-secondary {
  color: #f1f5f9 !important;
  background-color: #475569 !important;
  border-color: #475569 !important;
}
[data-theme="dark"] .btn.btn-secondary:hover {
  color: #ffffff !important;
  background-color: #64748b !important;
  border-color: #64748b !important;
}

[data-theme="dark"] .btn.btn-outline-secondary {
  color: #94a3b8 !important;
  border-color: #475569 !important;
}
[data-theme="dark"] .btn.btn-outline-secondary:hover {
  color: #f1f5f9 !important;
  background-color: #334155 !important;
  border-color: #64748b !important;
}
[data-theme="dark"] .btn.btn-outline-secondary:active,
[data-theme="dark"] .btn.btn-outline-secondary.active {
  color: #ffffff !important;
  background-color: #475569 !important;
  border-color: #64748b !important;
}

[data-theme="dark"] .btn.btn-warning {
  color: #0f172a !important;
  background-color: #f59e0b !important;
  border-color: #f59e0b !important;
}
[data-theme="dark"] .btn.btn-warning:hover {
  color: #0f172a !important;
  background-color: #d97706 !important;
  border-color: #d97706 !important;
}

[data-theme="dark"] .btn.btn-danger {
  color: #ffffff !important;
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
}
[data-theme="dark"] .btn.btn-danger:hover {
  color: #ffffff !important;
  background-color: #b91c1c !important;
  border-color: #b91c1c !important;
}

[data-theme="dark"] .btn.btn-success {
  color: #ffffff !important;
  background-color: #16a34a !important;
  border-color: #16a34a !important;
}
[data-theme="dark"] .btn.btn-success:hover {
  color: #ffffff !important;
  background-color: #15803d !important;
  border-color: #15803d !important;
}

[data-theme="dark"] .btn.btn-info {
  color: #0f172a !important;
  background-color: #38bdf8 !important;
  border-color: #38bdf8 !important;
}
[data-theme="dark"] .btn.btn-info:hover {
  color: #0f172a !important;
  background-color: #0ea5e9 !important;
  border-color: #0ea5e9 !important;
}
