:root {
    --tblr-border-radius-scale: 2;
    --tblr-gray-50: #f8fafc;
    --tblr-gray-100: #f1f5f9;
    --tblr-gray-200: #e2e8f0;
    --tblr-gray-300: #cbd5e1;
    --tblr-gray-400: #94a3b8;
    --tblr-gray-500: #64748b;
    --tblr-gray-600: #475569;
    --tblr-gray-700: #334155;
    --tblr-gray-800: #1e293b;
    --tblr-gray-900: #0f172a;
    --tblr-gray-950: #020617;
    --tblr-primary: #d63939;
    --tblr-primary-rgb: 214, 57, 57;
    --tblr-font-sans-serif: "Archivo";
}

html {
    margin: 0 !important;
}

header {
    img {
        height: 23px !important;
    }
}

.list-group-vx {
    .list-group-item {
        position: relative;
        border: none !important;
        display: flex;
        align-items: center;
        gap: 8px;
        
        img {
            width: 72px;
            margin-left: -16px;
        }
        
        &:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 15px;
            width: calc(100% - 30px);
            border-bottom: 1px solid var(--tblr-gray-200);
        }
        
        &:last-of-type {
            &:after {
                display: none;
            }
        }
    }
}

.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    font-size: 1.25rem;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    gap: 8px;
    p {
        font-size: 14px;
        font-weight: 600;
        margin: 0 !important;
    }
}

.loading-overlay.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.swal2-actions {
    gap: 8px;
}

.swal2-popup {
    border-radius: 16px;
}

div:where(.swal2-container) h2:where(.swal2-title) {
    font-size: 18px !important;
}

.swal2-html-container {
    font-size: 14px !important;
}

.swal2-html-container {
    hr {
        margin: 16px 0;
    }
    
    ul {
        text-align: left;
        background: var(--tblr-body-bg);
        padding: 16px;
        margin: 12px 0;
        border-radius: 12px;
        border: 1px solid rgba(0,0,0,0.05);
        display: flex;
        flex-direction: column;
        gap: 8px;
        list-style: none;
        
        li {
            line-height: 1.3;
            &:before {
                content: '•';
                display: inline-block;
                margin-right: 8px;
                color: var(--tblr-primary);
            }
        }
    }
}

#ticketError {
    svg {
        width: 48px !important;
        height: 48px !important;
        opacity: 0.7;
        margin-bottom: 4px;
    }
    
    .links {
        display: flex;
        justify-content: center;
        gap: 12px;
    }
}