PluginProbe
PatternsWP – Gutenberg Block Patterns & Page Templates Library / 1.1.0
PatternsWP – Gutenberg Block Patterns & Page Templates Library v1.1.0
1.1.0 trunk 1.0.0 1.0.1 1.0.10 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
patternswp / assets / css / patternswp-admin.css

patternswp-admin.css in PatternsWP – Gutenberg Block Patterns & Page Templates Library 1.1.0, at assets/css/patternswp-admin.css

503 lines 9.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * PatternsWP admin — Gutenberg-style settings UI.
3 */
4
5 .patternswp-admin {
6 --pwp-surface: #fff;
7 --pwp-border: #e0e0e0;
8 --pwp-muted: #757575;
9 --pwp-text: #1e1e1e;
10 --pwp-accent: var(--wp-admin-theme-color, #3858e9);
11 --pwp-accent-soft: color-mix(in srgb, var(--pwp-accent) 12%, #fff);
12 --pwp-radius: 8px;
13 --pwp-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.04);
14 max-width: 1120px;
15 margin: 0 auto;
16 padding: 24px 20px 48px;
17 color: var(--pwp-text);
18 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
19 }
20
21 .patternswp-admin *,
22 .patternswp-admin *::before,
23 .patternswp-admin *::after {
24 box-sizing: border-box;
25 }
26
27 /* ---- Header ---- */
28 .patternswp-admin__header {
29 display: flex;
30 flex-wrap: wrap;
31 align-items: flex-start;
32 justify-content: space-between;
33 gap: 16px;
34 margin-bottom: 20px;
35 }
36
37 .patternswp-admin__brand {
38 display: flex;
39 align-items: center;
40 gap: 12px;
41 min-width: 0;
42 }
43
44 .patternswp-admin__logo {
45 display: flex;
46 align-items: center;
47 justify-content: center;
48 width: 40px;
49 height: 40px;
50 border-radius: 10px;
51 background: var(--pwp-accent);
52 color: #fff;
53 flex-shrink: 0;
54 }
55
56 .patternswp-admin__logo svg {
57 display: block;
58 width: 22px;
59 height: 22px;
60 fill: currentColor;
61 }
62
63 .patternswp-admin__title {
64 margin: 0;
65 font-size: 20px;
66 font-weight: 600;
67 line-height: 1.3;
68 color: var(--pwp-text);
69 }
70
71 .patternswp-admin__subtitle {
72 margin: 2px 0 0;
73 color: var(--pwp-muted);
74 font-size: 13px;
75 line-height: 1.4;
76 }
77
78 .patternswp-admin__header-actions {
79 display: flex;
80 flex-wrap: wrap;
81 align-items: center;
82 gap: 8px;
83 }
84
85 /* ---- Nav tabs ---- */
86 .patternswp-admin__nav {
87 display: flex;
88 flex-wrap: wrap;
89 gap: 4px;
90 margin: 0 0 24px;
91 padding: 4px;
92 border: 1px solid var(--pwp-border);
93 border-radius: 10px;
94 background: #f6f7f7;
95 }
96
97 .patternswp-admin__nav-item {
98 display: inline-flex;
99 align-items: center;
100 gap: 6px;
101 margin: 0;
102 padding: 8px 14px;
103 border: none;
104 border-radius: 7px;
105 background: transparent;
106 color: var(--pwp-text);
107 font-size: 13px;
108 font-weight: 500;
109 line-height: 1.4;
110 text-decoration: none;
111 cursor: pointer;
112 transition: background 0.12s ease, color 0.12s ease;
113 }
114
115 .patternswp-admin__nav-item:hover {
116 background: #fff;
117 color: var(--pwp-text);
118 }
119
120 .patternswp-admin__nav-item.is-active {
121 background: #fff;
122 color: var(--pwp-accent);
123 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
124 }
125
126 .patternswp-admin__nav-item:focus {
127 outline: 2px solid var(--pwp-accent);
128 outline-offset: 1px;
129 }
130
131 /* ---- Cards / panels ---- */
132 .patternswp-admin__card,
133 .patternswp-admin .components-card {
134 margin: 0 0 20px;
135 border: 1px solid var(--pwp-border);
136 border-radius: var(--pwp-radius);
137 background: var(--pwp-surface);
138 box-shadow: var(--pwp-shadow);
139 overflow: hidden;
140 }
141
142 .patternswp-admin .components-card {
143 box-shadow: var(--pwp-shadow);
144 }
145
146 .patternswp-admin__card .components-card-header,
147 .patternswp-admin .components-card__header,
148 .patternswp-admin__card-header {
149 display: flex;
150 align-items: flex-start;
151 justify-content: space-between;
152 gap: 12px;
153 padding: 20px 24px 0;
154 border-bottom: none;
155 }
156
157 .patternswp-admin__card .components-card-body,
158 .patternswp-admin .components-card__body,
159 .patternswp-admin__card-body {
160 padding: 16px 24px 24px;
161 }
162
163 .patternswp-admin__card .components-card-footer,
164 .patternswp-admin .components-card__footer,
165 .patternswp-admin__card-footer {
166 display: flex;
167 flex-wrap: wrap;
168 align-items: center;
169 justify-content: flex-end;
170 gap: 10px;
171 padding: 16px 24px;
172 border-top: 1px solid var(--pwp-border);
173 background: #fafafa;
174 }
175
176 .patternswp-admin__card-title {
177 margin: 0;
178 font-size: 16px;
179 font-weight: 600;
180 line-height: 1.4;
181 }
182
183 .patternswp-admin__card-desc {
184 margin: 4px 0 0;
185 color: var(--pwp-muted);
186 font-size: 13px;
187 line-height: 1.5;
188 }
189
190 /* ---- Dashboard ---- */
191 .patternswp-admin__hero {
192 padding: 36px 28px;
193 text-align: center;
194 background:
195 radial-gradient(ellipse 80% 60% at 50% 0%, var(--pwp-accent-soft), transparent 70%),
196 var(--pwp-surface);
197 }
198
199 .patternswp-admin__hero-eyebrow {
200 margin: 0 0 8px;
201 color: var(--pwp-muted);
202 font-size: 13px;
203 font-weight: 500;
204 }
205
206 .patternswp-admin__hero-title {
207 margin: 0 0 10px;
208 font-size: clamp(24px, 3vw, 32px);
209 font-weight: 600;
210 line-height: 1.2;
211 letter-spacing: -0.02em;
212 }
213
214 .patternswp-admin__hero-text {
215 max-width: 520px;
216 margin: 0 auto 20px;
217 color: var(--pwp-muted);
218 font-size: 14px;
219 line-height: 1.6;
220 }
221
222 .patternswp-admin__hero-actions {
223 display: flex;
224 flex-wrap: wrap;
225 justify-content: center;
226 gap: 10px;
227 }
228
229 .patternswp-admin__steps {
230 display: grid;
231 grid-template-columns: repeat(3, 1fr);
232 gap: 16px;
233 margin-top: 4px;
234 }
235
236 .patternswp-admin__step {
237 display: flex;
238 flex-direction: column;
239 height: 100%;
240 padding: 0;
241 border: 1px solid var(--pwp-border);
242 border-radius: var(--pwp-radius);
243 background: var(--pwp-surface);
244 box-shadow: var(--pwp-shadow);
245 overflow: hidden;
246 }
247
248 .patternswp-admin__step-media {
249 background: #f6f7f7;
250 line-height: 0;
251 overflow: hidden;
252 }
253
254 .patternswp-admin__step-media img {
255 display: block;
256 width: 100%;
257 height: auto;
258 max-width: 100%;
259 vertical-align: top;
260 }
261
262 .patternswp-admin__step-body {
263 display: flex;
264 flex-direction: column;
265 flex: 1;
266 padding: 18px 18px 20px;
267 }
268
269 .patternswp-admin__step-num {
270 margin: 0 0 6px;
271 color: var(--pwp-accent);
272 font-size: 12px;
273 font-weight: 600;
274 letter-spacing: 0.04em;
275 text-transform: uppercase;
276 }
277
278 .patternswp-admin__step-title {
279 margin: 0 0 8px;
280 font-size: 15px;
281 font-weight: 600;
282 line-height: 1.35;
283 }
284
285 .patternswp-admin__step-text {
286 margin: 0;
287 color: var(--pwp-muted);
288 font-size: 13px;
289 line-height: 1.55;
290 }
291
292 /* ---- Settings rows ---- */
293 .patternswp-admin__setting-row {
294 display: flex;
295 align-items: flex-start;
296 justify-content: space-between;
297 gap: 20px;
298 padding: 16px 0;
299 border-bottom: 1px solid var(--pwp-border);
300 }
301
302 .patternswp-admin__setting-row:last-child {
303 border-bottom: none;
304 padding-bottom: 0;
305 }
306
307 .patternswp-admin__setting-row:first-child {
308 padding-top: 0;
309 }
310
311 .patternswp-admin__setting-label {
312 margin: 0 0 4px;
313 font-size: 14px;
314 font-weight: 500;
315 line-height: 1.4;
316 }
317
318 .patternswp-admin__setting-help {
319 margin: 0;
320 max-width: 520px;
321 color: var(--pwp-muted);
322 font-size: 13px;
323 line-height: 1.5;
324 }
325
326 .patternswp-admin__setting-row .components-form-toggle {
327 flex-shrink: 0;
328 margin-top: 2px;
329 }
330
331 .patternswp-admin__cache-box {
332 display: flex;
333 flex-wrap: wrap;
334 align-items: center;
335 justify-content: space-between;
336 gap: 16px;
337 padding: 16px 18px;
338 border: 1px solid var(--pwp-border);
339 border-radius: 8px;
340 background: #fafafa;
341 }
342
343 .patternswp-admin__cache-box p {
344 margin: 0;
345 max-width: 560px;
346 color: var(--pwp-muted);
347 font-size: 13px;
348 line-height: 1.5;
349 }
350
351 /* ---- Support ---- */
352 .patternswp-admin__support-grid {
353 display: grid;
354 grid-template-columns: 1fr 1.2fr;
355 gap: 28px;
356 align-items: start;
357 }
358
359 .patternswp-admin__faq-list {
360 margin: 0;
361 padding: 0;
362 list-style: none;
363 }
364
365 .patternswp-admin__faq-list li + li {
366 border-top: 1px solid var(--pwp-border);
367 }
368
369 .patternswp-admin__faq-link {
370 display: flex;
371 align-items: center;
372 justify-content: space-between;
373 gap: 12px;
374 padding: 14px 4px;
375 color: var(--pwp-text);
376 font-size: 14px;
377 font-weight: 500;
378 text-decoration: none;
379 transition: color 0.12s ease;
380 }
381
382 .patternswp-admin__faq-link:hover {
383 color: var(--pwp-accent);
384 }
385
386 .patternswp-admin__faq-link svg {
387 flex-shrink: 0;
388 opacity: 0.55;
389 }
390
391 .patternswp-admin__link-row {
392 display: flex;
393 flex-wrap: wrap;
394 gap: 10px;
395 margin-top: 16px;
396 }
397
398 /* ---- License ---- */
399 .patternswp-admin__status {
400 display: inline-flex;
401 align-items: center;
402 gap: 6px;
403 padding: 4px 10px;
404 border-radius: 999px;
405 font-size: 12px;
406 font-weight: 600;
407 line-height: 1.4;
408 }
409
410 .patternswp-admin__status.is-active {
411 background: #edfaef;
412 color: #007017;
413 }
414
415 .patternswp-admin__status.is-inactive {
416 background: #f0f0f0;
417 color: #50575e;
418 }
419
420 .patternswp-admin__license-form {
421 display: flex;
422 flex-direction: column;
423 gap: 14px;
424 max-width: 520px;
425 }
426
427 .patternswp-admin__license-form .components-base-control {
428 margin-bottom: 0;
429 }
430
431 .patternswp-admin__license-actions {
432 display: flex;
433 flex-wrap: wrap;
434 align-items: center;
435 gap: 10px;
436 }
437
438 .patternswp-admin__notice {
439 margin: 0 0 20px;
440 }
441
442 .patternswp-admin__notice .components-notice {
443 margin: 0;
444 }
445
446 /* Hide default WP page title chrome when React app owns the UI */
447 .patternswp-admin-wrap > h1:first-child,
448 .patternswp-admin-wrap .nav-tab-wrapper {
449 display: none;
450 }
451
452 .patternswp-admin-wrap {
453 margin: 0;
454 }
455
456 #patternswp-admin-root {
457 min-height: 320px;
458 }
459
460 .patternswp-admin__loading {
461 display: flex;
462 align-items: center;
463 justify-content: center;
464 min-height: 240px;
465 color: var(--pwp-muted);
466 }
467
468 /* ---- Responsive ---- */
469 @media (max-width: 900px) {
470 .patternswp-admin__steps {
471 grid-template-columns: 1fr;
472 }
473
474 .patternswp-admin__support-grid {
475 grid-template-columns: 1fr;
476 }
477 }
478
479 @media (max-width: 600px) {
480 .patternswp-admin {
481 padding: 16px 12px 40px;
482 }
483
484 .patternswp-admin__hero {
485 padding: 28px 18px;
486 }
487
488 .patternswp-admin__card .components-card-body,
489 .patternswp-admin__card-body,
490 .patternswp-admin__card .components-card-header,
491 .patternswp-admin__card-header,
492 .patternswp-admin__card .components-card-footer,
493 .patternswp-admin__card-footer {
494 padding-left: 16px;
495 padding-right: 16px;
496 }
497
498 .patternswp-admin__setting-row {
499 flex-direction: column;
500 align-items: stretch;
501 }
502 }
503