.stk-table.header-text-overflow {
    .stk-filter >span {
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

.stk-filter {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    flex: 1;
    min-width: 0;
    &--light {
        --icon-active-color: #1b63d9;
        --icon-hover-color: #1890ff;
    }

    &--dark {
        --icon-active-color: #1b63d9;
        --icon-hover-color: #4f8df4;
    }

    &.stk-filter--active {
        .stk-filter-icon {
            color: var(--icon-active-color);
        }
    }
    >span {
        flex: 1;
        min-width: 0;
        overflow: hidden;
    }

    .stk-filter-icon {
        display: inline-flex;
        width: 16px;
        height: 16px;
        cursor: pointer;
        opacity: 0.6;
        transition: opacity 0.2s;
        flex-shrink: 0;
        &:hover {
            opacity: 1;
            color: var(--icon-hover-color);
        }
    }
}

.stk-filter-dropdown {
    --border-color: #303439;
    --btn-hover-color: #2a2f34;
    --bg-color: #181c21;
    --text-color: rgba(255, 255, 255, 0.85);
    --cell-hover-color: #2a2f34;

    &--light {
        --border-color: #e8e8e8;
        --btn-hover-color: #f5f5f5;
        --bg-color: #ffffff;
        --text-color: rgba(0, 0, 0, 0.85);
        --cell-hover-color: #fafafa;

        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }

    position: absolute;
    width: 120px;
    max-height: 200px;
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    color: var(--text-color);

    > .stk-table {
        --cell-padding-x: 4px;
        padding: 8px 0;
        flex: 1;
        min-height: 0;

        tr {
            cursor: pointer;
        }
    }

    .stk-filter-dropdown-checkbox {
        text-align: center;
        > [type='checkbox'] {
            vertical-align: middle;
        }
    }

    footer {
        display: flex;
        border-top: 1px solid var(--border-color);

        button {
            flex: 1;
            cursor: pointer;
            background: transparent;
            border: none;
            color: var(--text-color);

            &:first-child {
                border-right: 1px solid var(--border-color);
            }

            &:hover {
                background-color: var(--btn-hover-color);
            }
        }
    }
}
