| |
| .modal-overlay { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100vh; |
| background: rgba(0, 0, 0, 0.5); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| z-index: var(--z-50); |
| opacity: 0; |
| visibility: hidden; |
| transition: all var(--transition-slow); |
| } |
|
|
| .modal-overlay.active { |
| opacity: 1; |
| visibility: visible; |
| } |
|
|
| .modal { |
| background: white; |
| border-radius: var(--radius-xl); |
| max-width: 500px; |
| width: 90%; |
| max-height: 90vh; |
| overflow-y: auto; |
| transform: scale(0.9); |
| transition: all var(--transition-slow); |
| } |
|
|
| .modal-overlay.active .modal { |
| transform: scale(1); |
| } |
|
|
| .modal-header { |
| padding: var(--spacing-6); |
| border-bottom: 1px solid var(--color-secondary-200); |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| } |
|
|
| .modal-body { |
| padding: var(--spacing-6); |
| } |
|
|
| .modal-footer { |
| padding: var(--spacing-6); |
| border-top: 1px solid var(--color-secondary-200); |
| display: flex; |
| justify-content: flex-end; |
| gap: var(--spacing-4); |
| } |
|
|
| @media (max-width: 639px) { |
| .modal { |
| width: 95%; |
| max-height: 95vh; |
| } |
| |
| .modal-header, |
| .modal-body, |
| .modal-footer { |
| padding: var(--spacing-4); |
| } |
| } |