/* Modal Styles */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }
        
        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        
        .modal {
            background: white;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            transform: translateY(-50px);
            opacity: 0;
            transition: all 0.4s ease;
            overflow: hidden;
            max-height: 90vh;
            overflow-y: auto;
            -ms-overflow-style: thin;  /* IE and Edge */
            scrollbar-width: thin;  /* Firefox */
        }
        
        .modal-overlay.active .modal {
            transform: translateY(0);
            opacity: 1;
        }
        
        /* Modal Sizes */
        .modal.small {
            width: 90%;
            max-width: 400px;
        }
        
        .modal.medium {
            width: 90%;
            max-width: 600px;
        }
        
        .modal.large {
            width: 90%;
            max-width: 900px;
        }
        
        .modal-header {
            background: #3498db;
            color: white;
            padding: 20px;
            position: relative;
        }
        
        .modal.small .modal-header {
            background: #2ecc71;
        }
        
        .modal.medium .modal-header {
            background: #3498db;
        }
        
        .modal.large .modal-header {
            background: #9b59b6;
        }
        
        .modal-header h2 {
            font-weight: 500;
            font-size: 1.5rem;
        }
        
        .close-btn {
            position: absolute;
            top: 15px;
            right: 20px;
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
            transition: transform 0.2s ease;
        }
        
        .close-btn:hover {
            transform: scale(1.2);
        }
        
        .modal-body {
            padding: 30px;
            text-align: left;
        }
        
        .modal.small .modal-body {
            padding: 20px;
        }
        
        .modal-body p {
            margin-bottom: 20px;
            color: #555;
        }
        
        .modal-footer {
            padding: 15px 30px;
            background: #f8f9fa;
            display: flex;
            justify-content: flex-end;
            gap: 10px;
        }
        
        .modal.small .modal-footer {
            padding: 12px 20px;
        }
        
        .modal-btn {
            padding: 8px 20px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 0.9rem;
            transition: all 0.2s ease;
        }
        
        .modal-btn.cancel {
            background: #e0e0e0;
            color: #333;
        }
        
        .modal-btn.cancel:hover {
            background: #d0d0d0;
        }
        
        .modal-btn.confirm {
            background: #2ecc71;
            color: white;
        }
        
        .modal-btn.confirm:hover {
            background: #27ae60;
        }