Spaces:
No application file
No application file
| /* public/css/dark-mode.css */ | |
| :root { | |
| --bg-main: #f8fafc; | |
| --bg-card: #ffffff; | |
| --text-main: #1e293b; | |
| --text-muted: #64748b; | |
| --border-color: #e2e8f0; | |
| } | |
| .dark { | |
| --bg-main: #0f172a; | |
| --bg-card: #1e293b; | |
| --text-main: #f1f5f9; | |
| --text-muted: #94a3b8; | |
| --border-color: #334155; | |
| } | |
| /* Base Body Override */ | |
| .dark body, | |
| .dark .bg-gradient-to-br, | |
| .dark .bg-linear-to-br, | |
| .dark .from-blue-50, | |
| .dark .via-indigo-50, | |
| .dark .to-purple-50 { | |
| background-color: var(--bg-main) ; | |
| background-image: none ; | |
| color: var(--text-main) ; | |
| } | |
| /* Backgrounds */ | |
| .dark .bg-white { | |
| background-color: var(--bg-card) ; | |
| } | |
| .dark .bg-gray-50, | |
| .dark .bg-blue-50, | |
| .dark .bg-green-50, | |
| .dark .bg-orange-50, | |
| .dark .bg-yellow-50, | |
| .dark .bg-indigo-50, | |
| .dark .bg-purple-50, | |
| .dark .bg-pink-50, | |
| .dark .bg-red-50, | |
| .dark .bg-teal-50 { | |
| background-color: rgba(255, 255, 255, 0.05) ; | |
| } | |
| .dark .bg-gray-100 { | |
| background-color: rgba(255, 255, 255, 0.08) ; | |
| } | |
| .dark .hover\:bg-gray-50:hover, | |
| .dark .hover\:bg-gray-50\/30:hover, | |
| .dark .hover\:bg-blue-50:hover, | |
| .dark .hover\:bg-green-50:hover, | |
| .dark .hover\:bg-yellow-50:hover, | |
| .dark .hover\:bg-red-50:hover, | |
| .dark .hover\:bg-red-100:hover { | |
| background-color: rgba(255, 255, 255, 0.1) ; | |
| } | |
| /* Text Colors */ | |
| .dark .text-gray-900, | |
| .dark .text-gray-800, | |
| .dark .text-gray-700, | |
| .dark .text-slate-900, | |
| .dark .text-slate-800 { | |
| color: var(--text-main) ; | |
| } | |
| .dark .text-gray-600, | |
| .dark .text-gray-500, | |
| .dark .text-gray-400, | |
| .dark .text-slate-600, | |
| .dark .text-slate-500, | |
| .dark .text-blue-700, | |
| .dark .text-blue-600, | |
| .dark .text-green-700, | |
| .dark .text-green-600, | |
| .dark .text-yellow-700, | |
| .dark .text-yellow-600, | |
| .dark .text-orange-700, | |
| .dark .text-orange-600, | |
| .dark .text-indigo-700, | |
| .dark .text-indigo-600, | |
| .dark .text-purple-700, | |
| .dark .text-purple-600, | |
| .dark .text-red-700, | |
| .dark .text-red-600, | |
| .dark .text-pink-700, | |
| .dark .text-pink-600 { | |
| color: var(--text-muted) ; | |
| } | |
| .dark .border-blue-500, | |
| .dark .border-blue-200, | |
| .dark .border-blue-100, | |
| .dark .border-green-500, | |
| .dark .border-green-200, | |
| .dark .border-green-100, | |
| .dark .border-yellow-500, | |
| .dark .border-yellow-200, | |
| .dark .border-yellow-100, | |
| .dark .border-orange-500, | |
| .dark .border-orange-200, | |
| .dark .border-orange-100, | |
| .dark .border-indigo-500, | |
| .dark .border-indigo-200, | |
| .dark .border-indigo-100, | |
| .dark .border-red-500, | |
| .dark .border-red-200, | |
| .dark .border-red-100, | |
| .dark .border-pink-200, | |
| .dark .border-pink-100 { | |
| border-color: rgba(96, 165, 250, 0.3) ; /* light blue for borders in dark mode */ | |
| } | |
| /* Borders */ | |
| .dark .border, | |
| .dark .border-gray-100, | |
| .dark .border-gray-200, | |
| .dark .border-slate-200 { | |
| border-color: var(--border-color) ; | |
| } | |
| .dark .bg-gray-50\/50, | |
| .dark .bg-slate-50\/30 { | |
| background-color: rgba(255, 255, 255, 0.02) ; | |
| } | |
| .dark .bg-indigo-50\/50 { | |
| background-color: rgba(99, 102, 241, 0.1) ; | |
| } | |
| .dark code.text-indigo-600 { | |
| color: #818cf8 ; /* light indigo */ | |
| } | |
| .dark .divide-gray-50 > * + * { | |
| border-color: var(--border-color) ; | |
| } | |
| .dark .text-indigo-500 { | |
| color: #818cf8 ; | |
| } | |
| /* Sidebar Specific */ | |
| .dark aside#sidebar { | |
| background-color: var(--bg-card) ; | |
| border-right-color: var(--border-color) ; | |
| } | |
| /* Card Overrides */ | |
| .dark .card-hover:hover { | |
| background-color: rgba(255, 255, 255, 0.02) ; | |
| } | |
| /* Inputs */ | |
| .dark input, | |
| .dark textarea, | |
| .dark select { | |
| background-color: #0f172a ; | |
| border-color: var(--border-color) ; | |
| color: var(--text-main) ; | |
| } | |
| .dark input::placeholder, | |
| .dark textarea::placeholder { | |
| color: #475569 ; | |
| } | |
| /* Navbar */ | |
| .dark header { | |
| background-color: var(--bg-card) ; | |
| border-bottom-color: var(--border-color) ; | |
| } | |
| /* Tables */ | |
| .dark table thead tr { | |
| border-bottom-color: var(--border-color) ; | |
| } | |
| .dark table tbody tr { | |
| border-bottom-color: rgba(255, 255, 255, 0.05) ; | |
| } | |
| /* Icon Colors in Cards */ | |
| .dark .text-blue-600, | |
| .dark .text-green-600, | |
| .dark .text-yellow-600, | |
| .dark .text-orange-600, | |
| .dark .text-indigo-600, | |
| .dark .text-purple-600, | |
| .dark .text-pink-600, | |
| .dark .text-red-600 { | |
| filter: brightness(1.3); | |
| } | |
| /* Buttons (Non-gradients) */ | |
| .dark .bg-blue-100, | |
| .dark .bg-gradient-to-br.from-blue-100 { | |
| background: rgba(59, 130, 246, 0.2) ; | |
| } | |
| /* Keep gradient buttons vibrant in dark mode */ | |
| .dark .bg-gradient-to-r.from-blue-500, | |
| .dark .bg-gradient-to-r.from-green-500, | |
| .dark .bg-gradient-to-r.from-red-500, | |
| .dark .bg-gradient-to-r.from-orange-500, | |
| .dark .bg-gradient-to-r.from-indigo-500, | |
| .dark .bg-gradient-to-r.from-purple-500 { | |
| /* Keep original gradient colors for buttons */ | |
| background-image: inherit ; | |
| } | |
| .dark .md\:flex.border-x { | |
| border-color: var(--border-color) ; | |
| } | |
| /* Scrollbars */ | |
| .dark ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| .dark ::-webkit-scrollbar-track { | |
| background: var(--bg-main); | |
| } | |
| .dark ::-webkit-scrollbar-thumb { | |
| background: #334155; | |
| border-radius: 4px; | |
| } | |
| .dark ::-webkit-scrollbar-thumb:hover { | |
| background: #475569; | |
| } | |
| /* Status Badges */ | |
| .dark .bg-yellow-100 { | |
| background-color: rgba(234, 179, 8, 0.2) ; | |
| } | |
| .dark .bg-green-100 { | |
| background-color: rgba(34, 197, 94, 0.2) ; | |
| } | |
| .dark .bg-red-100 { | |
| background-color: rgba(239, 68, 68, 0.2) ; | |
| } | |
| .dark .bg-blue-100 { | |
| background-color: rgba(59, 130, 246, 0.2) ; | |
| } | |
| .dark .bg-indigo-100 { | |
| background-color: rgba(99, 102, 241, 0.2) ; | |
| } | |
| .dark .text-yellow-700 { | |
| color: #fbbf24 ; | |
| } | |
| .dark .text-green-700 { | |
| color: #4ade80 ; | |
| } | |
| .dark .text-red-700 { | |
| color: #f87171 ; | |
| } | |
| .dark .text-blue-700 { | |
| color: #60a5fa ; | |
| } | |
| /* SweetAlert2 Dark Mode */ | |
| .dark .swal2-popup { | |
| background-color: var(--bg-card) ; | |
| color: var(--text-main) ; | |
| } | |
| .dark .swal2-title { | |
| color: var(--text-main) ; | |
| } | |
| .dark .swal2-html-container { | |
| color: var(--text-muted) ; | |
| } | |
| .dark .swal2-input, | |
| .dark .swal2-textarea, | |
| .dark .swal2-select { | |
| background-color: #0f172a ; | |
| border-color: var(--border-color) ; | |
| color: var(--text-main) ; | |
| } | |
| .dark .swal2-input::placeholder, | |
| .dark .swal2-textarea::placeholder { | |
| color: #475569 ; | |
| } | |
| .dark .swal2-validation-message { | |
| background-color: rgba(239, 68, 68, 0.2) ; | |
| color: #f87171 ; | |
| } | |
| /* Utilities */ | |
| .dark .shadow-lg, | |
| .dark .shadow-sm, | |
| .dark .shadow-md { | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2) ; | |
| } | |