/* ================================================================
   Dark Mode — Phase 1
   Bootstrap 5.3 [data-bs-theme="dark"] üzerine custom override'lar
   ================================================================ */

[data-bs-theme="dark"] {
    --sidebar-bg: linear-gradient(180deg, #020617 0%, #0b1220 100%);
    --sidebar-text: #94a3b8;
    --sidebar-active: #6366f1;
    --sidebar-active-bg: rgba(99,102,241,0.18);
    --primary: #6366f1;
    --primary-dark: #4f46e5;
    --primary-light: rgba(99,102,241,0.18);
    --accent: #a78bfa;
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #f87171;
    --surface: #1e293b;
    --surface-hover: #0f172a;
    --border: #334155;
    --border-light: #1e293b;
    --text-primary: #e2e8f0;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    color-scheme: dark;
}

/* === BODY === */
[data-bs-theme="dark"] body {
    background: #0b1220;
    color: var(--text-primary);
}

/* === TOPBAR === */
[data-bs-theme="dark"] .topbar {
    background: rgba(15,23,42,0.92) !important;
    border-bottom-color: var(--border) !important;
    backdrop-filter: blur(12px);
}
[data-bs-theme="dark"] .topbar-title { color: var(--text-primary); }

/* === SIDEBAR === */
[data-bs-theme="dark"] .sidebar { border-right-color: rgba(255,255,255,0.04); }

/* === CARDS === */
[data-bs-theme="dark"] .card {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-primary);
}
[data-bs-theme="dark"] .card-header {
    background: var(--surface);
    border-bottom-color: var(--border);
    color: var(--text-primary);
}
[data-bs-theme="dark"] .card-footer {
    background: var(--surface);
    border-top-color: var(--border);
    color: var(--text-secondary);
}

/* === TABLES === */
[data-bs-theme="dark"] .table {
    color: var(--text-primary);
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: var(--border);
    --bs-table-striped-color: var(--text-primary);
    --bs-table-striped-bg: rgba(255,255,255,0.02);
    --bs-table-hover-color: #fff;
    --bs-table-hover-bg: rgba(99,102,241,0.08);
}
[data-bs-theme="dark"] .table thead th {
    background: #0b1220 !important;
    color: var(--text-secondary) !important;
    border-bottom-color: var(--border) !important;
}
[data-bs-theme="dark"] .table tbody td { border-bottom-color: var(--border-light); }
[data-bs-theme="dark"] .table-dark thead th { background: #020617 !important; }
[data-bs-theme="dark"] .table-bordered { --bs-table-border-color: var(--border); }
[data-bs-theme="dark"] .table-warning,
[data-bs-theme="dark"] .table-warning > * {
    --bs-table-bg: rgba(245,158,11,0.12);
    color: var(--text-primary) !important;
}

/* === FORMS === */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background: #0f172a;
    color: var(--text-primary);
    border-color: var(--border);
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background: #0f172a;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(99,102,241,0.18);
    color: var(--text-primary);
}
[data-bs-theme="dark"] .form-control::placeholder { color: rgba(148,163,184,0.5); }
[data-bs-theme="dark"] .input-group-text {
    background: #0f172a;
    color: var(--text-muted);
    border-color: var(--border);
}
[data-bs-theme="dark"] .form-label { color: var(--text-secondary); }
[data-bs-theme="dark"] .form-check-input { background-color: #0f172a; border-color: var(--border); }

/* === DROPDOWN === */
[data-bs-theme="dark"] .dropdown-menu {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-primary);
}
[data-bs-theme="dark"] .dropdown-item { color: var(--text-primary); }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus { background: rgba(99,102,241,0.12); color: #fff; }
[data-bs-theme="dark"] .dropdown-item-text { color: var(--text-secondary); }
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--border); }
[data-bs-theme="dark"] .dropdown-header { color: var(--text-muted); }

/* === MODAL === */
[data-bs-theme="dark"] .modal-content {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-primary);
}
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer { border-color: var(--border); }
[data-bs-theme="dark"] .modal-title { color: var(--text-primary); }
[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(1) brightness(1.5); }

/* === BUTTONS === */
[data-bs-theme="dark"] .btn-outline-secondary {
    color: var(--text-secondary);
    border-color: var(--border);
}
[data-bs-theme="dark"] .btn-outline-secondary:hover {
    background: rgba(99,102,241,0.12);
    border-color: var(--border);
    color: #fff;
}
[data-bs-theme="dark"] .btn-light {
    background: var(--surface);
    color: var(--text-primary);
    border-color: var(--border);
}

/* === ALERTS === */
[data-bs-theme="dark"] .alert-success { color: #6ee7b7; }
[data-bs-theme="dark"] .alert-danger  { color: #fca5a5; }
[data-bs-theme="dark"] .alert-info    { color: #93c5fd; }
[data-bs-theme="dark"] .alert-warning { color: #fcd34d; }

/* === CODE === */
[data-bs-theme="dark"] code { background: #0f172a; color: #cbd5e1; }

/* === BREADCRUMB === */
[data-bs-theme="dark"] .breadcrumb-item.text-muted,
[data-bs-theme="dark"] .breadcrumb-item.active { color: var(--text-muted) !important; }
[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color: var(--text-muted); }

/* === DATATABLES === */
[data-bs-theme="dark"] .dataTables_wrapper,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_processing { color: var(--text-secondary); }
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    background: transparent !important;
    color: var(--text-secondary) !important;
    border-color: var(--border) !important;
}
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(99,102,241,0.12) !important;
    color: #fff !important;
}
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--primary) !important;
    color: #fff !important;
}

/* === CONTAINER VIZ === */
[data-bs-theme="dark"] .container-viz {
    background: #0f172a;
    border-color: var(--border);
}
[data-bs-theme="dark"] .container-bar { background: var(--border); }

/* === TOAST === */
[data-bs-theme="dark"] .toast {
    background: var(--surface);
    color: var(--text-primary);
    border-color: var(--border);
}

/* === SCROLLBAR === */
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb { background: #334155; }
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #475569; }

/* === KPI CARD INLINE OVERRIDES === */
[data-bs-theme="dark"] .kpi-card { background: var(--surface) !important; }
[data-bs-theme="dark"] .kpi-card.active { background: rgba(99,102,241,0.12) !important; box-shadow: 0 0 0 2px var(--primary) !important; }
[data-bs-theme="dark"] .kpi-card .text-muted { color: var(--text-muted) !important; }

/* Inline color="#0f172a" gibi koyu metinleri açığa çevir */
[data-bs-theme="dark"] [style*="color:#0f172a"],
[data-bs-theme="dark"] [style*="color: #0f172a"],
[data-bs-theme="dark"] [style*="color:#1e293b"],
[data-bs-theme="dark"] [style*="color: #1e293b"] { color: var(--text-primary) !important; }

/* Inline background:#f8fafc / #f1f5f9 (light gray) → koyu yüzey */
[data-bs-theme="dark"] [style*="background:#f8fafc"],
[data-bs-theme="dark"] [style*="background: #f8fafc"],
[data-bs-theme="dark"] [style*="background:#f1f5f9"],
[data-bs-theme="dark"] [style*="background: #f1f5f9"],
[data-bs-theme="dark"] [style*="background-color:#f8fafc"],
[data-bs-theme="dark"] [style*="background-color: #f8fafc"] {
    background: #0f172a !important;
}

/* === LINKS === */
[data-bs-theme="dark"] a { color: #818cf8; }
[data-bs-theme="dark"] a:hover { color: #a5b4fc; }
[data-bs-theme="dark"] a.nav-link,
[data-bs-theme="dark"] a.dropdown-item,
[data-bs-theme="dark"] a.btn,
[data-bs-theme="dark"] .breadcrumb-item a { color: inherit; }

/* === HEADINGS === */
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6 {
    color: var(--text-primary);
}

/* === TEXT UTILITIES === */
[data-bs-theme="dark"] .text-dark { color: var(--text-primary) !important; }
[data-bs-theme="dark"] .text-muted { color: var(--text-muted) !important; }
[data-bs-theme="dark"] .text-secondary { color: var(--text-secondary) !important; }
[data-bs-theme="dark"] .bg-light { background: var(--surface-hover) !important; color: var(--text-primary); }
[data-bs-theme="dark"] .bg-white { background: var(--surface) !important; color: var(--text-primary); }
[data-bs-theme="dark"] .border { border-color: var(--border) !important; }
[data-bs-theme="dark"] .border-bottom { border-bottom-color: var(--border) !important; }
[data-bs-theme="dark"] .border-top { border-top-color: var(--border) !important; }

/* === THEME TOGGLE BUTTON === */
.theme-toggle { transition: transform 0.3s ease; }
.theme-toggle:hover { transform: rotate(-12deg) scale(1.08); }
.theme-toggle i { font-size: 0.85rem; transition: transform 0.5s cubic-bezier(0.34,1.56,0.64,1), color 0.3s; }
[data-bs-theme="dark"] .theme-toggle i { color: #fbbf24; }

/* === SMOOTH SWITCH === */
body, .card, .topbar, .modal-content, .dropdown-menu, .form-control, .form-select,
.input-group-text, .table, code, .toast, .alert {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
