.portal-select { position: relative; min-width: 0; width: 100%; }
.portal-select-source { display: none !important; }
.portal-select-trigger {
 display: flex; align-items: center; justify-content: space-between; gap: 12px;
 width: 100%; min-height: 43px; padding: 11px 13px;
 border: 1px solid #363e4a; border-radius: 8px;
 background: #14181f; color: #e8edf5; font: inherit; font-size: 12px;
 text-align: left; cursor: pointer;
 transition: border-color 150ms, background-color 150ms, box-shadow 150ms;
}
.portal-select-trigger:hover:not(:disabled) { background: #1b212a; border-color: #596779; }
.portal-select-trigger:focus-visible { outline: 2px solid var(--accent, #31d3e5); outline-offset: 3px; }
.portal-select-trigger[aria-expanded="true"] { border-color: #31d3e5; background: #1b2528; box-shadow: 0 0 0 3px #31d3e510; }
.portal-select-trigger:disabled { opacity: .45; cursor: not-allowed; }
.portal-select-value { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 1.5; }
.portal-select-value.placeholder { color: #a5afbe; }
.portal-select-arrow { display: flex; flex-shrink: 0; color: #aab5c4; transition: transform 150ms; }
.portal-select-arrow svg { width: 15px; height: 15px; }
.portal-select-trigger[aria-expanded="true"] .portal-select-arrow { color: #a4eed8; transform: rotate(180deg); }
.portal-select-menu {
 position: fixed; inset: auto; left: var(--select-x); top: var(--select-y);
 z-index: 1000; margin: 0; padding: 5px;
 width: var(--select-width); max-width: calc(100vw - 24px); max-height: var(--select-height, 280px);
 overflow-y: auto; overscroll-behavior: contain;
 border: 1px solid #3c4654; border-radius: 10px;
 background: #1b212a; color: #e8edf5;
 box-shadow: 0 12px 32px #0006;
 scrollbar-width: thin; scrollbar-color: #526071 #1b212a;
}
.portal-select-menu.opens-up { transform: translateY(-100%); }
.portal-select-menu::backdrop { background: transparent; }
.portal-select-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 39px; padding: 9px 10px; border-radius: 6px; cursor: pointer; font-size: 12px; line-height: 1.5; }
.portal-select-option > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.portal-select-option.active { background: #2b3442; color: #fff; }
.portal-select-option[aria-selected="true"] { background: #243e36; color: #a9f3da; }
.portal-select-option[aria-selected="true"].active { background: #2c5145; }
.portal-select-option[aria-disabled="true"] { color: #8993a2; cursor: not-allowed; }
.portal-select-option[aria-disabled="true"].active { background: none; }
.portal-select-check { display: flex; flex-shrink: 0; width: 16px; color: #9ff1d4; }
.portal-select-check svg { width: 15px; height: 15px; }
.portal-select-option[aria-selected="false"] .portal-select-check { visibility: hidden; }
.portal-select-empty { padding: 12px; color: #a9b3c2; font-size: 12px; }
.live-actions label > .portal-select { margin-top: 9px; }
.setting-row > .portal-select { width: 230px; flex-shrink: 0; }
@media (max-width: 780px) { .setting-row > .portal-select { width: 100%; } }
@media (pointer: coarse) { .portal-select-trigger { min-height: 44px; } .portal-select-option { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .portal-select-trigger, .portal-select-arrow { transition: none; } }
