- Create CouponMetabox React component with WPCFTO design system - Add MetaboxLayout with vertical tabs (Rules, Restrictions) - Implement Rules tab: active toggle, type radio, amount fields, multi-currency support - Implement Restrictions tab: usage limit, date limit, autocomplete for forms/products/customers - Add metabox registration in Coupon.php for formipay-coupon post type - Update ReactAdmin to load assets on post.php edit screens - Add autocomplete AJAX handler for relation fields - Disable old WPCFTO metabox in favor of React island
9 lines
28 KiB
CSS
9 lines
28 KiB
CSS
.formipay-data-table-wrapper{margin:20px 0}.formipay-table-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.formipay-table-search{flex-grow:1;max-width:300px}.formipay-table-toolbar .components-select-control{min-width:150px}.formipay-table-toolbar :is(button,input,select){height:40px!important}.formipay-table-toolbar .components-base-control__field{margin-bottom:unset!important}.formipay-table-toolbar :is(button,input,select,.components-input-control__backdrop){border-radius:4px!important}.formipay-filter-tabs{border-bottom:1px solid #ddd;display:flex;gap:4px;margin-bottom:16px}.formipay-filter-tabs .filter-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:#646970;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.formipay-filter-tabs .filter-tab:hover{background:#f0f0f1;color:#135e96}.formipay-filter-tabs .filter-tab.active{border-bottom-color:#135e96;color:#135e96;font-weight:600}.formipay-filter-tabs .filter-tab .count{background:#dcdcde;border-radius:10px;display:inline-block;font-size:11px;line-height:1.4;margin-left:6px;min-width:18px;padding:2px 6px}.formipay-filter-tabs .filter-tab.active .count{background:#135e96;color:#fff}.formipay-table-container{background:#fff;border:1px solid #c3c4c7;box-shadow:0 1px 1px rgba(0,0,0,.04)}.formipay-table-loading{padding:60px;text-align:center}.formipay-table-empty{color:#646970;padding:40px;text-align:center}.formipay-table{border-collapse:collapse;width:100%}.formipay-table thead th{background:#f6f7f7;border-bottom:1px solid #c3c4c7;font-weight:600;padding:12px 10px;text-align:left}.formipay-table tbody td{border-bottom:1px solid #c3c4c7;padding:10px}.formipay-table tbody tr:last-child td{border-bottom:none}.formipay-table tbody tr:hover{background-color:#f0f0f1}.formipay-table :is(td,th):first-child{text-align:center}.formipay-table th.column-select>input{margin-left:0}.formipay-table .column-select{text-align:center;width:40px}.formipay-table tbody td:first-child input[type=checkbox]{margin:0}.formipay-table .column-actions{width:200px}.formipay-table .row-actions{display:none;visibility:hidden}.formipay-table tbody tr:hover .row-actions{display:block;visibility:visible}.formipay-table .row-actions .button-link,.formipay-table .row-actions a{color:#a7aaad;cursor:pointer;text-decoration:none}.formipay-table .row-actions .button-link:hover,.formipay-table .row-actions a:hover{color:#135e96}.formipay-table .row-actions .delete{color:#b32d2e}.formipay-table .row-actions .delete:hover{color:#d63638}.formipay-table .status-label{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.formipay-table .status-label.publish{background:#edfaef;color:#007017}.formipay-table .status-label.draft{background:#f0f0f1;color:#646970}.formipay-table .status-label.pending{background:#fff8e5;color:#d63638}.formipay-table input.formipay-form-shortcode{background:#f6f7f7;border:1px solid #8c8f94;border-radius:4px;color:#646970;font-family:monospace;font-size:12px;min-width:150px;padding:4px 8px}.formipay-table button.copy-shortcode{align-items:center;background:#fff;border:1px solid #8c8f94;border-radius:4px;cursor:pointer;display:inline-flex;gap:4px;margin-left:4px;padding:4px 8px}.formipay-table button.copy-shortcode:hover{background:#f6f7f7}.formipay-table button.copy-shortcode svg{height:16px;width:16px}.formipay-table-pagination{align-items:center;background:#fff;border:1px solid #c3c4c7;border-top:none;display:flex;justify-content:space-between;padding:12px 16px}.formipay-table-pagination .pagination-info{color:#646970;font-size:13px}.formipay-table-pagination .pagination-controls{align-items:center;display:flex;gap:8px}.formipay-table-pagination .page-info{color:#646970;font-size:13px;padding:0 8px}.formipay-table-pagination .components-select-control{min-width:80px}.formipay-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.formipay-table thead th.sorted{padding-right:20px;position:relative}.formipay-table thead th .sort-indicator{color:#135e96;position:absolute;right:8px;top:50%;transform:translateY(-50%)}
|
|
.formipay-order-timeline h3{color:#1e1e1e;font-size:16px;font-weight:600;margin:0 0 16px}.timeline-progress{justify-content:space-between;margin-bottom:24px}.timeline-progress,.timeline-step{align-items:center;display:flex;position:relative}.timeline-step{flex:1;flex-direction:column;gap:8px;z-index:1}.timeline-dot{background:#e0e0e0;border:2px solid #c3c4c7;border-radius:50%;height:24px;position:relative;width:24px}.timeline-step.completed .timeline-dot{background:#2271b1;border-color:#2271b1}.timeline-step.completed .timeline-dot:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.timeline-line{background:#e0e0e0;height:2px;left:50%;position:absolute;top:12px;width:100%;z-index:-1}.timeline-step.completed .timeline-line{background:#2271b1}.timeline-label{color:#646970;font-size:10px;font-weight:600;text-align:center;text-transform:uppercase}.timeline-events ul{list-style:none;margin:0;padding:0}.timeline-events li{border-bottom:1px solid #f0f0f1;display:grid;gap:8px;grid-template-columns:1fr auto;padding:12px 0}.timeline-events li:last-child{border-bottom:none}.event-status{color:#1e1e1e;font-size:13px;font-weight:600}.event-date{color:#646970;font-size:11px;text-align:right}.event-note{color:#646970;font-size:12px;grid-column:1/-1;margin-top:4px}.no-events{color:#646970;font-size:13px;padding:20px 0;text-align:center}
|
|
.formipay-notification-log h3{align-items:center;color:#1e1e1e;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.formipay-notification-log svg{fill:#1e1e1e}.no-logs{color:#646970;font-size:13px;padding:20px 0;text-align:center}.notification-list{list-style:none;margin:0;padding:0}.notification-item{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:12px;margin-bottom:8px;padding:12px}.notification-icon{align-items:center;background:#fff;border-radius:50%;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.notification-icon svg{fill:#1e1e1e}.notification-content{flex:1;min-width:0}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.notification-type{color:#2271b1;font-size:10px;font-weight:700;text-transform:uppercase}.notification-status{border-radius:10px;font-size:10px;font-weight:600;padding:2px 6px}.notification-item.sent .notification-status{background:#e7f7ed;color:#28a745}.notification-item.failed .notification-status{background:#fbeaea;color:#dc3545}.notification-item.pending .notification-status{background:#fff8e5;color:#f0ad4e}.notification-details{display:flex;flex-direction:column;gap:2px}.notification-details strong{color:#1e1e1e;font-size:13px}.notification-date,.notification-recipient{color:#646970;font-size:11px}.notification-date{margin-top:4px}
|
|
.formipay-order-detail{background:#f6f7f7;display:flex;flex-direction:column;height:100%}.formipay-detail-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.formipay-detail-header h1{flex:1;font-size:20px;font-weight:600;margin:0}.header-actions{display:flex;gap:8px}.formipay-detail-content{display:grid;gap:20px;grid-template-columns:2fr 1fr;overflow-y:auto;padding:20px}.formipay-detail-main,.formipay-detail-sidebar{display:flex;flex-direction:column;gap:20px}.formipay-detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:20px}.formipay-detail-card h3{color:#1e1e1e;font-size:16px;font-weight:600;margin:0 0 16px}.detail-list{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.detail-list>div{display:flex;flex-direction:column}.detail-list dt{color:#646970;font-size:12px;font-weight:600;margin-bottom:4px}.detail-list dd{align-items:center;color:#1e1e1e;display:flex;font-size:14px;gap:8px}.detail-list dd .components-select-control{flex:1}.items-table{border-collapse:collapse;width:100%}.items-table td,.items-table th{border-bottom:1px solid #f0f0f1;padding:10px;text-align:left}.items-table th{color:#646970;font-size:12px;font-weight:600;text-transform:uppercase}.items-table td{font-size:13px}.items-table small{color:#646970;display:block;font-size:11px}.items-table tfoot td{border-bottom:none;border-top:2px solid #1e1e1e;padding-top:16px}.customer-info{display:grid;gap:12px;grid-template-columns:1fr}.customer-info>div{display:flex;flex-direction:column}.customer-info dt{color:#646970;font-size:11px;font-weight:600;margin-bottom:2px}.customer-info dd{color:#1e1e1e;font-size:13px}.no-data{color:#646970;font-size:13px}.formipay-error,.formipay-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.formipay-error p{color:#646970;margin:0}
|
|
.formipay-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.formipay-page-header h1{font-size:23px;font-weight:400;margin:0}.formipay-navigation-menu{align-items:center;background-color:#fff;box-shadow:0 4px 12px #d2d2d2;display:flex;gap:2em;left:0;margin-left:-20px;margin-top:-10px;padding:12px 20px 12px 50px;position:sticky;top:32px;width:calc(100% + 20px);z-index:1000}.formipay-navigation-menu>img{flex-shrink:0;height:48px;width:48px}.navigation-links{display:flex;flex-wrap:wrap;gap:4px}.navigation-links .nav-link{border-radius:4px;color:#646970;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.navigation-links .nav-link:hover{background-color:#f6f7f7;color:#2271b1}.navigation-links .nav-link.active{background-color:#2271b1;color:#fff}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.status-active,.status-badge.status-publish{background-color:#edfaef;color:#00a32a}.status-badge.status-draft,.status-badge.status-inactive{background-color:#f0f0f1;color:#646970}.status-badge.status-expired{background-color:#f6f7f7;color:#d63638}code{background-color:#f0f0f1;border-radius:3px;font-family:monospace;font-size:13px;padding:2px 6px}.formipay-modal-overlay{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100000}.formipay-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-height:90vh;max-width:900px;overflow-y:auto;width:90%}
|
|
.formipay-variation-table{border-collapse:collapse;margin-top:20px;width:100%}.formipay-variation-table thead th{border-bottom:2px solid #1e1e1e;color:#1e1e1e;font-size:13px;font-weight:600;padding:12px;text-align:left}.formipay-variation-table tbody td{border-bottom:1px solid #f0f0f1;padding:12px}.variation-row{background:#fff}.variation-name{gap:8px}.toggle-expand,.variation-name{align-items:center;display:flex}.toggle-expand{background:transparent;border:none;border-radius:2px;cursor:pointer;height:24px;justify-content:center;padding:0;width:24px}.toggle-expand:hover{background:#f0f0f1}.toggle-expand svg{fill:#646970}.variation-name strong{color:#1e1e1e;font-size:13px}.price-cell,.variation-stock,.variation-weight{min-width:120px}.price-cell input,.variation-stock input,.variation-weight input{border:1px solid #8c8f94;border-radius:2px;font-size:13px;padding:6px 8px;width:100%}.variation-stock .components-base-control,.variation-weight .components-base-control{margin:0}.variation-actions{min-width:100px}.variation-details-row{background:#f9f9f9}.variation-details-row td{padding:0}.inner-table{border-collapse:collapse;margin:0;width:100%}.inner-table thead{display:none}.inner-table td{border-bottom:1px solid #f0f0f1;padding:8px 12px}.inner-table tr:last-child td{border-bottom:none}.inner-table input[type=number]{border:1px solid #8c8f94;border-radius:2px;font-size:12px;padding:6px 8px;width:100%}.currency-name{color:#1e1e1e;font-size:12px;font-weight:600}.required{color:#dc3545;margin-left:4px}
|
|
:root{--formipay-color-primary:#2985f7;--formipay-color-sidebar-bg:#2c3e50;--formipay-color-sidebar-text:#bec5cb;--formipay-color-sidebar-active:#2985f7;--formipay-color-content-bg:#f0f3f5;--formipay-color-block-bg:#fff;--formipay-color-border:#f0f0f1;--formipay-color-border-dark:#8c99a5;--formipay-color-input-bg:#f6f9fc;--formipay-color-text:#27374e;--formipay-color-text-muted:#8c99a5;--formipay-color-danger:#d63638;--formipay-color-success:#00a32a;--formipay-color-warning:#dba617;--formipay-spacing-xs:4px;--formipay-spacing-sm:8px;--formipay-spacing-md:12px;--formipay-spacing-lg:16px;--formipay-spacing-xl:20px;--formipay-spacing-xxl:24px;--formipay-radius-sm:4px;--formipay-radius-md:10px;--formipay-radius-lg:30px;--formipay-radius-full:50%;--formipay-font-family:"Roboto",-apple-system,BlinkMacSystemFont,sans-serif;--formipay-font-size-sm:13px;--formipay-font-size-base:14px;--formipay-font-size-md:15px;--formipay-font-size-lg:18px;--formipay-font-weight-normal:400;--formipay-font-weight-medium:500;--formipay-font-weight-semibold:600;--formipay-font-weight-bold:700;--formipay-sidebar-width:273px;--formipay-field-aside-width:40%;--formipay-field-content-width:60%;--formipay-shadow-sm:0 1px 3px rgba(0,0,0,.05);--formipay-shadow-md:-2px 2px 5px rgba(0,0,0,.08);--formipay-shadow-lg:0 4px 12px rgba(0,0,0,.1);--formipay-transition-fast:0.15s ease;--formipay-transition-base:0.3s ease}.formipay-design-system *{box-sizing:border-box}.formipay-design-system{color:var(--formipay-color-text);font-family:var(--formipay-font-family);line-height:1.5}.formipay-box{background-color:var(--formipay-color-content-bg);border-radius:var(--formipay-radius-md);box-shadow:var(--formipay-shadow-sm);margin:0 0 10px;min-height:80px}.formipay-box,.formipay-box-child{position:relative}.formipay-box-child+.formipay-box-child{margin-top:1em}.formipay-box a{color:var(--formipay-color-primary);text-decoration:none;transition:color var(--formipay-transition-base)}.formipay-box a:hover{text-decoration:underline}.formipay-wpcfto-tab-nav{background-color:var(--formipay-color-sidebar-bg);flex-grow:1;padding:21px 0;width:var(--formipay-sidebar-width)}.formipay-wpcfto-tab-nav.hide{display:none}.formipay-wpcfto-tab-nav-inner{position:sticky;top:133px;z-index:99}.formipay-wpcfto-nav{background-color:transparent;color:var(--formipay-color-sidebar-text);cursor:pointer;font-size:var(--formipay-font-size-base);font-weight:400;padding:0;position:relative;text-transform:uppercase;transition:all .3s ease 0s}.formipay-wpcfto-nav-title{padding:13px 32px 13px 34px;position:relative}.formipay-wpcfto-nav i{display:block;font-size:22px;left:auto;margin-top:-11px;position:absolute;right:30px;text-align:center;top:50%;width:26px}.formipay-wpcfto-nav.active{background-color:var(--formipay-color-primary);color:#fff}.formipay-wpcfto-nav:hover{color:#fff}.formipay-wpcfto-submenus{background-color:#1e2a36;padding:18px 32px 18px 34px}.formipay-wpcfto-submenu-item{color:var(--formipay-color-text-muted);font-size:15px;font-weight:400;margin-bottom:15px;position:relative;text-transform:none}.formipay-wpcfto-submenu-item i{display:none;font-size:10px;margin-top:-5px;right:0}.formipay-wpcfto-submenu-item.active,.formipay-wpcfto-submenu-item:hover{color:#fff}.formipay-wpcfto-submenu-item.active i{display:block}.formipay-tabs{flex-grow:1;overflow:hidden}.formipay-tab{background-color:var(--formipay-color-content-bg);display:none;padding:20px 30px 20px 20px;width:100%}.formipay-tab.active{animation:fadeIn .4s ease;display:block}.formipay-tab-content{max-width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.formipay-generic-field{background-color:var(--formipay-color-block-bg);border-radius:10px;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 0 10px;max-width:100%;padding:1.8rem 1rem 0;width:100%}.formipay-field-aside{padding-right:2rem;width:var(--formipay-field-aside-width)}.formipay-field-label{display:inline;font-size:var(--formipay-font-size-base);font-weight:var(--formipay-font-weight-medium)}.formipay-field-label.required .formipay-field-label-text:after{color:var(--formipay-color-danger);content:"*";margin-left:2px}.formipay-field-content{width:var(--formipay-field-content-width)}.formipay-field-description{color:var(--formipay-color-text-muted);display:block;font-size:var(--formipay-font-size-sm);margin-top:.8em}.formipay-input,.formipay-select,.formipay-textarea{background-color:var(--formipay-color-input-bg);border:1px solid var(--formipay-color-border-dark);border-radius:var(--formipay-radius-lg);color:var(--formipay-color-text);font-family:inherit;font-size:var(--formipay-font-size-base);padding:10px 16px;transition:border-color var(--formipay-transition-fast),box-shadow var(--formipay-transition-fast);width:100%}.formipay-input:focus,.formipay-select:focus,.formipay-textarea:focus{border-color:var(--formipay-color-primary);box-shadow:0 0 0 3px rgba(41,133,247,.1);outline:none}.formipay-input:disabled,.formipay-select:disabled,.formipay-textarea:disabled{cursor:not-allowed;opacity:.6}.formipay-textarea{min-height:100px;resize:vertical}.formipay-admin-checkbox{align-self:flex-end;margin-bottom:0}.formipay-admin-checkbox-wrapper{background-color:#bec5cb;border-radius:20px;cursor:pointer;display:inline-block;height:24px;position:relative;transition:background-color .3s ease;width:42px}.formipay-admin-checkbox-wrapper.active{background-color:var(--formipay-color-primary)}.formipay-checkbox-switcher{background-color:#fff;border-radius:50%;height:18px;left:3px;position:absolute;top:3px;transition:transform .3s ease;width:18px}.formipay-admin-checkbox-wrapper.active .formipay-checkbox-switcher{transform:translateX(18px)}.formipay-admin-checkbox input{height:0;opacity:0;position:absolute;width:0}.formipay-admin-checkbox label,.formipay-btn{cursor:pointer}.formipay-btn{align-items:center;border:none;border-radius:var(--formipay-radius-sm);display:inline-flex;font-family:inherit;font-size:var(--formipay-font-size-base);font-weight:var(--formipay-font-weight-medium);gap:var(--formipay-spacing-sm);justify-content:center;padding:10px 20px;text-decoration:none;transition:all var(--formipay-transition-fast)}.formipay-btn:disabled{cursor:not-allowed;opacity:.6}.formipay-btn-primary{background-color:var(--formipay-color-primary);color:#fff}.formipay-btn-primary:hover:not(:disabled){background-color:#1e6ae6}.formipay-btn-secondary{background-color:#f0f0f1;color:var(--formipay-color-text)}.formipay-btn-secondary:hover:not(:disabled){background-color:#e0e0e1}.formipay-btn-danger{background-color:var(--formipay-color-danger);color:#fff}.formipay-btn-danger:hover:not(:disabled){background-color:#b32d2e}.formipay-btn-sm{font-size:var(--formipay-font-size-sm);padding:6px 12px}.formipay-btn-icon{aspect-ratio:1;padding:8px}.formipay-repeater{display:flex;flex-direction:column;gap:var(--formipay-spacing-md)}.formipay-repeater-item{background-color:#fafafa;border:1px solid var(--formipay-color-border);border-radius:var(--formipay-radius-sm);overflow:hidden}.formipay-repeater-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--formipay-color-border);cursor:pointer;display:flex;justify-content:space-between;padding:var(--formipay-spacing-md) var(--formipay-spacing-lg);-webkit-user-select:none;-moz-user-select:none;user-select:none}.formipay-repeater-header:hover{background-color:#f8f9fa}.formipay-repeater-title{align-items:center;display:flex;font-weight:var(--formipay-font-weight-medium);gap:var(--formipay-spacing-sm)}.formipay-repeater-toggle{align-items:center;display:flex;height:20px;justify-content:center;transition:transform var(--formipay-transition-fast);width:20px}.formipay-repeater-item.collapsed .formipay-repeater-toggle{transform:rotate(-90deg)}.formipay-repeater-body{padding:var(--formipay-spacing-lg)}.formipay-repeater-item.collapsed .formipay-repeater-body{display:none}.formipay-repeater-actions{display:flex;gap:var(--formipay-spacing-sm)}.formipay-repeater-delete{color:var(--formipay-color-danger);cursor:pointer;transition:color var(--formipay-transition-fast)}.formipay-repeater-delete:hover{color:#b32d2e}.formipay-repeater-add{align-items:center;background-color:transparent;border:1px dashed var(--formipay-color-border-dark);border-radius:var(--formipay-radius-sm);color:var(--formipay-color-text-muted);cursor:pointer;display:flex;gap:var(--formipay-spacing-sm);padding:var(--formipay-spacing-md) var(--formipay-spacing-lg);transition:all var(--formipay-transition-fast)}.formipay-repeater-add:hover{background-color:rgba(41,133,247,.05);border-color:var(--formipay-color-primary);color:var(--formipay-color-primary)}.formipay-table-wrapper{background-color:var(--formipay-color-content-bg);border-radius:var(--formipay-radius-md);box-shadow:var(--formipay-shadow-sm);overflow:hidden}.formipay-table{border-collapse:collapse;width:100%}.formipay-table thead{background-color:#f8f9fa}.formipay-table th{color:var(--formipay-color-text-muted);font-size:var(--formipay-font-size-sm);font-weight:var(--formipay-font-weight-semibold);letter-spacing:.5px;text-align:left;text-transform:uppercase}.formipay-table td,.formipay-table th{border-bottom:1px solid var(--formipay-color-border);padding:12px 16px}.formipay-table tbody tr:last-child td{border-bottom:none}.formipay-table tbody tr:hover{background-color:#f8f9fa}.formipay-badge{align-items:center;border-radius:var(--formipay-radius-full);display:inline-flex;font-size:var(--formipay-font-size-sm);font-weight:var(--formipay-font-weight-medium);padding:4px 12px}.formipay-badge-success{background-color:#edfaef;color:var(--formipay-color-success)}.formipay-badge-warning{background-color:#fff8e5;color:var(--formipay-color-warning)}.formipay-badge-danger{background-color:#fce8e6;color:var(--formipay-color-danger)}.formipay-badge-info{background-color:#e7f3ff;color:var(--formipay-color-primary)}.formipay-badge-default{background-color:#f0f0f1;color:var(--formipay-color-text-muted)}.formipay-group-title{align-items:center;border-bottom:1px solid #d6dade;color:var(--formipay-color-text-muted);display:flex;font-size:14px;font-weight:400;gap:8px;letter-spacing:1.4px;margin:0 0 17px;padding:0 0 12px;text-transform:uppercase;width:100%}.formipay-group-title i{display:block}.formipay-notice{align-items:flex-start;border-radius:var(--formipay-radius-sm);display:flex;gap:var(--formipay-spacing-md);margin:var(--formipay-spacing-md) 0;padding:var(--formipay-spacing-md) var(--formipay-spacing-lg)}.formipay-notice-icon{flex-shrink:0;height:20px;width:20px}.formipay-notice-content{flex:1}.formipay-notice-title{font-weight:var(--formipay-font-weight-semibold);margin-bottom:var(--formipay-spacing-xs)}.formipay-notice-success{background-color:#edfaef;border-left:4px solid var(--formipay-color-success)}.formipay-notice-warning{background-color:#fff8e5;border-left:4px solid var(--formipay-color-warning)}.formipay-notice-error{background-color:#fce8e6;border-left:4px solid var(--formipay-color-danger)}.formipay-notice-info{background-color:#e7f3ff;border-left:4px solid var(--formipay-color-primary)}.formipay-loading{align-items:center;display:flex;justify-content:center;padding:40px}.formipay-spinner{animation:formipay-spin .8s linear infinite;border:3px solid var(--formipay-color-border);border-radius:50%;border-top-color:var(--formipay-color-primary);height:32px;width:32px}@keyframes formipay-spin{to{transform:rotate(1turn)}}.formipay-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 40px;text-align:center}.formipay-empty-icon{color:var(--formipay-color-border-dark);font-size:48px;margin-bottom:var(--formipay-spacing-md)}.formipay-empty-title{font-size:var(--formipay-font-size-lg);font-weight:var(--formipay-font-weight-semibold);margin-bottom:var(--formipay-spacing-sm)}.formipay-empty-description{color:var(--formipay-color-text-muted);margin-bottom:var(--formipay-spacing-lg)}.formipay-text-center{text-align:center}.formipay-text-right{text-align:right}.formipay-text-muted{color:var(--formipay-color-text-muted)}.formipay-text-small{font-size:var(--formipay-font-size-sm)}.formipay-text-large{font-size:var(--formipay-font-size-lg)}.formipay-mt-0{margin-top:0}.formipay-mt-1{margin-top:var(--formipay-spacing-xs)}.formipay-mt-2{margin-top:var(--formipay-spacing-sm)}.formipay-mt-3{margin-top:var(--formipay-spacing-md)}.formipay-mt-4{margin-top:var(--formipay-spacing-lg)}.formipay-mb-0{margin-bottom:0}.formipay-mb-1{margin-bottom:var(--formipay-spacing-xs)}.formipay-mb-2{margin-bottom:var(--formipay-spacing-sm)}.formipay-mb-3{margin-bottom:var(--formipay-spacing-md)}.formipay-mb-4{margin-bottom:var(--formipay-spacing-lg)}.formipay-flex{display:flex}.formipay-flex-center{align-items:center;display:flex;justify-content:center}.formipay-flex-between{align-items:center;display:flex;justify-content:space-between}.formipay-flex-column{display:flex;flex-direction:column}.formipay-gap-1{gap:var(--formipay-spacing-xs)}.formipay-gap-2{gap:var(--formipay-spacing-sm)}.formipay-gap-3{gap:var(--formipay-spacing-md)}.formipay-gap-4{gap:var(--formipay-spacing-lg)}.formipay-wpcfto-metabox{background-color:#fff;border-radius:var(--formipay-radius-md);box-shadow:var(--formipay-shadow-sm);overflow:hidden}.formipay-wpcfto-metabox-inner{display:flex;min-height:400px}.formipay-wpcfto-container{display:flex;position:relative;width:100%}.formipay-wpcfto-container.horizontal{flex-direction:column}.formipay-wpcfto-container.horizontal .formipay-wpcfto-tab-nav{flex-direction:row;overflow-x:auto;padding:0;width:100%}.formipay-wpcfto-container.horizontal .formipay-wpcfto-tabs{width:100%}@media (max-width:768px){.formipay-tab-nav{flex-direction:row;overflow-x:auto}.formipay-nav-item{flex-shrink:0}.formipay-field{padding:var(--formipay-spacing-md) 0}}
|
|
.formipay-coupon-metabox{margin:-12px}.formipay-metabox-actions{background-color:#fff;border-top:1px solid #f0f0f1;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.formipay-radio-group{display:flex;gap:16px}.formipay-radio{align-items:center;border:2px solid var(--formipay-color-border-dark);border-radius:var(--formipay-radius-lg);cursor:pointer;display:inline-flex;gap:8px;padding:8px 16px;transition:all var(--formipay-transition-fast)}.formipay-radio input{height:0;opacity:0;position:absolute;width:0}.formipay-radio span{color:var(--formipay-color-text-muted);font-weight:var(--formipay-font-weight-medium)}.formipay-radio.active,.formipay-radio:hover{border-color:var(--formipay-color-primary)}.formipay-radio.active{background-color:var(--formipay-color-primary)}.formipay-radio.active span{color:#fff}.formipay-autocomplete{position:relative}.formipay-autocomplete-selected{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.formipay-autocomplete-tag{align-items:center;background-color:var(--formipay-color-primary);border-radius:4px;color:#fff;display:inline-flex;font-size:var(--formipay-font-size-sm);gap:4px;padding:4px 8px}.formipay-autocomplete-remove{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:16px;height:16px;justify-content:center;line-height:1;padding:0;width:16px}.formipay-autocomplete-remove:hover{opacity:.8}.formipay-autocomplete-input-wrapper{position:relative}.formipay-autocomplete-loading{color:var(--formipay-color-text-muted);position:absolute;right:12px;top:50%;transform:translateY(-50%)}.formipay-autocomplete-results{background-color:#fff;border:1px solid var(--formipay-color-border-dark);border-radius:var(--formipay-radius-sm);box-shadow:var(--formipay-shadow-md);left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.formipay-autocomplete-result{cursor:pointer;padding:10px 16px;transition:background-color var(--formipay-transition-fast)}.formipay-autocomplete-result:hover{background-color:var(--formipay-color-content-bg)}.formipay-autocomplete-result:first-child{border-radius:var(--formipay-radius-sm) var(--formipay-radius-sm) 0 0}.formipay-autocomplete-result:last-child{border-radius:0 0 var(--formipay-radius-sm) var(--formipay-radius-sm)}
|