PluginProbe
Subscriptions for WooCommerce with Stripe Recurring Payments / 2.0.0
Subscriptions for WooCommerce with Stripe Recurring Payments v2.0.0
2.0.0 1.11.2 1.11.1 1.11.0 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.6 1.9.5 trunk 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 All 61 releases
subscription / assets / css / admin.css

admin.css in Subscriptions for WooCommerce with Stripe Recurring Payments 2.0.0, at assets/css/admin.css

821 lines 17.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .sdevs_subscription_tab > a::before {
2 content: "\f531" !important;
3 }
4
5 .subscrpt_field {
6 max-width: 480px;
7 display: flex;
8 flex-wrap: wrap;
9 }
10
11 .subscrpt_field > label {
12 width: 100%;
13 }
14
15 .subscrpt_field > input {
16 width: 70% !important;
17 margin-right: 5px !important;
18 }
19
20 .subscrpt_field > select {
21 width: 25%;
22 }
23
24 .subscrpt_field > small {
25 line-height: 14px;
26 margin-top: 5px !important;
27 }
28
29 .subscrpt-order-label {
30 background: #dbeafe;
31 color: #1e40af;
32 display: inline-block;
33 padding: 5px 10px;
34 font-weight: 500;
35 font-size: 14px;
36 margin-top: 10px;
37 clear: both;
38 margin-bottom: 5px;
39 border-radius: 5px;
40 }
41
42 @media (min-width: 1024px) {
43 .subscrpt_field > select {
44 width: 20%;
45 }
46 }
47
48 /* Utility Classes */
49 .wp-subscription-flex {
50 display: flex;
51 align-items: center;
52 }
53 .wp-subscription-space-between {
54 justify-content: space-between;
55 }
56 .wp-subscription-full-width {
57 width: 100%;
58 }
59
60 /* Admin Header */
61 .wp-subscription-admin-header {
62 background: #fff;
63 border-bottom: 1px solid #e2e4e7;
64 padding: 0 24px;
65 position: sticky;
66 top: 32px;
67 z-index: 100;
68 width: 100%;
69 box-sizing: border-box;
70 }
71
72 .wp-subscription-admin-header-inner {
73 max-width: 1240px;
74 margin: 0 auto;
75 display: flex;
76 align-items: center;
77 justify-content: space-between;
78 min-height: 72px;
79 }
80
81 .wp-subscription-admin-header-left {
82 display: flex;
83 flex-direction: column;
84 gap: 2px;
85 }
86
87 .wp-subscription-breadcrumb {
88 display: flex;
89 align-items: center;
90 gap: 8px;
91 }
92
93 .wp-subscription-breadcrumb-home {
94 display: inline-flex;
95 align-items: center;
96 color: #646970;
97 text-decoration: none;
98 transition: color 0.2s;
99 }
100
101 .wp-subscription-breadcrumb-home:hover {
102 color: #2271b1;
103 }
104
105 .wp-subscription-breadcrumb-home .dashicons {
106 font-size: 20px;
107 width: 20px;
108 height: 20px;
109 }
110
111 .wp-subscription-breadcrumb-sep {
112 color: #c3c4c7;
113 font-size: 16px;
114 line-height: 1;
115 user-select: none;
116 }
117
118 .wp-subscription-breadcrumb-link {
119 color: #646970;
120 font-weight: 500;
121 font-size: 14px;
122 text-decoration: none;
123 transition: color 0.2s;
124 }
125
126 .wp-subscription-breadcrumb-link:hover {
127 color: #2271b1;
128 }
129
130 .wp-subscription-breadcrumb-current {
131 color: #1d2327;
132 font-weight: 500;
133 font-size: 14px;
134 }
135
136 .wp-subscription-logo {
137 /* Deliberately small. It is a persistent header mark, not the page's
138 subject — the breadcrumb on the left is what identifies the screen. */
139 height: 22px;
140 width: auto;
141 display: block;
142 }
143
144 /* The licence badge sits before the logo and must not pick up the underline
145 that admin anchors get, since the inactive state is a link. */
146 .wp-subscription-license-badge,
147 .wp-subscription-license-badge:hover,
148 .wp-subscription-license-badge:focus {
149 text-decoration: none;
150 }
151
152 a.wp-subscription-license-badge:hover {
153 filter: brightness(0.97);
154 }
155
156 a.wp-subscription-license-badge:focus {
157 box-shadow: 0 0 0 3px var(--wpsubs-brand-ring, rgba(255, 77, 0, 0.2));
158 outline: none;
159 }
160
161 .wp-subscription-admin-header-right {
162 display: flex;
163 align-items: center;
164 gap: 12px;
165 }
166
167 .wp-subscription-help-btn {
168 display: inline-flex;
169 align-items: center;
170 gap: 5px;
171 padding: 6px 14px;
172 border: 1px solid #c3c4c7;
173 border-radius: 4px;
174 color: #1d2327;
175 text-decoration: none;
176 font-size: 13px;
177 font-weight: 500;
178 background: #fff;
179 line-height: 1.4;
180 transition:
181 border-color 0.2s,
182 color 0.2s,
183 background 0.2s;
184 }
185
186 .wp-subscription-help-btn:hover {
187 border-color: #2271b1;
188 color: #2271b1;
189 background: #f0f6fc;
190 }
191
192 .wp-subscription-help-btn .dashicons {
193 font-size: 16px;
194 width: 16px;
195 height: 16px;
196 margin-top: 1px;
197 }
198
199 /* Admin Content */
200
201 .wp-subscription-admin-box {
202 background: #fff;
203 border-radius: 6px;
204 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
205 padding: 25px;
206 margin-bottom: 20px;
207 transition: box-shadow 0.3s ease;
208 }
209
210 .wp-subscription-admin-box:hover {
211 box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
212 }
213
214 /* Typography */
215 .wp-subscription-admin-title {
216 font-family: Georgia, "Times New Roman", serif;
217 font-size: 24px;
218 color: #1d2327;
219 margin: 0 0 20px 0;
220 padding: 0;
221 }
222
223 .wp-subscription-admin-content p,
224 .wp-subscription-admin-content li,
225 .wp-subscription-admin-content td,
226 .wp-subscription-admin-content th {
227 font-family:
228 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
229 font-size: 14px;
230 line-height: 1.5;
231 color: #1d2327;
232 }
233
234 /* Navigation (legacy, for reference) */
235 .wp-subscription-admin-nav {
236 display: flex;
237 gap: 20px;
238 margin-bottom: 20px;
239 }
240
241 .wp-subscription-admin-nav a {
242 color: #1d2327;
243 text-decoration: none;
244 padding: 8px 16px;
245 border-radius: 4px;
246 transition: all 0.3s ease;
247 }
248
249 .wp-subscription-admin-nav a:hover {
250 background: #f0f0f1;
251 }
252
253 .wp-subscription-admin-nav a.current {
254 background: #2271b1;
255 color: #fff;
256 }
257
258 /* Stats Cards */
259 .wp-subscription-stats-grid {
260 display: grid;
261 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
262 gap: 20px;
263 margin-bottom: 30px;
264 }
265
266 .wp-subscription-stat-card {
267 background: #fff;
268 border-radius: 6px;
269 padding: 20px;
270 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
271 transition: all 0.3s ease;
272 }
273
274 .wp-subscription-stat-card:hover {
275 box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
276 transform: translateY(-2px);
277 }
278
279 .wp-subscription-stat-title {
280 font-family: Georgia, "Times New Roman", serif;
281 font-size: 16px;
282 color: #1d2327;
283 margin: 0 0 10px 0;
284 }
285
286 .wp-subscription-stat-value {
287 font-size: 24px;
288 font-weight: 600;
289 color: #2271b1;
290 }
291
292 /* Support Grid */
293 .wp-subscription-support-grid {
294 display: grid;
295 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
296 gap: 20px;
297 }
298
299 .wp-subscription-support-card {
300 background: #fff;
301 border-radius: 6px;
302 padding: 25px;
303 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
304 transition: all 0.3s ease;
305 }
306
307 .wp-subscription-support-card:hover {
308 box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
309 transform: translateY(-2px);
310 }
311
312 /* Responsive Design */
313 @media screen and (max-width: 900px) {
314 .wp-subscription-admin-header {
315 padding: 0 16px;
316 }
317 .wp-subscription-admin-header-inner {
318 flex-wrap: wrap;
319 gap: 10px;
320 }
321 .wp-subscription-admin-content {
322 padding: 10px;
323 }
324 }
325
326 @media screen and (max-width: 600px) {
327 .wp-subscription-admin-header {
328 padding: 0 12px;
329 }
330 .wp-subscription-admin-header-inner {
331 flex-direction: column;
332 align-items: flex-start;
333 gap: 8px;
334 }
335 .wp-subscription-admin-header-right {
336 gap: 8px;
337 }
338 .wp-subscription-logo {
339 height: 18px;
340 }
341 }
342
343 /* Remove left padding on WPSubscription admin pages only */
344 body.toplevel_page_wp-subscription #wpcontent,
345 body[class*="wpsubscription_page_wp-subscription"] #wpcontent {
346 padding-left: 0 !important;
347 }
348
349 /* Remove onboarding page menu item */
350 .wp-submenu a[href*="page=wp-subscription-onboarding"],
351 .wp-submenu a[href*="page=wp-subscription-details"] {
352 display: none !important;
353 }
354
355 /* Table & List Styles */
356 .wp-subscription-list-table {
357 border: none !important;
358 border-radius: 8px;
359 box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
360 overflow: hidden;
361 }
362 .wp-subscription-list-table th,
363 .wp-subscription-list-table td {
364 border: none;
365 border-bottom: 1px solid #f0f0f1;
366 background: #fff;
367 }
368 .wp-subscription-list-table tr:last-child td {
369 /* border-bottom: none; */
370 }
371
372 .wp-subscription-list-table .button-small {
373 font-size: 13px;
374 padding: 5px 14px;
375 border-radius: 5px;
376 }
377
378 /* Remove default table border */
379 .wp-subscription-list-table {
380 border-collapse: separate !important;
381 border-spacing: 0;
382 }
383
384 /* Row Actions on Title Hover */
385 .wp-subscription-title-wrap {
386 position: relative;
387 }
388 .wp-subscription-row-actions {
389 visibility: hidden;
390 gap: 8px;
391 display: flex;
392 }
393 .wp-subscription-title-wrap:hover .wp-subscription-row-actions {
394 visibility: visible;
395 }
396 .wp-subscription-row-actions a {
397 color: #2271b1;
398 font-size: 13px;
399 text-decoration: none;
400 padding: 2px 8px;
401 border-radius: 4px;
402 background: #f0f6ff;
403 transition:
404 background 0.2s,
405 color 0.2s;
406 }
407 .wp-subscription-row-actions a:hover {
408 background: #2271b1;
409 color: #fff;
410 }
411
412 /* =====================
413 Subscriptions List Page
414 ===================== */
415 .wp-subscription-title-wrap:hover .wp-subscription-row-actions {
416 opacity: 1 !important;
417 pointer-events: auto !important;
418 }
419 .wp-subscription-row-actions {
420 display: flex;
421 align-items: center;
422 gap: 8px;
423 background: none;
424 box-shadow: none;
425 position: static;
426 padding: 0;
427 border-radius: 0;
428 white-space: nowrap;
429 }
430 .wp-subscription-row-actions a {
431 color: #2271b1;
432 text-decoration: none;
433 font-size: 13px;
434 padding: 2px 4px;
435 transition: color 0.15s;
436 }
437 .wp-subscription-row-actions a[style*="color:#d93025"] {
438 color: #d93025 !important;
439 }
440 .wp-subscription-modern-table {
441 border-radius: 10px;
442 overflow: hidden;
443 background: #fff;
444 border: none !important;
445 box-shadow: none !important;
446 }
447 .wp-subscription-modern-table thead tr {
448 background: #e6f0fa !important;
449 border-bottom: 2px solid #b6d4f7 !important;
450 }
451 .wp-subscription-modern-table th {
452 font-weight: 600 !important;
453 color: #1e293b !important;
454 background: none !important;
455 }
456 .wp-subscription-modern-table th,
457 .wp-subscription-modern-table td {
458 border: none !important;
459 padding: 14px 18px !important;
460 background: none !important;
461 }
462 .wp-subscription-modern-table tr {
463 border-bottom: 1px solid #f1f3f7 !important;
464 transition: background 0.18s;
465 }
466 .wp-subscription-modern-table tr:last-child {
467 border-bottom: none !important;
468 }
469 .wp-subscription-modern-table tbody tr:hover {
470 background: #f0f6ff !important;
471 box-shadow: none !important;
472 z-index: 1;
473 }
474 .subscrpt-id-link {
475 color: #2563eb;
476 font-weight: 600;
477 text-decoration: none;
478 transition: color 0.16s;
479 }
480 .subscrpt-id-link:hover {
481 color: #1e40af;
482 text-decoration: underline;
483 }
484 .subscrpt-id-title {
485 font-size: 11px;
486 color: #888;
487 margin-top: 2px;
488 line-height: 1.3;
489 max-width: 120px;
490 white-space: nowrap;
491 overflow: hidden;
492 text-overflow: ellipsis;
493 }
494
495 /* Subscriptions List Page Layout */
496 .wp-subscription-admin-content.list-page {
497 max-width: 1240px;
498 margin: 24px auto 32px auto;
499 background: transparent;
500 padding: 0px 24px;
501 }
502 .wp-subscription-list-header {
503 margin-bottom: 28px;
504 display: flex;
505 justify-content: space-between;
506 align-items: center;
507 flex-wrap: wrap;
508 gap: 16px;
509 }
510 .wp-subscription-filters {
511 display: flex;
512 align-items: center;
513 gap: 10px;
514 flex-wrap: wrap;
515 flex: 1;
516 }
517 .wp-subscription-bulk-actions {
518 display: flex;
519 align-items: center;
520 gap: 8px;
521 flex-shrink: 0;
522 }
523 .wp-subscription-pagination {
524 display: flex;
525 justify-content: flex-end;
526 align-items: center;
527 gap: 8px;
528 margin-top: 24px;
529 }
530 .wp-subscription-pagination .total {
531 color: #888;
532 font-size: 13px;
533 }
534 .wp-subscription-pagination .goto-label {
535 margin-left: 16px;
536 color: #888;
537 font-size: 13px;
538 }
539 .wp-subscription-pagination form {
540 display: inline-block;
541 margin: 0;
542 }
543 .wp-subscription-pagination input[type="number"] {
544 width: 48px;
545 }
546 .wp-subscription-customer-email {
547 color: #888;
548 font-size: 12px;
549 line-height: 1.3;
550 word-break: break-all;
551 }
552 @keyframes floatY {
553 0% {
554 transform: translateY(0);
555 }
556 100% {
557 transform: translateY(-10px);
558 }
559 }
560 .wp-subscription-admin-box:hover {
561 box-shadow: 0 4px 16px #e0e7ef;
562 transition: box-shadow 0.2s;
563 }
564 .wp-subscription-pro-callout {
565 background: #2271b1 !important;
566 }
567 .wp-subscription-pro-callout h2,
568 .wp-subscription-pro-callout p {
569 color: #fff !important;
570 }
571 .wp-subscription-pro-callout .button-primary {
572 background: #fff !important;
573 color: #2271b1 !important;
574 }
575 .wp-subscription-pro-callout .button-primary:hover {
576 background: #e0e7ef !important;
577 }
578 @media (max-width: 900px) {
579 .wp-subscription-support-resources {
580 grid-template-columns: 1fr !important;
581 }
582 }
583 .wp-subscription-hero-upgrade {
584 position: relative;
585 display: flex;
586 align-items: center;
587 justify-content: space-between;
588 background: #2196f3;
589 border-radius: 12px;
590 padding: 32px 36px;
591 margin-bottom: 28px;
592 overflow: hidden;
593 min-height: 90px;
594 }
595 .wp-subscription-hero-upgrade::before {
596 content: "";
597 position: absolute;
598 inset: 0;
599 background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0 2px, transparent 2px 40px);
600 opacity: 0.25;
601 pointer-events: none;
602 }
603 .wp-subscription-hero-content {
604 display: flex;
605 align-items: center;
606 gap: 18px;
607 z-index: 1;
608 }
609 .wp-subscription-hero-icon {
610 font-size: 2em;
611 line-height: 1;
612 }
613 .wp-subscription-hero-title {
614 font-size: 2em;
615 font-weight: bold;
616 color: #fff;
617 line-height: 1.2;
618 }
619 .wp-subscription-hero-btn {
620 z-index: 1;
621 background: #fff;
622 color: #2196f3;
623 font-weight: 600;
624 font-size: 1.1em;
625 padding: 16px 32px;
626 border-radius: 8px;
627 text-decoration: none;
628 box-shadow: 0 2px 8px rgba(33, 150, 243, 0.08);
629 transition:
630 background 0.18s,
631 color 0.18s,
632 transform 0.18s;
633 border: none;
634 outline: none;
635 display: inline-block;
636 text-align: center;
637 }
638 .wp-subscription-hero-btn:hover {
639 background: #e3f0fd;
640 color: #1565c0;
641 transform: translateY(-2px) scale(1.03);
642 }
643
644 /* Bulk Actions Styling */
645 .tablenav {
646 margin: 8px 0 16px 0;
647 display: flex;
648 align-items: center;
649 justify-content: space-between;
650 }
651
652 .tablenav .bulkactions {
653 display: flex;
654 align-items: center;
655 gap: 8px;
656 }
657
658 .tablenav select {
659 min-width: 120px;
660 }
661
662 .tablenav .button {
663 margin: 0;
664 }
665
666 /* Checkbox styling */
667 .wp-subscription-modern-table input[type="checkbox"] {
668 margin: 0;
669 }
670
671 /* Trash row styling */
672 .wp-subscription-modern-table tr[data-status="trash"] {
673 opacity: 0.7;
674 }
675
676 .wp-subscription-modern-table tr[data-status="trash"]:hover {
677 opacity: 1;
678 }
679
680 /* Empty Trash button styling */
681 .button-link-delete {
682 color: #d63638 !important;
683 text-decoration: none;
684 border: 1px solid #d63638;
685 border-radius: 4px;
686 padding: 4px 12px;
687 font-size: 13px;
688 line-height: 1.4;
689 transition: all 0.2s;
690 }
691
692 .button-link-delete:hover {
693 background: #d63638;
694 color: #fff !important;
695 text-decoration: none;
696 }
697
698 /* --------------------------------------------------------------------------
699 Integrations: sticky filter rail + results
700
701 Three facet groups and a dozen chips do not fit across the top without
702 pushing the first card off the fold, and a bar up there scrolls away exactly
703 when a long list needs narrowing. They live in a column instead, which stays
704 in reach while the results scroll.
705 -------------------------------------------------------------------------- */
706
707 /*
708 * The `hidden` attribute is only `display: none` in the UA stylesheet, so any
709 * class that sets `display` outranks it. `.wpsubs-btn` is `inline-flex`, which
710 * meant the Reset button stayed on screen with `hidden` set — visible, and
711 * still clickable. Anything toggled by the filter script needs this.
712 */
713 .subscrpt-int-filters [hidden],
714 .subscrpt-int-card[hidden],
715 [data-subscrpt-int-section][hidden],
716 [data-subscrpt-int-empty][hidden],
717 [data-subscrpt-integration-filters][hidden] {
718 display: none !important;
719 }
720
721 .subscrpt-int-layout {
722 display: grid;
723 grid-template-columns: 232px minmax(0, 1fr);
724 gap: 32px;
725 align-items: start;
726 }
727
728 .subscrpt-int-results {
729 min-width: 0;
730 }
731
732 /* The rail sticks below the page header, which is itself sticky at 32px. */
733 .subscrpt-int-sidebar {
734 position: sticky;
735 top: 104px;
736 max-height: calc(100vh - 124px);
737 overflow-y: auto;
738 overscroll-behavior: contain;
739 }
740
741 .subscrpt-int-filters {
742 display: flex;
743 flex-direction: column;
744 gap: 14px;
745 }
746
747 .subscrpt-int-filters__reset {
748 align-self: stretch;
749 justify-content: center;
750 margin: 0 4px;
751 }
752
753 /* The filter rail is the shared `wpsubs-vnav` component (one nav per facet).
754 Only the count badge at the end of each row is page-specific. */
755 .subscrpt-int-chip__count {
756 font-size: 11px;
757 font-variant-numeric: tabular-nums;
758 padding: 0 6px;
759 border-radius: 9999px;
760 background: var(--wpsubs-surface-muted, #f3f4f6);
761 color: var(--wpsubs-text-muted, #6b7280);
762 flex-shrink: 0;
763 }
764
765 .wpsubs-vnav__item.is-active .subscrpt-int-chip__count {
766 background: var(--wpsubs-brand, #ff4d00);
767 color: #fff;
768 }
769
770 .subscrpt-int-empty {
771 margin: 0 0 20px;
772 padding: 40px 24px;
773 text-align: center;
774 font-size: 13px;
775 color: var(--wpsubs-text-muted, #6b7280);
776 background: var(--wpsubs-surface, #fff);
777 border: 1px solid var(--wpsubs-border, #e5e7eb);
778 border-radius: var(--wpsubs-radius, 8px);
779 }
780
781 /* Below this the rail would squeeze the card grid to one column, so it goes
782 back on top and stops sticking.
783
784 Measured against WordPress's own fold point rather than a round number: at
785 960px the admin menu collapses to 36px, so the content gains 124px exactly
786 as the viewport loses room, and the rail plus two card columns still fit.
787 The previous 1200px threshold fired on an ordinary laptop — a 1196px window
788 put the filters back on top with 756px of space going spare beside them. */
789 @media screen and (max-width: 960px) {
790 .subscrpt-int-layout {
791 grid-template-columns: minmax(0, 1fr);
792 }
793
794 .subscrpt-int-sidebar {
795 position: static;
796 max-height: none;
797 overflow: visible;
798 }
799
800 .subscrpt-int-filters {
801 flex-direction: row;
802 flex-wrap: wrap;
803 align-items: flex-start;
804 gap: 12px 20px;
805 }
806
807 /* Each facet's vnav sits as its own column in the wrapped rail. */
808 .subscrpt-int-filters .wpsubs-vnav {
809 flex: 1 1 180px;
810 }
811
812 /* Reset keeps its place under the filters: a full-width last line. */
813 .subscrpt-int-filters__reset {
814 flex: 1 1 100%;
815 }
816
817 [data-subscrpt-int-reset] {
818 flex: 0 0 100%;
819 }
820 }
821