/* All single-choice controls share this design, including native fallbacks. */
:root { --select-ink:#243247; --select-border:#bdc6d3; --select-active:#203b60; }
select { appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m6 8 4 4 4-4' fill='none' stroke='%23203b60' stroke-width='1.7'/%3E%3C/svg%3E") no-repeat right 9px center; padding-right:36px; border-color:var(--control-border); border-radius:9px; }
.select-widget { display:inline-block; position:relative; min-width:135px; max-width:100%; }
.select-trigger { width:100%; justify-content:space-between; color:var(--ink); font-weight:400; text-align:left; }
.select-trigger > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:260px; }
.select-list { position:absolute; top:calc(100% + 5px); left:0; min-width:100%; max-width:min(360px, calc(100vw - 60px)); max-height:260px; overflow:auto; z-index:35; padding:6px; border:1px solid #b7c4d5; border-radius:10px; background:#fff; box-shadow:0 10px 25px #162a4624; }
.select-widget .select-option { display:flex; width:100%; justify-content:flex-start; padding:9px 12px; border:0; min-height:38px; color:var(--ink); text-align:left; font-size:13px; font-weight:400; border-radius:0; box-shadow:none; margin:0; white-space:nowrap; }
.select-widget .select-option[aria-selected=true] { font-weight:650; color:var(--primary); }
.select-option[aria-selected=true]::after { content:'✓'; margin-left:auto; }
.select-option.is-active { background:#edf1f7; }
.select-native { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden; clip-path:inset(50%); margin:0; padding:0; }

.select-trigger { display:inline-flex; align-items:center; gap:14px; min-height:var(--button-height,36px); padding:var(--button-padding-y,6px) var(--field-padding-x,16px); border:1px solid var(--select-border); border-radius:9px; background:#fff; color:var(--select-ink); font:400 13px/1.5 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif; cursor:pointer; }
.select-trigger::after { content:''; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); flex:none; }
.select-trigger:hover, .select-trigger[aria-expanded=true] { background:#f0f3f7; border-color:#7f94ae; }
.select-trigger:focus-visible { outline:3px solid #54769f; outline-offset:3px; }
.select-trigger[aria-invalid=true] { border-color:#b42318; }
.select-trigger:disabled { opacity:.55; cursor:not-allowed; }
.select-trigger > span { white-space:normal; overflow-wrap:anywhere; max-width:none; min-width:0; }
.select-list[hidden] { display:none !important; }
.select-widget .select-option { background:transparent; color:var(--select-ink); font:400 13px/1.5 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif; white-space:normal; overflow-wrap:anywhere; cursor:pointer; box-sizing:border-box; gap:12px; }
.select-widget .select-option[aria-selected=true] { color:var(--select-active); font-weight:650; }
.select-widget .select-option:hover, .select-widget .select-option.is-active { background:#edf1f7; box-shadow:none; }
.select-option:disabled { opacity:.5; cursor:not-allowed; }
.select-option[aria-selected=true]::after { flex:none; }
.select-group { display:block; padding:7px 12px; color:#667080; font-size:13px; font-weight:600; }
.select-error { display:block; color:#b42318; font-size:13px; margin-top:6px; }
select:not(.select-native) { min-height:var(--button-height,36px); border:1px solid var(--select-border); padding:var(--button-padding-y,6px) 40px var(--button-padding-y,6px) var(--field-padding-x,16px); color:var(--select-ink); font-size:13px; line-height:1.4; max-width:100%; box-sizing:border-box; }
select[multiple], select[size]:not([size="1"]):not([size="0"]) { background-image:none; padding-right:14px; }
.select-widget { vertical-align:middle; min-width:min(160px, 100%); }
.select-list { box-sizing:border-box; width:max-content; }
.select-widget:has(.select-trigger[aria-expanded=true]) { z-index:40; }
