: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);
}
.combobox {
    box-sizing: border-box;
    line-height: normal;
    position: relative;
}
span.combobox {
    display: inline-block;
    vertical-align: bottom;
}
.combobox__value {
    flex: 1 0 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.combobox__options--fix-width[role="listbox"] {
    width: 100%;
}
.combobox__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;
}
.combobox__listbox--set-position {
    min-width: 100%;
    top: calc(100% + 4px);
    width: auto;
}
.combobox__listbox--fixed {
    position: fixed;
}
.combobox__listbox--reverse,
[dir="rtl"] .combobox__listbox {
    left: unset;
    right: 0;
}
[dir="rtl"] .combobox__listbox--reverse {
    left: 0;
    right: unset;
}
.combobox__control > button,
.combobox__control > svg.icon {
    margin-inline-start: 8px;
}
.combobox__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%;
}
.combobox__option[role^="option"]:focus {
    outline-offset: -4px;
}
.combobox__option[role^="option"] {
    overflow: hidden;
    position: relative;
}
.combobox__option[role^="option"]:after {
    background-color: var(--color-state-layer-neutral);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.combobox__option[role^="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):hover:after,
.combobox__option[role^="option"][href]:hover:after {
    background-color: var(--color-state-layer-hover);
}
.combobox__option[role^="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):focus-visible:after,
.combobox__option[role^="option"][href]:focus-visible:after {
    background-color: var(--color-state-layer-focus);
}
.combobox__option[role^="option"]:not(
        [disabled],
        [aria-disabled="true"]
    ):active:after,
.combobox__option[role^="option"][href]:active:after {
    background-color: var(--color-state-layer-pressed);
}
.combobox__option[role^="option"][hidden] {
    display: none;
}
.combobox__option[role^="option"]:active {
    font-weight: 700;
}
.combobox__option[role^="option"]:disabled,
.combobox__option[role^="option"][aria-disabled="true"] {
    background-color: unset;
    color: var(
        --listbox-option-disabled-foreground-color,
        var(--color-foreground-disabled)
    );
    font-weight: unset;
}
.combobox__option[role^="option"]:first-child {
    border-top-left-radius: var(
        --combobox-listbox-border-radius,
        var(--border-radius-50)
    );
    border-top-right-radius: var(
        --combobox-listbox-border-radius,
        var(--border-radius-50)
    );
}
.combobox__option[role^="option"]:last-child {
    border-bottom-left-radius: var(
        --combobox-listbox-border-radius,
        var(--border-radius-50)
    );
    border-bottom-right-radius: var(
        --combobox-listbox-border-radius,
        var(--border-radius-50)
    );
}
.combobox__option[role^="option"]:not(:last-child) {
    margin-bottom: 1px;
}
.combobox__option[role^="option"] svg.icon {
    align-self: center;
    fill: currentColor;
    margin: 0 auto;
    opacity: 0;
    stroke: currentColor;
    stroke-width: 0;
}
.combobox__option--active[role^="option"] {
    overflow: hidden;
    position: relative;
}
.combobox__option--active[role^="option"]:after {
    background-color: var(--color-state-layer-neutral);
    background-color: var(--color-state-layer-pressed);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.combobox__option--active[role^="option"] svg.icon {
    opacity: 1;
}
.combobox__control button.icon-btn {
    height: 38px;
    padding: 0;
    position: absolute;
    right: 1px;
    top: 1px;
    width: 38px;
}
.combobox__control button.icon-btn svg {
    inset: auto 0;
    margin: 0;
}
.combobox--expanded .combobox__listbox {
    display: block;
}
.combobox--expanded svg.icon--12 {
    transform: rotate(180deg);
}
.combobox__control > svg.icon--12 {
    color: var(--combobox-textbox-icon-color, var(--color-foreground-primary));
    pointer-events: none;
    position: absolute;
    right: 17px;
    top: calc(50% - 8px);
}
.combobox__control > input {
    appearance: none;
    background-color: var(
        --combobox-textbox-background-color,
        var(--color-background-secondary)
    );
    border-color: var(
        --combobox-textbox-border-color,
        var(--color-border-medium)
    );
    border-radius: var(
        --combobox-textbox-border-radius,
        var(--border-radius-50)
    );
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    height: 40px;
    margin-left: 0;
    margin-right: 0;
    padding: 0 32px 0 16px;
}
.combobox__control > input,
.combobox__control > input[readonly] {
    color: var(
        --combobox-textbox-foreground-color,
        var(--color-foreground-primary)
    );
}
.combobox__control > input[readonly] {
    cursor: default;
    text-shadow: 0 0 0 inherit;
    --webkit-user-select: none;
}
.combobox__control > input[readonly]::-moz-selection,
.combobox__control > input[readonly]::selection {
    background-color: var(
        --combobox-textbox-readonly-selection-background,
        var(--color-background-primary)
    );
}
.combobox__control > input[aria-disabled="true"],
.combobox__control > input[disabled] {
    border-color: var(
        --combobox-textbox-disabled-border-color,
        var(--color-background-disabled)
    );
    color: var(
        --combobox-textbox-disabled-foreground-color,
        var(--color-foreground-disabled)
    );
}
.combobox__control > input[aria-disabled="true"][readonly],
.combobox__control > input[disabled][readonly] {
    text-shadow: 0 0 0 var(--color-foreground-disabled);
}
.combobox__control > input[aria-disabled="true"] + svg,
.combobox__control > input[disabled] + svg {
    opacity: 0.5;
}
.combobox__control > input[aria-invalid="true"] {
    border-color: var(
        --combobox-textbox-invalid-foreground-color,
        var(--color-border-attention)
    );
}
.combobox__control > input::-ms-clear {
    display: none;
}
.combobox__control--borderless > input {
    background-color: initial;
    border-color: transparent;
    padding-left: 0;
}
.combobox__control > input:focus {
    background-color: var(
        --combobox-textbox-focus-background-color,
        var(--color-background-primary)
    );
    border-color: var(
        --combobox-textbox-focus-border-color,
        var(--color-foreground-primary)
    );
}
.combobox__control--borderless > input:focus {
    border-color: transparent;
    outline: none;
}
.combobox--fluid,
.combobox--fluid .combobox__control > input {
    width: 100%;
}
.combobox--large .combobox__control > input {
    font-size: var(--font-size-medium);
    height: 48px;
}
.combobox__control > input[disabled] {
    background-color: var(
        --combobox-textbox-disabled-background-color,
        var(--color-background-secondary)
    );
}
.combobox__option--active[role="option"] {
    color: var(
        --combobox-listbox-option-hover-foreground-color,
        var(--color-foreground-primary)
    );
    font-weight: 700;
}
@media (-ms-high-contrast: active), all and (-ms-high-contrast: none) {
    .combobox__value,
    ::-ms-backdrop {
        min-width: 100%;
    }
}
[dir="rtl"] .combobox__control > input {
    padding: 0 16px 0 32px;
}
[dir="rtl"] .combobox__control > button,
[dir="rtl"] .combobox__control > svg.icon {
    right: unset;
}
[dir="rtl"] .combobox__control > svg.icon {
    left: 16px;
    margin-top: 1.3px;
}
[dir="rtl"] .combobox__control > button {
    left: 0;
}
[dir="rtl"] .combobox__control button.icon-btn {
    left: 1px;
    right: inherit;
}
