#root {
    min-height: 100vh;
    display: flex;
    min-width: 0;
    width: 100%;
    height: 100%;
}

/* Garantir que o layout funcione bem com zoom */
@media (min-width: 900px) {
    .CmtLayout-wrapper {
        display: flex !important;
    }
    
    .MuiDrawer-root {
        display: block !important;
    }
}

/* Para telas com zoom (dispositivos não-touch), manter o sidebar visível */
/* Só aplicar essas regras quando o sidebar estiver visível, não quando estiver escondido (tela de login) */
@media (min-width: 900px) and (max-width: 1199px) {
    body.no-touch.sidebar-visible .CmtLayout-wrapper .MuiDrawer-root {
        position: relative !important;
    }
    
    body.no-touch.sidebar-visible .CmtLayout-main {
        margin-left: 240px !important;
    }
}

.loader {
    margin: auto;
    width: 50px;
    height: 50px;
}

.circular-loader {
    animation: rotate 2s linear infinite;
}

.loader-path {
    fill: none;
    stroke-width: 3px;
    animation: animate-stroke 1.5s ease-in-out infinite;
    stroke-linecap: round;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-stroke {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
        stroke: #7352C7;
    }
    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
        stroke: #7352C7;
    }
    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
        stroke: #7352C7;
    }
}