/* Estilos Globais e Utilitários */
    body {
        font-family: 'Inter', sans-serif;
        background-color: #f1f5f9;
    }
    #sidebar { transition: width 0.3s ease-in-out, left 0.3s ease-in-out; }
    .link-text { transition: opacity 0.2s ease-in-out; white-space: nowrap; }
    .nav-link.active {
        background-color: #3b82f6;
        color: white;
        border-radius: 0.5rem;
    }
    .nav-link.active .material-icons, .nav-link.active .link-text { color: white; }
    .nav-link:not(.active):hover { background-color: #e5e7eb; border-radius: 0.5rem; }
    .form-input, .form-select { @apply w-full px-3 py-2 mt-1 text-gray-700 bg-white border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500; }
    .form-label { @apply text-sm font-medium text-gray-600; }
    .uppercase { text-transform: uppercase; }
    
    /* Switch de Proxy */
    .toggle-checkbox:checked { right: 0; border-color: #48bb78; }
    .toggle-checkbox:checked + .toggle-label { background-color: #48bb78; }

    /* Scrollbar Personalizada */
    .custom-scrollbar::-webkit-scrollbar { width: 8px; }
    .custom-scrollbar::-webkit-scrollbar-track { background: #f1f1f1; }
    .custom-scrollbar::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

    /* Animações */
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(-10px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .fade-in { animation: fadeIn 0.3s ease-out forwards; }
    #antecipeextension{
        z-index: 99999;
    }

    .panel-height{
        max-height: calc(100vh - 250px);
    }

    /* --- NOVOS ESTILOS DE RESPONSIVIDADE --- */
    
    /* Estilo para a barra recolhida em DESKTOP */
    @media (min-width: 992px) {
        #sidebar.collapsed {
            width: 80px; /* Largura apenas para os ícones */
        }
        #sidebar.collapsed .link-text, #sidebar.collapsed .logo > span {
            opacity: 0;
            pointer-events: none; /* Impede interação com o texto invisível */
        }
    }

    /* Estilos para MOBILE e TABLET */
    @media (max-width: 991px) {
        #sidebar {
            position: fixed;
            left: -240px; /* Começa escondida (largura total é 240px ou w-60) */
            height: 100vh;
            z-index: 100;
        }
        #sidebar.open {
            left: 0; /* Mostra a barra ao deslizar */
        }
        main {
            width: 100%;
        }
        #content-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 99;
            display: none; /* Começa escondido */
        }
        #content-overlay.active {
            display: block;
        }
    }