.btn.btn-foi {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--app-color-foi);
    --bs-btn-border-color: var(--app-color-foi);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--app-color-foi-hover);
    --bs-btn-hover-border-color: var(--app-color-foi-hover);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--app-color-foi-active);
    --bs-btn-active-border-color: var(--app-color-foi-active);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--app-color-foi-disabled);
    --bs-btn-disabled-border-color: var(--app-color-foi-disabled)
}

.btn-google {
    --bs-btn-bg: #fff;
    --bs-btn-color: #1f1f1f;
    --bs-btn-border-color: #747775;
    --bs-btn-hover-bg: #f2f2f2;
    --bs-btn-hover-border-color: #747775;
    --bs-btn-active-bg: #f2f2f2;
    --bs-btn-active-border-color: #747775;
    --bs-btn-disabled-bg: #4285f4;
    --bs-btn-disabled-border-color: #74777555;
    --bs-btn-disabled-color: #1f1f1f55;
    --bs-btn-font-weight: 600;
}

.btn-primary {
    --bs-btn-bg: var(--app-color-primary);
    --bs-btn-border-color: var(--app-color-primary);
    --bs-btn-hover-bg: var(--app-color-primary-hover);
    --bs-btn-hover-border-color: var(--app-color-primary-hover);
    --bs-btn-active-bg: var(--app-color-primary-hover);
    --bs-btn-active-border-color: var(--app-color-primary-hover);
    --bs-btn-disabled-bg: var(--app-color-primary-disabled);
    --bs-btn-disabled-border-color: var(--app-color-primary-disabled);
}

.btn-outline-primary {
    --bs-btn-color: var(--app-color-primary);
    --bs-btn-border-color: var(--app-color-primary);
    --bs-btn-hover-bg: var(--app-color-primary-hover);
    --bs-btn-hover-border-color: var(--app-color-primary-hover);
    --bs-btn-active-bg: var(--app-color-primary-hover);
    --bs-btn-active-border-color: var(--app-color-primary-hover);
    --bs-btn-disabled-color: var(--app-color-primary-disabled);
    --bs-btn-disabled-border-color: var(--app-color-primary-disabled);
}

.btn-danger {
    --bs-btn-bg: var(--app-color-danger);
    --bs-btn-border-color: var(--app-color-danger);
    --bs-btn-hover-bg: var(--app-color-danger-hover);
    --bs-btn-hover-border-color: var(--app-color-danger-hover);
    --bs-btn-active-bg: var(--app-color-danger-hover);
    --bs-btn-active-border-color: var(--app-color-danger-hover);
    --bs-btn-disabled-bg: var(--app-color-danger-disabled);
    --bs-btn-disabled-border-color: var(--app-color-danger-disabled);
}

.btn-outline-danger {
    --bs-btn-color: var(--app-color-danger);
    --bs-btn-border-color: var(--app-color-danger);
    --bs-btn-hover-bg: var(--app-color-danger-hover);
    --bs-btn-hover-border-color: var(--app-color-danger-hover);
    --bs-btn-active-bg: var(--app-color-danger-hover);
    --bs-btn-active-border-color: var(--app-color-danger-hover);
    --bs-btn-disabled-color: var(--app-color-danger-disabled);
    --bs-btn-disabled-border-color: var(--app-color-danger-disabled);
}

.btn-success {
    --bs-btn-bg: var(--app-color-success);
    --bs-btn-border-color: var(--app-color-success);
    --bs-btn-hover-bg: var(--app-color-success-hover);
    --bs-btn-hover-border-color: var(--app-color-success-hover);
    --bs-btn-active-bg: var(--app-color-success-hover);
    --bs-btn-active-border-color: var(--app-color-success-hover);
    --bs-btn-disabled-bg: var(--app-color-success-disabled);
    --bs-btn-disabled-border-color: var(--app-color-success-disabled);
}

.btn-outline-success {
    --bs-btn-color: var(--app-color-success);
    --bs-btn-border-color: var(--app-color-success);
    --bs-btn-hover-bg: var(--app-color-success-hover);
    --bs-btn-hover-border-color: var(--app-color-success-hover);
    --bs-btn-active-bg: var(--app-color-success-hover);
    --bs-btn-active-border-color: var(--app-color-success-hover);
    --bs-btn-disabled-color: var(--app-color-success-disabled);
    --bs-btn-disabled-border-color: var(--app-color-success-disabled);
}

.btn.btn-collapse {
    display: flex;
    justify-content: space-between;
    align-items: start;
    border: none;
    padding: 0;
}

.btn.btn-collapse:after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform 0.2s ease-in-out;
}

.btn.btn-collapse:not(.collapsed):after {
    transform: rotate(-180deg);
}

.btn-speech-start.speaking {
    display: none;
}

.btn-speech-stop {
    display: none;
}

.btn-speech-stop.speaking {
    display: unset;
}

.btn-toggle.off .on-toggle,
.btn-toggle.on .off-toggle {
    display: none
}