#host-edit-color {
    position: relative;
    width: 7rem;
    height: 1.5rem;
    border-radius: var(--pf-global--BorderRadius--sm);

    &:not(:hover):not(:focus) {
        box-shadow: inset 0 0 0 1px var(--pf-global--BorderColor--100);
    }

    &:hover,
    &:focus,
    &-popover .color-cell:hover,
    &-popover .color-cell:focus {
        cursor: pointer;
        box-shadow: inset 0 0 0 3px #3337;
    }
    &-popover .color-cell:not(:hover):not(:focus) {
        box-shadow: inset 0 0 0 3px #fff;
    }
}

#host-edit-color-popover {
    --border-color: var(--pf-global--BorderColor--200);
    border-color: var(--border-color);
    box-shadow: var(--pf-global--BoxShadow--md);
    top: 50%;
    left: calc(100% + var(--pf-global--spacer--sm));
    transform: translateY(-50%);
    margin-left: 0.5rem;
    // PF3 defines a max width; we unset it to allow the dialog to size itself
    max-width: auto;

    .ct-popover-arrow {
        --arrow-size: 11px;
        --arrow-color: var(--border-color);
        position: absolute;
        transform: translateY(-50%);
        top: 50%;
        width: 0;
        height: 0;
        left: calc(var(--arrow-size) * -1);

        &, &::after {
            border: 0 solid transparent;
            border-width: var(--arrow-size);
            border-left-width: 0;
            border-right-color: var(--arrow-color);
        }

        &::after {
            --arrow-color: white;
            content: '';
            position: absolute;
            left: 1px;
            top: calc(var(--arrow-size) * -1);
        }
    }

    .popover-content {
        --patch-size: 2rem;
        --row-count: 6;
        --padding: 0.5rem;
        text-align: center;
        padding: 0.5rem;
        display: flex;
        flex-flow: row wrap;
        width: calc(var(--row-count) * var(--patch-size) + (var(--padding) * 2));
    }

    .color-cell {
        width: var(--patch-size);
        height: var(--patch-size);
        margin: 0;
    }
}