PluginProbe
404 Solution / 4.3.0
404 Solution v4.3.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.3.0, at includes/html/setupWizardStyles.css

295 lines 9.6 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: var(--abj404-wizard-overlay-bg);
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: var(--abj404-wizard-modal-bg);
33 border-radius: 8px;
34 box-shadow: var(--abj404-wizard-modal-shadow);
35 max-width: 500px;
36 width: 95%;
37 max-height: calc(100vh - 150px);
38 overflow-y: auto;
39 position: relative;
40 border: 1px solid var(--abj404-wizard-modal-border);
41 }
42
43 .abj404-setup-header {
44 background: var(--abj404-wizard-header-bg);
45 color: var(--abj404-wizard-header-text);
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: var(--abj404-wizard-header-text);
58 }
59
60 .abj404-setup-close {
61 background: var(--abj404-wizard-close-bg);
62 border: 1px solid var(--abj404-wizard-close-border);
63 border-radius: 4px;
64 color: var(--abj404-wizard-header-text);
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: var(--abj404-wizard-close-bg-hover);
75 }
76
77 .abj404-setup-close:focus {
78 outline: 2px solid var(--abj404-wizard-close-focus-outline);
79 outline-offset: 1px;
80 }
81
82 .abj404-setup-content {
83 padding: 16px 24px 10px 24px;
84 color: var(--abj404-wizard-content-text);
85 }
86
87 .abj404-setup-intro {
88 margin-bottom: 24px;
89 color: var(--abj404-wizard-intro-text);
90 font-size: 14px;
91 line-height: 1.5;
92 }
93
94 .abj404-setup-question {
95 margin-bottom: 24px;
96 }
97
98 .abj404-setup-question h3 {
99 margin: 0 0 12px 0;
100 font-size: 14px;
101 font-weight: 600;
102 color: var(--abj404-wizard-heading-text);
103 }
104
105 .abj404-setup-options {
106 display: flex;
107 flex-direction: column;
108 gap: 8px;
109 }
110
111 .abj404-setup-option {
112 display: flex;
113 align-items: flex-start;
114 padding: 10px 12px;
115 background: var(--abj404-wizard-option-bg);
116 border-radius: 4px;
117 cursor: pointer;
118 transition: background 0.2s;
119 }
120
121 .abj404-setup-option:hover {
122 background: var(--abj404-wizard-option-bg-hover);
123 }
124
125 .abj404-setup-option:has(input:checked) {
126 background: var(--abj404-wizard-option-selected-bg);
127 border: 1px solid var(--abj404-wizard-option-selected-border);
128 margin: -1px;
129 }
130
131 .abj404-setup-option:focus-within {
132 outline: 2px solid var(--abj404-wizard-focus-outline);
133 outline-offset: 1px;
134 }
135
136 .abj404-setup-option input[type="radio"] {
137 margin: 2px 10px 0 0;
138 flex-shrink: 0;
139 accent-color: var(--abj404-wizard-accent);
140 }
141
142 .abj404-setup-option input[type="radio"],
143 .abj404-setup-option input[type="radio"]:focus,
144 .abj404-setup-option input[type="radio"]:checked,
145 .abj404-setup-option input[type="radio"]:checked:focus {
146 outline: none !important;
147 box-shadow: none !important;
148 border-color: var(--abj404-wizard-accent) !important;
149 }
150
151 .abj404-setup-option-text {
152 flex: 1;
153 }
154
155 .abj404-setup-option-label {
156 display: block;
157 font-weight: 500;
158 color: var(--abj404-wizard-label-text);
159 margin-bottom: 2px;
160 }
161
162 .abj404-setup-option-desc {
163 display: block;
164 font-size: 12px;
165 color: var(--abj404-wizard-desc-text);
166 }
167
168 .abj404-setup-footer {
169 padding: 16px 24px;
170 background: var(--abj404-wizard-footer-bg);
171 border-radius: 0 0 8px 8px;
172 display: flex;
173 justify-content: space-between;
174 align-items: center;
175 gap: 12px;
176 }
177
178 .abj404-setup-footer .button {
179 padding: 6px 16px;
180 }
181
182 .abj404-setup-skip {
183 background: var(--abj404-wizard-skip-bg);
184 border: 1px solid var(--abj404-wizard-skip-border);
185 border-radius: 3px;
186 color: var(--abj404-wizard-skip-text);
187 padding: 6px 16px;
188 font-size: 13px;
189 cursor: pointer;
190 text-decoration: none;
191 line-height: 1.5;
192 }
193
194 .abj404-setup-skip:hover {
195 background: var(--abj404-wizard-skip-bg-hover);
196 border-color: var(--abj404-wizard-skip-border-hover);
197 color: var(--abj404-wizard-skip-text-hover);
198 }
199
200 .abj404-setup-skip:focus {
201 outline: 2px solid var(--abj404-wizard-focus-outline);
202 outline-offset: 1px;
203 }
204
205 .abj404-setup-primary {
206 background: var(--abj404-wizard-accent) !important;
207 border-color: var(--abj404-wizard-accent) !important;
208 color: var(--abj404-wizard-header-text) !important;
209 }
210
211 .abj404-setup-primary:hover {
212 background: var(--abj404-wizard-accent-hover) !important;
213 border-color: var(--abj404-wizard-accent-hover) !important;
214 }
215
216 /* Loading overlay */
217 .abj404-setup-loading {
218 position: absolute;
219 top: 0;
220 left: 0;
221 right: 0;
222 bottom: 0;
223 background: var(--abj404-wizard-loading-overlay-bg);
224 display: flex;
225 flex-direction: column;
226 align-items: center;
227 justify-content: center;
228 gap: 12px;
229 border-radius: 8px;
230 z-index: 10;
231 }
232
233 /* Toast notification for AJAX errors */
234 .abj404-toast {
235 position: fixed;
236 bottom: 20px;
237 right: 20px;
238 background: var(--abj404-wizard-toast-bg);
239 color: var(--abj404-wizard-toast-text);
240 padding: 12px 16px;
241 border-radius: 4px;
242 box-shadow: var(--abj404-wizard-toast-shadow);
243 z-index: 9999;
244 max-width: 350px;
245 font-size: 13px;
246 line-height: 1.4;
247 animation: abj404-toast-slide 0.3s ease-out;
248 }
249
250 @keyframes abj404-toast-slide {
251 from {
252 opacity: 0;
253 transform: translateY(20px);
254 }
255 to {
256 opacity: 1;
257 transform: translateY(0);
258 }
259 }
260
261 .abj404-toast-close {
262 background: none;
263 border: none;
264 color: var(--abj404-wizard-toast-text);
265 font-size: 16px;
266 cursor: pointer;
267 float: right;
268 margin: -4px -4px 0 8px;
269 padding: 0 4px;
270 opacity: 0.8;
271 }
272
273 .abj404-toast-close:hover {
274 opacity: 1;
275 }
276
277 .abj404-setup-loading span {
278 color: var(--abj404-wizard-loading-text);
279 font-size: 14px;
280 }
281
282 .abj404-setup-spinner {
283 width: 24px;
284 height: 24px;
285 border: 3px solid var(--abj404-wizard-spinner-track);
286 border-top-color: var(--abj404-wizard-spinner-head);
287 border-radius: 50%;
288 animation: abj404-setup-spin 0.8s linear infinite;
289 }
290
291 @keyframes abj404-setup-spin {
292 to { transform: rotate(360deg); }
293 }
294
295