.smart-select { display:inline-grid; position:relative; min-width:0; width:100%; max-width:100%; vertical-align:middle; text-align:left; }
.smart-select[hidden] { display:none; }
.smart-select > select.smart-select-native { position:absolute!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important; opacity:0!important; padding:0!important; border:0!important; margin:0!important; clip-path:inset(50%); pointer-events:none; }
.smart-select > .smart-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-width:0; min-height:40px; padding:9px 12px; border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; line-height:1.45; text-align:left; cursor:pointer; box-sizing:border-box; }
.smart-select-trigger:hover:not(:disabled) { border-color:var(--text-faint); }
.smart-select-trigger:focus-visible,.smart-select-trigger[aria-expanded=true] { outline:2px solid var(--field-focus); outline-offset:1px; }
.smart-select-trigger[aria-invalid=true] { border-color:var(--danger); }
.smart-select-trigger:disabled { cursor:not-allowed; color:var(--text-faint); background:var(--surface-subtle); }
.smart-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.smart-select-trigger > svg { flex:none; color:var(--text-muted); transition:transform 150ms ease; }
.smart-select-trigger[aria-expanded=true] > svg { transform:rotate(180deg); }
.smart-select-popup { position:fixed; inset:auto; margin:0; padding:0; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); box-shadow:0 12px 32px color-mix(in srgb,var(--text) 18%,transparent); overflow:hidden; z-index:20000; box-sizing:border-box; display:none; flex-direction:column; font:13px/1.45 Inter,ui-sans-serif,system-ui,sans-serif; }
.smart-select-popup.is-open { display:flex; }
.smart-select-popup::backdrop { background:transparent; pointer-events:none; }
.smart-select-search { display:flex; align-items:center; gap:8px; padding:10px; border-bottom:1px solid var(--border); flex:none; color:var(--text-muted); }
.smart-select-popup .smart-select-search input { width:100%; min-width:0; min-height:36px; padding:8px 10px; border:1px solid var(--border); border-radius:6px; background:var(--surface-subtle); color:var(--text); font:inherit; box-sizing:border-box; }
.smart-select-search input:focus-visible { outline:2px solid var(--field-focus); outline-offset:1px; }
.smart-select-options { overflow-y:auto; overscroll-behavior:contain; padding:5px; min-height:0; flex:1; }
.smart-select-option { display:flex; align-items:center; gap:10px; min-height:38px; padding:9px 10px; border-radius:5px; cursor:pointer; }
.smart-select-option[aria-selected=true] { background:var(--surface-accent); font-weight:600; }
.smart-select-option.is-focused { background:var(--surface-subtle); outline:1px solid var(--border); outline-offset:-1px; }
.smart-select-option[aria-disabled=true] { color:var(--text-faint); cursor:not-allowed; opacity:.65; }
.smart-select-option .smart-select-value { white-space:normal; overflow-wrap:anywhere; }
.smart-select-option > svg { color:var(--text-muted); flex:none; }
.smart-select-group { color:var(--text-muted); font-size:11px; font-weight:600; padding:8px 10px 4px; }
.smart-select-footer { flex:none; padding:8px 12px; border-top:1px solid var(--border); font-size:11px; color:var(--text-muted); background:var(--surface-subtle); }
.smart-select-empty { margin:0; padding:18px 12px; color:var(--text-muted); text-align:center; }
.smart-select.is-person > .smart-select-trigger { min-height:54px; padding:7px 10px; }
.smart-select-value:has(.smart-select-avatar) { display:flex; align-items:center; gap:10px; }
.smart-select-avatar { width:34px; height:34px; flex:none; border-radius:50%; display:grid; place-items:center; color:var(--text-muted); background:var(--surface-subtle); border:1px solid var(--border); font-size:12px; font-weight:600; }
.smart-select-person-text { display:grid; min-width:0; gap:2px; }
.smart-select-person-text strong { font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.smart-select-person-text small { color:var(--text-muted); font-size:12px; font-weight:400; }
@media(prefers-reduced-motion:reduce) { .smart-select-trigger > svg { transition:none; } }
@media print { .smart-select > select.smart-select-native { position:static!important; width:auto!important; height:auto!important; opacity:1!important; clip-path:none; } .smart-select-trigger,.smart-select-popup { display:none!important; } }
