PluginProbe
Fonts / 3.0
Fonts v3.0
trunk 2.4 2.8 2.9 3.0
fonts / assets / css / admin.css

admin.css in Fonts 3.0, at assets/css/admin.css

601 lines 10.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Fonts Pro Admin Styles */
2
3 /* Fix menu spacing consistency for Fonts menu */
4 #adminmenu li#toplevel_page_fonts-pro {
5 margin-bottom: 0 !important;
6 }
7
8 #adminmenu li#toplevel_page_fonts-pro .wp-menu-name {
9 padding: 8px 0 !important;
10 line-height: 1.4 !important;
11 }
12
13 #adminmenu li#toplevel_page_fonts-pro .wp-menu-arrow {
14 margin-top: 0 !important;
15 }
16
17 /* Ensure consistent spacing with other menu items */
18 #adminmenu li#toplevel_page_fonts-pro a.menu-top {
19 padding: 8px 0 !important;
20 }
21
22 .fonts-pro-dashboard {
23 margin-top: 20px;
24 }
25
26 .fonts-pro-stats {
27 display: grid;
28 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
29 gap: 20px;
30 margin-bottom: 30px;
31 }
32
33 .stat-card {
34 background: #fff;
35 border: 1px solid #ddd;
36 border-radius: 8px;
37 padding: 20px;
38 text-align: center;
39 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
40 }
41
42 .stat-card h3 {
43 margin: 0 0 10px 0;
44 color: #333;
45 font-size: 14px;
46 font-weight: 600;
47 text-transform: uppercase;
48 letter-spacing: 0.5px;
49 }
50
51 .stat-number {
52 font-size: 32px;
53 font-weight: bold;
54 color: #0073aa;
55 margin: 0;
56 }
57
58 .fonts-pro-quick-actions {
59 background: #fff;
60 border: 1px solid #ddd;
61 border-radius: 8px;
62 padding: 20px;
63 margin-bottom: 30px;
64 }
65
66 .fonts-pro-quick-actions h2 {
67 margin: 0 0 20px 0;
68 color: #333;
69 }
70
71 .action-buttons {
72 display: flex;
73 gap: 10px;
74 flex-wrap: wrap;
75 }
76
77 .action-buttons .button {
78 margin: 0;
79 }
80
81 .fonts-pro-recent-fonts {
82 background: #fff;
83 border: 1px solid #ddd;
84 border-radius: 8px;
85 padding: 20px;
86 }
87
88 .fonts-pro-recent-fonts h2 {
89 margin: 0 0 20px 0;
90 color: #333;
91 }
92
93 /* Google Fonts Page */
94 .fonts-pro-google-fonts {
95 margin-top: 20px;
96 }
97
98 .google-fonts-header {
99 display: flex;
100 align-items: center;
101 margin-bottom: 20px;
102 }
103
104 .google-fonts-header svg {
105 height: 40px;
106 width: auto;
107 }
108
109 .google-fonts-search {
110 background: #fff;
111 border: 1px solid #ddd;
112 border-radius: 8px;
113 padding: 20px;
114 margin-bottom: 20px;
115 display: flex;
116 gap: 10px;
117 align-items: center;
118 }
119
120 .google-fonts-search input[type="text"] {
121 flex: 1;
122 padding: 10px;
123 border: 1px solid #ddd;
124 border-radius: 4px;
125 font-size: 14px;
126 }
127
128 .google-fonts-preview {
129 background: #fff;
130 border: 1px solid #ddd;
131 border-radius: 8px;
132 padding: 20px;
133 margin: 20px 0;
134 box-shadow: 0 2px 4px rgba(0,0,0,0.1);
135 }
136
137 .google-fonts-preview h3 {
138 margin: 0 0 15px 0;
139 color: #333;
140 font-size: 18px;
141 border-bottom: 1px solid #eee;
142 padding-bottom: 10px;
143 }
144
145 .font-preview {
146 font-size: 24px;
147 padding: 20px;
148 border: 1px solid #ddd;
149 background: #f9f9f9;
150 margin: 10px 0;
151 border-radius: 5px;
152 text-align: center;
153 min-height: 60px;
154 display: flex;
155 align-items: center;
156 justify-content: center;
157 }
158
159 .font-preview-info {
160 margin-top: 15px;
161 padding: 15px;
162 background: #f0f0f0;
163 border-radius: 5px;
164 font-size: 14px;
165 line-height: 1.5;
166 }
167
168 .google-fonts-list {
169 background: #fff;
170 border: 1px solid #ddd;
171 border-radius: 8px;
172 padding: 20px;
173 margin-bottom: 20px;
174 min-height: 200px;
175 }
176
177 .font-item {
178 display: flex;
179 justify-content: space-between;
180 align-items: center;
181 padding: 15px;
182 border: 1px solid #eee;
183 border-radius: 4px;
184 margin-bottom: 10px;
185 background: #f9f9f9;
186 }
187
188 .font-item:hover {
189 background: #f0f0f0;
190 }
191
192 .font-info {
193 flex: 1;
194 }
195
196 .font-name {
197 font-weight: bold;
198 margin-bottom: 5px;
199 }
200
201 .font-category {
202 color: #666;
203 font-size: 12px;
204 }
205
206 .font-actions {
207 display: flex;
208 gap: 10px;
209 }
210
211 .selected-google-fonts {
212 background: #fff;
213 border: 1px solid #ddd;
214 border-radius: 8px;
215 padding: 20px;
216 }
217
218 .added-font-item {
219 display: flex;
220 justify-content: space-between;
221 align-items: center;
222 padding: 15px;
223 border: 1px solid #eee;
224 border-radius: 4px;
225 margin-bottom: 10px;
226 background: #f9f9f9;
227 }
228
229 .added-font-item:hover {
230 background: #f0f0f0;
231 }
232
233 .added-font-info {
234 flex: 1;
235 }
236
237 .added-font-name {
238 font-weight: bold;
239 margin-bottom: 5px;
240 }
241
242 .added-font-weights {
243 color: #666;
244 font-size: 12px;
245 }
246
247 .added-font-actions {
248 display: flex;
249 gap: 10px;
250 }
251
252 /* Adobe Fonts Page */
253 .fonts-pro-adobe-fonts {
254 margin-top: 20px;
255 }
256
257 .adobe-fonts-setup {
258 background: #fff;
259 border: 1px solid #ddd;
260 border-radius: 8px;
261 padding: 20px;
262 margin-bottom: 20px;
263 }
264
265 .adobe-fonts-setup h3 {
266 margin: 0 0 15px 0;
267 color: #333;
268 }
269
270 .adobe-fonts-setup p {
271 margin: 0 0 15px 0;
272 color: #666;
273 }
274
275 .adobe-fonts-setup input[type="text"] {
276 width: 100%;
277 max-width: 400px;
278 padding: 10px;
279 border: 1px solid #ddd;
280 border-radius: 4px;
281 font-size: 14px;
282 margin-bottom: 15px;
283 }
284
285 .adobe-fonts-list {
286 background: #fff;
287 border: 1px solid #ddd;
288 border-radius: 8px;
289 padding: 20px;
290 min-height: 200px;
291 }
292
293 /* Custom Fonts Page */
294 .fonts-pro-custom-fonts {
295 margin-top: 20px;
296 }
297
298 .custom-font-upload {
299 background: #fff;
300 border: 1px solid #ddd;
301 border-radius: 8px;
302 padding: 20px;
303 margin-bottom: 20px;
304 }
305
306 .custom-font-upload h3 {
307 margin: 0 0 20px 0;
308 color: #333;
309 }
310
311 .custom-font-upload .form-table th {
312 width: 150px;
313 padding: 15px 10px 15px 0;
314 }
315
316 .custom-font-upload .form-table td {
317 padding: 15px 10px;
318 }
319
320 .custom-font-upload input[type="text"],
321 .custom-font-upload input[type="file"] {
322 width: 100%;
323 max-width: 400px;
324 padding: 8px;
325 border: 1px solid #ddd;
326 border-radius: 4px;
327 font-size: 14px;
328 }
329
330 .custom-font-upload .description {
331 color: #666;
332 font-style: italic;
333 margin-top: 5px;
334 }
335
336 .custom-fonts-list {
337 background: #fff;
338 border: 1px solid #ddd;
339 border-radius: 8px;
340 padding: 20px;
341 }
342
343 .custom-fonts-list h3 {
344 margin: 0 0 20px 0;
345 color: #333;
346 }
347
348 /* Typography Page */
349 .fonts-pro-typography {
350 margin-top: 20px;
351 }
352
353 .fonts-pro-typography .form-table th {
354 width: 200px;
355 padding: 15px 10px 15px 0;
356 }
357
358 .fonts-pro-typography .form-table td {
359 padding: 15px 10px;
360 }
361
362 .fonts-pro-typography input[type="number"],
363 .fonts-pro-typography textarea {
364 width: 100%;
365 max-width: 400px;
366 padding: 8px;
367 border: 1px solid #ddd;
368 border-radius: 4px;
369 font-size: 14px;
370 }
371
372 .fonts-pro-typography textarea {
373 resize: vertical;
374 min-height: 100px;
375 }
376
377 /* Settings Page */
378 .fonts-pro-settings .form-table th {
379 width: 200px;
380 padding: 15px 10px 15px 0;
381 }
382
383 .fonts-pro-settings .form-table td {
384 padding: 15px 10px;
385 }
386
387 .fonts-pro-settings input[type="text"] {
388 width: 100%;
389 max-width: 400px;
390 padding: 8px;
391 border: 1px solid #ddd;
392 border-radius: 4px;
393 font-size: 14px;
394 }
395
396 .fonts-pro-settings .description {
397 color: #666;
398 font-style: italic;
399 margin-top: 5px;
400 }
401
402 /* Loading States */
403 .loading {
404 opacity: 0.6;
405 pointer-events: none;
406 }
407
408 .loading::after {
409 content: '';
410 position: absolute;
411 top: 50%;
412 left: 50%;
413 width: 20px;
414 height: 20px;
415 margin: -10px 0 0 -10px;
416 border: 2px solid #f3f3f3;
417 border-top: 2px solid #0073aa;
418 border-radius: 50%;
419 animation: spin 1s linear infinite;
420 }
421
422 @keyframes spin {
423 0% { transform: rotate(0deg); }
424 100% { transform: rotate(360deg); }
425 }
426
427 /* Notifications */
428 #fonts-pro-notifications {
429 position: relative;
430 z-index: 1000;
431 margin-bottom: 20px;
432 }
433
434 .fonts-pro-notice {
435 padding: 10px 15px;
436 margin: 10px 0;
437 border-radius: 4px;
438 border-left: 4px solid;
439 }
440
441 .fonts-pro-notice.success {
442 background: #d4edda;
443 border-color: #28a745;
444 color: #155724;
445 }
446
447 .fonts-pro-notice.error {
448 background: #f8d7da;
449 border-color: #dc3545;
450 color: #721c24;
451 }
452
453 .fonts-pro-notice.warning {
454 background: #fff3cd;
455 border-color: #ffc107;
456 color: #856404;
457 }
458
459 .fonts-pro-notice.info {
460 background: #d1ecf1;
461 border-color: #17a2b8;
462 color: #0c5460;
463 }
464
465 /* Responsive Design */
466 @media (max-width: 768px) {
467 .fonts-pro-stats {
468 grid-template-columns: 1fr;
469 }
470
471 .action-buttons {
472 flex-direction: column;
473 }
474
475 .action-buttons .button {
476 width: 100%;
477 }
478
479 .google-fonts-search {
480 flex-direction: column;
481 align-items: stretch;
482 }
483
484 .font-item {
485 flex-direction: column;
486 align-items: flex-start;
487 gap: 10px;
488 }
489
490 .font-actions {
491 width: 100%;
492 justify-content: flex-end;
493 }
494 }
495
496 /* Font Preview */
497 .font-preview {
498 font-size: 18px;
499 margin: 10px 0;
500 padding: 10px;
501 border: 1px solid #eee;
502 border-radius: 4px;
503 background: #f9f9f9;
504 }
505
506 /* Color Picker */
507 .color-picker-wrapper {
508 position: relative;
509 display: inline-block;
510 }
511
512 .color-picker {
513 width: 50px;
514 height: 30px;
515 border: 1px solid #ddd;
516 border-radius: 4px;
517 cursor: pointer;
518 }
519
520 /* Font Weight and Style Controls */
521 .font-controls {
522 display: flex;
523 gap: 10px;
524 margin: 10px 0;
525 }
526
527 .font-controls select {
528 padding: 5px;
529 border: 1px solid #ddd;
530 border-radius: 4px;
531 font-size: 14px;
532 }
533
534 /* Progress Bar */
535 .progress-bar {
536 width: 100%;
537 height: 20px;
538 background: #f0f0f0;
539 border-radius: 10px;
540 overflow: hidden;
541 margin: 10px 0;
542 }
543
544 .progress-fill {
545 height: 100%;
546 background: #0073aa;
547 transition: width 0.3s ease;
548 }
549
550 /* Tooltips */
551 .tooltip {
552 position: relative;
553 display: inline-block;
554 }
555
556 .tooltip .tooltiptext {
557 visibility: hidden;
558 width: 200px;
559 background-color: #333;
560 color: #fff;
561 text-align: center;
562 border-radius: 6px;
563 padding: 5px;
564 position: absolute;
565 z-index: 1;
566 bottom: 125%;
567 left: 50%;
568 margin-left: -100px;
569 opacity: 0;
570 transition: opacity 0.3s;
571 }
572
573 .tooltip:hover .tooltiptext {
574 visibility: visible;
575 opacity: 1;
576 }
577
578 /* PRO Labels with Different Colors */
579 #adminmenu a[href*="fonts-pro-google"] .wp-menu-name::after {
580 content: " PRO";
581 color: #e74c3c;
582 font-weight: bold;
583 font-size: 11px;
584 margin-left: 5px;
585 }
586
587 #adminmenu a[href*="fonts-pro-custom"] .wp-menu-name::after {
588 content: " PRO";
589 color: #27ae60;
590 font-weight: bold;
591 font-size: 11px;
592 margin-left: 5px;
593 }
594
595 #adminmenu a[href*="fonts-pro-settings"] .wp-menu-name::after {
596 content: " PRO";
597 color: #f39c12;
598 font-weight: bold;
599 font-size: 11px;
600 margin-left: 5px;
601 }