﻿/* HTML: <div class="loader"></div> */
.loader {
    width: 50px;
    aspect-ratio: 1;
    display: grid;
    border-radius: 50%;
    background: linear-gradient(0deg,rgb(0 0 0/50%) 30%,#0000 0 70%,rgb(0 0 0/100%) 0) 50%/8% 100%, linear-gradient(90deg,rgb(0 0 0/25%) 30%,#0000 0 70%,rgb(0 0 0/75% ) 0) 50%/100% 8%;
    background-repeat: no-repeat;
    animation: l23 1s infinite steps(12);
    position: fixed;
    top: 50%;
    left: 50%;
}

    .loader::before,
    .loader::after {
        content: "";
        grid-area: 1/1;
        border-radius: 50%;
        background: inherit;
        opacity: 0.915;
        transform: rotate(30deg);
    }

    .loader::after {
        opacity: 0.83;
        transform: rotate(60deg);
    }

@keyframes l23 {
    100% {
        transform: rotate(1turn)
    }
}

.rz-html-editor-source {
    font-family: monospace, 'Courier New' !important;
}

.rz-numeric-input {
    padding-inline-end: 0px !important;
}

.rz-numeric input {
    padding-inline-end: 0px !important;
    padding-right: 10px !important;
}

.dynamic-height-container {
    display: flex;
    flex-direction: column;
    height: 85vh;
}

.dynamic-height-content {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dynamic-height-grid {
    flex: 1;
    min-height: 0;
}

/* Fix radzen fluent UI checkbox */
.rz-chkbox-box .rzi {
    width: auto !important;
    height: auto !important;
}

/* Mobile responsive sidebar behavior */
@media (max-width: 767px) {
    .rz-sidebar {
        position: fixed !important;
        z-index: 1050 !important;
        height: 100vh !important;
    }
    
    .rz-sidebar-expanded {
        box-shadow: 0 0 20px rgba(0,0,0,0.5) !important;
    }
    
    /* Overlay for mobile when sidebar is open */
    .rz-layout:has(.rz-sidebar-expanded)::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 1049;
        pointer-events: auto;
    }
    
    /* Alternative overlay using adjacent selector for older browsers */
    .rz-sidebar-expanded + .rz-content::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 1049;
        pointer-events: auto;
    }
    
    /* Ensure body content is not scrollable when sidebar is open */
    .rz-layout:has(.rz-sidebar-expanded) .rz-body {
        overflow: hidden;
    }
}
