.picker-container {
    & + .picker-color-toolbar {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
    }

    & + .picker-color-content {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
    }
}


.picker-color-toolbar {
    height: 32px;
    padding-right: 2px;
    padding-left: 2px;
}

.picker-color-content {
    min-height: unset;
    position: relative;
}

.picker-color-picker {
    width: 312px;
    height: 250px;
    position: relative;
    overflow: hidden;

    .picker-color-overlay {
        width: 100%;
        height: 100%;

        &.picker-color-overlay-white {
            background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
        }

        &.picker-color-overlay-black {
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
        }
    }

    .picker-color-selector {
        position: absolute;
        top: -13px;
        left: -13px;
    }
}

.picker-color-controls {
    width: 312px;
    padding: 16px;
    display: flex;
    flex-direction: column;

    .picker-color-controls-row {
        display: flex;
        align-items: center;

        & + .picker-color-controls-row {
            margin-top: 24px;
        }

        .picker-color-sliders {
            display: flex;
            flex: 1 0 auto;
            flex-direction: column;

            .picker-color-slider {
                min-width: 224px;
                border-radius: var(--default-borderradius);

                & .slider-input {
                    height: 10px;
                    border-radius: var(--default-borderradius);

                    @include slider-track {
                        background: initial;
                    }

                    @include slider-thumb {
                        appearance: none;
                        margin-top: -6px;
                        height: 14px;
                        width: 14px;
                        transform: none;
                        transition: none;
                        background: #f0f0f0;
                        box-shadow: rgba(0, 0, 0, 0.37) 0px 1px 4px 0px;
                    }

                    &:active {
                        @include slider-thumb {
                            box-shadow: 0 0 0 2px var(--palette-action-default-hover) !important;
                        }
                    }
                }

                &.hue + .alpha {
                    margin-top: 18px;
                }

                &.hue .slider-input {
                    background: linear-gradient( 90deg, #FF0000, #ff0 16.66%, #0f0 33.33%,#0ff 50%, #00f 66.66%, #f0f 83.33%, #FF0000);
                }

                &.alpha .slider-input {
                    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYlWNgYGCQwoKxgqGgcJA5h3yFAAs8BRWVSwooAAAAAElFTkSuQmCC) repeat;
                }
            }
        }

        .picker-color-inputs {
            display: flex;
            flex: 1 1 auto;

            .picker-color-inputfield {
                width: 100%;
                margin-right: 8px;
                margin-inline-end: 8px;
                margin-inline-start: unset;

                &:last-of-type {
                    margin-right: 0;
                    margin-inline-end: 0;
                    margin-inline-start: unset;
                }

                .input {
                    input {
                        padding: 6px;
                        height: 1em;
                        text-align: center;
                        font-size: 14px;
                    }
                }

                .input-helper-text {
                    text-align: center;

                    & div div {
                        margin: auto;
                    }
                }
            }
        }

        .picker-control-switch {
            margin-left: 8px;
            margin-inline-start: 8px;
            margin-inline-end: unset;
            padding-bottom: 16px;
        }

        .picker-color-collection {
            display: flex;
            min-width: 230px;
            justify-content: space-between;

            .picker-color-dot {
                max-width: 38px;
            }
        }
    }
}

.picker-color-dot {
    height: 38px;
    min-width: 38px;
    width: 100%;
    transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-radius 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    border-radius: var(--default-borderradius);
    box-shadow: 0 0 6px rgba(127, 130, 134, 0.18);

    &:hover {
        cursor: pointer;
        box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);
    }

    &.picker-color-dot-current {
        background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYlWNgYGCQwoKxgqGgcJA5h3yFAAs8BRWVSwooAAAAAElFTkSuQmCC) repeat;
    }

    .picker-color-fill {
        width: 100%;
        height: 100%;
        border-radius: inherit;
    }

    & + .picker-color-sliders {
        margin-left: 16px;
        margin-inline-start: 16px;
        margin-inline-end: unset;
    }

    & + .picker-color-collection {
        margin-left: 10px;
        margin-inline-start: 10px;
        margin-inline-end: unset;
    }
}

.picker-color-view {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: auto;
    padding: 6px;
    background-color: var(--palette-surface);

    .picker-color-view-collection {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;

        .picker-color-dot {
            max-width: 38px;
            margin: 8px;

            &.selected {
                border-radius: 50%;
                box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);
            }
        }
    }
}

.picker-color-picker {
    .picker-color-grid {
        display: flex;
        flex-wrap: wrap;

        .picker-color-dot {
            height: 25px;
            min-width: 26px;
            max-width: 26px;
            border-radius: 0px;
            box-shadow: none;
        }
    }
}