/*
 * Restauração dos botões no desktop.
 *
 * Mantém as variantes originais do tema e de cada contexto. Esta folha remove
 * somente a geometria touch, gradientes e elevações introduzidos pelo refactor;
 * não troca todos os botões por uma única cor ou aparência.
 */

@media (min-width: 768px) {
    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:not(.btn-close):not(.note-btn):not(.pcse-btn-plain) {
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        border-radius: 0 !important;
        background-image: none !important;
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:not(.btn-close):not(.note-btn):not(.pcse-btn-plain)
        :is(iconify-icon, i, svg) {
        filter: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:not(.btn-close):not(.note-btn):not(.pcse-btn-plain):is(
            :hover,
            :focus,
            :active,
            .active
        ) {
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:not(.btn-close):not(.note-btn):not(.pcse-btn-plain):not(
            [class*="px-"]
        ):not([class*="py-"]):not(.p-0) {
        padding:
            var(--bs-btn-padding-y, 0.35rem)
            var(--bs-btn-padding-x, 0.625rem) !important;
        font-size: var(--bs-btn-font-size, 0.75rem) !important;
        line-height: var(--bs-btn-line-height, 1.5) !important;
    }

    /*
     * Variantes Bootstrap usam as próprias variáveis do tema. A declaração
     * tardia também neutraliza gradientes de skins locais sem perder a cor
     * semântica original.
     */
    :is(#pcse-desktop-button-standard, .app-content, .modal)
        :is(
            .btn-theme,
            .btn-primary,
            .btn-secondary,
            .btn-success,
            .btn-info,
            .btn-warning,
            .btn-danger,
            .btn-dark,
            .btn-light,
            [class*="btn-outline-"]
        ):not(.pcse-btn-plain) {
        color: var(--bs-btn-color) !important;
        border-color: var(--bs-btn-border-color) !important;
        background-color: var(--bs-btn-bg) !important;
        background-image: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        :is(
            .btn-theme,
            .btn-primary,
            .btn-secondary,
            .btn-success,
            .btn-info,
            .btn-warning,
            .btn-danger,
            .btn-dark,
            .btn-light,
            [class*="btn-outline-"]
        ):not(.pcse-btn-plain):hover {
        color: var(--bs-btn-hover-color) !important;
        border-color: var(--bs-btn-hover-border-color) !important;
        background-color: var(--bs-btn-hover-bg) !important;
        background-image: none !important;
    }

    /*
     * Ações primárias criadas pelo refactor equivalem ao `.btn-theme`
     * anterior. Outras variantes contextuais conservam suas próprias cores.
     */
    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:is([class*="-primary-action"], [class*="--primary"]):not(
            .btn-primary
        ):not(.pcse-btn-plain) {
        --bs-btn-color: #000;
        --bs-btn-bg: #00ff9c;
        --bs-btn-border-color: #00ff9c;
        --bs-btn-hover-color: #000;
        --bs-btn-hover-bg: #26ffab;
        --bs-btn-hover-border-color: #1affa6;
        padding:
            var(--bs-btn-padding-y, 0.35rem)
            var(--bs-btn-padding-x, 0.625rem) !important;
        color: var(--bs-btn-color) !important;
        border-color: var(--bs-btn-border-color) !important;
        background: var(--bs-btn-bg) !important;
        font-size: var(--bs-btn-font-size, 0.75rem) !important;
        font-weight: var(--bs-btn-font-weight, 500) !important;
        line-height: var(--bs-btn-line-height, 1.5) !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .btn:is([class*="-primary-action"], [class*="--primary"]):not(
            .btn-primary
        ):not(.pcse-btn-plain):hover {
        color: var(--bs-btn-hover-color) !important;
        border-color: var(--bs-btn-hover-border-color) !important;
        background: var(--bs-btn-hover-bg) !important;
    }

    /*
     * O quadro de tarefas usa botões próprios sem a classe `.btn`. No desktop,
     * eles retomam exatamente as variantes `btn-theme`, `btn-dark` e
     * `btn-danger` do tema anterior.
     */
    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        align-items: center;
        justify-content: center;
        gap: 0.3125rem !important;
        padding: 0.35rem 0.625rem !important;
        color: #000 !important;
        font-size: 0.75rem !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
        letter-spacing: normal !important;
        border: var(--bs-border-width) solid #00ff9c !important;
        border-radius: 0 !important;
        background: #00ff9c !important;
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao:hover:not(:disabled) {
        color: #000 !important;
        border-color: #1affa6 !important;
        background: #26ffab !important;
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao--neutro {
        color: #fff !important;
        border-color: #35434a !important;
        background: #35434a !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao--neutro:hover:not(:disabled) {
        color: #fff !important;
        border-color: #49565c !important;
        background: #535f65 !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao--perigo {
        color: #fff !important;
        border-color: #ff5454 !important;
        background: #ff5454 !important;
    }

    :is(#pcse-desktop-button-standard, .app-content, .modal)
        .tarefas-botao--perigo:hover:not(:disabled) {
        color: #fff !important;
        border-color: #cc4343 !important;
        background: #d94747 !important;
    }

    /*
     * O FullCalendar gera `.btn-primary` para todos os controles. Na Agenda,
     * esses controles são navegação neutra; somente a visão ativa usa o verde.
     */
    :is(#pcse-desktop-button-standard, .app-content)
        .agenda-page .fc .btn-primary {
        --bs-btn-color: #fff;
        --bs-btn-bg: #35434a;
        --bs-btn-border-color: #35434a;
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: #535f65;
        --bs-btn-hover-border-color: #49565c;
        color: var(--bs-btn-color) !important;
        border-color: var(--bs-btn-border-color) !important;
        background: var(--bs-btn-bg) !important;
    }

    :is(#pcse-desktop-button-standard, .app-content)
        .agenda-page .fc .btn-primary:hover:not(:disabled) {
        color: var(--bs-btn-hover-color) !important;
        border-color: var(--bs-btn-hover-border-color) !important;
        background: var(--bs-btn-hover-bg) !important;
    }

    :is(#pcse-desktop-button-standard, .app-content)
        .agenda-page .fc .btn-primary:is(.active, :active) {
        color: #000 !important;
        border-color: #00ff9c !important;
        background: #00ff9c !important;
    }

}
