    :root {
        --unicamp-red: #b91c1c;
        --primary-blue: #1e40af;
        --sidebar-bg: #0f172a;
        --main-bg: #f8fafc;
        --text-slate: #334155;
    }

    body, h1, h2, h3, h4, h5, h6, a, button, p, span {
        font-family: "Raleway", sans-serif !important;
        -webkit-font-smoothing: antialiased;
    }

    body {
        background-color: var(--main-bg);
        color: var(--text-slate);
        font-size: 15px;
    }

    /* Estrutura Lateral e Principal */
    .dashboard-sidebar {
        width: 260px;
        background-color: var(--sidebar-bg);
        color: #f8fafc;
        position: fixed;
        height: 100%;
        z-index: 10;
        transition: 0.3s ease;
    }

    .dashboard-main {
        margin-left: 260px;
        min-height: 100vh;
        transition: 0.3s ease;
    }

    .services-row-flex {
        display: flex;
        flex-wrap: wrap;
        margin-left: -8px;
        margin-right: -8px;
    }

    .category-card-wrapper {
        display: flex;
        flex-direction: column;
    }

    .service-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 16px !important;
        transition: all 0.3s ease;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        height: 100%;
        width: 100%;
    }
    
    .service-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08) !important;
        border-color: #cbd5e1;
    }

    /* Limitador de Altura Máxima Dinâmico (4 Linhas Visíveis Antes do Scroll) */
    .card-links-container {
        max-height: 180px; 
        overflow-y: auto;
        flex-grow: 1;
        scrollbar-width: thin;
        scrollbar-color: #cbd5e1 #f8fafc;
    }

    .card-links-container::-webkit-scrollbar { width: 6px; }
    .card-links-container::-webkit-scrollbar-track { background: #f8fafc; }
    .card-links-container::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 20px; }

    /* Estilização Base de cada Linha/Link */
    .service-link {
        font-size: 14px !important;
        padding: 12px 18px !important;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #f1f5f9;
        color: #475569 !important;
        text-decoration: none;
        transition: all 0.2s ease;
        height: 45px;
        box-sizing: border-box;
    }

    .service-link:hover {
        background-color: #f1f5f9 !important;
        color: var(--primary-blue) !important;
        padding-left: 22px !important;
    }

    .service-link i:first-child {
        width: 20px;
        font-size: 14px;
        text-align: center;
        margin-right: 12px;
        color: #94a3b8;
    }

    /* Submenus Colapsáveis (Estilo Accordion) */
    .submenu-trigger { cursor: pointer; user-select: none; }
    .submenu-trigger .chevron-icon { margin-left: auto; transition: transform 0.2s ease; font-size: 11px; color: #94a3b8; }
    .submenu-active .chevron-icon { transform: rotate(180deg); color: var(--primary-blue); }
    .submenu-content { display: none; background-color: #fafbfd; border-left: 3px solid #cbd5e1; }
    .submenu-link { padding-left: 36px !important; font-size: 13.5px !important; background-color: #fafbfd !important; }

    /* Controle de Acesso Restrito (Contas Externas) */
    .service-link-disabled { opacity: 0.45 !important; cursor: not-allowed !important; pointer-events: none !important; background-color: #f8fafc !important; }
    .lock-badge { margin-left: auto; font-size: 10px; color: #b91c1c; background-color: #fee2e2; padding: 2px 8px; border-radius: 9999px; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }

    /* Search Bar */
    .search-wrapper { position: relative; }
    .search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #94a3b8; }
    .search-input { padding-left: 44px !important; border-radius: 12px !important; border: 1px solid #cbd5e1; }

    @media (max-width: 992px) {
        .dashboard-sidebar { margin-left: -260px; }
        .dashboard-sidebar.open { margin-left: 0; }
        .dashboard-main { margin-left: 0; }
    }
