.portal-textbox[data-select-enhanced] { position: relative; cursor: default; }
.portal-textbox[data-select-enhanced] > select { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; opacity: 0; pointer-events: none; }
.portal-textbox[data-select-check-enhanced] > [data-select-check-values] { display: none; }
.portal-control.portal-textbox:has(> [data-select-check-values]):not([data-select-check-enhanced]) { block-size: auto; flex-wrap: wrap; padding-block: .5rem; border-radius: calc(var(--portal-control-height) / 2); }
.portal-control.portal-textbox:has(> [data-select-check-values]):not([data-select-check-enhanced]) > select.portal-textbox-input { block-size: var(--portal-control-height); }
[data-select-check-values] { display: flex; flex: 1 1 100%; flex-direction: column; gap: .5rem; min-width: 0; }
[data-select-check-values] > label { display: grid; grid-template-columns: minmax(0, 1fr) minmax(5rem, auto); align-items: center; gap: .75rem; margin: 0; }
[data-select-check-values] select { box-sizing: border-box; min-width: 0; min-height: 2rem; padding: .25rem .5rem; border: 1px solid var(--portal-control-light-border, var(--tone-dfe7ea, #dfe7ea)); border-radius: .4rem; background: var(--surface, #fff); color: inherit; font: inherit; }
.portal-textbox[data-select-enhanced]:has(> .portal-select-toggle:focus-visible) { outline: 2px solid var(--brand-focus, #14b8a6); outline-offset: 3px; }
.portal-textbox[data-select-enhanced] > button.portal-select-toggle { flex: 1 1 0; display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.portal-select-toggle:focus-visible { outline: none; }
.portal-select-toggle:disabled { cursor: not-allowed; }
.portal-select-label { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.portal-select-arrow { flex: none; width: .5rem; height: .5rem; border-inline-end: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.portal-select-panel { position: fixed; z-index: 1100; display: flex; flex-direction: column; gap: .5rem; overflow: hidden; padding: .75rem; box-sizing: border-box; border: 1px solid var(--portal-control-light-border, var(--tone-dfe7ea, #dfe7ea)); border-radius: var(--portal-card-radius, .75rem); background: var(--surface, #fff); color: var(--tone-182b34, #182b34); box-shadow: 0 .4rem 1.2rem #0003; }
.portal-select-panel[hidden] { display: none; }
.portal-select-items { overflow-y: auto; min-height: 0; }
.portal-select-results { display: grid; grid-template-columns: minmax(0, 1fr) auto; overflow-y: auto; min-height: 0; }
.portal-select-results > .portal-select-items { overflow: visible; min-width: 0; }
.portal-select-sources[hidden] { display: none; }
.portal-select-source { display: flex; align-items: center; box-sizing: border-box; min-height: 2.25rem; padding: .35rem .5rem; color: var(--brand-primary, #4765ee); text-decoration: underline; white-space: nowrap; }
.portal-select-source:focus-visible { outline: 2px solid var(--brand-focus, #14b8a6); outline-offset: -2px; border-radius: .4rem; }
.portal-select-option { display: flex; align-items: center; width: 100%; min-height: 2.25rem; padding: .35rem .5rem; border: 0; border-radius: .4rem; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.portal-select-option:not(:disabled):hover, .portal-select-option:focus-visible { background: color-mix(in srgb, var(--brand-primary, #4765ee) 10%, var(--surface, #fff)); }
.portal-select-option:focus-visible { outline: 2px solid var(--brand-focus, #14b8a6); outline-offset: -2px; }
.portal-select-option[aria-selected="true"] { background: color-mix(in srgb, var(--brand-primary, #4765ee) 14%, var(--surface, #fff)); }
.portal-select-option:disabled { opacity: .5; cursor: not-allowed; }
.portal-select-empty { margin: 0; }
.portal-select-panel-mixed { overflow-y: auto; }
.portal-select-panel-mixed > * { flex-shrink: 0; }
.portal-select-panel-mixed > .portal-select-items { overflow: visible; }
.portal-select-radio-option { display: flex; align-items: center; gap: .5rem; box-sizing: border-box; width: 100%; min-width: 0; min-height: 2.25rem; margin: 0; padding: .25rem .5rem; border-radius: .4rem; font: inherit; cursor: pointer; }
.portal-select-radio-option:has(input:enabled):hover, .portal-select-radio-option:has(input:focus-visible),
.portal-select-check-options label:has(input:enabled):hover, .portal-select-check-options label:has(input:focus-visible) { background: color-mix(in srgb, var(--brand-primary, #4765ee) 10%, var(--surface, #fff)); }
.portal-select-radio-option:has(input:focus-visible), .portal-select-check-options label:has(input:focus-visible) { outline: 2px solid var(--brand-focus, #14b8a6); outline-offset: -2px; }
.portal-select-radio-option > span { min-width: 0; }
.portal-select-radio-option:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.portal-select-check-section { border-top: 1px solid var(--portal-control-light-border, var(--tone-dfe7ea, #dfe7ea)); padding-top: .5rem; }
.portal-select-check-options { display: flex; flex-direction: column; gap: .125rem; }
.portal-select-check-options label { display: flex; align-items: center; gap: .5rem; min-width: 0; min-height: 2.25rem; margin: 0; padding: .25rem .5rem; border-radius: .4rem; font: inherit; cursor: pointer; }
.portal-select-radio-option input[type="radio"], .portal-select-check-options input[type="checkbox"] { flex: none; width: 1rem; height: 1rem; min-height: 0; margin: 0; accent-color: var(--brand-primary); }
.portal-select-check-options label > span { min-width: 0; }
.portal-select-check-options label:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.portal-select-check-footer { display: flex; justify-content: flex-end; margin-top: .5rem; }
