@props(['id', 'title' => 'Xác nhận', 'message' => '', 'confirmText' => 'Đồng ý', 'cancelText' => 'Hủy', 'type' => 'danger'])

<div id="{{ $id }}" class="fixed inset-0 z-[100] hidden flex-col items-center justify-center outline-none opacity-0 transition-opacity duration-300" aria-labelledby="modal-title-{{ $id }}" role="dialog" aria-modal="true">
    <div class="absolute inset-0 bg-gray-900/60 backdrop-blur-sm cursor-pointer" onclick="closeModal('{{ $id }}')"></div>
    <div class="modal-panel bg-white rounded-xl shadow-2xl w-full sm:max-w-md overflow-hidden z-50 relative transform scale-95 translate-y-4 transition-all duration-300 m-4 flex flex-col">
        <div class="p-6 flex flex-col items-center text-center">
            <!-- Icon based on type -->
            <div class="w-14 h-14 rounded-full flex items-center justify-center mb-4 {{ $type === 'danger' ? 'bg-red-50 text-red-500' : 'bg-blue-50 text-blue-500' }}">
                @if($type === 'danger')
                    <svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
                    </svg>
                @else
                    <svg class="w-8 h-8" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
                        <path stroke-linecap="round" stroke-linejoin="round" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
                    </svg>
                @endif
            </div>
            
            <h3 id="modal-title-{{ $id }}" class="text-[18px] font-extrabold text-[#1a2b49] mb-2">{{ $title }}</h3>
            <p class="text-gray-500 text-sm leading-relaxed">{{ $message }}</p>
        </div>
        <div class="px-6 py-4 bg-gray-50 flex gap-3 border-t border-gray-100 justify-end">
            <button type="button" onclick="closeModal('{{ $id }}')" class="inline-flex items-center justify-center bg-white border border-[#d9dfe7] hover:bg-gray-50 text-[#1a2b49] font-bold py-2.5 px-6 rounded-xl text-sm transition-colors shadow-sm min-w-[120px] h-[42px] cursor-pointer">
                {{ $cancelText }}
            </button>
            <button type="button" onclick="closeModal('{{ $id }}')" class="inline-flex items-center justify-center font-bold py-2.5 px-6 rounded-xl text-sm transition-colors text-white shadow-md min-w-[120px] h-[42px] cursor-pointer {{ $type === 'danger' ? 'bg-red-600 hover:bg-red-700 shadow-red-500/10' : 'bg-[#3462f7] hover:bg-blue-700 shadow-blue-500/10' }}">
                {{ $confirmText }}
            </button>
        </div>
    </div>
</div>
