ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-13 11:27:46
Editing: admin.css
Cancel
Save Changes
/** * SeedProd Admin CSS * * DESIGN PHILOSOPHY: * 1. WordPress Native First - Leverage WordPress admin styles as the foundation * 2. Minimal Overrides - Only customize what's necessary for brand identity * 3. CSS Variables - Use variables for all repeated values (colors, spacing, typography) * 4. DRY Principle - Avoid repetition through variables and utility classes * 5. Specificity Control - Avoid !important unless overriding WordPress core styles * 6. Semantic Naming - Variables follow a clear, predictable naming convention * 7. Progressive Enhancement - Build on top of WordPress, don't fight against it * * VARIABLE NAMING CONVENTIONS: * - Colors: --seedprod-{color}-{shade} (e.g., gray-100 to gray-1000) * - Typography: --seedprod-font-{size} (xs, sm, base, md, lg, xl, 2xl, 3xl, 4xl) * - Spacing: --seedprod-spacing-{size} (xs: 4px to 4xl: 40px) * - Shadows: --seedprod-shadow-{size} (xs, sm, md, lg) * - Radius: --seedprod-radius-{size} (sm, md, lg, xl, full) * * WORDPRESS INTEGRATION: * - Use .postbox for cards/widgets (enhanced with .seedprod-card) * - Use .button classes as base (enhanced with .seedprod-button-primary) * - Use .notice classes for messages where possible * - Use dashicons for icons throughout * * BROWSER SUPPORT: * - CSS Variables (Custom Properties) supported in all modern browsers * - Fallbacks included where necessary for older browsers * * MAINTENANCE NOTES: * - When adding new styles, check if a variable already exists * - Create new utility classes for patterns used 3+ times * - Document any WordPress core overrides with reason * * TABLE OF CONTENTS: * 1. CSS Variables & Design Tokens * 2. Reusable Card Styles * 3. Reusable Button Styles * 4. Utility Classes * 5. Lite Upgrade Bar * 6. Header Component * 7. License Activation Page * 8. Dashboard Widgets */ /* Override body background for SeedProd pages */ body.seedprod-body { background-color: #f0f0f1 !important; } /* ========================================================================== 1. CSS VARIABLES & DESIGN TOKENS ========================================================================== */ :root { /* Brand Colors */ --seedprod-orange: #E14E1B; --seedprod-orange-hover: #C43E0B; --seedprod-orange-light: #FFF5F1; --seedprod-success: #1da867; --seedprod-success-light: #d4f4dd; --seedprod-success-dark: #0a4f22; --seedprod-success-border: #8ed1a0; --seedprod-error: #dc3545; --seedprod-error-hover: #c82333; --seedprod-error-light: #fce4e4; --seedprod-error-dark: #8c1919; --seedprod-error-border: #f0b5b5; /* Neutral Colors (WordPress Grays) */ --seedprod-gray-100: #f6f7f7; --seedprod-gray-200: #f0f0f1; --seedprod-gray-300: #e5e7eb; --seedprod-gray-400: #dcdcde; --seedprod-gray-500: #c3c4c7; --seedprod-gray-600: #8c8f94; --seedprod-gray-700: #646970; --seedprod-gray-800: #50575e; --seedprod-gray-900: #2c3338; --seedprod-gray-1000: #1e1e1e; /* WordPress Blues */ --seedprod-link: #2271b1; --seedprod-link-hover: #135e96; /* Typography */ --seedprod-font-xs: 11px; --seedprod-font-sm: 12px; --seedprod-font-base: 13px; --seedprod-font-md: 14px; --seedprod-font-lg: 15px; --seedprod-font-xl: 18px; --seedprod-font-2xl: 20px; --seedprod-font-3xl: 24px; --seedprod-font-4xl: 42px; --seedprod-font-weight-normal: 400; --seedprod-font-weight-medium: 500; --seedprod-font-weight-semibold: 600; --seedprod-font-weight-bold: 700; /* Spacing */ --seedprod-spacing-xs: 4px; --seedprod-spacing-sm: 8px; --seedprod-spacing-md: 12px; --seedprod-spacing-lg: 16px; --seedprod-spacing-xl: 20px; --seedprod-spacing-2xl: 24px; --seedprod-spacing-3xl: 30px; --seedprod-spacing-4xl: 40px; /* Border Radius */ --seedprod-radius-sm: 4px; --seedprod-radius-md: 6px; --seedprod-radius-lg: 8px; --seedprod-radius-xl: 12px; --seedprod-radius-full: 50%; /* Shadows */ --seedprod-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05); --seedprod-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.08); --seedprod-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08); --seedprod-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.1); --seedprod-shadow-orange: 0 4px 12px rgba(225, 78, 27, 0.4); /* Transitions */ --seedprod-transition-fast: 0.2s; --seedprod-transition-base: 0.3s; --seedprod-transition-slow: 0.5s; /* Breakpoints */ --seedprod-breakpoint-sm: 782px; --seedprod-breakpoint-md: 1200px; --seedprod-breakpoint-lg: 1280px; /* Card Styles */ --seedprod-card-shadow: var(--seedprod-shadow-md); --seedprod-card-radius: var(--seedprod-radius-sm); --seedprod-card-padding: var(--seedprod-spacing-3xl); --seedprod-card-header-bg: var(--seedprod-gray-100); --seedprod-card-header-padding: var(--seedprod-spacing-md) var(--seedprod-spacing-xl); --seedprod-card-border-color: var(--seedprod-gray-300); /* Button Styles */ /* Button variables removed - using WordPress defaults */ /* Legacy - To maintain compatibility */ --seedprod-spacing-header: 32px; } /* ========================================================================== 2. REUSABLE CARD STYLES - Consistent card styling ========================================================================== */ /* Base card style - extends WordPress postbox */ .seedprod-card, .postbox.seedprod-card { box-shadow: var(--seedprod-card-shadow); border: none; border-radius: var(--seedprod-card-radius); margin-bottom: 0; } .seedprod-card .inside, .postbox.seedprod-card .inside { padding: var(--seedprod-card-padding); } /* Card with header */ .seedprod-card .hndle, .postbox.seedprod-card .hndle { background: var(--seedprod-card-header-bg); border-bottom: 1px solid var(--seedprod-card-border-color); border-radius: var(--seedprod-card-radius) var(--seedprod-card-radius) 0 0; cursor: default; padding: var(--seedprod-card-header-padding); font-size: var(--seedprod-font-lg); font-weight: var(--seedprod-font-weight-semibold); margin: 0; line-height: 1.4; } .seedprod-card h2.hndle, .postbox.seedprod-card h2.hndle { margin: 0; padding: var(--seedprod-card-header-padding); } /* ========================================================================== 3. BUTTON STYLES - Minimal brand modifiers only ========================================================================== */ /* Primary button modifier - Just changes color to SeedProd orange */ .button-primary.seedprod-button-primary { background: var(--seedprod-orange) !important; border-color: var(--seedprod-orange) !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px; } .button-primary.seedprod-button-primary:hover { background: var(--seedprod-orange-hover) !important; border-color: var(--seedprod-orange-hover) !important; } .button-primary.seedprod-button-primary:disabled, .button-primary.seedprod-button-primary[disabled] { background: #c3c4c7 !important; border-color: #c3c4c7 !important; color: #646970 !important; cursor: not-allowed !important; } /* Ensure proper text alignment in buttons */ .button-primary.seedprod-button-primary .button-text { line-height: 1; display: inline-block; } /* Secondary button modifier - Orange border and text */ .button.seedprod-button-secondary { border-color: var(--seedprod-orange) !important; color: var(--seedprod-orange) !important; background: transparent !important; /* Override any primary button background */ display: inline-flex; align-items: center; gap: 6px; } .button.seedprod-button-secondary:hover { border-color: var(--seedprod-orange-hover) !important; color: var(--seedprod-orange-hover) !important; background: rgba(225, 78, 27, 0.05) !important; } .button.seedprod-button-secondary:disabled, .button.seedprod-button-secondary[disabled] { border-color: #c3c4c7 !important; color: #646970 !important; background: transparent !important; cursor: not-allowed !important; } /* Fix WordPress core .button-primary conflicts with secondary buttons */ .button-primary.seedprod-button-secondary { background: transparent !important; /* Force transparent background */ border-color: var(--seedprod-orange) !important; color: var(--seedprod-orange) !important; } .button-primary.seedprod-button-secondary:hover { background: rgba(225, 78, 27, 0.05) !important; border-color: var(--seedprod-orange-hover) !important; color: var(--seedprod-orange-hover) !important; } /* Upgrade button modifier - Green background with white text for upgrade CTAs */ .button.seedprod-upgrade-button { background: var(--seedprod-success) !important; border-color: var(--seedprod-success) !important; color: #fff !important; display: inline-flex; align-items: center; gap: 6px; } .button.seedprod-upgrade-button:hover { background: #178a51 !important; /* Darker green for hover */ border-color: #178a51 !important; color: #fff !important; } .button.seedprod-upgrade-button:disabled, .button.seedprod-upgrade-button[disabled] { background: #c3c4c7 !important; border-color: #c3c4c7 !important; color: #fff !important; cursor: not-allowed !important; opacity: 0.5; } /* Fix WordPress core .button-primary conflicts with upgrade buttons */ .button-primary.seedprod-upgrade-button { background: var(--seedprod-success) !important; border-color: var(--seedprod-success) !important; color: #fff !important; display: inline-flex; align-items: center; gap: 6px; } .button-primary.seedprod-upgrade-button:hover { background: #178a51 !important; border-color: #178a51 !important; color: #fff !important; } /* Style the star icon in upgrade buttons - flex parent handles alignment */ .seedprod-upgrade-button .seedprod-upgrade-icon { color: inherit; flex-shrink: 0; } /* Product Education Page Styles */ .seedprod-product-education-page { max-width: 1200px; margin: 20px auto; } .seedprod-product-education-page .postbox { border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); } .seedprod-product-education-page .inside { padding: 40px; } /* Main 50-50 Layout */ .seedprod-education-main { display: flex; gap: 60px; align-items: center; margin-bottom: 50px; } /* Left Column */ .seedprod-education-left { flex: 1; padding-right: 20px; } /* Right Column */ .seedprod-education-right { flex: 1; display: flex; align-items: center; justify-content: center; } /* PRO Feature Badge */ .seedprod-pro-feature-badge { display: inline-flex; align-items: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 8px 16px; border-radius: 20px; font-size: 13px; margin-bottom: 20px; } .seedprod-pro-feature-badge .dashicons { font-size: 16px; width: 16px; height: 16px; margin-right: 8px; } .seedprod-pro-feature-badge-text strong { font-weight: 600; } .seedprod-badge-separator { margin: 0 8px; opacity: 0.5; } /* Headlines and Text */ .seedprod-education-left h1 { font-size: 36px; line-height: 1.2; color: #1e1e1e; margin: 0 0 15px 0; font-weight: 700; } .seedprod-subtitle { font-size: 20px; color: #646970; line-height: 1.5; margin: 0 0 20px 0; } .seedprod-description { font-size: 16px; color: #50575e; line-height: 1.6; margin: 0 0 30px 0; } /* Benefits List */ .seedprod-benefit-points { margin: 30px 0; } .seedprod-benefit-points ul { list-style: none; margin: 0; padding: 0; } .seedprod-benefit-points li { display: flex; align-items: flex-start; margin-bottom: 15px; font-size: 15px; line-height: 1.6; color: #1e1e1e; } .seedprod-benefit-points .dashicons-yes-alt { color: var(--seedprod-success); font-size: 20px; margin-right: 12px; flex-shrink: 0; margin-top: 2px; } /* CTA Section */ .seedprod-education-cta { margin-top: 35px; } .seedprod-education-cta .button-hero { font-size: 18px; padding: 15px 30px; height: auto; line-height: 1.2; } .seedprod-cta-guarantee { display: flex; align-items: center; font-size: 14px; color: #646970; margin-top: 15px; } .seedprod-cta-guarantee .dashicons { margin-right: 8px; color: var(--seedprod-success); } /* Right Column - Image/Video */ .seedprod-feature-screenshot { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); } .seedprod-video-wrapper { position: relative; padding-bottom: 56.25%; /* 16:9 aspect ratio */ height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); } .seedprod-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; } /* Bottom Section */ .seedprod-education-bottom { padding-top: 40px; border-top: 1px solid #e0e0e0; text-align: center; } /* Testimonial */ .seedprod-testimonial-section { margin-bottom: 30px; } .seedprod-testimonial-section blockquote { margin: 0; padding: 0; border: none; background: none; } .seedprod-testimonial-section blockquote p { font-size: 18px; font-style: italic; color: #50575e; line-height: 1.6; margin: 0 0 20px 0; } .seedprod-testimonial-section cite { display: block; font-style: normal; font-size: 14px; color: #646970; } .seedprod-testimonial-section cite strong { color: #1e1e1e; font-weight: 600; } /* Social Proof */ .seedprod-cta-users { font-size: 14px; color: #646970; margin: 0; } /* Responsive Design */ @media (max-width: 960px) { .seedprod-education-main { flex-direction: column; gap: 40px; } .seedprod-education-left { padding-right: 0; } .seedprod-education-left h1 { font-size: 28px; } .seedprod-subtitle { font-size: 18px; } } /* Black button modifier - For upgrade bar */ .button-primary.seedprod-button-black { background: #ffffff !important; border-color: #ffffff !important; color: #1e1e1e !important; } .button-primary.seedprod-button-black:hover { background: #f0f0f0 !important; border-color: #f0f0f0 !important; color: #000 !important; } /* Fix dashicon alignment in buttons - WP6 fallback (inline-block context) */ .button .dashicons { vertical-align: middle; margin-top: -2px; margin-right: 4px; } /* * WP7 changed .wp-core-ui .button .dashicons to use vertical-align: top + line-height: 1.9 * (specificity 0,0,3,0), overriding our lower-specificity rule above. * Fix: use inline-flex + align-items on SeedProd buttons so icon centering * is layout-driven rather than relying on vertical-align. * .wp-core-ui prefix raises specificity to 0,0,4,0 to override WP7's display: inline-block. */ .wp-core-ui .button.seedprod-upgrade-button, .wp-core-ui .button-primary.seedprod-upgrade-button, .wp-core-ui .button.seedprod-button-secondary, .wp-core-ui .button-primary.seedprod-button-secondary { display: inline-flex; align-items: center; gap: 6px; } /* Reset WP7's line-height: 1.9 on dashicons within SeedProd flex buttons. * WP7 calculates line-height for 20px dashicons, but our icons use 16px, * so the inherited line-height creates extra box height. Reset to 1 for * accurate flex centering. Specificity 0,0,4,0 beats WP7's 0,0,3,0. */ .wp-core-ui .button.seedprod-upgrade-button .dashicons, .wp-core-ui .button.seedprod-button-secondary .dashicons { line-height: 1; margin-right: 0; margin-top: 0; flex-shrink: 0; } /* Center the loading spinner's dashicon. WP core's * .wp-core-ui .button .dashicons (vertical-align: top, specificity 0,0,3,0) * otherwise pins it to the top of the button; the .wp-core-ui prefix here * reaches 0,0,4,0 to win. margin: 0 drops the icon-beside-text offsets that * the standalone spinner does not need. line-height: 1 centers the glyph in * its box so it rotates on its own axis instead of orbiting the box center * (WP7's inherited line-height pushes the glyph off the rotation origin). */ .wp-core-ui .button .button-spinner .dashicons { vertical-align: middle; margin: 0; line-height: 1; } /* Center dashicon glyphs in modal action buttons (e.g. import/export * Select File / Import / Export). WP7's .wp-core-ui .button .dashicons sets * line-height: 1.9 (0,0,3,0), which drops the glyph below the button's * flex-centered icon box. The .wp-core-ui prefix reaches 0,0,4,0 to reset it. */ .wp-core-ui .seedprod-modal .button .dashicons { line-height: 1; vertical-align: middle; } /* ========================================================================== 4. UTILITY CLASSES - Reusable patterns ========================================================================== */ /* Flexbox utilities */ .seedprod-flex-center { display: flex; align-items: center; justify-content: center; } .seedprod-flex-between { display: flex; justify-content: space-between; align-items: center; } /* Text utilities */ .seedprod-text-center { text-align: center; } .seedprod-text-muted { color: var(--seedprod-gray-700); } /* Spacing utilities */ .seedprod-mt-sm { margin-top: var(--seedprod-spacing-sm); } .seedprod-mt-md { margin-top: var(--seedprod-spacing-md); } .seedprod-mt-lg { margin-top: var(--seedprod-spacing-lg); } .seedprod-mt-xl { margin-top: var(--seedprod-spacing-xl); } /* ========================================================================== 5. LITE UPGRADE BAR ========================================================================== */ @keyframes slideDown { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .seedprod-lite-upgrade-bar { background: linear-gradient(135deg, var(--seedprod-success) 0%, #3A9D56 100%); color: #fff; padding: 8px 20px; margin: -20px -20px 0 -20px; position: relative; font-size: 13px; text-shadow: 0 1px 2px rgba(0,0,0,0.15); animation: slideDown 0.3s ease-out; } .seedprod-upgrade-bar-content { display: flex; justify-content: center; align-items: center; gap: 20px; max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; } .seedprod-upgrade-bar-message { display: flex; align-items: center; gap: 10px; } .seedprod-upgrade-icon { font-size: 16px; line-height: 1; } .seedprod-upgrade-text { font-size: 13px; line-height: 1.2; } .seedprod-upgrade-text strong { font-weight: 600; margin-right: 6px; } /* Adjust header margin when upgrade bar is present */ .seedprod-lite-upgrade-bar + .seedprod-dashboard-header { margin-top: 0; } /* License Warning Bar - Pro version with invalid/missing license */ .seedprod-license-warning-bar { background: var(--seedprod-error); color: #fff; padding: 12px 20px; margin: -20px -20px 0 -20px; position: relative; font-size: var(--seedprod-font-md); font-weight: var(--seedprod-font-weight-medium); text-align: center; animation: slideDown 0.3s ease-out; } .seedprod-license-bar-content { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; } .seedprod-license-warning-text { display: inline-block; } .seedprod-license-separator { margin: 0 10px; opacity: 0.7; } .seedprod-license-link { color: #fff !important; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px; margin-left: 8px; transition: opacity 0.2s ease; } .seedprod-license-link:hover { color: #fff !important; opacity: 0.9; text-decoration: underline; } .seedprod-license-link:focus { color: #fff !important; box-shadow: none; outline: 2px solid rgba(255,255,255,0.5); outline-offset: 2px; } .seedprod-license-warning-bar + .seedprod-dashboard-header { margin-top: 0; } /* Inline notice for license messages */ #seedprod-license-message { margin-bottom: 10px; margin-top: 10px; } #seedprod-license-message .notice.inline { margin: 0; padding: 8px 12px; border-left-width: 4px; display: inline-block; } #seedprod-license-message .notice.inline p { margin: 0; padding: 0; } /* ========================================================================== NOTIFICATION BAR - System notifications from S3 feed ========================================================================== */ .seedprod-notification-bar { background: linear-gradient(135deg, #FFF8F5 0%, #FFFFFF 100%); border-left: 4px solid #E14E1B; padding: 16px 20px; margin: 20px 0; box-shadow: 0 2px 8px rgba(225, 78, 27, 0.15); position: relative; display: flex; align-items: flex-start; border-radius: 0 8px 8px 0; animation: slideInFromTop 0.5s ease-out; } @keyframes slideInFromTop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .seedprod-notification-bar.notice { margin-left: 0; margin-right: 0; } .seedprod-notification-content { display: flex; align-items: center; gap: 15px; width: 100%; flex-wrap: wrap; } .seedprod-notification-icon { flex-shrink: 0; color: #E14E1B; font-size: 20px; line-height: 1; margin-top: 2px; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .seedprod-notification-icon img { width: 40px; height: 40px; object-fit: contain; } .seedprod-notification-icon .dashicons { width: 24px; height: 24px; font-size: 24px; } .seedprod-notification-message { flex: 1; min-width: 0; } .seedprod-notification-message strong { display: block; font-size: 14px; color: #1D2327; margin-bottom: 5px; } .seedprod-notification-text { font-size: 13px; line-height: 1.5; color: #50575E; } .seedprod-notification-text p { margin: 0 0 8px 0; } .seedprod-notification-text p:last-child { margin-bottom: 0; } .seedprod-notification-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; margin-left: auto; padding-right: 35px; /* Space for dismiss button */ } .seedprod-notification-actions .button { white-space: nowrap; font-weight: 600; transition: all 0.2s ease; } .seedprod-notification-actions .button-primary { background: #E14E1B; border-color: #E14E1B; color: #fff; box-shadow: 0 2px 4px rgba(225, 78, 27, 0.2); } .seedprod-notification-actions .button-primary:hover { background: #C73F0F; border-color: #C73F0F; transform: translateY(-1px); box-shadow: 0 3px 6px rgba(225, 78, 27, 0.3); } .seedprod-notification-actions .button-small { padding: 6px 14px; font-size: 13px; min-height: 30px; } .seedprod-notification-dismiss { position: absolute; top: 50%; transform: translateY(-50%); right: 12px; background: none; border: none; padding: 4px; cursor: pointer; color: #787C82; transition: color 0.2s; z-index: 10; } .seedprod-notification-dismiss:hover { color: #1D2327; } .seedprod-notification-dismiss .dashicons { font-size: 16px; width: 16px; height: 16px; } /* Responsive adjustments */ @media (max-width: 782px) { .seedprod-notification-content { flex-direction: column; } .seedprod-notification-actions { margin-left: 0; margin-top: 10px; padding-right: 35px; /* Keep space for dismiss button */ } .seedprod-notification-dismiss { top: 12px; right: 12px; transform: none; } } /* ========================================================================== 6. HEADER COMPONENT - Custom SeedProd header ========================================================================== */ .seedprod-dashboard-header { background: #fff; padding: var(--seedprod-spacing-2xl) var(--seedprod-spacing-header) var(--seedprod-spacing-header) var(--seedprod-spacing-header); margin: -20px -20px var(--seedprod-spacing-3xl) -20px; box-shadow: var(--seedprod-shadow-xs); } .seedprod-header-content { display: flex; justify-content: space-between; align-items: flex-end; } .seedprod-header-left { display: flex; align-items: flex-end; gap: var(--seedprod-spacing-2xl); } .seedprod-logo { height: 29px; width: auto; } .seedprod-header-separator { font-size: 29px; font-weight: 100; line-height: 0.8; margin: 0 -6px; } .seedprod-page-title { font-size: var(--seedprod-font-3xl); font-weight: var(--seedprod-font-weight-semibold); margin: 0; line-height: 1; } /* Help button */ .seedprod-help-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--seedprod-radius-full); background: var(--seedprod-gray-100); border: 1px solid var(--seedprod-gray-300); color: var(--seedprod-gray-800); text-decoration: none; transition: all var(--seedprod-transition-fast); position: relative; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .seedprod-help-link:hover { background: var(--seedprod-orange); border-color: var(--seedprod-orange); color: #fff; transform: translateY(-1px); box-shadow: 0 3px 6px rgba(225, 78, 27, 0.3); } .seedprod-help-link:focus { background: var(--seedprod-orange); border-color: var(--seedprod-orange); color: #fff; outline: 2px solid var(--seedprod-orange-light); outline-offset: 2px; box-shadow: 0 3px 6px rgba(225, 78, 27, 0.3); } .seedprod-help-link .dashicons { font-size: var(--seedprod-font-2xl); width: var(--seedprod-font-2xl); height: var(--seedprod-font-2xl); } /* Tooltip - Keep custom styling for brand consistency */ body:not(.admin_page_seedprod_pro_builder) .seedprod-tooltip { position: absolute; top: 100%; right: 0; margin-top: 10px; padding: 8px 14px; background: var(--seedprod-gray-900); color: #fff; font-size: var(--seedprod-font-sm); font-weight: var(--seedprod-font-weight-medium); border-radius: var(--seedprod-radius-md); white-space: nowrap; opacity: 0; visibility: hidden; transition: all var(--seedprod-transition-fast); pointer-events: none; z-index: 1000; box-shadow: var(--seedprod-shadow-md); } body .seedprod-dashboard-row .seedprod-tooltip{ white-space: normal; } .seedprod-tooltip::before { content: ''; position: absolute; bottom: 100%; right: 12px; border: 6px solid transparent; border-bottom-color: var(--seedprod-gray-900); } .seedprod-help-link:hover .seedprod-tooltip { opacity: 1; visibility: visible; margin-top: 12px; } /* Responsive adjustments for header */ @media (max-width: 782px) { .seedprod-dashboard-header { padding: var(--seedprod-spacing-lg) var(--seedprod-spacing-lg) var(--seedprod-spacing-lg) var(--seedprod-spacing-lg); margin: -12px -12px var(--seedprod-spacing-xl) -12px; } .seedprod-header-content { align-items: center; } .seedprod-header-left { gap: var(--seedprod-spacing-md); } .seedprod-logo { height: 24px; } .seedprod-header-separator { font-size: 24px; } .seedprod-page-title { font-size: var(--seedprod-font-xl); } .seedprod-help-link { width: 36px; height: 36px; } .seedprod-help-link .dashicons { font-size: var(--seedprod-font-xl); width: var(--seedprod-font-xl); height: var(--seedprod-font-xl); } } @media (max-width: 600px) { .seedprod-header-separator { display: none; } .seedprod-header-left { flex-direction: column; align-items: flex-start; gap: var(--seedprod-spacing-sm); } .seedprod-page-title { font-size: var(--seedprod-font-lg); } } /* ========================================================================== 7. LICENSE ACTIVATION PAGE ========================================================================== */ /* Page wrapper adjustments */ .seedprod-dashboard-page { /* Let WordPress handle the base styles */ padding: var(--seedprod-spacing-xl); margin-left: -20px !important; } /* License activation specific */ .seedprod-license-activation-view .seedprod-dashboard-header { margin-bottom: 0; } /* Background watermark */ .seedprod-license-activation-view .seedprod-dashboard-container { position: relative; background-image: url('../images/bg-leaf.svg'); background-repeat: no-repeat; background-position: center top; background-size: 500px auto; padding-top: 60px; max-width: 1200px; margin: 0 auto; opacity: 1; animation: fadeIn 0.5s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Welcome section */ .seedprod-welcome-section { text-align: center; padding: 40px 20px 20px; max-width: 800px; margin: 0 auto; } .seedprod-welcome-logo { width: 180px; height: auto; margin-bottom: var(--seedprod-spacing-xl); } .seedprod-welcome-title { font-size: 42px; font-weight: var(--seedprod-font-weight-bold); margin: 0 0 15px 0; line-height: 1.2; background: linear-gradient(135deg, #1e1e1e 0%, #50575e 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .seedprod-welcome-subtitle { font-size: 20px; font-weight: var(--seedprod-font-weight-semibold); color: var(--seedprod-orange); margin: 0 0 10px 0; } .seedprod-welcome-message { font-size: 17px; line-height: 1.6; margin: 0 auto 30px; max-width: 600px; } /* License card - Uses shared card styles with specific overrides */ .postbox.seedprod-license-notice { max-width: 700px; margin: 0 auto 30px; } .postbox.seedprod-license-notice .inside { padding: var(--seedprod-spacing-4xl); /* Slightly more padding for emphasis */ } .postbox.seedprod-license-notice h2 { font-size: var(--seedprod-font-xl); font-weight: var(--seedprod-font-weight-semibold); margin: 0 0 25px; text-align: center; line-height: 1.4; } /* Integrated License Activation Card */ .seedprod-license-activation-focused { padding: 30px !important; } .seedprod-license-activation-focused .inside { max-width: 700px; margin: 0 auto; } .seedprod-activation-steps { margin-bottom: 25px; } .seedprod-activation-steps h2 { font-size: 24px; margin-bottom: 20px; color: var(--seedprod-text-dark); font-weight: 600; } .seedprod-step-indicator { display: flex; align-items: center; gap: 12px; padding: 16px 20px; background: linear-gradient(135deg, rgba(225, 78, 27, 0.05) 0%, rgba(225, 78, 27, 0.02) 100%); border-left: 3px solid var(--seedprod-orange); border-radius: 4px; margin-bottom: 12px; } .seedprod-step-indicator.seedprod-step-upcoming { opacity: 0.4; background: #f9f9f9; border-left-color: #ddd; } .seedprod-step-upcoming .seedprod-step-number { background: #ccc; } .seedprod-step-number { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: var(--seedprod-orange); color: white; border-radius: 50%; font-weight: 600; font-size: 14px; flex-shrink: 0; } .seedprod-step-label { font-size: 15px; color: var(--seedprod-text-dark); font-weight: 500; } .seedprod-license-activation-focused .seedprod-license-form { margin-top: 0; } .seedprod-license-activation-focused .seedprod-license-input-group { justify-content: center; gap: 12px; } .seedprod-license-activation-focused .seedprod-license-input { font-size: 16px; padding: 14px 18px; min-width: 380px; height: auto; line-height: 1.4; } /* Feature list - kept for reference but can be removed if not used */ .seedprod-feature-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--seedprod-spacing-xl); margin: 30px 0; padding: 30px; background: linear-gradient(135deg, rgba(225, 78, 27, 0.03) 0%, rgba(225, 78, 27, 0.01) 100%); border-radius: 8px; border: 1px solid rgba(225, 78, 27, 0.1); } .seedprod-feature-item { display: flex; align-items: center; font-size: var(--seedprod-font-lg); font-weight: var(--seedprod-font-weight-medium); } .seedprod-feature-item .dashicons-yes { color: var(--seedprod-success); margin-right: 10px; font-size: 22px; filter: drop-shadow(0 1px 2px rgba(74, 184, 102, 0.3)); } /* License form */ .seedprod-license-form { margin: 30px 0; } .seedprod-license-input-group { display: flex; gap: 10px; margin-bottom: 15px; } input[type="password"].seedprod-license-input { flex: 1; border-color: var(--seedprod-gray-500); /* Softer border - matches WP specificity */ } /* Button styles defined in section 3 - Reusable Button Styles */ /* Messages - Use WordPress notice styles where possible */ .seedprod-license-message { margin-top: 15px; } .seedprod-message-success, .seedprod-message-error { padding: var(--seedprod-spacing-md) var(--seedprod-spacing-lg); border-radius: var(--seedprod-radius-sm); display: flex; align-items: center; gap: var(--seedprod-spacing-sm); } .seedprod-message-success { background: var(--seedprod-success-light); color: var(--seedprod-success-dark); border: 1px solid var(--seedprod-success-border); } .seedprod-message-error { background: var(--seedprod-error-light); color: var(--seedprod-error-dark); border: 1px solid var(--seedprod-error-border); } /* Help text */ .seedprod-license-help { text-align: center; font-size: 13px; margin-top: 12px; color: var(--seedprod-gray-600); } .seedprod-license-help a { color: var(--seedprod-orange); text-decoration: none; font-weight: 500; } .seedprod-license-help a:hover { text-decoration: underline; } /* Quick actions */ .seedprod-quick-actions { display: flex; justify-content: center; gap: 40px; margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(0, 0, 0, 0.08); } .seedprod-quick-action { text-align: center; text-decoration: none; font-size: var(--seedprod-font-md); color: #50575e; transition: all var(--seedprod-transition-fast); } .seedprod-quick-action:hover { color: #1e1e1e; transform: translateY(-2px); } .seedprod-quick-action .dashicons { display: block; width: 48px; height: 48px; margin: 0 auto 10px; background: #f6f7f7; border: 1px solid var(--seedprod-gray-300); color: #50575e; border-radius: 50%; line-height: 46px; /* Adjusted for border */ font-size: 22px; transition: all var(--seedprod-transition-fast); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .seedprod-quick-action:hover .dashicons { background: var(--seedprod-orange); border-color: var(--seedprod-orange); color: #fff; transform: scale(1.05); box-shadow: 0 4px 8px rgba(225, 78, 27, 0.3); } /* ========================================================================== 8. DASHBOARD WIDGETS (Post-activation) ========================================================================== */ .seedprod-dashboard-content { max-width: 1600px; margin: 20px 0; } /* Two-column grid layout - force side by side */ .seedprod-dashboard-row { display: flex; gap: var(--seedprod-spacing-xl); margin-bottom: var(--seedprod-spacing-xl); } .seedprod-dashboard-row .postbox { flex: 1; min-width: 0; /* Allow flex items to shrink */ } /* Make responsive - stack on smaller screens */ @media (max-width: 900px) { .seedprod-dashboard-row { flex-direction: column; } .seedprod-dashboard-row .postbox { width: 100%; } } /* Dashboard widgets use seedprod-card class for consistency */ /* ========================================================================== 9. WELCOME PAGE ========================================================================== */ .seedprod-welcome-page { background: #fff; min-height: 100vh; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999; overflow: auto; margin-left: -20px; /* Compensate for WordPress admin padding */ margin-top: -32px; /* Remove admin notices space */ } /* Container with watermark background */ .seedprod-welcome-top { background: url('../images/bg-leaf.svg'); background-position: top center; background-repeat: no-repeat; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; } .seedprod-welcome-container { max-width: 580px; width: 100%; text-align: center; z-index: 1; position: relative; } .seedprod-welcome-header { margin-bottom: 30px; } .seedprod-welcome-logo { width: auto; height: 50px; margin-bottom: 25px; margin-top: 0; } .seedprod-welcome-subtitle { font-size: 15px; font-weight: 600; color: #50575e; line-height: 1.6; max-width: 460px; margin: 0 auto 30px; letter-spacing: -0.01em; } .seedprod-welcome-box { background: #fff; border: 1px solid #dcdcde; border-radius: 4px; padding: 40px; box-shadow: 0 10px 40px rgba(0,0,0,0.08); z-index: 20; position: relative; margin-bottom: 60px; } .seedprod-welcome-box h2 { font-size: 16px; font-weight: 700; color: #1e1e1e; margin: 0 0 32px 0; line-height: 1.5; } .seedprod-welcome-actions { margin: 0; } /* Welcome button removed - using WordPress native styles */ /* Footer section below the card */ .seedprod-welcome-footer { text-align: center; margin-top: 40px; } .seedprod-skip-link { color: #646970; font-size: 14px; text-decoration: none; display: inline-block; margin-bottom: 10px; } .seedprod-skip-link:hover { color: #2271b1; text-decoration: none; } .seedprod-welcome-note { font-size: 12px; color: #646970; margin-top: 10px; line-height: 1.5; } /* Dashboard card icon styling */ .seedprod-dashboard-content .hndle .dashicons { color: var(--seedprod-orange); margin-right: 8px; vertical-align: middle; margin-top: -2px; font-size: var(--seedprod-font-xl); width: 18px; height: 18px; } /* Stats grid - WordPress native with enhancements */ .seedprod-stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin: 0; } @media (min-width: 1200px) { .seedprod-stats-grid { grid-template-columns: repeat(4, 1fr); } } /* Stat cards - enhance WordPress defaults */ .seedprod-stat-card { background: var(--seedprod-gray-200); border: 1px solid #ddd; border-radius: 6px; padding: 16px; display: flex; align-items: center; gap: 12px; transition: all 0.2s ease; min-height: 80px; } .seedprod-stat-card:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); border-color: #8c8f94; } .seedprod-stat-icon { width: 40px; height: 40px; border-radius: 8px; background: #f6f7f7; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.2s ease; } .seedprod-stat-card:hover .seedprod-stat-icon { background: var(--seedprod-orange-light); transform: scale(1.05); } .seedprod-stat-icon .dashicons { font-size: 20px; color: #50575e; transition: color 0.2s ease; } .seedprod-stat-card:hover .seedprod-stat-icon .dashicons { color: var(--seedprod-orange); } .seedprod-stat-number { font-size: 28px; font-weight: var(--seedprod-font-weight-bold); line-height: 1.1; margin-bottom: 4px; color: var(--seedprod-orange); } .seedprod-stat-label { font-size: var(--seedprod-font-base); font-weight: var(--seedprod-font-weight-semibold); /* WordPress handles base text colors */ margin-bottom: 4px; } .seedprod-stat-breakdown { font-size: var(--seedprod-font-sm); opacity: 0.7; line-height: 1.3; } .seedprod-stat-breakdown span { display: inline-block; margin-right: 8px; margin-bottom: 2px; } /* Responsive design for stats grid */ @media (max-width: 782px) { .seedprod-stats-grid { grid-template-columns: 1fr; gap: 12px; } .seedprod-stat-card { gap: 10px; } .seedprod-stat-icon { width: 36px; height: 36px; } .seedprod-stat-icon .dashicons { font-size: var(--seedprod-font-xl); } .seedprod-stat-number { font-size: 24px; } } /* Success state for license */ .seedprod-license-stat .seedprod-stat-icon { background: #d4f4dd; } .seedprod-license-stat .dashicons { color: var(--seedprod-success); } /* Quick Actions Grid */ .seedprod-quick-actions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; padding: 10px 0; } .seedprod-action-card { display: flex; align-items: center; gap: 10px; padding: 15px; background: rgba(0, 0, 0, 0.03); border-radius: 4px; text-decoration: none; transition: all var(--seedprod-transition-fast); } .seedprod-action-card:hover { background: var(--seedprod-orange-light); color: var(--seedprod-orange); transform: translateX(2px); } .seedprod-action-card .dashicons { font-size: var(--seedprod-font-2xl); width: var(--seedprod-font-2xl); height: var(--seedprod-font-2xl); } /* Quick Actions List Style */ .seedprod-quick-actions-list { display: flex; flex-direction: column; gap: var(--seedprod-spacing-xs); } .seedprod-action-item { display: flex; align-items: center; gap: var(--seedprod-spacing-lg); padding: var(--seedprod-spacing-sm) var(--seedprod-spacing-xs); background: transparent; border: 1px solid transparent; border-radius: var(--seedprod-radius-sm); text-decoration: none; color: var(--seedprod-gray-900); transition: all var(--seedprod-transition-fast); position: relative; } .seedprod-action-item:hover { background: var(--seedprod-orange-light); border-color: var(--seedprod-orange-light); padding-left: var(--seedprod-spacing-md); } .seedprod-action-item .dashicons { font-size: 24px; width: 24px; height: 24px; color: var(--seedprod-gray-600); flex-shrink: 0; transition: color var(--seedprod-transition-fast); } .seedprod-action-item:hover .dashicons { color: var(--seedprod-orange); transform: scale(1.1); } .seedprod-action-content { flex: 1; display: flex; align-items: center; justify-content: space-between; } .seedprod-action-label { font-weight: var(--seedprod-font-weight-semibold); font-size: var(--seedprod-font-md); } .seedprod-action-count { background: var(--seedprod-gray-100); border: 1px solid var(--seedprod-gray-300); padding: 1px 8px; border-radius: var(--seedprod-radius-xl); font-size: var(--seedprod-font-xs); color: var(--seedprod-gray-600); font-weight: var(--seedprod-font-weight-normal); } .seedprod-action-badge { background: var(--seedprod-orange); color: white; padding: 2px 8px; border-radius: var(--seedprod-radius-xl); font-size: var(--seedprod-font-xs); font-weight: var(--seedprod-font-weight-semibold); text-transform: uppercase; letter-spacing: 0.5px; } .seedprod-action-stat { display: flex; align-items: center; gap: var(--seedprod-spacing-lg); padding: var(--seedprod-spacing-lg) var(--seedprod-spacing-lg); background: linear-gradient(135deg, rgba(225, 78, 27, 0.05) 0%, rgba(225, 78, 27, 0.01) 100%); border: 1px solid rgba(225, 78, 27, 0.15); border-radius: var(--seedprod-radius-lg); margin-top: var(--seedprod-spacing-xl); position: relative; } .seedprod-action-stat .dashicons { color: var(--seedprod-orange); font-size: 28px; width: 28px; height: 28px; } .seedprod-stat-trend { color: var(--seedprod-success); font-size: var(--seedprod-font-xs); margin-left: var(--seedprod-spacing-sm); font-weight: var(--seedprod-font-weight-medium); } /* What's New / News Items */ .seedprod-news-items { display: flex; flex-direction: column; gap: 0; } .seedprod-news-item { display: flex; gap: 15px; padding: 20px 0; border-bottom: 1px solid #e5e7eb; } .seedprod-news-item:first-child { padding-top: 0; } .seedprod-news-item:last-child { border-bottom: none; padding-bottom: 0; } .seedprod-news-item.has-thumbnail { align-items: flex-start; } .seedprod-news-thumbnail { flex-shrink: 0; width: 100px; height: 65px; overflow: hidden; border-radius: 4px; background: #f0f0f0; display: flex; align-items: center; justify-content: center; } .seedprod-news-thumbnail img { width: 100%; height: 100%; object-fit: contain; object-position: center; } .seedprod-news-content { flex: 1; min-width: 0; } .seedprod-news-item h4 { margin: 0 0 8px 0; font-size: 15px; font-weight: var(--seedprod-font-weight-semibold); line-height: 1.4; color: #1d2327; } .seedprod-news-excerpt { margin: 0 0 10px 0; color: #646970; font-size: 13px; line-height: 1.5; } .seedprod-news-meta { display: flex; align-items: center; gap: 10px; font-size: 13px; } .seedprod-news-date { color: #8c8f94; font-style: italic; } .seedprod-news-item a { color: var(--seedprod-orange); text-decoration: none; font-weight: var(--seedprod-font-weight-medium); } .seedprod-news-item a:hover { text-decoration: underline; } .seedprod-news-footer { margin-top: 20px; padding-top: 15px; border-top: 1px solid #e5e7eb; text-align: right; } .seedprod-view-all-link { color: var(--seedprod-orange); text-decoration: none; font-size: var(--seedprod-font-md); font-weight: var(--seedprod-font-weight-medium); } .seedprod-view-all-link:hover { text-decoration: underline; } /* Help & Resources List - Matching Setup & Status style */ .seedprod-resources-list { display: flex; flex-direction: column; gap: 12px; } .seedprod-resource-item { display: flex; align-items: center; gap: 12px; padding: 0; } .seedprod-resource-icon { flex-shrink: 0; font-size: 20px; width: 20px; height: 20px; color: #646970; } .seedprod-resource-content { display: flex; align-items: center; justify-content: space-between; flex: 1; min-width: 0; } .seedprod-resource-title { font-size: 14px; color: #1d2327; font-weight: 400; } .seedprod-resource-action { color: var(--seedprod-orange); text-decoration: none; font-size: 13px; white-space: nowrap; transition: opacity var(--seedprod-transition-fast); } .seedprod-resource-action:hover, .seedprod-resource-action:focus { color: var(--seedprod-orange); opacity: 0.8; text-decoration: none; } /* Recommended Plugins Widget - Dashboard 2x2 Grid Style */ .seedprod-dashboard-page .seedprod-plugins-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: -5px; /* Remove extra top spacing to align with other widgets */ margin-bottom: 0; } .seedprod-dashboard-page .seedprod-plugin-card { background: #ffffff; border: 1px solid #e0e0e0; border-radius: 4px; padding: 10px; transition: all 0.2s ease; display: flex; flex-direction: column; min-height: 120px; } .seedprod-dashboard-page .seedprod-plugin-card:hover { border-color: var(--seedprod-orange); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } /* Dashboard plugin card action area */ .seedprod-dashboard-page .seedprod-plugin-action { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; } .seedprod-dashboard-page .seedprod-plugin-status-badge { flex-shrink: 0; } .seedprod-dashboard-page .seedprod-plugin-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; } .seedprod-dashboard-page .seedprod-plugin-icon { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; } .seedprod-dashboard-page .seedprod-plugin-name { margin: 0; font-size: 13px; font-weight: 600; color: var(--seedprod-gray-900); line-height: 1.2; } .seedprod-dashboard-page .seedprod-plugin-desc { margin: 0; font-size: 12px; color: #646970; line-height: 1.3; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .seedprod-dashboard-page .seedprod-plugin-action { margin-top: 4px; } .seedprod-dashboard-page .seedprod-plugin-status { display: block; text-align: center; font-size: 11px; color: #646970; } /* Responsive: Stack plugins vertically on smaller screens */ @media (max-width: 600px) { .seedprod-dashboard-page .seedprod-plugins-grid { grid-template-columns: 1fr; } } /* Old list style for other pages */ .seedprod-plugins-list { display: flex; flex-direction: column; gap: 20px; } .seedprod-plugin-item { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid #e0e0e0; } .seedprod-plugin-item:last-child { padding-bottom: 0; border-bottom: none; } /* Fun Fact Box */ .seedprod-fun-fact { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e0e0e0; } .seedprod-fun-fact-content { display: flex; align-items: flex-start; gap: 12px; padding: 15px; background-color: #f6f7f7; border-radius: 4px; border-left: 3px solid #E14E1B; } .seedprod-fun-fact-content .dashicons { flex-shrink: 0; margin-top: 2px; color: #E14E1B; font-size: 20px; } .seedprod-fun-fact-content p { margin: 0; color: #646970; font-size: 13px; line-height: 1.5; } .seedprod-fun-fact-content strong { color: #2c3338; display: block; margin-bottom: 4px; } /* Plugin Thumbnail */ .seedprod-plugin-thumbnail { flex-shrink: 0; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; } .seedprod-plugin-thumbnail img { width: 100%; height: 100%; object-fit: contain; } /* Plugin Content - Middle section */ .seedprod-plugin-content { flex: 1; min-width: 0; } .seedprod-plugin-name { margin: 0 0 3px 0; font-size: 14px; font-weight: 600; color: #1e1e1e; line-height: 1.4; } .seedprod-plugin-desc { margin: 0; font-size: 13px; color: #646970; line-height: 1.5; } /* Plugin Action - Right aligned */ .seedprod-plugin-action { flex-shrink: 0; text-align: right; } /* Loading Spinner */ .seedprod-button-spinner { display: inline-block; animation: spin 1s linear infinite; } .seedprod-button-spinner .dashicons { width: 16px; height: 16px; font-size: 16px; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Button Loading States - True WordPress Native */ .button.updating-message, .button.button-working { color: #646970 !important; pointer-events: none; } /* Attention-grabbing indicator for activate button after install */ .seedprod-plugin-button.seedprod-needs-activation { position: relative; animation: pulse-glow 2s infinite; } .seedprod-plugin-button.seedprod-needs-activation:after { content: "👆"; position: absolute; right: -25px; top: 50%; transform: translateY(-50%); font-size: 16px; animation: bounce-arrow 1.5s infinite; } @keyframes pulse-glow { 0% { box-shadow: 0 0 0 0 rgba(225, 78, 27, 0.4); } 50% { box-shadow: 0 0 0 8px rgba(225, 78, 27, 0.1); } 100% { box-shadow: 0 0 0 0 rgba(225, 78, 27, 0); } } @keyframes bounce-arrow { 0%, 100% { transform: translateY(-50%) translateX(0); } 50% { transform: translateY(-50%) translateX(3px); } } /* Pro Status */ .seedprod-plugin-status { display: inline-block; padding: 4px 10px; font-size: 12px; font-weight: 600; border-radius: 3px; text-transform: uppercase; } .seedprod-status-pro { background: #f0f0f0; color: var(--seedprod-orange); border: 1px solid var(--seedprod-orange); } /* Plugins Footer */ .seedprod-plugins-footer { margin-top: 15px; padding-top: 0; text-align: right; } .seedprod-view-all-plugins { color: var(--seedprod-orange); text-decoration: none; font-size: 14px; font-weight: 500; } .seedprod-view-all-plugins:hover { color: #c13a12; text-decoration: underline; } /* Setup & Status Widget - Setup Items */ .seedprod-setup-intro { margin: 0 0 15px 0; color: var(--seedprod-text-secondary); } /* Welcome message after activation */ .seedprod-welcome-activated { background: linear-gradient(135deg, rgba(225, 78, 27, 0.08) 0%, rgba(225, 78, 27, 0.03) 100%); border: 1px solid rgba(225, 78, 27, 0.15); border-radius: 6px; padding: 15px 20px; margin: -10px -12px 20px -12px; } .seedprod-welcome-activated h3 { margin: 0 0 8px 0; font-size: 18px; color: var(--seedprod-text-dark); font-weight: 600; } .seedprod-welcome-activated p { margin: 0; font-size: 14px; color: var(--seedprod-text-secondary); } /* Highlight Setup & Status when just activated */ .seedprod-just-activated .postbox:first-child { background: linear-gradient(135deg, rgba(225, 78, 27, 0.04) 0%, rgba(225, 78, 27, 0.01) 100%); border: 1px solid rgba(225, 78, 27, 0.12); } .seedprod-setup-item { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--seedprod-gray-100); } .seedprod-setup-item:last-of-type { border-bottom: none; } .seedprod-setup-more .seedprod-setup-item:last-of-type { border-bottom: none; padding-bottom: 0; } .seedprod-setup-icon { flex-shrink: 0; font-size: 24px; width: 24px; height: 24px; color: var(--seedprod-gray-600); margin-right: 12px; transition: color 0.3s ease; } .seedprod-setup-icon.active { color: var(--seedprod-orange); } .seedprod-setup-item-content { flex-grow: 1; display: flex; align-items: center; } .seedprod-setup-item-header { display: flex; align-items: center; justify-content: space-between; width: 100%; } .seedprod-setup-item-title { margin: 0; font-size: 14px; font-weight: 600; color: var(--seedprod-text-dark); display: flex; align-items: center; } .seedprod-setup-title-text { display: inline-flex; align-items: center; gap: 6px; position: relative; } .seedprod-info-icon { font-size: 14px; width: 14px; height: 14px; color: var(--seedprod-gray-500); opacity: 0; transition: opacity 0.2s ease; cursor: help; } .seedprod-setup-title-text:hover .seedprod-info-icon { opacity: 1; } /* Tooltip for setup items */ .seedprod-setup-title-text .seedprod-tooltip { position: absolute; top: calc(100% + 8px); left: 0; z-index: 1000; padding: 8px 12px; background: #2c3338; color: #fff; font-size: 12px; font-weight: normal; border-radius: 4px; white-space: normal; width: 250px; line-height: 1.4; opacity: 0; visibility: hidden; transition: all 0.2s ease; pointer-events: none; } .seedprod-setup-title-text .seedprod-tooltip::before { content: ''; position: absolute; top: -5px; left: 20px; border: 5px transparent; border-bottom-color: #2c3338; } .seedprod-setup-title-text:hover .seedprod-tooltip { opacity: 1; visibility: visible; } .seedprod-setup-item-controls { display: flex; align-items: center; gap: 12px; } /* Toggle Switch */ .seedprod-switch { position: relative; display: inline-block; width: 40px; height: 20px; } .seedprod-switch input { opacity: 0; width: 0; height: 0; } .seedprod-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--seedprod-gray-300); transition: .3s; border-radius: 20px; } .seedprod-slider:before { position: absolute; content: ""; height: 14px; width: 14px; left: 3px; bottom: 3px; background-color: white; transition: .3s; border-radius: 50%; } input:checked + .seedprod-slider { background-color: var(--seedprod-success); } input:checked + .seedprod-slider:before { transform: translateX(20px); } /* Small toggle switch for tables */ .seedprod-switch-sm { width: 32px; height: 16px; } .seedprod-switch-sm .seedprod-slider { height: 16px; } .seedprod-switch-sm .seedprod-slider:before { height: 12px; width: 12px; left: 2px; bottom: 2px; } .seedprod-switch-sm input:checked + .seedprod-slider:before { transform: translateX(16px); } /* Status Badges */ .seedprod-status-badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 3px 6px; border-radius: 3px; } .seedprod-status-active { color: var(--seedprod-success); background-color: rgba(74, 184, 102, 0.1); } .seedprod-status-inactive { color: var(--seedprod-text-secondary); background-color: var(--seedprod-gray-100); } .seedprod-status-not-installed { color: #8b5e3c; background-color: #fef5e7; } .seedprod-count-badge { font-size: 12px; color: var(--seedprod-text-secondary); background: var(--seedprod-gray-100); padding: 4px 8px; border-radius: 10px; } /* Finish Setup Pulse Animation */ .seedprod-pulse { animation: pulse 1.5s infinite; } .seedprod-pulse .dashicons { animation: slide 1.5s infinite; vertical-align: middle; margin-right: 4px; margin-top: -2px; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(225, 78, 27, 0.7); } 70% { box-shadow: 0 0 0 6px rgba(225, 78, 27, 0); } 100% { box-shadow: 0 0 0 0 rgba(225, 78, 27, 0); } } @keyframes slide { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(3px); } } /* Show More/Less Toggle */ .seedprod-setup-toggle { text-align: center; padding: 16px 0 8px; border-top: 1px solid var(--seedprod-gray-100); margin-top: 16px; } .seedprod-show-more, .seedprod-show-less { color: var(--seedprod-orange); text-decoration: none; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; } .seedprod-show-more:hover, .seedprod-show-less:hover { color: var(--seedprod-orange-hover); text-decoration: underline; } .seedprod-show-more .dashicons, .seedprod-show-less .dashicons { font-size: 16px; width: 16px; height: 16px; transition: transform 0.3s ease; } .seedprod-show-less .dashicons { transform: rotate(180deg); } /* Subscribers Item - uses standard setup-item styles */ .seedprod-subscriber-count { font-size: 14px; color: var(--seedprod-text-secondary); } .seedprod-subscriber-count strong { color: var(--seedprod-text-dark); font-size: 16px; margin-right: 4px; } .seedprod-stat-trend { display: inline-block; font-size: 12px; color: var(--seedprod-success); margin-left: 8px; padding: 2px 6px; background: rgba(74, 184, 102, 0.1); border-radius: 10px; } /* ========================================================================== Product Education Components for Lite Version ========================================================================== */ /* Pro Badge */ .seedprod-pro-badge { display: inline-block; background: linear-gradient(135deg, #E14E1B 0%, #F47E3C 100%); color: white; padding: 2px 6px; border-radius: 3px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 6px; vertical-align: middle; line-height: 1; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } /* Pro feature value text - inline */ .seedprod-pro-value { font-size: 13px; color: var(--seedprod-gray-600); margin-left: 8px; font-weight: normal; font-style: italic; } /* Pro Overlay Badge (for cards) */ .seedprod-pro-overlay-badge { position: absolute; top: 12px; right: 12px; background: var(--seedprod-success); border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; z-index: 10; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); } .seedprod-pro-overlay-badge .seedprod-lock-icon { width: 14px; height: 14px; fill: white; } /* Education Card */ .seedprod-education-card { background: linear-gradient(135deg, rgba(225, 78, 27, 0.03) 0%, rgba(225, 78, 27, 0.01) 100%); border: 2px solid rgba(225, 78, 27, 0.15); border-radius: 8px; padding: 24px; position: relative; overflow: hidden; transition: all 0.3s ease; } .seedprod-education-card:hover { border-color: var(--seedprod-orange); box-shadow: 0 4px 12px rgba(225, 78, 27, 0.15); transform: translateY(-2px); } .seedprod-education-content { position: relative; z-index: 1; } .seedprod-education-icon { font-size: 48px !important; width: 48px !important; height: 48px !important; color: var(--seedprod-orange) !important; margin-bottom: 16px !important; display: block !important; } .seedprod-education-title { font-size: 20px !important; font-weight: 600 !important; color: var(--seedprod-gray-900) !important; margin: 0 0 12px 0 !important; display: flex; align-items: center; } .seedprod-education-description { color: var(--seedprod-gray-600); font-size: 14px; line-height: 1.6; margin: 0 0 16px 0; } .seedprod-education-benefits { list-style: none !important; margin: 0 0 20px 0 !important; padding: 0 !important; } .seedprod-education-benefits li { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--seedprod-gray-700); font-size: 14px; } .seedprod-education-benefits .dashicons-yes-alt { color: var(--seedprod-success) !important; font-size: 16px !important; width: 16px !important; height: 16px !important; flex-shrink: 0; } .seedprod-education-action { margin-top: 20px; } /* Setup Item Upgrade (inline in dashboard) */ .seedprod-setup-item-upgrade { display: flex; align-items: center; gap: 8px; } .seedprod-setup-item.seedprod-pro-feature .seedprod-setup-icon { opacity: 0.6; } .seedprod-setup-item.seedprod-pro-feature:hover .seedprod-setup-icon { color: var(--seedprod-orange); opacity: 1; } /* Blurred Overlay Container */ .seedprod-blurred-overlay-container { position: relative; overflow: hidden; border-radius: 8px; } .seedprod-blurred-content { filter: blur(3px); pointer-events: none; user-select: none; } .seedprod-blurred-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.95); display: flex; align-items: center; justify-content: center; z-index: 10; backdrop-filter: blur(5px); } .seedprod-overlay-content { text-align: center; padding: 32px; max-width: 400px; } .seedprod-overlay-content h2 { font-size: 24px !important; font-weight: 600 !important; color: var(--seedprod-gray-900) !important; margin: 0 0 12px 0 !important; } .seedprod-overlay-content p { color: var(--seedprod-gray-600); font-size: 14px; line-height: 1.6; margin: 0 0 24px 0; } .seedprod-overlay-button { font-size: 16px !important; padding: 12px 24px !important; } /* Lite Version Specific Styles */ .seedprod-lite .seedprod-pro-feature { position: relative; } .seedprod-lite .seedprod-pro-feature .seedprod-switch, .seedprod-lite .seedprod-pro-feature .seedprod-button-secondary { display: none !important; } .seedprod-lite .seedprod-pro-feature .seedprod-setup-item-upgrade { display: flex !important; } /* ========================================================================== 9. DEBUG PAGE ========================================================================== */ /* Compact notice modifier - Use with .notice for less padding */ .seedprod-dashboard-page .notice.seedprod-notice-compact { margin: 20px 0; } /* ========================================================================== 10. SETTINGS PAGE ========================================================================== */ /* Settings page uses WordPress native nav-tab styles */ /* Additional customizations for settings page if needed */ /* Tab panel content styling */ .seedprod-tab-panel h2 { margin: 0 0 var(--seedprod-spacing-lg); color: var(--seedprod-gray-900); font-size: var(--seedprod-font-lg); font-weight: 600; } .seedprod-tab-panel p { /* Let WordPress handle default text color for better readability */ margin: 0 0 var(--seedprod-spacing-md); } /* Debug Information section */ .seedprod-debug-section { margin-top: 20px; /* Space between heading and buttons */ margin-bottom: 40px; /* Add breathing room below debug section */ } /* About Tab - Minimal styling, leverage WordPress defaults */ .seedprod-about-main { display: flex; gap: 40px; } .seedprod-about-text { flex: 1; max-width: 600px; } .seedprod-about-text p { font-size: 14px; line-height: 1.6; /* WordPress handles base text color */ } .seedprod-about-image { flex-shrink: 0; text-align: center; } .seedprod-team-photo { max-width: 500px; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.05); display: block; margin: 0 auto; } .seedprod-team-caption { margin-top: 12px; font-size: 13px; color: var(--seedprod-gray-600); font-style: italic; text-align: center; } /* About CTA for Lite version */ .seedprod-about-cta { margin-top: 40px; padding: 30px; background: linear-gradient(135deg, rgba(225, 78, 27, 0.03) 0%, rgba(225, 78, 27, 0.01) 100%); border: 1px solid rgba(225, 78, 27, 0.15); border-radius: 4px; text-align: center; } .seedprod-about-cta h3 { margin: 0 0 10px; font-size: 20px; } .seedprod-about-cta p { margin: 0 0 20px; } /* Responsive */ @media (max-width: 782px) { .seedprod-about-main { flex-direction: column; } .seedprod-about-text { max-width: 100%; } } /* ========================================================================== 11. MODALS ========================================================================== */ /* Modal Overlay */ .seedprod-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; display: none; } .seedprod-modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); } /* Modal Content */ .seedprod-modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; border-radius: 4px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); width: 90%; max-width: 500px; max-height: auto !important; display: flex; flex-direction: column; } /* Modal Header */ #seedprod-customizer-wrapper .seedprod-modal-header{ display: none; } /* Fix modal height issue - prevent modals from taking 90% height */ .seedprod-modal:not(#seedprod-template-preview-modal) .seedprod-modal-content { height: auto !important; max-height: 90vh !important; } .seedprod-modal:not(#seedprod-template-preview-modal) .seedprod-modal-body { max-height: calc(90vh - 140px) !important; height: auto !important; flex: 0 1 auto !important; } /* Ensure import/export modals also fit content */ #seedprod-import-export-modal .seedprod-modal-content, #seedprod-landing-import-export-modal .seedprod-modal-content, #seedprod-conditions-modal .seedprod-modal-content, #seedprod-template-modal .seedprod-modal-content { height: auto !important; max-height: 90vh !important; } .seedprod-modal-header { padding: 15px 20px !important; border-bottom: 1px solid #e0e0e0; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; } .seedprod-modal-header h2 { margin: 0; font-size: 18px; font-weight: 600; color: var(--seedprod-gray-900); } .seedprod-modal-close { background: none; border: none; padding: 0; cursor: pointer; color: var(--seedprod-gray-600); font-size: 20px; line-height: 1; transition: color 0.2s; } .seedprod-modal-close:hover { color: var(--seedprod-gray-900); } /* Modal Body */ .seedprod-modal-body { padding: 20px !important; overflow-y: auto; max-height: 60vh !important; height: auto !important; /* Override any fixed height */ flex: 0 1 auto !important; } /* Modal Footer */ .seedprod-modal-footer { padding: 15px 20px !important; border-top: 1px solid #e0e0e0; display: flex; justify-content: flex-end; gap: 10px; flex-shrink: 0; } /* Modal Form Elements */ .seedprod-form-group { margin-bottom: 18px; } .seedprod-form-group:last-of-type { margin-bottom: 15px; } .seedprod-form-group label { display: block; margin-bottom: 5px; font-weight: 600; color: var(--seedprod-gray-900); font-size: 14px; } .seedprod-form-group label .required { color: #d63638; margin-left: 2px; } .seedprod-form-control { width: 100%; padding: 8px 12px; border: 1px solid #dcdcde; border-radius: 4px; font-size: 14px; transition: border-color 0.2s; } .seedprod-form-control:focus { border-color: var(--seedprod-orange); outline: none; box-shadow: 0 0 0 1px var(--seedprod-orange); } .seedprod-form-control.error { border-color: #d63638; } .seedprod-field-error { display: block; margin-top: 5px; color: #d63638; font-size: 13px; } .seedprod-modal-error { background: #fcf0f1; border-left: 4px solid #d63638; padding: 12px; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; color: #50575e; font-size: 14px; } .seedprod-modal-error .dashicons { color: #d63638; flex-shrink: 0; } .seedprod-form-note { margin-top: -8px; margin-bottom: 0; } .seedprod-form-note .description { margin: 0; font-size: 13px; color: var(--seedprod-gray-600); font-style: italic; } /* Modal open body class */ body.seedprod-modal-open { overflow: hidden; } /* Button spinner in modal */ .seedprod-modal-footer .spinner { float: none; margin: 0; display: inline-block; vertical-align: middle; } /* Large modal variant */ .seedprod-modal-content-large { max-width: 700px; } /* Conditions Editor Styles */ .seedprod-conditions-info { margin-bottom: 20px; padding: 12px; background: #f0f6fc; border-left: 4px solid #2271b1; border-radius: 2px; } .seedprod-conditions-info p { margin: 0; color: #50575e; font-size: 14px; } .seedprod-conditions-list { margin-bottom: 20px; } .seedprod-condition-row { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; padding: 12px; background: #f9f9f9; border: 1px solid #dcdcde; border-radius: 4px; transition: opacity 0.2s; } .seedprod-condition-row.is-excluded { opacity: 0.6; background: #fef7f1; } .seedprod-condition-mode { width: 100px; padding: 6px 10px; border: 1px solid #dcdcde; border-radius: 4px; font-size: 14px; } .seedprod-condition-type { flex: 1; min-width: 200px; padding: 6px 10px; border: 1px solid #dcdcde; border-radius: 4px; font-size: 14px; } .seedprod-condition-value { flex: 1; padding: 6px 10px; border: 1px solid #dcdcde; border-radius: 4px; font-size: 14px; } .seedprod-remove-condition { background: none; border: none; padding: 5px; cursor: pointer; color: #b32d2e; font-size: 18px; line-height: 1; transition: color 0.2s; } .seedprod-remove-condition:hover { color: #8a2424; } .seedprod-add-condition { margin-top: 10px; } .seedprod-add-condition .dashicons { margin-right: 5px; vertical-align: middle; } /* Small form control variant for priority */ .seedprod-form-control-small { width: 80px !important; } /* Compact conditions list for template modal */ .seedprod-conditions-list-compact .seedprod-condition-row { padding: 8px; margin-bottom: 10px; } .seedprod-conditions-list-compact .seedprod-condition-mode { width: 90px; padding: 4px 8px; font-size: 13px; } .seedprod-conditions-list-compact .seedprod-condition-type { padding: 4px 8px; font-size: 13px; } .seedprod-conditions-list-compact .seedprod-condition-value { padding: 4px 8px; font-size: 13px; } .seedprod-add-template-condition { font-size: 13px !important; padding: 4px 12px !important; height: 30px !important; line-height: 1 !important; } /* Recommended Plugins Tab - Compact Grid Layout */ .seedprod-plugins-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin-top: 20px; } @media (min-width: 1400px) { .seedprod-plugins-grid { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 1600px) { .seedprod-plugins-grid { grid-template-columns: repeat(4, 1fr); } } .seedprod-plugin-card { background: #fff; border: 1px solid var(--seedprod-gray-300); border-radius: 4px; padding: 12px; transition: all 0.2s ease; } .seedprod-plugin-card:hover { border-color: var(--seedprod-gray-400); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .seedprod-plugin-card-content { display: flex; flex-direction: column; height: 100%; min-height: 120px; /* Restored original height */ } /* Settings page specific - compact plugin cards */ .seedprod-settings-page .seedprod-plugin-card-content { min-height: 80px; /* Compact height for settings page only */ } .seedprod-plugin-header { display: flex; gap: 10px; margin-bottom: 10px; /* Removed flex: 1 to prevent excessive stretching */ } .seedprod-plugin-icon { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; } .seedprod-plugin-info { flex: 1; min-width: 0; } .seedprod-plugin-info h4 { margin: 0 0 4px 0; font-size: 14px; font-weight: 600; color: var(--seedprod-gray-900); line-height: 1.2; } .seedprod-plugin-description { margin: 0; font-size: 12px; line-height: 1.3; color: var(--seedprod-gray-700); display: -webkit-box; -webkit-line-clamp: 2; /* Reduced to 2 lines */ line-clamp: 2; /* Standard property for future compatibility */ -webkit-box-orient: vertical; overflow: hidden; } .seedprod-plugin-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px solid var(--seedprod-gray-200); margin-top: auto; /* Restored to original */ gap: 8px; flex-wrap: nowrap; } /* Settings page specific - compact plugin cards */ .seedprod-settings-page .seedprod-plugin-footer { margin-top: 8px; /* Compact spacing for settings page only */ } /* Settings page - override dashboard grid layout */ .seedprod-settings-page .seedprod-plugins-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; gap: 20px !important; margin-top: 20px !important; } /* Settings page - use proper plugin card styles, not dashboard 2x2 styles */ .seedprod-settings-page .seedprod-plugin-card { background: #fff !important; border: 1px solid var(--seedprod-gray-300) !important; border-radius: 4px !important; padding: 12px 12px 8px 12px !important; transition: all 0.2s ease !important; display: block !important; /* Override dashboard flex */ min-height: auto !important; /* Remove dashboard min-height */ } /* Fix button alignment in plugin cards - buttons should not stretch */ .seedprod-plugin-footer .seedprod-plugin-button { width: auto !important; flex: 0 0 auto; /* Don't grow or shrink */ } /* License Certificate Badge */ .seedprod-license-badge { display: flex; /* Changed from inline-flex to flex to take full width */ align-items: center; gap: 15px; margin-top: 12px; padding: 14px 18px; background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border: 2px solid #e2e8f0; border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.04); position: relative; overflow: hidden; max-width: 350px; /* Add max-width to prevent it from being too wide */ clear: both; /* Ensure it appears on a new line */ } .seedprod-license-badge::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, #10b981 0%, #059669 100%); } .seedprod-license-badge-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border-radius: 50%; flex-shrink: 0; } .seedprod-license-badge-icon .dashicons { font-size: 24px; width: 24px; height: 24px; color: #d97706; } .seedprod-license-badge-content { display: flex; flex-direction: column; gap: 2px; } .seedprod-license-badge-label { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #64748b; } .seedprod-license-badge-type { font-size: 16px; font-weight: 600; color: #1e293b; } .seedprod-license-badge-check { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #10b981; border-radius: 50%; margin-left: auto; flex-shrink: 0; } .seedprod-license-badge-check .dashicons { font-size: 20px; width: 20px; height: 20px; color: white; } /* Inactive License Badge Styles */ .seedprod-license-badge-inactive { background: #fef2f2; border-color: #fecaca; } .seedprod-license-badge-inactive::before { background: var(--seedprod-error); } .seedprod-license-badge-inactive .seedprod-license-badge-icon { background: #fee2e2; } .seedprod-license-badge-inactive .seedprod-license-badge-icon .dashicons { color: var(--seedprod-error); } .seedprod-license-badge-inactive .seedprod-license-badge-label { color: #991b1b; margin-bottom: 4px; } .seedprod-license-badge-help { font-size: 13px; color: var(--seedprod-gray-700); } .seedprod-license-badge-help a { color: var(--seedprod-link); text-decoration: none; border-bottom: 1px dotted var(--seedprod-link); margin-left: 4px; } .seedprod-license-badge-help a:hover { color: var(--seedprod-link-hover); border-bottom-style: solid; } .seedprod-license-badge-action { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: var(--seedprod-error); border-radius: 50%; margin-left: auto; } .seedprod-license-badge-action .dashicons { font-size: 20px; width: 20px; height: 20px; color: white; } .seedprod-plugin-status { font-size: 11px; color: var(--seedprod-gray-600); white-space: nowrap; flex-shrink: 0; } .seedprod-plugin-status strong { color: var(--seedprod-gray-800); font-weight: 600; } /* Ensure buttons don't get cut off */ .seedprod-plugin-card .seedprod-button-small { flex-shrink: 0; } /* Responsive adjustments */ @media (max-width: 782px) { .seedprod-plugins-grid { grid-template-columns: 1fr; } } /* ========================================================================== 11. SUBSCRIBERS TAB STYLES ========================================================================== */ /* Subscribers header controls */ .seedprod-subscribers-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--seedprod-spacing-xl); gap: var(--seedprod-spacing-lg); } .seedprod-subscribers-header h2 { margin: 0; font-size: var(--seedprod-font-lg); font-weight: 600; } .seedprod-subscribers-controls { display: flex; align-items: center; gap: var(--seedprod-spacing-md); flex-shrink: 0; } /* Select elements */ .seedprod-select { min-width: 120px; height: 32px; padding: 4px 8px; font-size: var(--seedprod-font-base); border: 1px solid var(--seedprod-gray-400); border-radius: var(--seedprod-radius-sm); background: #fff; } /* Chart container */ .seedprod-subscribers-chart-container { background: #fff; border: 1px solid var(--seedprod-gray-300); border-radius: var(--seedprod-radius-sm); padding: var(--seedprod-spacing-lg); margin-bottom: var(--seedprod-spacing-xl); box-shadow: var(--seedprod-shadow-xs); } #seedprod-subscribers-chart { width: 100%; height: 150px; display: block; } /* Search box */ .seedprod-subscribers-search-box { margin-bottom: var(--seedprod-spacing-lg); display: flex; align-items: center; gap: var(--seedprod-spacing-sm); } #seedprod-subscriber-search { flex: 1; max-width: 400px; } /* OptinMonster Cross-sell Table Row */ .seedprod-optinmonster-row { background: #f0f6fc !important; } .seedprod-optinmonster-row:hover { background: #e6f2fc !important; } .seedprod-optinmonster-row td { padding: 12px 15px; vertical-align: middle; } /* Loading and error states */ .seedprod-loading-message, .seedprod-error-message, .seedprod-no-results { text-align: center; padding: 40px 20px; font-style: italic; } .seedprod-loading-message .dashicons { animation: spin 1s linear infinite; margin-right: 8px; color: var(--seedprod-orange); } .seedprod-error-message { color: #d63638; } /* Delete buttons in table */ .seedprod-delete-subscriber { font-size: 12px; padding: 4px 8px; height: auto; line-height: 1.4; } /* SeedProd custom pagination - for subscribers tab only */ .seedprod-pagination-links a, .seedprod-pagination-links span { display: inline-block; padding: 4px 8px; margin: 0 2px; text-decoration: none; border: 1px solid var(--seedprod-gray-300); border-radius: var(--seedprod-radius-sm); background: #fff; color: var(--seedprod-link); font-size: var(--seedprod-font-sm); } .seedprod-pagination-links a:hover { background: var(--seedprod-gray-100); border-color: var(--seedprod-gray-400); } .seedprod-pagination-links .current { background: var(--seedprod-orange); color: #fff; border-color: var(--seedprod-orange); } .seedprod-pagination-links .disabled { color: var(--seedprod-gray-400); background: var(--seedprod-gray-100); cursor: not-allowed; } .seedprod-pagination-links .dots { border: none; background: none; } /* Override old admin-style.css pagination positioning */ .seedprod-dashboard-page .tablenav-pages, .seedprod-landing-pages .tablenav-pages, .seedprod-website-builder .tablenav-pages, .seedprod-settings-page .tablenav-pages { margin: 15px 0 !important; /* Override old CSS with proper spacing */ } .seedprod-dashboard-page .tablenav.top .tablenav-pages, .seedprod-landing-pages .tablenav.top .tablenav-pages, .seedprod-website-builder .tablenav.top .tablenav-pages, .seedprod-settings-page .tablenav.top .tablenav-pages { float: right; margin: 0 !important; padding: 0; height: 28px; display: flex; align-items: center; } .seedprod-dashboard-page .tablenav.bottom, .seedprod-landing-pages .tablenav.bottom, .seedprod-website-builder .tablenav.bottom, .seedprod-settings-page .tablenav.bottom { margin-top: 15px !important; /* Override old CSS */ } /* Empty state */ .seedprod-no-subscribers { text-align: center; padding: 60px 20px; } .seedprod-empty-state h3 { margin: 0 0 15px; font-size: var(--seedprod-font-xl); } .seedprod-empty-state p { margin: 0 0 30px; font-size: var(--seedprod-font-md); max-width: 500px; margin-left: auto; margin-right: auto; } /* Responsive design for subscribers tab */ @media (max-width: 782px) { .seedprod-subscribers-header { flex-direction: column; align-items: stretch; } .seedprod-subscribers-controls { flex-wrap: wrap; justify-content: space-between; } .seedprod-subscribers-search-box { flex-direction: column; align-items: stretch; } #seedprod-subscriber-search { max-width: none; margin-bottom: var(--seedprod-spacing-sm); } } /* ========================================================================== 9. LANDING PAGES - Mode cards and page management ========================================================================== */ /* Section titles - minimal overrides, let WordPress handle defaults */ .seedprod-section-title { font-size: 1.3em; margin-bottom: 5px; } /* Ensure consistent top margin for first section title */ .seedprod-dashboard-container > .seedprod-section-title:first-child { margin-top: 0; } .seedprod-section-description { margin-bottom: 20px; } /* Mode Cards Grid - Match Vue.js flex behavior exactly */ .seedprod-mode-cards-grid { display: flex; margin-top: 32px; /* Match sp-mt-8 */ overflow-x: scroll; /* Match sp-overflow-x-scroll */ padding-bottom: 8px; /* Match sp-pb-2 */ gap: 16px; /* Cards have margin in Vue */ margin-bottom: 40px; } /* Individual mode card */ .seedprod-mode-card { text-align: center; position: relative; width: 275px; /* Match Vue sp-w-275 */ flex-shrink: 0; /* Match Vue sp-flex-shrink-0 - prevents cards from shrinking */ } .seedprod-mode-card .inside { padding: 25px 20px 20px; margin-bottom: 0; } /* Pro feature styling for lite version */ .seedprod-lite .seedprod-mode-card.seedprod-pro-feature .seedprod-mode-card-toggle { display: none; } .seedprod-lite .seedprod-mode-card.seedprod-pro-feature { opacity: 0.95; } /* Mode card icon */ .seedprod-mode-card-icon { height: 100px; margin-bottom: 20px; } .seedprod-mode-card-icon img { height: 100%; } /* Title */ .seedprod-mode-card-title { font-size: 18px; font-weight: 600; margin: 0 0 12px; } /* Description */ .seedprod-mode-card-description { font-size: 13px; color: #646970; margin-bottom: 20px; padding: 0 10px; } /* Buttons container */ .seedprod-mode-card-actions { display: flex; gap: 10px; margin-bottom: 20px; } /* Equal width buttons - ensure they respect flex sizing */ .seedprod-mode-card-actions .button { flex: 1 1 0; /* grow, shrink, basis 0 for true equal width */ min-width: 0 !important; width: auto; /* Let flex handle width */ margin: 0; text-align: center; } /* Toggle section */ .seedprod-mode-card-toggle { display: flex; align-items: center; justify-content: center; padding-top: 15px; border-top: 1px solid #e2e4e7; } .seedprod-mode-card-toggle .seedprod-switch { margin-right: 10px; } /* Toggle label styles moved to shared location below for consistency */ /* ========================================================================== 16. LANDING PAGES TABLE - Minimal overrides for landing pages table ========================================================================== */ /* Section header with add button */ .seedprod-section-header { margin-bottom: 20px; } /* Status badges - use WordPress colors but add font weight */ .seedprod-status-publish { color: #46b450; /* WordPress green for publish */ font-weight: 500; } .seedprod-status-draft { color: #f0b849; /* WordPress yellow for draft */ font-weight: 500; } .seedprod-status-trash { color: #dc3232; /* WordPress red for trash */ font-weight: 500; } .seedprod-status-private { color: #826eb4; /* WordPress purple for private */ font-weight: 500; } /* ========================================================================== 17. TEMPLATE SELECTION PAGE ========================================================================== */ /* Template selection specific styles */ .seedprod-template-selection-page { /* Full width - no max-width restriction */ } .seedprod-template-page-info { background: #f0f0f1; padding: 10px 15px; border-left: 4px solid var(--seedprod-orange); margin-bottom: 20px; } /* Filter Pills */ .seedprod-template-filters { display: flex; justify-content: space-between; align-items: center; margin: 20px 0; flex-wrap: wrap; gap: 15px; } .seedprod-filter-pills { display: flex; gap: 8px; flex-wrap: wrap; } .seedprod-filter-pill { background: #f6f7f7; border: 1px solid #ddd; color: #50575e; padding: 6px 12px; border-radius: 16px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; text-decoration: none; } .seedprod-filter-pill:hover, .seedprod-filter-pill.active { background: var(--seedprod-orange); border-color: var(--seedprod-orange); color: white; } /* Template Search */ .seedprod-template-search { position: relative; display: inline-block; margin-right: 20px; } .seedprod-search-input { width: 250px; padding-right: 35px; } .seedprod-template-search .dashicons { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #666; } /* Filters Section */ .seedprod-filters-section { display: flex; align-items: center; gap: 10px; flex: 1; } .seedprod-filters-label { font-weight: 600; color: #50575e; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; } /* Template Grid */ .seedprod-templates-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; margin-top: 30px; } /* Responsive grid - matches Vue.js implementation */ @media (max-width: 1500px) { .seedprod-templates-grid { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 1000px) { .seedprod-templates-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; } } @media (max-width: 700px) { .seedprod-templates-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; } } @media (max-width: 400px) { .seedprod-templates-grid { grid-template-columns: 1fr; } } .seedprod-template-favorite.is-favorite { background: #e91e63; border-color: #e91e63 !important; } /* Template Name */ .seedprod-template-name { padding: 12px 8px; min-height: 48px; font-size: 12px; font-weight: 600; color: #666; text-align: left; display: flex; align-items: center; justify-content: space-between; } .seedprod-template-name .seedprod-template-favorite { background: none !important; border: none !important; cursor: pointer; padding: 0; margin: 0; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; transition: color 0.2s ease; outline: none; box-shadow: none !important; } .seedprod-template-name .seedprod-template-favorite .dashicons { width: 16px; height: 16px; font-size: 16px; } .seedprod-template-name .seedprod-template-favorite:hover { color: #e91e63 !important; } /* Loading State */ .seedprod-templates-loading { grid-column: 1 / -1; text-align: center; padding: 40px; } /* Preview Modal - Removed duplicate, see line 3325 for main styles */ .seedprod-modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; height: 90%; background: #fff; border-radius: 4px; overflow: hidden; } .seedprod-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; border-bottom: 1px solid #ddd; } .seedprod-modal-body { height: calc(100% - 60px); } .seedprod-modal-body iframe { width: 100%; height: 100%; } .seedprod-modal-close { background: none; border: none; font-size: 20px; cursor: pointer; } /* ========================================================================== 18. NEW LANDING PAGE FORM - Inline form styling ========================================================================== */ /* Inline form container */ #seedprod-new-page-inline { display: none; margin-top: 20px; } /* Use WordPress native form-table styles - minimal overrides */ #seedprod-new-page-inline .form-table { margin-top: 0; } #seedprod-new-page-inline .form-table th { width: 150px; } /* URL input styling */ #seedprod-new-page-inline code { background: transparent; padding: 0; margin-right: 5px; } /* ========================================================================== 19. TEMPLATE SELECTION PAGE - Template grid and interactions ========================================================================== */ /* Template grid - JavaScript-controlled masonry layout */ .seedprod-templates-grid { margin-top: 20px; position: relative; } /* Theme Kits Grid - Fixed height grid layout */ .seedprod-theme-kits-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 30px; padding: 0 20px; } /* Responsive grid for theme kits */ @media (max-width: 1400px) { .seedprod-theme-kits-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 1000px) { .seedprod-theme-kits-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } } @media (max-width: 600px) { .seedprod-theme-kits-grid { grid-template-columns: 1fr; gap: 15px; } } /* Theme card styling - uses same styling as template cards */ .seedprod-theme-image { position: relative; width: 100%; height: 300px; max-height: 300px; overflow: hidden; background: #f6f7f7; } .seedprod-theme-image img { position: absolute; top: 0; left: 0; width: 100%; height: auto; min-width: 100%; object-fit: cover; object-position: top center; } /* Theme overlay and buttons use template overlay styles */ /* Theme kits pagination */ .seedprod-themes-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 30px; padding: 20px; } .seedprod-pagination-btn { display: flex; align-items: center; gap: 5px; } .seedprod-pagination-btn:disabled { opacity: 0.5; cursor: not-allowed; } .seedprod-page-info { font-size: 14px; color: #666; margin: 0 10px; } /* Sort dropdown */ .seedprod-sort-label { margin-left: 20px; font-weight: 500; color: #666; } .seedprod-sort-select { margin-left: 10px; padding: 5px 10px; border: 1px solid #ddd; border-radius: 4px; background: white; } /* Template card styling */ .seedprod-template-card { background: white; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; transition: all 0.2s ease; position: relative; } .seedprod-template-card:hover:not(.seedprod-processing) { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); border-color: #c3c4c7; } /* Processing state styling - takes precedence over hover */ .seedprod-template-card.seedprod-processing { transform: translateY(-2px); box-shadow: var(--seedprod-shadow-orange); border-color: var(--seedprod-orange); border-width: 2px; } .seedprod-template-thumbnail { position: relative; width: 100%; height: auto; overflow: hidden; background: #f6f7f7; } .seedprod-template-image { width: 100%; height: auto; display: block; border: none; background: #f6f7f7; } /* Blank template special styling */ .seedprod-template-card.blank-template .seedprod-template-thumbnail { height: 200px; background: #f6f7f7; display: flex; align-items: center; justify-content: center; } .blank-template-icon .dashicons { font-size: 48px; color: #8c8f94; } /* Template overlay with action buttons */ .seedprod-template-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(35, 40, 45, 0.8); display: flex; align-items: center; justify-content: center; gap: 10px; opacity: 0; transition: opacity 0.2s ease; } .seedprod-template-card:hover .seedprod-template-overlay, .seedprod-template-card.seedprod-processing .seedprod-template-overlay, .seedprod-template-overlay.seedprod-processing-active { opacity: 1; } /* Ensure overlay is visible during processing even if JavaScript hide() was called */ .seedprod-template-card.seedprod-processing .seedprod-template-overlay, .seedprod-template-overlay.seedprod-processing-active { display: flex !important; } /* Action buttons in overlay */ .seedprod-template-overlay button { width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; } .seedprod-template-select { background: var(--seedprod-orange); color: white; } .seedprod-template-select:hover { background: var(--seedprod-orange-hover); transform: scale(1.05); } .seedprod-template-preview { background: #50575e; color: white; } .seedprod-template-preview:hover { background: #32373c; transform: scale(1.05); } .seedprod-template-overlay .dashicons { font-size: 18px; } .seedprod-template-select .dashicons, .seedprod-theme-kits-grid .seedprod-template-select .dashicons { line-height: normal; } /* Template name text */ .seedprod-template-name .template-name { font-weight: 600; font-size: 13px; color: #1d2327; flex: 1; margin-right: 8px; } /* Favorite toggle */ .seedprod-favorite-toggle { cursor: pointer; color: #8c8f94; transition: color 0.2s ease; flex-shrink: 0; } .seedprod-favorite-toggle:hover { color: var(--seedprod-orange); } .seedprod-favorite-toggle.seedprod-favorited { color: var(--seedprod-orange); } .seedprod-favorite-toggle .dashicons { font-size: 16px; } /* Heart icon colors and display */ .seedprod-favorite-toggle.seedprod-favorited .dashicons-heart { color: #e91e63 !important; } .seedprod-favorite-toggle:not(.seedprod-favorited) .dashicons-heart { color: #8c8f94 !important; } .seedprod-favorite-toggle:not(.seedprod-favorited):hover .dashicons-heart { color: #e91e63 !important; } /* Ensure dashicons font loads and displays properly */ .seedprod-favorite-toggle .dashicons:before { font-family: dashicons !important; display: inline-block !important; speak: never; } /* Dashicon heart content - explicit fallback */ .seedprod-favorite-toggle .dashicons-heart:before { content: "\f487" !important; } /* Ensure dashicons display properly */ .seedprod-template-favorite .dashicons { font-family: dashicons !important; display: inline-block; line-height: 1; font-weight: 400; font-style: normal; text-decoration: inherit; text-transform: none; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 20px; height: 20px; font-size: 20px; vertical-align: top; } /* Filter pills styling */ .seedprod-filters-section { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } /* Filter styles are defined above - removed duplicates */ /* Search input styling */ .seedprod-template-search { position: relative; width: 280px; max-width: 100%; } .seedprod-search-input { width: 100%; padding: 8px 36px 8px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; } .seedprod-template-search .dashicons-search { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); color: #8c8f94; font-size: 16px; pointer-events: none; } /* Loading and error states */ .seedprod-templates-loading { width: 100%; text-align: center; padding: 60px 20px; color: #50575e; } /* Theme kits specific loading state */ .seedprod-theme-kits-grid .seedprod-templates-loading { grid-column: 1 / -1; } .seedprod-templates-loading .spinner { float: none; margin: 0 auto 16px; } .seedprod-no-templates { grid-column: 1 / -1; text-align: center; padding: 60px 20px; color: #50575e; } .seedprod-no-templates p { font-size: 16px; margin: 0; } /* Enhanced error message with fallback */ .seedprod-error-message { width: calc(100% - 40px); text-align: center; padding: 60px 40px; background: #fff; border: 2px solid #f0f0f1; border-radius: 8px; margin: 20px; position: relative; box-shadow: 0 1px 3px rgba(0,0,0,0.05); } .seedprod-error-icon { margin-bottom: 20px; } .seedprod-error-icon .dashicons { font-size: 48px; width: 48px; height: 48px; color: #dba617; } .seedprod-error-message h3 { margin: 0 0 10px 0; font-size: 24px; font-weight: 600; color: #2c3338; } .seedprod-error-message p { color: #646970; font-size: 14px; margin: 0 0 20px 0; line-height: 1.5; } .seedprod-error-actions { margin-top: 30px; } .seedprod-error-actions .button { margin: 0 5px; } .seedprod-error-actions .button .dashicons { vertical-align: text-bottom; margin-right: 5px; font-size: 16px; width: 16px; height: 16px; } .seedprod-blank-template-fallback { font-size: 14px !important; padding: 8px 20px !important; height: auto !important; line-height: 1.5 !important; } .seedprod-error-note { margin-top: 15px !important; font-size: 13px !important; color: #8c8f94 !important; font-style: italic; } /* Template filters layout */ .seedprod-template-filters { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 20px; padding: 20px 0; flex-wrap: wrap; } @media (max-width: 782px) { .seedprod-template-filters { flex-direction: column; align-items: stretch; gap: 16px; } .seedprod-template-search { width: 100%; } .seedprod-filters-section { justify-content: flex-start; } } /* Spinning animation for loading states */ .seedprod-spin { animation: seedprod-spin 1s linear infinite; } @keyframes seedprod-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Preview modal styling */ #seedprod-template-preview-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 100000; margin: 0; padding: 0; } #seedprod-template-preview-modal .seedprod-modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 1; } #seedprod-template-preview-modal .seedprod-modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90vw; height: 90vh; max-width: 100%; background: white; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); z-index: 2; } #seedprod-template-preview-modal .seedprod-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #ddd; background: white; flex-shrink: 0; } #seedprod-template-preview-modal .seedprod-modal-header-left { flex: 1; } #seedprod-template-preview-modal .seedprod-modal-header-center { flex: 0 0 auto; padding: 0 20px; } #seedprod-template-preview-modal .seedprod-modal-header-right { flex: 0 0 auto; } /* Device Switcher - For Phase 2 Implementation */ .seedprod-device-switcher { display: inline-flex; gap: 8px; background: #f0f0f1; padding: 4px; border-radius: 4px; } .seedprod-device-btn { background: transparent; border: none; padding: 8px 12px; cursor: pointer; color: #646970; border-radius: 3px; transition: all 0.2s; } .seedprod-device-btn:hover { background: rgba(0, 0, 0, 0.05); color: #2c3338; } .seedprod-device-btn.active { background: white; color: var(--seedprod-orange); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .seedprod-device-btn .dashicons { font-size: 18px; width: 18px; height: 18px; } #seedprod-template-preview-modal .seedprod-modal-body { flex: 1; padding: 0 !important; max-height: none !important; height: calc(90vh - 60px) !important; overflow: hidden !important; } #seedprod-template-preview-modal .seedprod-modal-body iframe { width: 100%; height: 100%; border: none; } .seedprod-modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); cursor: pointer; } /* ========================================================================== WEBSITE BUILDER PAGE ========================================================================== */ /* Admin notices in dashboard container */ .seedprod-dashboard-container .notice.seedprod-admin-notice { margin: 0 0 20px 0; margin-left: 0 !important; margin-right: 0 !important; } /* Theme Control Card - using standard seedprod-card class */ .seedprod-theme-control-card { margin-bottom: 25px; } /* Reduce padding for better visual balance */ .seedprod-theme-control-card .inside { padding: 20px; } /* Toggle Section */ .seedprod-theme-toggle-section { margin-bottom: 20px; } .seedprod-theme-toggle-header { display: flex; align-items: center; gap: 20px; margin-bottom: 12px; } .seedprod-theme-toggle-header h3 { margin: 0; font-size: 16px; font-weight: 600; color: #1e1e1e; } .seedprod-theme-toggle-control { display: flex; align-items: center; gap: 12px; } .seedprod-theme-toggle-section > p { margin: 0 0 15px 0; color: #646970; font-size: 14px; line-height: 1.5; } .seedprod-toggle-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; } .seedprod-toggle-label .active { color: var(--seedprod-success); background-color: rgba(74, 184, 102, 0.1); padding: 3px 8px; border-radius: 3px; } .seedprod-toggle-label .inactive { color: var(--seedprod-text-secondary); background-color: var(--seedprod-gray-100); padding: 3px 8px; border-radius: 3px; } /* Theme Stats */ .seedprod-theme-stats { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f6f7f7; border-radius: 4px; font-size: 13px; color: #646970; } .seedprod-stat { white-space: nowrap; } .seedprod-stat-separator { color: #ddd; } /* Divider */ .seedprod-divider { margin: 20px 0; border: 0; border-top: 1px solid #e5e7eb; } /* Quick Actions Section */ .seedprod-quick-actions-section h4 { margin: 0 0 15px 0; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #787c82; } .seedprod-quick-actions-buttons { display: flex; gap: 10px; flex-wrap: wrap; } /* Buttons use standard seedprod-button-small class, icons need proper alignment */ .seedprod-quick-actions-buttons .button { display: inline-flex; align-items: center; } .seedprod-quick-actions-buttons .button .dashicons { font-size: 16px; width: 16px; height: 16px; line-height: 16px; margin-right: 5px; vertical-align: middle; } /* Secondary button style */ .seedprod-theme-card-actions .seedprod-button-secondary { background: #fff; border: 1px solid #c3c4c7; color: #2c3338; } .seedprod-theme-card-actions .seedprod-button-secondary:hover { background: #f6f7f7; border-color: #8c8f94; } /* Theme Templates Section */ .seedprod-theme-templates-section { margin-top: 30px; } /* Theme Templates Section uses standard section styles */ /* Spinning animation for loading */ @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .dashicons.spin, .button-spinner .dashicons { animation: spin 1s linear infinite; } /* Responsive adjustments */ @media (max-width: 1200px) { .seedprod-theme-card-row { flex-direction: column; gap: 30px; } .seedprod-theme-card-right { flex: 1; width: 100%; padding-left: 0; padding-top: 30px; border-left: none; border-top: 1px solid #e2e4e7; } .seedprod-theme-card-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; } } @media (max-width: 782px) { .seedprod-theme-card-content { padding: 20px; } .seedprod-theme-card-actions { display: flex; flex-direction: column; } .seedprod-theme-card-actions .button { width: 100%; justify-content: flex-start; } .seedprod-theme-stats { flex-direction: column; align-items: flex-start; gap: 4px; } .seedprod-theme-stats .seedprod-stat-separator { display: none; } } /* Import/Export Modal Styles */ #seedprod-import-export-modal, #seedprod-landing-import-export-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100050; display: none; background: rgba(0, 0, 0, 0.5); } #seedprod-import-export-modal .seedprod-modal-content, #seedprod-landing-import-export-modal .seedprod-modal-content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 600px; max-height: 80vh; background: white; border-radius: 4px; box-shadow: 0 3px 30px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; } #seedprod-import-export-modal .seedprod-modal-header, #seedprod-landing-import-export-modal .seedprod-modal-header { padding: 20px; border-bottom: 1px solid #dcdcde; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; } #seedprod-import-export-modal .seedprod-modal-header h2, #seedprod-landing-import-export-modal .seedprod-modal-header h2 { margin: 0; font-size: 20px; font-weight: 600; color: #1e1e1e; } #seedprod-import-export-modal .seedprod-modal-body, #seedprod-landing-import-export-modal .seedprod-modal-body { padding: 20px; overflow-y: auto; flex: 1; } #seedprod-import-export-modal .seedprod-modal-footer, #seedprod-landing-import-export-modal .seedprod-modal-footer { padding: 15px 20px; border-top: 1px solid #dcdcde; text-align: right; flex-shrink: 0; } .seedprod-import-export-tabs { display: flex; gap: 0; border-bottom: 1px solid #dcdcde; margin: -20px -20px 20px -20px; } .seedprod-tab-button { background: transparent; border: none; border-bottom: 2px solid transparent; padding: 15px 20px; font-size: 14px; font-weight: 500; color: #646970; cursor: pointer; transition: all 0.2s ease; } .seedprod-tab-button:hover { color: #2c3338; background: #f6f7f7; } .seedprod-tab-button.active { color: var(--seedprod-orange); border-bottom-color: var(--seedprod-orange); background: white; } .seedprod-tab-content { padding: 20px 0; } .seedprod-export-section h3, .seedprod-import-section h3 { margin: 0 0 10px 0; font-size: 16px; font-weight: 600; color: #1e1e1e; } .seedprod-export-section .description, .seedprod-import-section .description { margin: 0 0 20px 0; color: #646970; font-size: 14px; line-height: 1.5; } .seedprod-import-options { margin: 20px 0; } .seedprod-export-actions, .seedprod-import-actions { margin: 25px 0 20px 0; } .seedprod-export-status, .seedprod-import-status { margin: 20px 0 0 0; } .seedprod-export-status .notice, .seedprod-import-status .notice { margin: 0 !important; padding: 12px; box-shadow: none; } #seedprod-import-export-modal .notice { margin-left: 0 !important; margin-right: 0 !important; } .seedprod-import-file-section, .seedprod-import-url-section { margin-bottom: 25px; } .seedprod-import-file-section h4, .seedprod-import-url-section h4 { margin: 0 0 10px 0; font-size: 14px; font-weight: 600; color: #2c3338; } .seedprod-file-upload { display: flex; align-items: center; gap: 15px; } .seedprod-file-upload .button { display: inline-flex; align-items: center; } .seedprod-file-upload .button .dashicons { margin-right: 5px; font-size: 16px; width: 16px; height: 16px; } .seedprod-file-name { color: #2c3338; font-size: 14px; font-style: italic; } .seedprod-file-name:empty { display: none; } #seedprod-import-url { width: 100%; max-width: 400px; } .seedprod-import-warning { margin: 20px 0; } .seedprod-import-warning .notice { margin: 0; } /* Button states */ #seedprod-export-theme-btn, #seedprod-import-theme-btn { display: inline-flex; align-items: center; gap: 8px; } #seedprod-export-theme-btn .dashicons, #seedprod-import-theme-btn .dashicons { font-size: 16px; width: 16px; height: 16px; line-height: 16px; } #seedprod-export-theme-btn .spinner, #seedprod-import-theme-btn .spinner { float: none; margin: 0; } #seedprod-export-theme-btn:disabled, #seedprod-import-theme-btn:disabled { opacity: 0.6; cursor: not-allowed; } /* Landing Pages Section Header */ .seedprod-section-header-buttons { display: flex; gap: 10px; align-items: center; margin-bottom: 20px; } .seedprod-section-header-buttons .button .dashicons { margin-right: 5px; font-size: 16px; width: 16px; height: 16px; vertical-align: middle; } /* Landing Pages Table Fixes */ .seedprod-landing-pages-page .wp-list-table .row-actions .preview { float: none !important; display: inline; } /* Wizard Completion Modal */ #seedprod-wizard-completion-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.7); z-index: 100000; /* Override WordPress admin positioning */ margin-left: 0 !important; } #seedprod-wizard-completion-modal .seedprod-modal-content { background: #fff; border-radius: 8px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); max-width: 560px; width: 90%; height: auto; max-height: 80vh; overflow-y: auto; /* Use absolute positioning with transform for reliable centering */ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .seedprod-wizard-state { padding: 40px; text-align: center; } .seedprod-wizard-state h2 { font-size: 24px; margin: 0 0 15px 0; color: #333; font-weight: 600; } .seedprod-wizard-state p { font-size: 14px; color: #666; margin: 0 0 25px 0; line-height: 1.6; } .seedprod-spinner-wrapper { margin: 30px 0; } .seedprod-spinner-wrapper .spinner { float: none; margin: 0 auto; display: block; } #seedprod-recommended-plugins-list { text-align: left; margin: 20px 0; } #seedprod-recommended-plugins-list ul { margin: 0; padding: 0; list-style: none; } #seedprod-recommended-plugins-list li { padding: 10px 15px; background: #f5f5f5; margin-bottom: 8px; border-radius: 4px; display: flex; align-items: center; } #seedprod-recommended-plugins-list li:before { content: "✓"; color: #1da867; font-weight: bold; margin-right: 10px; font-size: 18px; } .seedprod-modal-buttons { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 25px; } .seedprod-modal-buttons .button { padding: 10px 25px; font-size: 14px; height: auto; line-height: normal; } .seedprod-modal-buttons .button-primary { background: #E14E1B; border-color: #E14E1B; } .seedprod-modal-buttons .button-primary:hover { background: #C94015; border-color: #C94015; } /* Success state specific */ #seedprod-wizard-success h2 { color: #1da867; } #seedprod-success-message { font-size: 16px; margin: 20px 0; } /* Error state specific */ #seedprod-wizard-error h2 { color: #dc3545; } #seedprod-error-message { color: #dc3545; font-size: 14px; } /* ===================================================== Product Education Pages ===================================================== */ /* Main 50-50 Layout */ .seedprod-product-education-main { display: flex; gap: 60px; align-items: center; margin-bottom: 50px; } .seedprod-product-education-left, .seedprod-product-education-right { flex: 1; } /* PRO Feature Badge */ .seedprod-product-education-badge { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, #E14E1B 0%, #F47E3C 100%); color: #fff; padding: 6px 12px; border-radius: 20px; font-size: 12px; margin-bottom: 20px; } .seedprod-product-education-badge .dashicons { font-size: 14px; width: 14px; height: 14px; } .seedprod-product-education-badge-text { display: flex; align-items: center; gap: 8px; } .seedprod-product-education-badge-separator { opacity: 0.7; } /* Typography */ .seedprod-product-education-page h1 { font-size: 32px; line-height: 1.2; margin: 0 0 15px 0; color: #1e293b; } .seedprod-product-education-subtitle { font-size: 18px; color: #64748b; margin: 0 0 20px 0; line-height: 1.4; } .seedprod-product-education-description { font-size: 14px; color: #475569; line-height: 1.6; margin-bottom: 25px; } /* Benefits List */ .seedprod-product-education-benefits ul { list-style: none; padding: 0; margin: 0 0 30px 0; } .seedprod-product-education-benefits li { display: flex; align-items: flex-start; margin-bottom: 12px; font-size: 14px; color: #334155; line-height: 1.5; } .seedprod-product-education-benefits .dashicons { color: var(--seedprod-success); margin-right: 10px; flex-shrink: 0; margin-top: 2px; } /* CTA Section */ .seedprod-product-education-cta { margin-top: 35px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; } .seedprod-product-education-cta .button-hero { font-size: 16px; padding: 12px 30px; height: auto; display: inline-flex; align-items: center; gap: 8px; } .seedprod-upgrade-icon { font-size: 18px; } /* ========================================================================== 19. REVIEW NOTICE STYLES ========================================================================== */ /* Review notice styling - minimal, uses WordPress native styles */ .seedprod-v2-review-notice .seedprod-review-step { padding: 5px 0; } .seedprod-v2-review-notice .seedprod-review-step p:first-child { margin-top: 0; } .seedprod-v2-review-notice .seedprod-review-step p:last-child { margin-bottom: 5px; } .seedprod-v2-review-notice .button { margin-right: 5px; } .seedprod-v2-review-notice .seedprod-review-dismiss-link, .seedprod-v2-review-notice .seedprod-dismiss-review-notice-permanent { text-decoration: none; } .seedprod-v2-review-notice .seedprod-review-dismiss-link:hover, .seedprod-v2-review-notice .seedprod-dismiss-review-notice-permanent:hover { text-decoration: underline; } /* ========================================================================== 20. UPGRADE/UPSELL ROWS IN TABLES ========================================================================== */ /* Upgrade row in tables (subscribers, landing pages) */ .seedprod-optinmonster-row, .seedprod-upgrade-row { background-color: #fef7f1; border-left: 4px solid var(--seedprod-orange); } .seedprod-optinmonster-row td, .seedprod-upgrade-row td { padding: 12px 10px; vertical-align: middle; } .seedprod-optinmonster-row .button, .seedprod-upgrade-row .button { white-space: nowrap; } .seedprod-optinmonster-row .dashicons, .seedprod-upgrade-row .dashicons { vertical-align: middle; } .seedprod-product-education-guarantee { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #64748b; flex-basis: 100%; margin: 0; } .seedprod-product-education-guarantee .dashicons { font-size: 16px; color: var(--seedprod-success); } /* Right Column - Media */ .seedprod-product-education-screenshot { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } .seedprod-product-education-video { position: relative; padding-bottom: 56.25%; /* 16:9 aspect ratio */ height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } .seedprod-product-education-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Bottom Section */ .seedprod-product-education-bottom { padding-top: 40px; border-top: 1px solid #e2e8f0; text-align: center; } /* Testimonial */ .seedprod-product-education-testimonial { max-width: 700px; margin: 0 auto 30px; } .seedprod-product-education-testimonial blockquote { margin: 0; padding: 0; } .seedprod-product-education-testimonial p { font-size: 16px; font-style: italic; color: #475569; margin-bottom: 15px; line-height: 1.6; } .seedprod-product-education-testimonial cite { font-style: normal; font-size: 14px; color: #64748b; } .seedprod-product-education-testimonial cite strong { color: #334155; } /* Social Proof */ .seedprod-product-education-users { font-size: 14px; color: #64748b; margin: 0; } /* Responsive Design */ @media (max-width: 768px) { .seedprod-product-education-main { flex-direction: column; gap: 40px; } .seedprod-product-education-page h1 { font-size: 24px; } .seedprod-product-education-subtitle { font-size: 16px; } } /* ===================================================== Free Templates Subscription Banner ===================================================== */ .seedprod-free-templates-banner { background: var(--seedprod-orange); color: #fff; padding: 15px 20px; margin: -20px -20px 20px -20px; border-radius: 0; } .seedprod-banner-content { display: flex; align-items: center; justify-content: center; gap: 20px; } .seedprod-banner-content strong { font-size: 14px; } .seedprod-subscribe-form { display: flex; align-items: center; gap: 10px; } .seedprod-subscribe-input { padding: 6px 12px; border: none; border-radius: 4px; min-width: 250px; } #seedprod-subscribe-button { background: #fff; color: var(--seedprod-orange); border: none; font-weight: 600; } #seedprod-subscribe-button:hover { background: #f0f0f0; } /* ===================================================== Template PRO Badges for Lite View ===================================================== */ .seedprod-template-pro-badge { position: absolute; top: 10px; right: 10px; background: linear-gradient(135deg, #E14E1B 0%, #F47E3C 100%); color: #fff; padding: 4px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; z-index: 10; text-transform: uppercase; letter-spacing: 0.5px; } .seedprod-template-free-badge { position: absolute; top: 10px; right: 10px; background: linear-gradient(135deg, #4AB866 0%, #3d9e56 100%); color: #fff; padding: 4px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; z-index: 10; text-transform: uppercase; letter-spacing: 0.5px; } .seedprod-highlight { animation: highlight-pulse 1s ease-out 2; box-shadow: 0 0 20px rgba(74, 184, 102, 0.5); } @keyframes highlight-pulse { 0% { box-shadow: 0 0 20px rgba(74, 184, 102, 0.5); } 50% { box-shadow: 0 0 40px rgba(74, 184, 102, 0.8); } 100% { box-shadow: 0 0 20px rgba(74, 184, 102, 0.5); } } .seedprod-pro-template .seedprod-template-thumbnail { position: relative; } .seedprod-pro-template .seedprod-template-image { opacity: 0.9; } .seedprod-pro-template:hover .seedprod-template-image { opacity: 1; } /* Lock overlay for Pro templates */ .seedprod-pro-template .seedprod-template-overlay button.seedprod-template-select { position: relative; } .seedprod-pro-template .seedprod-template-overlay button.seedprod-template-select::after { content: '\f160'; /* Dashicons lock */ font-family: dashicons; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 20px; color: #fff; background: rgba(0, 0, 0, 0.7); width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } /* Edit Conditions Modal - Form Layout */ .seedprod-form-row { display: flex; gap: 15px; } .seedprod-form-group { margin-bottom: 15px; } .seedprod-form-group-half { flex: 1; min-width: 0; } .seedprod-form-group label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; } .seedprod-form-group label .required { color: #dc3232; font-weight: 400; } .seedprod-form-group .description { font-size: 13px; color: #646970; font-style: normal; margin: 5px 0 0 0; } .seedprod-form-control { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; line-height: 1.4; } .seedprod-form-control:focus { border-color: #2271b1; outline: none; box-shadow: 0 0 0 1px #2271b1; } .seedprod-template-type-display { padding: 8px 12px; background-color: #f6f7f7; border: 1px solid #dcdcde; border-radius: 4px; font-size: 14px; color: #2c3338; text-transform: capitalize; line-height: 1.4; } /* Custom Condition Row Styling */ .seedprod-condition-row.is-custom .seedprod-condition-select, .seedprod-condition-row.is-custom .seedprod-condition-value { display: none; } .seedprod-condition-row.is-custom .seedprod-condition-custom-php { display: block !important; }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete