:root {
    --ui-primary: #2563eb;
    --ui-primary-hover: #1d4ed8;
    --ui-secondary: rgba(255, 255, 255, 0.06);
    --ui-secondary-hover: rgba(255, 255, 255, 0.11);
    --ui-border: rgba(255, 255, 255, 0.12);
    --ui-danger: #dc2626;
    --ui-danger-hover: #b91c1c;
    --ui-text: #f8fafc;
    --ui-radius: 12px;
}

@media screen {
    button,
    a.btn-menu,
    a[class*="btn-"] {
        min-height: 42px;
        border-radius: var(--ui-radius) !important;
        font-family: 'Inter', sans-serif;
        font-weight: 700 !important;
        line-height: 1.2;
        cursor: pointer;
        transition: background-color .18s ease, border-color .18s ease,
            transform .18s ease, opacity .18s ease !important;
    }

    button:focus-visible,
    a.btn-menu:focus-visible,
    a[class*="btn-"]:focus-visible {
        outline: 3px solid rgba(96, 165, 250, .35);
        outline-offset: 2px;
    }

    button:not(:disabled):hover,
    a.btn-menu:hover,
    a[class*="btn-"]:hover {
        transform: translateY(-1px) !important;
    }

    button:disabled {
        opacity: .48 !important;
        cursor: not-allowed !important;
        transform: none !important;
        box-shadow: none !important;
    }

    /* Ação principal */
    button[type="submit"],
    .btn-admin-primary,
    .btn-submit,
    .btn-envio-premium,
    .btn-primario,
    .btn-refresh,
    .btn-print,
    .btn-imprimir,
    .btn-modal,
    .btn-visualizar-foto {
        background: var(--ui-primary) !important;
        border: 1px solid var(--ui-primary) !important;
        color: var(--ui-text) !important;
        box-shadow: none !important;
    }

    button[type="submit"]:not(:disabled):hover,
    .btn-admin-primary:not(:disabled):hover,
    .btn-submit:not(:disabled):hover,
    .btn-envio-premium:not(:disabled):hover,
    .btn-primario:not(:disabled):hover,
    .btn-refresh:not(:disabled):hover,
    .btn-print:not(:disabled):hover,
    .btn-imprimir:not(:disabled):hover,
    .btn-modal:not(:disabled):hover,
    .btn-visualizar-foto:not(:disabled):hover {
        background: var(--ui-primary-hover) !important;
        border-color: var(--ui-primary-hover) !important;
    }

    /* Navegação e ação secundária */
    .btn-voltar,
    .btn-voltar-minimal,
    .btn-menu,
    .btn-neutro,
    .btn-close,
    .fechar-modal,
    .btn-modal-fechar,
    .btn-nav-escape,
    .menu-trigger,
    .btn-menu-item,
    .mes-botao,
    .ranking-item,
    #btnCancelarEdicao {
        background: var(--ui-secondary) !important;
        border: 1px solid var(--ui-border) !important;
        color: var(--ui-text) !important;
        box-shadow: none !important;
    }

    .btn-voltar:hover,
    .btn-voltar-minimal:hover,
    .btn-menu:hover,
    .btn-neutro:hover,
    .btn-close:hover,
    .fechar-modal:hover,
    .btn-modal-fechar:hover,
    .btn-nav-escape:hover,
    .menu-trigger:hover,
    .btn-menu-item:hover,
    .mes-botao:hover,
    .ranking-item:hover,
    #btnCancelarEdicao:hover {
        background: var(--ui-secondary-hover) !important;
        border-color: rgba(255, 255, 255, .2) !important;
    }

    /* Destrutivo: vermelho somente quando a ação remove ou encerra */
    #btnSalvarDesligamento,
    .btn-sair,
    button[onclick*="removerCandidato"],
    button[onclick*="sairSistema"] {
        background: var(--ui-danger) !important;
        border: 1px solid var(--ui-danger) !important;
        color: white !important;
        box-shadow: none !important;
    }

    #btnSalvarDesligamento:not(:disabled):hover,
    .btn-sair:hover,
    button[onclick*="removerCandidato"]:hover,
    button[onclick*="sairSistema"]:hover {
        background: var(--ui-danger-hover) !important;
        border-color: var(--ui-danger-hover) !important;
    }

    /* Reativar é uma ação normal, não uma cor especial */
    #btnReativarColaborador {
        background: var(--ui-primary) !important;
        border-color: var(--ui-primary) !important;
        color: white !important;
    }

    /* Abas e seletores mantêm estado, mas usam a mesma família visual */
    .aba,
    .abas-graficos button,
    .admin-nav button {
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    .aba.ativa,
    .abas-graficos button.ativo,
    .admin-nav button.ativo {
        background: var(--ui-primary) !important;
        color: white !important;
        border-color: var(--ui-primary) !important;
    }

    /* Botões de escolha de humor são controles de resposta, não ações */
    .btn-humor {
        border-radius: var(--ui-radius) !important;
        box-shadow: none !important;
    }
}
