1- /* public/index.css */
2-
1+ /* Root background (light mode default) */
32# root {
43 background-color : # ffffff ;
54}
65
6+ /* ========================= */
7+ /* THEME ROOT (BODY / ROOT) */
8+ /* ========================= */
9+
710body .dark-mode : not (.no-global-theme ),
811body .bm-dashboard-dark : not (.no-global-theme ) {
912 background-color : # 1b2a41 !important ;
@@ -16,26 +19,23 @@ body.bm-dashboard-dark:not(.no-global-theme) #root {
1619 color : # ffffff !important ;
1720}
1821
19- /* SAFE BASE */
20- body .dark-mode : not (.no-global-theme ) {
22+ /* SAFE BASE (dark mode) */
23+ body .dark-mode : not (.no-global-theme ),
24+ body .bm-dashboard-dark : not (.no-global-theme ) {
2125 color : # ffffff ;
2226}
2327
24- /* Text elements */
28+ /* ========================= */
29+ /* TYPOGRAPHY (DARK MODE) */
30+ /* ========================= */
31+
32+ /* Text elements (avoid targeting all divs) */
2533body .dark-mode : not (.no-global-theme ) p ,
2634body .dark-mode : not (.no-global-theme ) span ,
2735body .dark-mode : not (.no-global-theme ) label ,
28- body .dark-mode : not (.no-global-theme ) div : not (.rs__option ),
29- body .dark-mode : not (.no-global-theme ) h1 ,
30- body .dark-mode : not (.no-global-theme ) h2 ,
31- body .dark-mode : not (.no-global-theme ) h3 ,
3236body .bm-dashboard-dark : not (.no-global-theme ) p ,
3337body .bm-dashboard-dark : not (.no-global-theme ) span ,
34- body .bm-dashboard-dark : not (.no-global-theme ) label ,
35- body .bm-dashboard-dark : not (.no-global-theme ) div : not (.rs__option ),
36- body .bm-dashboard-dark : not (.no-global-theme ) h1 ,
37- body .bm-dashboard-dark : not (.no-global-theme ) h2 ,
38- body .bm-dashboard-dark : not (.no-global-theme ) h3 {
38+ body .bm-dashboard-dark : not (.no-global-theme ) label {
3939 color : # ffffff !important ;
4040}
4141
@@ -62,7 +62,10 @@ body.bm-dashboard-dark:not(.no-global-theme) .text-muted {
6262 color : # b8c5d1 !important ;
6363}
6464
65- /* Containers */
65+ /* ========================= */
66+ /* LAYOUT CONTAINERS (DARK) */
67+ /* ========================= */
68+
6669body .dark-mode : not (.no-global-theme ) .container ,
6770body .dark-mode : not (.no-global-theme ) .container-fluid ,
6871body .bm-dashboard-dark : not (.no-global-theme ) .container ,
@@ -79,7 +82,10 @@ body.bm-dashboard-dark:not(.no-global-theme) .card {
7982 color : # ffffff ;
8083}
8184
82- /* Tables */
85+ /* ========================= */
86+ /* TABLES (DARK) */
87+ /* ========================= */
88+
8389body .dark-mode : not (.no-global-theme ) .table ,
8490body .bm-dashboard-dark : not (.no-global-theme ) .table {
8591 color : # ffffff !important ;
@@ -97,7 +103,10 @@ body.bm-dashboard-dark:not(.no-global-theme) .table th {
97103 background-color : # 2e5061 !important ;
98104}
99105
100- /* Buttons */
106+ /* ========================= */
107+ /* BUTTONS (DARK) */
108+ /* ========================= */
109+
101110body .dark-mode : not (.no-global-theme ) .btn ,
102111body .bm-dashboard-dark : not (.no-global-theme ) .btn {
103112 color : # ffffff !important ;
@@ -109,45 +118,121 @@ body.bm-dashboard-dark:not(.no-global-theme) .btn-primary {
109118 border-color : # 3a506b ;
110119}
111120
112- /* Inputs */
121+ /* ========================= */
122+ /* FORMS (DARK + LIGHT) */
123+ /* ========================= */
124+
125+ /* Dark-mode form controls (SAFE: does not touch checkbox/radio/switch) */
113126body .dark-mode : not (.no-global-theme ) .form-control ,
114- body .bm-dashboard-dark : not (.no-global-theme ) .form-control {
115- background-color : # 2e5061 ;
116- border-color : # 3a506b ;
127+ body .bm-dashboard-dark : not (.no-global-theme ) .form-control ,
128+ body .dark-mode : not (.no-global-theme ) select .form-control ,
129+ body .bm-dashboard-dark : not (.no-global-theme ) select .form-control {
130+ background-color : # 1e293b !important ;
131+ color : # ffffff !important ;
132+ border : 1px solid # 334155 !important ;
133+ }
134+
135+ /* Dark-mode placeholders */
136+ body .dark-mode : not (.no-global-theme ) .form-control ::placeholder ,
137+ body .bm-dashboard-dark : not (.no-global-theme ) .form-control ::placeholder {
138+ color : # 94a3b8 !important ;
139+ }
140+
141+ /* Dark-mode select arrow styling (Bootstrap selects) */
142+ body .dark-mode : not (.no-global-theme ) select .form-control ,
143+ body .bm-dashboard-dark : not (.no-global-theme ) select .form-control {
144+ background-image : url ("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e" ) !important ;
145+ background-repeat : no-repeat !important ;
146+ background-position : right 0.75rem center !important ;
147+ background-size : 16px 12px !important ;
148+ }
149+
150+ /* Dark-mode option colors (browser-dependent, but helps) */
151+ body .dark-mode : not (.no-global-theme ) option ,
152+ body .bm-dashboard-dark : not (.no-global-theme ) option {
153+ background-color : # 1e293b !important ;
117154 color : # ffffff !important ;
118155}
119156
120- /* Modals */
121- body .dark-mode : not (.no-global-theme ) .modal-content {
157+ /* Light-mode form controls (Option B): Bootstrap `.form-control` only */
158+ body : not (.dark-mode ) .form-control ,
159+ body : not (.dark-mode ) textarea .form-control ,
160+ body : not (.dark-mode ) select .form-control {
161+ background-color : # ffffff !important ;
162+ color : # 212529 !important ;
163+ border-color : # ced4da !important ;
164+ }
165+
166+ /* ========================= */
167+ /* MODALS (DARK) */
168+ /* ========================= */
169+
170+ body .dark-mode : not (.no-global-theme ) .modal-content ,
171+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-content {
172+ background-color : # 1b2a41 !important ;
173+ border : 1px solid # 2e3d55 !important ;
174+ color : # ffffff !important ;
175+ }
176+
177+ body .dark-mode : not (.no-global-theme ) .modal-header ,
178+ body .dark-mode : not (.no-global-theme ) .modal-body ,
179+ body .dark-mode : not (.no-global-theme ) .modal-footer ,
180+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-header ,
181+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-body ,
182+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-footer {
122183 background-color : # 1b2a41 !important ;
123184 color : # ffffff !important ;
185+ border-color : # 2e3d55 !important ;
186+ }
187+
188+ body .dark-mode : not (.no-global-theme ) .modal-header ,
189+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-header {
190+ background-color : # 24344d !important ;
191+ border-bottom : 1px solid # 334155 !important ;
192+ color : # ffffff !important ;
193+ padding : 1rem 1.5rem ;
194+ }
195+
196+ body .dark-mode : not (.no-global-theme ) .modal-title ,
197+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-title {
198+ font-weight : 600 ;
199+ letter-spacing : 0.5px ;
200+ }
201+
202+ /* Modal table header */
203+ body .dark-mode : not (.no-global-theme ) .modal-content .table thead th ,
204+ body .bm-dashboard-dark : not (.no-global-theme ) .modal-content .table thead th {
205+ background-color : # 2d3d5a !important ;
206+ color : # ffffff !important ;
207+ border-bottom : 2px solid # 334155 !important ;
208+ font-size : 0.85rem ;
209+ letter-spacing : 1px ;
124210}
125211
126- /* Dropdowns */
212+ /* ========================= */
213+ /* DROPDOWNS (DARK) */
214+ /* ========================= */
215+
127216body .dark-mode : not (.no-global-theme ) .dropdown-menu ,
128217body .bm-dashboard-dark : not (.no-global-theme ) .dropdown-menu {
129218 background-color : # 2e5061 ;
130219 border-color : # 3a506b ;
131220}
132221
133- /* Pagination */
222+ /* ========================= */
223+ /* PAGINATION (DARK) */
224+ /* ========================= */
225+
134226body .dark-mode : not (.no-global-theme ) .page-link ,
135227body .bm-dashboard-dark : not (.no-global-theme ) .page-link {
136228 background-color : # 2e5061 ;
137229 border-color : # 3a506b ;
138230 color : # ffffff !important ;
139231}
140232
141- /* ============================= */
142- /* LIGHT MODE RULES (UNCHANGED) */
143- /* ============================= */
144-
145- body : not (.dark-mode ) input ,
146- body : not (.dark-mode ) textarea {
147- background-color : # ffffff !important ;
148- color : # 212529 !important ;
149- border-color : # ced4da !important ;
150- }
233+ /* ========================= */
234+ /* UTILITIES */
235+ /* ========================= */
151236
152237/* container scrolling */
153238.container-fluid {
@@ -168,7 +253,7 @@ body:not(.dark-mode) textarea {
168253 display : flex;
169254 align-items : center;
170255 justify-content : center;
171- background-color : # 2A1B3D ;
256+ background-color : # 2a1b3d ;
172257 color : # ffffff ;
173258 border-radius : 50% ;
174259 font-size : 22px ;
@@ -181,95 +266,3 @@ body:not(.dark-mode) textarea {
181266 transform : translateY (-4px );
182267 opacity : 0.9 ;
183268}
184-
185- /* Allow the page content to scroll horizontally */
186- .container-fluid {
187- overflow-x : auto;
188- }
189-
190- /* Hide the horizontal scrollbar */
191- .container-fluid ::-webkit-scrollbar {
192- display : none;
193- }
194-
195- /* Explicit targeting for all input types and selects */
196- body .dark-mode .form-control ,
197- body .bm-dashboard-dark .form-control ,
198- body .dark-mode select ,
199- body .bm-dashboard-dark select ,
200- body .dark-mode input [type = "text" ] {
201- background-color : # 1e293b !important ;
202- color : # ffffff !important ;
203- border : 1px solid # 334155 !important ;
204- }
205-
206- /* Fix for the Project and Tool dropdown arrows and internal padding */
207- body .dark-mode select .form-control ,
208- body .bm-dashboard-dark select .form-control {
209- background-image : url ("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e" ) !important ;
210- background-repeat : no-repeat !important ;
211- background-position : right 0.75rem center !important ;
212- background-size : 16px 12px !important ;
213- }
214-
215- body .dark-mode .form-control ::placeholder {
216- color : # 94a3b8 !important ;
217- }
218-
219- body .dark-mode option ,
220- body .bm-dashboard-dark option {
221- background-color : # 1e293b !important ;
222- color : # ffffff !important ;
223- }
224-
225- body .dark-mode .modal-content ,
226- body .bm-dashboard-dark .modal-content {
227- background-color : # 1b2a41 !important ;
228- border : 1px solid # 2e3d55 !important ;
229- color : # ffffff !important ;
230- }
231-
232- body .dark-mode .modal-header ,
233- body .dark-mode .modal-body ,
234- body .dark-mode .modal-footer ,
235- body .bm-dashboard-dark .modal-header ,
236- body .bm-dashboard-dark .modal-body ,
237- body .bm-dashboard-dark .modal-footer {
238- background-color : # 1b2a41 !important ;
239- color : # ffffff !important ;
240- border-color : # 2e3d55 !important ;
241- }
242-
243- body .dark-mode .form-control ,
244- body .dark-mode select ,
245- body .dark-mode input {
246- background-color : # 1e293b !important ;
247- color : # ffffff !important ;
248- border : 1px solid # 334155 !important ;
249- }
250-
251- body .dark-mode select .form-control {
252- background-image : url ("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e" ) !important ;
253- }
254-
255- body .dark-mode .modal-header ,
256- body .bm-dashboard-dark .modal-header {
257- background-color : # 24344d !important ;
258- border-bottom : 1px solid # 334155 !important ;
259- color : # ffffff !important ;
260- padding : 1rem 1.5rem ;
261- }
262-
263- body .dark-mode .modal-title ,
264- body .bm-dashboard-dark .modal-title {
265- font-weight : 600 ;
266- letter-spacing : 0.5px ;
267- }
268-
269- body .dark-mode .modal-content .table thead th {
270- background-color : # 2d3d5a !important ;
271- color : # ffffff !important ;
272- border-bottom : 2px solid # 334155 !important ;
273- font-size : 0.85rem ;
274- letter-spacing : 1px ;
275- }
0 commit comments