button.main-button-primary {
    background-color: spiceColor("selected-row", 0.4) !important;

    &:hover,
    &:active {
        background-color: spiceColor("selected-row", 0.6) !important;
    }

    span {
        color: spiceColor("subtext") !important;
    }
}

// Modals
.GenericModal button.main-button-primary {
    background-color: spiceColor("subtext", 0.6) !important;
    color: spiceColor("main") !important;

    &:hover,
    &:active {
        background-color: spiceColor("subtext") !important;
    }
}

// Checkbox
.x-toggle-indicatorWrapper {
    background-color: spiceColor("subtext", 0.1);

    input:hover ~ & {
        background-color: spiceColor("subtext", 0.15) !important;
    }

    input:checked ~ & {
        background-color: spiceColor("selected-row", 0.4) !important;
    }

    input:hover:checked ~ & {
        background-color: spiceColor("selected-row", 0.6) !important;
    }
}

textarea,
select,
input {
    background-color: spiceColor("selected-row", 0.4) !important;
    border-radius: 4px !important;
    color: spiceColor("subtext") !important;
    outline: none;
    border: none;

    &:hover,
    &:active {
        background-color: spiceColor("selected-row", 0.6) !important;
    }

    &::placeholder {
        color: spiceColor("subtext");
        opacity: lightOffset(0.8, 0.1);
    }
}

textarea {
    padding: 6px 10px;
}

select {
    background-color: spiceColor("selected-row", 0.4) !important;
    color: spiceColor("subtext");

    &:hover,
    &:active {
        background-color: spiceColor("selected-row", 0.6) !important;
    }

    option {
        background: spiceColor("main") !important;
    }
}

input {
    padding: 6px 10px 6px 48px;

    &[type="range"] {
        -webkit-appearance: none;
        background: transparent;
        padding: 0px;

        &::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 16px;
            height: 16px;
            margin-top: -4px;
            border-radius: 50%;
            background-color: spiceColor("text");

            &:hover,
            &:active {
                filter: brightness(80%);
            }
        }

        &[tooltip] {
            &::after {
                z-index: 9999;
                content: attr(tooltip);
                position: absolute;
                min-width: 50px;
                top: -22px;
                left: 50%;
                transform: translateX(calc(-50%));
                padding: 0 5px;
                border-radius: 4px;
                text-align: center;
                color: spiceColor("sidebar-text");
                background-color: spiceColor("button");
                transition: opacity 0.25s ease;
                opacity: 0;
            }

            &:hover::after,
            &:active::after {
                opacity: 1;
            }
        }

        &::-webkit-slider-runnable-track {
            width: 100%;
            height: 8px;
            background-color: spiceColor("text", 0.2);
            border-radius: 50vw;
        }
    }

    &[type="number"],
    &[type="text"],
    &[type="search"],
    &[type="time"] {
        height: 32px;
        border-radius: 4px !important;
        padding: 0px 10px;
    }

    &[type="search"] {
        &::-webkit-search-cancel-button {
            -webkit-appearance: none;
            height: 1em;
            width: 1em;
            border-radius: 50em;
            background: url(icon64("times")) no-repeat 50% 50%;
            background-size: contain;
            opacity: 0;
            pointer-events: none;
            filter: invert(lightOffset(1, -1));
        }

        &:focus::-webkit-search-cancel-button {
            opacity: lightOffset(0.8, 0.1);
            pointer-events: all;
        }
    }

    &[type="time"] {
        &::-webkit-calendar-picker-indicator {
            filter: invert(var(--is_dark));
        }
    }

    &[type="color"] {
        position: relative;
        padding: 0px;

        &::before {
            z-index: -1;
            content: "";
            position: absolute;
            inset: -5px;
            border-radius: 4px;
            background-color: spiceColor("selected-row", 0.4);
        }

        &:hover::before,
        &:active::before {
            background-color: spiceColor("selected-row", 0.6);
        }
    }
}
