/** * MPR Search Revolution - Universal Modal Styles * All admin modals use .mpr-sr-admin-modal class * Works on both Symfony pages (.show) and Legacy pages (.in) */ .mpr-sr-admin-modal.show, .mpr-sr-admin-modal.in { display: flex !important; align-items: center; justify-content: center; } .mpr-sr-admin-modal.show .modal-dialog, .mpr-sr-admin-modal.in .modal-dialog { transform: none !important; top: auto !important; margin: 0 auto !important; } .mpr-sr-admin-modal .modal-dialog { max-width: 480px; } .mpr-sr-admin-modal .modal-content { padding: 1.25rem; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } .mpr-sr-admin-modal .modal-header, .mpr-sr-admin-modal .modal-body, .mpr-sr-admin-modal .modal-footer { padding: 0; } .mpr-sr-admin-modal .modal-header { margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; border: none; } .mpr-sr-admin-modal .modal-header .modal-title { font-size: 1.125rem; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; margin: 0; } .mpr-sr-admin-modal .modal-header .modal-title i { margin-right: 8px; } .mpr-sr-admin-modal .modal-header .close, .mpr-sr-admin-modal .modal-header .mpr-close-modal { display: flex; align-items: center; justify-content: center; margin: 0; margin-left: auto; padding: 5px; background: transparent; border: none; cursor: pointer; transition: opacity 0.2s; line-height: 1; opacity: 0.7; } .mpr-sr-admin-modal .modal-header .close:hover, .mpr-sr-admin-modal .modal-header .mpr-close-modal:hover { opacity: 1; } .mpr-sr-admin-modal .modal-body { text-align: center; } .mpr-sr-admin-modal .modal-body .body-title { font-size: 0.875rem; color: #6b7280; margin-bottom: 0.25rem; } .mpr-sr-admin-modal .modal-body .modal-amount { font-size: 2.5rem; font-weight: 600; margin-bottom: 1.25rem; color: #dc2626; } .mpr-sr-admin-modal .modal-body .tables-table { margin-bottom: 1rem; font-size: 0.875rem; text-align: left; } .mpr-sr-admin-modal .modal-body .tables-table thead th { background: #f8fafc; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.025em; color: #64748b; padding: 0.5rem 0.75rem; } .mpr-sr-admin-modal .modal-body .tables-table tbody td { padding: 0.5rem 0.75rem; vertical-align: middle; border-color: #f1f5f9; } .mpr-sr-admin-modal .modal-footer { display: flex; padding-top: 1rem; gap: 0.75rem; border: none; } .mpr-sr-admin-modal .modal-footer .btn { flex: 1; display: flex; justify-content: center; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; font-weight: 500; border-radius: 6px; position: relative; z-index: 1; cursor: pointer; } .mpr-sr-admin-modal .modal-footer .btn i { margin-right: 5px; } .mpr-sr-admin-modal .modal-footer .cancel-btn, .mpr-sr-admin-modal .modal-footer .btn-secondary { background: #f1f5f9; border: 1px solid #e2e8f0; color: #64748b; } .mpr-sr-admin-modal .modal-footer .cancel-btn:hover, .mpr-sr-admin-modal .modal-footer .btn-secondary:hover { background: #e2e8f0; color: #475569; } .mpr-sr-admin-modal .modal-footer .confirm-btn, .mpr-sr-admin-modal .modal-footer .btn-primary { border: none; color: #fff; background: linear-gradient(135deg, #337ab7 0%, #286090 100%); } .mpr-sr-admin-modal .modal-footer .confirm-btn:hover:not(:disabled), .mpr-sr-admin-modal .modal-footer .btn-primary:hover:not(:disabled) { transform: translateY(-1px); background: linear-gradient(135deg, #286090 0%, #204d74 100%); } .mpr-sr-admin-modal .modal-footer .confirm-btn:disabled, .mpr-sr-admin-modal .modal-footer .btn-primary:disabled { opacity: 0.6; cursor: not-allowed; } .mpr-sr-admin-modal .modal-footer .btn-danger { background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%); border: none; color: #fff; } .mpr-sr-admin-modal .modal-footer .btn-danger:hover:not(:disabled) { background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%); transform: translateY(-1px); }