PluginProbe
404 Solution / 4.2.0
404 Solution v4.2.0
4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.19 4.1.18 4.1.17 4.1.16 4.1.15 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.3 trunk 2.30.0 All 109 releases
404-solution / includes / html / setupWizardStyles.css

setupWizardStyles.css in 404 Solution 4.2.0, at includes/html/setupWizardStyles.css

382 lines 11.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Overlay covers the entire plugin content area including fixed tabs */
2 .abj404-setup-overlay {
3 position: fixed;
4 top: var(--admin-bar-height, 32px);
5 left: 160px; /* WordPress admin menu width */
6 right: 0;
7 bottom: 0;
8 background: rgba(255, 255, 255, 0.85);
9 z-index: 200;
10 display: flex;
11 align-items: flex-start;
12 justify-content: center;
13 padding-top: 50px;
14 }
15
16 /* Adjust for folded menu */
17 @media screen and (max-width: 960px) {
18 .abj404-setup-overlay {
19 left: 36px;
20 }
21 }
22
23 /* Adjust for mobile */
24 @media screen and (max-width: 782px) {
25 .abj404-setup-overlay {
26 left: 0;
27 top: 46px; /* Mobile admin bar height */
28 }
29 }
30
31 .abj404-setup-modal {
32 background: #fff;
33 border-radius: 8px;
34 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
35 max-width: 500px;
36 width: 95%;
37 max-height: calc(100vh - 150px);
38 overflow-y: auto;
39 position: relative;
40 border: 1px solid #c3c4c7;
41 }
42
43 .abj404-setup-header {
44 background: #2271b1;
45 color: #fff;
46 padding: 16px 20px;
47 border-radius: 8px 8px 0 0;
48 display: flex;
49 justify-content: space-between;
50 align-items: center;
51 }
52
53 .abj404-setup-header h2 {
54 margin: 0;
55 font-size: 18px;
56 font-weight: 600;
57 color: #fff;
58 }
59
60 .abj404-setup-close {
61 background: rgba(255, 255, 255, 0.1);
62 border: 1px solid rgba(255, 255, 255, 0.3);
63 border-radius: 4px;
64 color: #fff;
65 font-size: 20px;
66 cursor: pointer;
67 padding: 2px 8px;
68 line-height: 1;
69 opacity: 0.9;
70 }
71
72 .abj404-setup-close:hover {
73 opacity: 1;
74 background: rgba(255, 255, 255, 0.2);
75 }
76
77 .abj404-setup-close:focus {
78 outline: 2px solid rgba(255, 255, 255, 0.5);
79 outline-offset: 1px;
80 }
81
82 .abj404-setup-content {
83 padding: 16px 24px 10px 24px;
84 }
85
86 .abj404-setup-intro {
87 margin-bottom: 24px;
88 color: #50575e;
89 font-size: 14px;
90 line-height: 1.5;
91 }
92
93 .abj404-setup-question {
94 margin-bottom: 24px;
95 }
96
97 .abj404-setup-question h3 {
98 margin: 0 0 12px 0;
99 font-size: 14px;
100 font-weight: 600;
101 color: #1d2327;
102 }
103
104 .abj404-setup-options {
105 display: flex;
106 flex-direction: column;
107 gap: 8px;
108 }
109
110 .abj404-setup-option {
111 display: flex;
112 align-items: flex-start;
113 padding: 10px 12px;
114 background: #f6f7f7;
115 border-radius: 4px;
116 cursor: pointer;
117 transition: background 0.2s;
118 }
119
120 .abj404-setup-option:hover {
121 background: #eef0f0;
122 }
123
124 .abj404-setup-option:has(input:checked) {
125 background: #e6f2ff;
126 border: 1px solid #2271b1;
127 margin: -1px;
128 }
129
130 .abj404-setup-option:focus-within {
131 outline: 2px solid #2271b1;
132 outline-offset: 1px;
133 }
134
135 .abj404-setup-option input[type="radio"] {
136 margin: 2px 10px 0 0;
137 flex-shrink: 0;
138 accent-color: #2271b1;
139 }
140
141 .abj404-setup-option input[type="radio"],
142 .abj404-setup-option input[type="radio"]:focus,
143 .abj404-setup-option input[type="radio"]:checked,
144 .abj404-setup-option input[type="radio"]:checked:focus {
145 outline: none !important;
146 box-shadow: none !important;
147 border-color: #2271b1 !important;
148 }
149
150 .abj404-setup-option-text {
151 flex: 1;
152 }
153
154 .abj404-setup-option-label {
155 display: block;
156 font-weight: 500;
157 color: #1d2327;
158 margin-bottom: 2px;
159 }
160
161 .abj404-setup-option-desc {
162 display: block;
163 font-size: 12px;
164 color: #646970;
165 }
166
167 .abj404-setup-footer {
168 padding: 16px 24px;
169 background: #f6f7f7;
170 border-radius: 0 0 8px 8px;
171 display: flex;
172 justify-content: space-between;
173 align-items: center;
174 gap: 12px;
175 }
176
177 .abj404-setup-footer .button {
178 padding: 6px 16px;
179 }
180
181 .abj404-setup-skip {
182 background: #f6f7f7;
183 border: 1px solid #c3c4c7;
184 border-radius: 3px;
185 color: #50575e;
186 padding: 6px 16px;
187 font-size: 13px;
188 cursor: pointer;
189 text-decoration: none;
190 line-height: 1.5;
191 }
192
193 .abj404-setup-skip:hover {
194 background: #f0f0f1;
195 border-color: #8c8f94;
196 color: #1d2327;
197 }
198
199 .abj404-setup-skip:focus {
200 outline: 2px solid #2271b1;
201 outline-offset: 1px;
202 }
203
204 .abj404-setup-primary {
205 background: #2271b1 !important;
206 border-color: #2271b1 !important;
207 color: #fff !important;
208 }
209
210 .abj404-setup-primary:hover {
211 background: #135e96 !important;
212 border-color: #135e96 !important;
213 }
214
215 /* Loading overlay */
216 .abj404-setup-loading {
217 position: absolute;
218 top: 0;
219 left: 0;
220 right: 0;
221 bottom: 0;
222 background: rgba(255, 255, 255, 0.9);
223 display: flex;
224 flex-direction: column;
225 align-items: center;
226 justify-content: center;
227 gap: 12px;
228 border-radius: 8px;
229 z-index: 10;
230 }
231
232 /* Toast notification for AJAX errors */
233 .abj404-toast {
234 position: fixed;
235 bottom: 20px;
236 right: 20px;
237 background: #d63638;
238 color: #fff;
239 padding: 12px 16px;
240 border-radius: 4px;
241 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
242 z-index: 9999;
243 max-width: 350px;
244 font-size: 13px;
245 line-height: 1.4;
246 animation: abj404-toast-slide 0.3s ease-out;
247 }
248
249 @keyframes abj404-toast-slide {
250 from {
251 opacity: 0;
252 transform: translateY(20px);
253 }
254 to {
255 opacity: 1;
256 transform: translateY(0);
257 }
258 }
259
260 .abj404-toast-close {
261 background: none;
262 border: none;
263 color: #fff;
264 font-size: 16px;
265 cursor: pointer;
266 float: right;
267 margin: -4px -4px 0 8px;
268 padding: 0 4px;
269 opacity: 0.8;
270 }
271
272 .abj404-toast-close:hover {
273 opacity: 1;
274 }
275
276 body.abj404-dark-mode .abj404-toast {
277 background: #dc3545;
278 }
279
280 .abj404-setup-loading span {
281 color: #1d2327;
282 font-size: 14px;
283 }
284
285 .abj404-setup-spinner {
286 width: 24px;
287 height: 24px;
288 border: 3px solid #c3c4c7;
289 border-top-color: #2271b1;
290 border-radius: 50%;
291 animation: abj404-setup-spin 0.8s linear infinite;
292 }
293
294 @keyframes abj404-setup-spin {
295 to { transform: rotate(360deg); }
296 }
297
298 /* Dark mode support */
299 body.abj404-dark-mode .abj404-setup-overlay {
300 background: rgba(0, 0, 0, 0.75);
301 }
302
303 body.abj404-dark-mode .abj404-setup-modal {
304 background: #1e1e1e;
305 border-color: #3d3d3d;
306 }
307
308 body.abj404-dark-mode .abj404-setup-content {
309 color: #e0e0e0;
310 }
311
312 body.abj404-dark-mode .abj404-setup-intro {
313 color: #b0b0b0;
314 }
315
316 body.abj404-dark-mode .abj404-setup-question h3 {
317 color: #e0e0e0;
318 }
319
320 body.abj404-dark-mode .abj404-setup-option {
321 background: #2d2d2d;
322 }
323
324 body.abj404-dark-mode .abj404-setup-option:hover {
325 background: #3d3d3d;
326 }
327
328 body.abj404-dark-mode .abj404-setup-option:has(input:checked) {
329 background: #1a3a5c;
330 border-color: #5aa2ff;
331 }
332
333 body.abj404-dark-mode .abj404-setup-option:focus-within {
334 outline-color: #5aa2ff;
335 }
336
337 body.abj404-dark-mode .abj404-setup-option input[type="radio"],
338 body.abj404-dark-mode .abj404-setup-option input[type="radio"]:focus,
339 body.abj404-dark-mode .abj404-setup-option input[type="radio"]:checked,
340 body.abj404-dark-mode .abj404-setup-option input[type="radio"]:checked:focus {
341 accent-color: #5aa2ff;
342 border-color: #5aa2ff !important;
343 }
344
345 body.abj404-dark-mode .abj404-setup-option-label {
346 color: #e0e0e0;
347 }
348
349 body.abj404-dark-mode .abj404-setup-option-desc {
350 color: #a0a0a0;
351 }
352
353 body.abj404-dark-mode .abj404-setup-footer {
354 background: #2d2d2d;
355 }
356
357 body.abj404-dark-mode .abj404-setup-skip {
358 background: #3d3d3d;
359 border-color: #505050;
360 color: #b0b0b0;
361 }
362
363 body.abj404-dark-mode .abj404-setup-skip:hover {
364 background: #4d4d4d;
365 border-color: #606060;
366 color: #e0e0e0;
367 }
368
369 body.abj404-dark-mode .abj404-setup-loading {
370 background: rgba(30, 30, 30, 0.9);
371 }
372
373 body.abj404-dark-mode .abj404-setup-loading span {
374 color: #e0e0e0;
375 }
376
377 body.abj404-dark-mode .abj404-setup-spinner {
378 border-color: #505050;
379 border-top-color: #5aa2ff;
380 }
381
382