/* Modal Overlay */ .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 1rem; } /* Modal Container */ .modal-container { background: white; border-radius: 0.75rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; width: 100%; } .modal-sm { max-width: 28rem; } .modal-md { max-width: 32rem; } .modal-lg { max-width: 48rem; } .modal-xl { max-width: 64rem; } /* Modal Header */ .modal-header { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; border-bottom: 1px solid #e5e7eb; background: #f9fafb; } .modal-title { font-size: 1.25rem; font-weight: 600; color: #111827; margin: 0; } .modal-close-button { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: none; background: none; border-radius: 0.375rem; color: #6b7280; cursor: pointer; transition: all 0.2s; } .modal-close-button:hover { background-color: #f3f4f6; color: #374151; } /* Modal Content */ .modal-content { flex: 1; overflow-y: auto; padding: 0; } /* Responsive */ @media (max-width: 640px) { .modal-overlay { padding: 0.5rem; } .modal-container { max-height: 95vh; } .modal-header { padding: 1rem; } .modal-title { font-size: 1.125rem; } }