/* Modal overlay */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background-color: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(4px);
            z-index: 50;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: 1rem;
            overflow-y: auto;
            transition: opacity 0.3s ease-in-out;
        }

        .modal-overlay.hidden {
            opacity: 0;
            pointer-events: none;
        }

        /* Modal container */
        .modal-container {
            background-color: white;
            border-radius: 1rem;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            width: 100%;
            margin-top: 2rem;
            margin-bottom: 2rem;
            transform: scale(0.95);
            transition: transform 0.3s ease-in-out;
            display: flex;
            flex-direction: column;
        }

        .dark .modal-container {
            background-color: #1f2937;
        }

        .modal-overlay:not(.hidden) .modal-container {
            transform: scale(1);
        }

        /* Modal header */
        .modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 1.5rem;
            border-top-left-radius: 1rem;
            border-top-right-radius: 1rem;
        }

        /* Modal body */
        .modal-body {
            padding: 1.5rem;
            flex: 1;
        }

        /* Modal footer */
        .modal-footer {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0.75rem;
            padding: 1.5rem;
            border-top: 1px solid #e5e7eb;
        }

        .dark .modal-footer {
            border-top-color: #374151;
        }

        /* Animation */
        @keyframes modalFadeIn {
            from {
                opacity: 0;
                transform: scale(0.95) translateY(-20px);
            }
            to {
                opacity: 1;
                transform: scale(1) translateY(0);
            }
        }

        .modal-overlay:not(.hidden) .modal-container {
            animation: modalFadeIn 0.3s ease-out;
        }