:root {
  --brand: #0d6efd;
  --bg: #f8fafb;
  --text: #212529;
  --muted: #6c757d;
  --card-bg: #ffffff;
  --border: #e9ecef;
  --shadow: 0 10px 20px rgba(0,0,0,.06);
  --brand-text: var(--text);
}

[data-theme="dark"] {
  --bg: #0f1115;
  --text: #e9ecef;
  --muted: #adb5bd;
  --card-bg: #1a1f29;
  --border: #2a303c;
  --shadow: 0 10px 20px rgba(0,0,0,.35);
  --brand-text: #86b7fe;
}

body { background-color: var(--bg); color: var(--text); padding-bottom: 60px; font-family: "Century Gothic", "Segoe UI", Tahoma, Arial, sans-serif; }
.navbar, .card, .table, .modal-content { background-color: var(--card-bg) !important; color: var(--text); }
.navbar { border-bottom: 1px solid var(--border) !important; }
.navbar .navbar-brand { font-weight: 600; }
.navbar .navbar-brand span { color: var(--brand-text); }
.card-header { background-color: var(--card-bg) !important; color: var(--text); border-bottom: 1px solid var(--border); }
[data-theme="dark"] .bg-white { background-color: var(--card-bg) !important; }
[data-theme="dark"] .table-light { background-color: var(--card-bg) !important; color: var(--text) !important; }
.table thead th { font-weight: 600; }
.badge { font-size: .85rem; }
.text-secondary { color: var(--muted) !important; }

.nav-tabs .nav-link { color: var(--text); border-color: var(--border) var(--border) var(--border); }
.nav-tabs .nav-link.active { color: var(--text); background-color: var(--card-bg); border-color: var(--border) var(--border) var(--card-bg); }

.modal-header { border-bottom: 1px solid var(--border); }

.card { border-radius: 12px; border: 1px solid var(--border); box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.12); }

.btn { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 8px 16px rgba(0,0,0,.12); }
.btn:active { transform: translateY(0); box-shadow: none; }
.btn-outline-secondary, .btn-outline-primary, .btn-outline-danger { color: var(--text); border-color: var(--border); }
.btn-outline-secondary:hover, .btn-outline-primary:hover, .btn-outline-danger:hover { background-color: rgba(0,0,0,.05); }
[data-theme="dark"] .btn-outline-secondary:hover, [data-theme="dark"] .btn-outline-primary:hover, [data-theme="dark"] .btn-outline-danger:hover { background-color: rgba(255,255,255,.06); }

.form-control, .form-select { background-color: var(--card-bg); color: var(--text); border-color: var(--border); }
.form-control::placeholder { color: var(--muted); }

.table { color: var(--text); }
.table thead { background-color: rgba(0,0,0,.03); }
[data-theme="dark"] .table thead { background-color: rgba(255,255,255,.03); }
.table td, .table th { border-color: var(--border); }
.table-hover tbody tr:hover { background-color: rgba(0,0,0,.03); }
[data-theme="dark"] .table-hover tbody tr:hover { background-color: rgba(255,255,255,.06); }
[data-theme="dark"] .table { background-color: var(--card-bg); --bs-table-bg: #141922; --bs-table-color: var(--text); --bs-table-border-color: var(--border); --bs-table-hover-bg: rgba(255,255,255,.06); }
[data-theme="dark"] .table tbody tr { background-color: var(--bs-table-bg); color: var(--bs-table-color); }
[data-theme="dark"] .table thead.table-light { --bs-table-bg: var(--card-bg); --bs-table-color: var(--text); }
[data-theme="dark"] .table thead.table-light th { background-color: var(--card-bg) !important; color: var(--text) !important; }
[data-theme="dark"] .list-group-item { background-color: var(--card-bg); color: var(--text); border-color: var(--border); }

.alert { background-color: var(--card-bg); color: var(--text); border-color: var(--border); border-left: 4px solid var(--border); }
.alert-danger { border-left-color: #dc3545; }
.alert-success { border-left-color: #198754; }

.status-badge { border-radius: 999px; padding: .25rem .6rem; font-weight: 600; }
.status-Open { background-color: #e7f1ff; color: #0d6efd; }
.status-In\ Review { background-color: #fff3cd; color: #856404; }
.status-Fixed { background-color: #e2f7e1; color: #0f5132; }
.status-Closed { background-color: #f8d7da; color: #842029; }

.theme-toggle { display: inline-flex; align-items: center; gap: .4rem; }

.app-footer { position: fixed; left: 0; right: 0; bottom: 0; background-color: var(--card-bg); color: var(--muted); border-top: 1px solid var(--border); padding: .6rem 1rem; font-size: .875rem; z-index: 1020; display: flex; justify-content: center; }

.toast { background-color: var(--card-bg); color: var(--text); border: 1px solid var(--border); }
.btn-close { filter: invert(0); }
[data-theme="dark"] .btn-close { filter: invert(1); }

.severity-badge { border-radius: 999px; padding: .25rem .6rem; font-weight: 700; }
.severity-Critical { background-color: #dc3545; color: #fff; }

