/**
 * Dark Mode Stylesheet
 * Customer Discount System
 * Version: 1.0
 */

:root {
    --dark-bg-primary: #121212;
    --dark-bg-secondary: #1e1e1e;
    --dark-bg-tertiary: #2d2d2d;
    --dark-text-primary: #e0e0e0;
    --dark-text-secondary: #a0a0a0;
    --dark-text-muted: #6c757d;
    --dark-border-color: #333333;
    --dark-card-cap-bg: #292929;
    --dark-input-bg: #2c2c2c;
    --dark-input-border: #444444;
    --dark-input-color: #e0e0e0;
    --dark-scrollbar-thumb: #454545;
    --dark-scrollbar-track: #2c2c2c;
    --dark-hover-bg: rgba(255, 255, 255, 0.1);
    --dark-focus-shadow: rgba(52, 144, 220, 0.25);
    --hlco-blue: #f2c200;
    --hlco-blue-dark: #c99b00;
}

body.dark-mode {
    background-color: var(--dark-bg-primary);
    color: var(--dark-text-primary);
}

/* Sidebar */
body.dark-mode .sidebar {
    background-color: var(--dark-bg-secondary);
    border-right: 1px solid var(--dark-border-color);
}

body.dark-mode .sidebar-brand {
    background-color: var(--dark-bg-secondary);
}

body.dark-mode .sidebar-divider {
    border-top: 1px solid var(--dark-border-color);
}

body.dark-mode .sidebar-heading {
    color: var(--dark-text-secondary);
}

body.dark-mode .nav-item .nav-link {
    color: var(--dark-text-primary);
}

body.dark-mode .nav-item .nav-link:hover {
    background-color: var(--dark-hover-bg);
}

body.dark-mode .nav-item .nav-link.active {
    background-color: var(--dark-hover-bg);
}

body.dark-mode .sidebar-dark .nav-item .nav-link:active i {
    color: #fff;
}

/* Topbar */
body.dark-mode .topbar {
    background-color: var(--dark-bg-secondary);
    border-bottom: 1px solid var(--dark-border-color);
}

body.dark-mode .topbar .dropdown-list .dropdown-header {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-color);
    color: var(--dark-text-primary);
}

body.dark-mode .topbar .dropdown-menu {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-color);
}

body.dark-mode .topbar .dropdown-item {
    color: var(--dark-text-primary);
}

body.dark-mode .topbar .dropdown-item:hover {
    background-color: var(--dark-hover-bg);
}

body.dark-mode .topbar .dropdown-divider {
    border-top-color: var(--dark-border-color);
}

body.dark-mode .topbar .navbar-search .form-control {
    background-color: var(--dark-input-bg);
    border-color: var(--dark-input-border);
    color: var(--dark-input-color);
}

body.dark-mode .topbar .navbar-search .form-control::placeholder {
    color: var(--dark-text-muted);
}

/* Cards */
body.dark-mode .card {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border-color);
}

body.dark-mode .card-header {
    background-color: var(--dark-card-cap-bg);
    border-bottom-color: var(--dark-border-color);
}

body.dark-mode .card-footer {
    background-color: var(--dark-card-cap-bg);
    border-top-color: var(--dark-border-color);
}

/* Tables */
body.dark-mode .table {
    color: var(--dark-text-primary);
}

body.dark-mode .table-bordered {
    border-color: var(--dark-border-color);
}

body.dark-mode .table th,
body.dark-mode .table td {
    border-color: var(--dark-border-color);
}

body.dark-mode .table-hover tbody tr:hover {
    background-color: var(--dark-hover-bg);
    color: var(--dark-text-primary);
}

body.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Forms */
body.dark-mode .form-control,
body.dark-mode .form-select {
    background-color: var(--dark-input-bg);
    border-color: var(--dark-input-border);
    color: var(--dark-input-color);
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: var(--dark-input-bg);
    border-color: var(--hlco-blue);
    color: var(--dark-input-color);
    box-shadow: 0 0 0 0.25rem var(--dark-focus-shadow);
}

body.dark-mode .form-control::placeholder,
body.dark-mode .form-select::placeholder {
    color: var(--dark-text-muted);
}

body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly],
body.dark-mode .form-select:disabled {
    background-color: #333333;
    color: #777777;
}

body.dark-mode .form-text {
    color: var(--dark-text-muted);
}

body.dark-mode .form-check-input {
    background-color: var(--dark-input-bg);
    border-color: var(--dark-input-border);
}

/* تحسين ظهور تسميات النماذج في الوضع الليلي */
body.dark-mode label,
body.dark-mode .form-check-label,
body.dark-mode .form-label {
    color: var(--dark-text-primary);
}

/* Buttons */
body.dark-mode .btn-close {
    filter: invert(1);
}

body.dark-mode .btn-secondary {
    background-color: #555555;
    border-color: #444444;
}

body.dark-mode .btn-light {
    background-color: #444444;
    border-color: #333333;
    color: var(--dark-text-primary);
}

body.dark-mode .btn-outline-secondary {
    color: #a0a0a0;
    border-color: #444444;
}

body.dark-mode .btn-outline-secondary:hover {
    background-color: #444444;
    color: var(--dark-text-primary);
}

/* Modals */
body.dark-mode .modal-content {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border-color);
}

body.dark-mode .modal-header {
    border-bottom-color: var(--dark-border-color);
}

body.dark-mode .modal-footer {
    border-top-color: var(--dark-border-color);
}

/* Pagination */
body.dark-mode .page-item.disabled .page-link {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-color);
    color: var(--dark-text-muted);
}

body.dark-mode .page-link {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-color);
    color: var(--dark-text-secondary);
}

body.dark-mode .page-link:hover {
    background-color: var(--dark-hover-bg);
    border-color: var(--dark-border-color);
    color: var(--dark-text-primary);
}

body.dark-mode .page-item.active .page-link {
    background-color: var(--hlco-blue);
    border-color: var(--hlco-blue);
}

/* Alerts */
body.dark-mode .alert {
    border-color: var(--dark-border-color);
}

body.dark-mode .alert-secondary {
    background-color: #333333;
    color: var(--dark-text-primary);
}

/* Lists */
body.dark-mode .list-group-item {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border-color);
    color: var(--dark-text-primary);
}

body.dark-mode .list-group-item-action:hover,
body.dark-mode .list-group-item-action:focus {
    background-color: var(--dark-hover-bg);
    color: var(--dark-text-primary);
}

/* Charts */
body.dark-mode .chart-area canvas,
body.dark-mode .chart-pie canvas,
body.dark-mode .chart-bar canvas {
    filter: invert(0.9) hue-rotate(180deg) brightness(1.1) contrast(0.9);
}

/* Dropdown */
body.dark-mode .dropdown-menu {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-color);
}

body.dark-mode .dropdown-item {
    color: var(--dark-text-primary);
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
    background-color: var(--dark-hover-bg);
    color: var(--dark-text-primary);
}

body.dark-mode .dropdown-divider {
    border-top-color: var(--dark-border-color);
}

/* Scrollbar */
body.dark-mode ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

body.dark-mode ::-webkit-scrollbar-track {
    background: var(--dark-scrollbar-track);
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background-color: var(--dark-scrollbar-thumb);
    border-radius: 6px;
    border: 3px solid var(--dark-scrollbar-track);
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background-color: #555555;
}

/* Links */
body.dark-mode a:not(.btn):not(.page-link):not(.dropdown-item):not(.nav-link) {
    color: var(--hlco-blue);
}

body.dark-mode a:not(.btn):not(.page-link):not(.dropdown-item):not(.nav-link):hover {
    color: var(--hlco-blue-dark);
}

/* Other custom elements */
body.dark-mode .bg-light {
    background-color: var(--dark-bg-tertiary) !important;
}

body.dark-mode .text-muted {
    color: var(--dark-text-muted) !important;
}

body.dark-mode .border {
    border-color: var(--dark-border-color) !important;
}

body.dark-mode .border-top {
    border-top-color: var(--dark-border-color) !important;
}

body.dark-mode .border-bottom {
    border-bottom-color: var(--dark-border-color) !important;
}

body.dark-mode .border-start {
    border-left-color: var(--dark-border-color) !important;
}

body.dark-mode .border-end {
    border-right-color: var(--dark-border-color) !important;
}

/* Membership card colors for dark mode */
body.dark-mode .membership-card.bg-warning {
    background-color: #866a00 !important;
}

body.dark-mode .membership-card.bg-secondary {
    background-color: #555555 !important;
}

body.dark-mode .membership-card.bg-danger {
    background-color: #722530 !important;
}

body.dark-mode .membership-card.bg-primary {
    background-color: #0c4783 !important;
}

/* RTL support for dark mode */
[dir="rtl"] body.dark-mode .sidebar {
    border-right: none;
    border-left: 1px solid var(--dark-border-color);
}

[dir="rtl"] body.dark-mode .dropdown-item {
    text-align: right;
}

/* Logo and branding adjustments for dark mode */
body.dark-mode .navbar-brand img,
body.dark-mode .sidebar-brand-icon img {
    filter: brightness(1.8);
}

/* Print override - disable dark mode for printing */
@media print {
    body.dark-mode {
        background-color: white !important;
        color: black !important;
    }
    
    body.dark-mode * {
        background-color: white !important;
        color: black !important;
        border-color: #ddd !important;
    }
}
