/* Modal */ .modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 12000; animation: fadeIn 0.3s ease; } .modal.hidden { display: none; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .modal-content { background-color: white; border-radius: var(--border-radius); width: 90%; max-width: 500px; max-height: 90vh; overflow: auto; box-shadow: 0 4px 20px rgba(0,0,0,0.15); animation: slideUp 0.3s ease; } @keyframes slideUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } } .modal-header { padding: 20px; border-bottom: 1px solid #e0e0e0; display: flex; justify-content: space-between; align-items: center; } .modal-header h2 { font-size: 20px; font-weight: 600; color: var(--dark-color); } .modal-close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--secondary-color); width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: var(--transition); } .modal-close:hover { background-color: var(--light-color); color: var(--dark-color); } .modal-body { padding: 20px; }