/* Dashboard Styles */ .wpfmj-status-badge { display: inline-block; padding: 4px 10px; border-radius: 3px; font-size: 12px; font-weight: 600; text-transform: uppercase; } .wpfmj-status-active { background-color: #d4edda; color: #155724; } .wpfmj-status-inactive { background-color: #f8d7da; color: #721c24; } .wpfmj-error-badge { display: inline-block; background-color: #dc3545; color: white; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: bold; } .wpfmj-empty-state { background: #f9f9f9; border: 2px dashed #ddd; border-radius: 8px; } /* Wizard Styles */ .wpfmj-wizard-container { max-width: 900px; margin: 20px 0; background: white; border: 1px solid #ccd0d4; border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,.04); } .wpfmj-wizard-header { padding: 20px 30px; border-bottom: 1px solid #e0e0e0; } .wpfmj-wizard-progress { display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none; } .wpfmj-wizard-progress li { flex: 1; text-align: center; position: relative; font-size: 13px; color: #999; } .wpfmj-wizard-progress li:not(:last-child)::after { content: ''; position: absolute; top: 12px; right: -50%; width: 100%; height: 2px; background: #e0e0e0; z-index: -1; } .wpfmj-wizard-progress li.active { color: #2271b1; font-weight: 600; } .wpfmj-wizard-progress li.completed { color: #00a32a; } .wpfmj-wizard-progress li.active::before, .wpfmj-wizard-progress li.completed::before { content: ''; display: block; width: 24px; height: 24px; margin: 0 auto 8px; border-radius: 50%; background: #2271b1; } .wpfmj-wizard-progress li.completed::before { background: #00a32a; } .wpfmj-wizard-body { padding: 30px; min-height: 400px; } .wpfmj-wizard-footer { padding: 20px 30px; border-top: 1px solid #e0e0e0; display: flex; justify-content: space-between; } /* Step Styles */ .wpfmj-step { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .wpfmj-step h2 { margin: 0 0 20px; font-size: 22px; font-weight: 600; } .wpfmj-step p.description { color: #666; margin-bottom: 30px; } .wpfmj-field-group { margin-bottom: 25px; } .wpfmj-field-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; } .wpfmj-field-group input[type="text"], .wpfmj-field-group input[type="password"], .wpfmj-field-group select { width: 100%; max-width: 500px; } /* Two Column Layout */ .wpfmj-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 20px; } .wpfmj-column h3 { margin: 0 0 15px; font-size: 16px; font-weight: 600; padding-bottom: 10px; border-bottom: 2px solid #2271b1; } .wpfmj-mapping-row { display: flex; align-items: center; gap: 15px; padding: 12px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 4px; margin-bottom: 10px; } .wpfmj-mapping-row .wpfmj-answer { flex: 1; font-weight: 500; } .wpfmj-mapping-row select { flex: 1; min-width: 200px; } .wpfmj-mapping-row button { flex-shrink: 0; } /* Review Step */ .wpfmj-review-section { background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 4px; padding: 20px; margin-bottom: 20px; } .wpfmj-review-section h3 { margin: 0 0 15px; font-size: 16px; font-weight: 600; color: #2271b1; } .wpfmj-review-item { display: flex; padding: 8px 0; border-bottom: 1px solid #e0e0e0; } .wpfmj-review-item:last-child { border-bottom: none; } .wpfmj-review-label { flex: 0 0 180px; font-weight: 600; color: #555; } .wpfmj-review-value { flex: 1; color: #333; } /* Alerts */ .wpfmj-alert { padding: 12px 15px; border-radius: 4px; margin-bottom: 20px; } .wpfmj-alert-success { background-color: #d4edda; border: 1px solid #c3e6cb; color: #155724; } .wpfmj-alert-error { background-color: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; } .wpfmj-alert-info { background-color: #d1ecf1; border: 1px solid #bee5eb; color: #0c5460; } /* Loading States */ .wpfmj-loading { display: inline-block; width: 20px; height: 20px; border: 3px solid #f3f3f3; border-top: 3px solid #2271b1; border-radius: 50%; animation: spin 1s linear infinite; margin-right: 8px; vertical-align: middle; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Responsive */ @media (max-width: 782px) { .wpfmj-two-column { grid-template-columns: 1fr; } .wpfmj-wizard-footer { flex-direction: column; gap: 10px; } .wpfmj-mapping-row { flex-direction: column; align-items: stretch; } }