:root {
    --bubble-shadow: 0 2px 7px rgb(0 0 0 / 0.15), 0 5px 17px rgb(0 0 0 / 0.2);
    --state-layer-neutral-on-strong: rgb(var(--color-neutral-900-rgb), 0);
    --state-layer-neutral: rgb(var(--color-neutral-900-rgb), 0);
}
.listbox-button {
    line-height: normal;
    position: relative;
    vertical-align: bottom;
}
span.listbox-button {
    display: inline-block;
}
.listbox-button .btn {
    padding-left: 15px;
    padding-right: 15px;
}
span.listbox-button--fluid,
span.listbox-button--fluid .btn,
span.listbox-button--fluid .expand-btn,
span.listbox-button--fluid div.listbox-button__listbox {
    width: 100%;
}
div.listbox-button__listbox {
    background-color: var(--color-background-elevated);
    border-radius: var(--border-radius-50);
    box-shadow: var(--bubble-shadow);
    box-sizing: border-box;
    display: none;
    left: 0;
    max-height: 400px;
    overflow-y: auto;
    position: absolute;
    top: 0;
    width: fit-content;
    z-index: 2;
}
div.listbox-button__listbox--set-position {
    min-width: 100%;
    top: calc(100% + 4px);
    width: auto;
}
div.listbox-button__listbox--fixed {
    position: fixed;
}
[dir="rtl"] div.listbox-button__listbox {
    left: unset;
    right: 0;
}
.listbox-button button.btn[aria-expanded="true"] ~ div.listbox-button__listbox,
button.expand-btn[aria-expanded="true"] ~ div.listbox-button__listbox {
    display: block;
}
.listbox-button button[aria-invalid="true"] {
    border-color: var(
        --listbox-button-invalid-border-color,
        var(--color-border-attention)
    );
}
.listbox-button:not(.listbox-button--error)
    button:not(
        [disabled],
        [aria-disabled="true"],
        [aria-invalid="true"]
    ).btn--form {
    border-color: var(
        --listbox-button-border-color,
        var(--color-border-medium)
    );
}
.listbox-button:not(.listbox-button--error)
    button:not(
        [disabled],
        [aria-disabled="true"],
        [aria-invalid="true"]
    ).btn--form:active,
.listbox-button:not(.listbox-button--error)
    button:not(
        [disabled],
        [aria-disabled="true"],
        [aria-invalid="true"]
    ).btn--form:focus,
.listbox-button:not(.listbox-button--error)
    button:not(
        [disabled],
        [aria-disabled="true"],
        [aria-invalid="true"]
    ).btn--form:hover {
    border-color: inherit;
}
.listbox-button button.btn--borderless,
.listbox-button button.expand-btn--borderless {
    background-color: initial;
    border-color: transparent;
    padding-left: 0;
    vertical-align: initial;
}
.listbox-button button.btn--borderless:focus,
.listbox-button button.expand-btn--borderless:focus {
    outline: none;
    text-decoration: underline;
}
.listbox-button
    button.btn--borderless[aria-expanded="true"]
    ~ .listbox-button__listbox,
.listbox-button
    button.expand-btn--borderless[aria-expanded="true"]
    ~ .listbox-button__listbox {
    top: 41px;
}
.listbox-button.listbox-button--form button {
    background-color: var(
        --listbox-button-background-color,
        var(--color-background-secondary)
    );
    border-color: var(
        --listbox-button-border-color,
        var(--color-border-medium)
    );
    color: var(
        --listbox-button-foreground-color,
        var(--color-foreground-primary)
    );
}
.listbox-button.listbox-button--form button[aria-disabled="true"],
.listbox-button.listbox-button--form button[disabled] {
    border-color: var(
        --listbox-button-disabled-border-color,
        var(--color-background-disabled)
    );
    color: var(
        --listbox-button-disabled-foreground-color,
        var(--color-foreground-disabled)
    );
}
.listbox-button.listbox-button--form button:focus {
    background-color: var(
        --combobox-textbox-focus-background-color,
        var(--color-background-primary)
    );
}
.listbox-button.listbox-button--form button[aria-invalid="true"] {
    border-color: var(
        --listbox-button-invalid-border-color,
        var(--color-border-attention)
    );
}
.listbox-button.listbox-button--error button:not(.btn--borderless) {
    background-color: var(
        --listbox-button-background-color,
        var(--color-background-secondary)
    );
    border-color: var(
        --listbox-button-border-color,
        var(--color-border-attention)
    );
}
.listbox-button .btn__label {
    color: var(--listbox-button-label-color, var(--color-foreground-secondary));
    margin-right: 3px;
}
.listbox-button--expanded .btn__label {
    color: var(--listbox-button-label-color, var(--color-foreground-primary));
}
.listbox-button.listbox-button--error button .btn__floating-label,
.listbox-button.listbox-button--error button .btn__label {
    color: var(--listbox-button-label-color, var(--color-foreground-attention));
}
.listbox-button .btn__text {
    font-weight: 700;
    margin-right: auto;
}
.listbox-button__options {
    border-radius: var(--listbox-button-border-radius, var(--border-radius-50));
}
.listbox-button__options[role="listbox"]:focus
    .listbox-button__option--active[role="option"] {
    overflow: hidden;
    position: relative;
}
.listbox-button__options[role="listbox"]:focus
    .listbox-button__option--active[role="option"]:after {
    background-color: var(--color-state-layer-neutral);
    background-color: var(--color-state-layer-hover);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.listbox-button__option svg.icon {
    align-self: center;
    fill: currentColor;
    margin: 0 auto;
    margin-inline-start: var(--spacing-100);
    opacity: 0;
    stroke: currentColor;
    stroke-width: 0;
}
div.listbox-button__option[role="option"][aria-selected="true"] svg.icon {
    opacity: 1;
}
.listbox-button__description {
    color: var(
        --listbox-button-subtitle-color,
        var(--color-foreground-secondary)
    );
    font-size: var(--font-size-small);
    font-weight: 400;
    grid-column: 1 2;
    grid-row: 2;
}
div.listbox-button__option[role="option"] {
    background-color: initial;
    border-color: var(--color-background-primary);
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    color: var(--color-foreground-primary);
    cursor: default;
    display: inline-grid;
    font-family: inherit;
    grid-template-columns: auto auto;
    justify-content: space-between;
    padding: 8px 15px;
    width: 100%;
}
div.listbox-button__option[role="option"]:not(:last-child) {
    margin-bottom: 1px;
}
div.listbox-button__option[role="option"]:focus {
    outline-offset: -4px;
}
div.listbox-button__option[role="option"] {
    overflow: hidden;
    position: relative;
}
div.listbox-button__option[role="option"]:after {
    background-color: var(--color-state-layer-neutral);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
div.listbox-button__option[role="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):hover:after,
div.listbox-button__option[role="option"][href]:hover:after {
    background-color: var(--color-state-layer-hover);
}
div.listbox-button__option[role="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):focus-visible:after,
div.listbox-button__option[role="option"][href]:focus-visible:after {
    background-color: var(--color-state-layer-focus);
}
div.listbox-button__option[role="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):active:after,
div.listbox-button__option[role="option"][href]:active:after {
    background-color: var(--color-state-layer-pressed);
}
div.listbox-button__option[role="option"][hidden] {
    display: none;
}
div.listbox-button__option[role="option"]:active {
    font-weight: 700;
}
div.listbox-button__option[role="option"]:disabled,
div.listbox-button__option[role="option"][aria-disabled="true"] {
    background-color: unset;
    color: var(
        --listbox-option-disabled-foreground-color,
        var(--color-foreground-disabled)
    );
    font-weight: unset;
}
div.listbox-button__option[role="option"]:first-child {
    border-top-left-radius: var(
        --listbox-button-listbox-border-radius,
        var(--border-radius-50)
    );
    border-top-right-radius: var(
        --listbox-button-listbox-border-radius,
        var(--border-radius-50)
    );
}
div.listbox-button__option[role="option"]:last-child {
    border-bottom-left-radius: var(
        --listbox-button-listbox-border-radius,
        var(--border-radius-50)
    );
    border-bottom-right-radius: var(
        --listbox-button-listbox-border-radius,
        var(--border-radius-50)
    );
}
div.listbox-button__option[role="option"]:disabled .listbox-button__description,
div.listbox-button__option[role="option"][aria-disabled="true"]
    .listbox-button__description {
    background-color: unset;
    color: var(
        --listbox-option-disabled-foreground-color,
        var(--color-foreground-disabled)
    );
    font-weight: unset;
}
div.listbox-button__option--active[role="option"] {
    font-weight: 700;
}
span.listbox-button__value {
    flex: 1 0 auto;
    white-space: nowrap;
}
.listbox-button__options:focus:not(:focus-visible) {
    outline: none;
}
[dir="rtl"] .listbox-button .btn__label {
    color: var(--listbox-button-label-color, var(--color-foreground-secondary));
    margin-left: 3px;
    margin-right: 0;
}
