/* Variáveis Globais de Identidade Visual */
:root { 
    --pf-primary: #0066FF; 
    --pf-text: #1E293B; 
    --pf-border: #E2E8F0; 
    --pf-bg: #F8FAFC; 
    --pf-muted: #64748B;
    --pf-danger: #EF4444;
}

/* Base do Corpo */
body { 
    padding-top: 75px; 
    background-color: var(--pf-bg); 
    font-family: 'Inter', system-ui, -apple-system, sans-serif; 
}

/* Navbar Customizada */
.navbar-pf { 
    background: #FFFFFF !important; 
    border-bottom: 1px solid var(--pf-border); 
    box-shadow: 0 1px 4px rgba(0,0,0,0.03); 
    padding: 0.5rem 0; 
}

.navbar-brand { 
    font-weight: 800; 
    color: var(--pf-text) !important; 
    letter-spacing: -0.5px;
}

.navbar-brand span { 
    color: var(--pf-primary); 
}

/* Links de Navegação */
.nav-link { 
    color: var(--pf-muted) !important; 
    font-weight: 600; 
    font-size: 0.88rem; 
    padding: 0.6rem 1rem !important; 
    border-radius: 8px; 
    position: relative;
    transition: all 0.2s ease;
}

.nav-link:hover { 
    color: var(--pf-primary) !important; 
    background: #F1F5F9; 
}

.nav-link.active { 
    color: var(--pf-primary) !important; 
    background: #EBF5FF; 
}

/* Badges de Notificação Flutuantes */
.notif-badge { 
    background: var(--pf-danger); 
    color: white; 
    font-size: 9px; 
    padding: 0;
    border-radius: 50px; 
    font-weight: 700; 
    display: inline-flex; 
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    position: absolute;
    top: 2px;
    right: 0px;
    opacity: 0; 
    border: 2px solid #fff;
    transition: opacity 0.3s, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: scale(0.5);
}

/* Quando a badge ganha opacidade pelo JS, ela aumenta de tamanho */
.notif-badge[style*="opacity: 1"] {
    transform: scale(1);
}

/* Área do Usuário */
.user-info { 
    border-left: 1px solid var(--pf-border); 
    padding-left: 15px; 
}

.menu-icon-desktop {
    font-size: 1.2rem;
    color: var(--pf-muted);
    margin-right: 10px;
    display: none;
}

@media (min-width: 992px) {
    .menu-icon-desktop { display: block; }
}

/* Estilo para Toast/Alertas */
#toast-container {
    position: fixed; 
    top: 85px; 
    right: 20px; 
    z-index: 9999; 
    pointer-events: none;
}