.portal-textbox[data-select-enhanced] { position: relative; isolation: isolate; --portal-select-hover-blend: normal; cursor: default; }
/* Match the standard button glow across the whole pill, behind its content. */
.portal-textbox[data-select-enhanced]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, #d5e2f5 18%, #f7e7c8 40%, #f6c596 58%, #f7e7c8 75%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
    mix-blend-mode: var(--portal-select-hover-blend);
    opacity: 0;
    transition: opacity 300ms ease-out;
}
@media (hover: hover) {
    .portal-textbox[data-select-enhanced]:hover:has(> .portal-select-toggle:enabled)::before { opacity: .36; transition-duration: 180ms; }
}
.portal-textbox[data-select-enhanced]:has(> .portal-select-toggle:enabled:focus-visible)::before { opacity: .36; transition-duration: 180ms; }
.portal-textbox[data-select-enhanced]:has(> .portal-select-toggle:disabled)::before { display: none; }
@media (prefers-reduced-motion: reduce) { .portal-textbox[data-select-enhanced]::before { transition: none; } }
@media (forced-colors: active), print { .portal-textbox[data-select-enhanced]::before { display: none; } }
.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; }
/* Use the standard button's active colors while the dropdown is expanded. */
.portal-textbox[data-select-enhanced]:has(> .portal-select-toggle[aria-expanded="true"]:not(:disabled)) {
    --portal-select-hover-blend: multiply;
    background: var(--brand-primary, #1e5b4b);
    border-color: var(--brand-primary, #1e5b4b);
    color: var(--brand-primary-text, #fff);
}
.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; }
