/* Base styles for light mode */
:root {
    --sidebar-bg: #ffffff;
    --sidebar-text: #374151;
    --sidebar-hover: #f3f4f6;
    --sidebar-border: #e5e7eb;
    --sidebar-accent: #3b82f6;
    --sidebar-header-border: #e5e7eb;
}

/* Dark mode styles */
.dark {
    --sidebar-bg: #1f2937;
    --sidebar-text: #f9fafb;
    --sidebar-hover: #374151;
    --sidebar-border: #4b5563;
    --sidebar-accent: #60a5fa;
    --sidebar-header-border: #374151;
}

/* Sidebar styles */
.sidebar {
    background-color: var(--sidebar-bg);
    color: var(--sidebar-text);
    border-right-color: var(--sidebar-border);
}

.sidebar-header {
    border-bottom-color: var(--sidebar-header-border);
}

.sidebar-nav a {
    color: var(--sidebar-text);
    border-left: 3px solid transparent;
}

.sidebar-nav a:hover {
    background-color: var(--sidebar-hover);
    border-left-color: var(--sidebar-accent);
}

.sidebar-nav a.active {
    background-color: var(--sidebar-hover);
    border-left-color: var(--sidebar-accent);
    color: var(--sidebar-accent);
}

.sidebar-user {
    color: var(--sidebar-text);
}

.sidebar-user-role {
    color: color-mix(in srgb, var(--sidebar-text) 70%, transparent);
}

/* Main content area */
.main-content {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* Header styles */
.header {
    background-color: var(--bg-card);
    border-bottom-color: var(--border-primary);
}

/* Theme toggle button */
.theme-toggle {
    color: var(--text-secondary);
}

.theme-toggle:hover {
    background-color: var(--bg-secondary);
}

/* Profile dropdown */
.profile-dropdown {
    background-color: var(--bg-card);
    border-color: var(--border-primary);
    color: var(--text-primary);
}

/* Base styles */
body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: all 0.3s ease;
}

:root {
    --bg-primary: #f8fafc;
    --bg-secondary: #f1f5f9;
    --bg-card: #ffffff;
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --text-muted: #9ca3af;
    --border-primary: #e5e7eb;
    --border-secondary: #f3f4f6;
}

.dark {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-card: #1e293b;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #64748b;
    --border-primary: #334155;
    --border-secondary: #1e293b;
}

.card {
    background-color: var(--bg-card);
    border-color: var(--border-primary);
    color: var(--text-primary);
}

.bg-white {
    background-color: var(--bg-card) !important;
}

.bg-gray-100 {
    background-color: var(--bg-secondary) !important;
}

.text-gray-900 {
    color: var(--text-primary) !important;
}

.text-gray-700 {
    color: var(--text-secondary) !important;
}

.text-gray-500 {
    color: var(--text-muted) !important;
}

.border-gray-200 {
    border-color: var(--border-primary) !important;
}

.border-gray-300 {
    border-color: var(--border-primary) !important;
}

input,
select,
textarea {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-primary) !important;
}

/* Smooth transitions */
* {
*     transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
*     }
*
*/* Custom utilities for sidebar */
.sidebar-light {
    background-color: #ffffff;
    color: #374151;
}

.sidebar-light .sidebar-header {
    border-bottom-color: #e5e7eb;
}

.sidebar-light .sidebar-nav a {
    color: #374151;
}

.sidebar-light .sidebar-nav a:hover {
    background-color: #f3f4f6;
    color: #3b82f6;
}

.sidebar-dark {
    background-color: #1f2937;
    color: #f9fafb;
}

.sidebar-dark .sidebar-header {
    border-bottom-color: #374151;
}

.sidebar-dark .sidebar-nav a {
    color: #f9fafb;
}

.sidebar-dark .sidebar-nav a:hover {
    background-color: #374151;
    color: #60a5fa;
}


/* Modal styles */
.modal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.dark .modal-overlay {
    background-color: rgba(0, 0, 0, 0.7);
}

.modal-content {
    background-color: var(--bg-card);
    border-color: var(--border-primary);
    color: var(--text-primary);
}

.modal-header {
    border-bottom-color: var(--border-primary);
}

.modal-footer {
    border-top-color: var(--border-primary);
}

.modal-close {
    color: var(--text-muted);
}

.modal-close:hover {
    color: var(--text-primary);
}

/* Button styles */
.modal-ok-btn,
.modal-confirm-btn {
    background-color: var(--primary-600);
}

.modal-ok-btn:hover,
.modal-confirm-btn:hover {
    background-color: var(--primary-700);
}

.modal-cancel-btn {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
}

.modal-cancel-btn:hover {
    background-color: color-mix(in srgb, var(--bg-secondary) 90%, black);
}
