.business-combo { position:relative; width:100%; max-width:100%; min-width:0; }
.business-combo input,.business-combo button { min-height:44px; min-width:0; max-width:100%; width:100%; box-sizing:border-box; }
.business-combo-list { max-height:18rem; overflow-y:auto; padding:var(--space-1); scroll-padding:var(--space-1); border:1px solid var(--rule,#D9DEE4); background:var(--surface,#fff); border-radius:var(--radius-sm,8px); }
.business-combo-list button { display:block; border:0; border-bottom:1px solid var(--rule,#D9DEE4); background:transparent; color:inherit; text-align:left; padding:var(--space-3); white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.business-combo-list button[aria-selected=true] { background:var(--info-soft,#E8EFFB); color:var(--info-ink,#1F5FC0); }
.business-combo-list button.business-combo-current { font-weight:600; }
.business-combo-empty { padding:var(--space-3); color:var(--ink-soft,#49525E); }
.business-combo-list button.business-combo-current::before { content:"\2713  "; content:"\2713  " / ""; }
/* F218: group headings in the open list. Not options: no pointer, no hover. Long names wrap, so a 390px picker never scrolls sideways. */
.business-combo-group { display:block; min-width:0; max-width:100%; }
.business-combo-heading { padding:var(--space-2) var(--space-3); font-size:13px; font-weight:600; color:var(--ink-soft,#49525E); background:var(--sunken,#F7F8FA); border-bottom:1px solid var(--rule,#D9DEE4); white-space:normal; overflow-wrap:anywhere; }
.business-combo-group-name { display:block; font-size:13px; font-weight:400; color:var(--ink-soft,#49525E); white-space:normal; overflow-wrap:anywhere; }
.business-combo-note { margin:var(--space-1) 0 0; overflow-wrap:anywhere; }
.business-combo-note[hidden] { display:none; }
.business-combo-picked { display:flex; flex-direction:column; gap:0; }
/* Chosen names stay beside their label; only the named action removes them. */
.business-combo-picked-row { display:flex; align-items:center; justify-content:flex-start; gap:var(--space-2); min-height:44px; min-width:0; }
.business-combo-picked-name { flex:0 1 auto; min-width:0; overflow-wrap:anywhere; text-align:left; }
.business-combo-picked button { display:flex; align-items:center; justify-content:flex-start; flex:0 0 auto; width:auto; min-width:44px; min-height:44px; overflow-wrap:anywhere; white-space:normal; text-align:left; padding:var(--space-1) var(--space-2); border:0; border-radius:0; background:transparent; color:var(--link); cursor:pointer; }
/* Single value: the choice sits in the box, with a clear (x) inside its right edge. */
.business-combo-field { position:relative; }
.business-combo.business-combo-single .business-combo-field input { padding-right:var(--space-7); text-overflow:ellipsis; }
.business-combo .business-combo-clear { position:absolute; right:var(--space-1); top:0; bottom:0; margin:auto 0; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:var(--radius-sm,8px); background:none; color:var(--ink-soft,#49525E); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; }
.business-combo .business-combo-clear[hidden] { display:none; }
.business-combo .business-combo-clear:hover { color:var(--ink,#1A2027); background:var(--sunken,#F7F8FA); }
.business-combo-clear:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }

.business-combo-attribution{display:block;white-space:nowrap;font:normal 400 12px sans-serif;letter-spacing:normal;color:#1f1f1f;background:#fff;padding:var(--space-1)}

/* The clear button and each option have room for the outward focus ring. */
.business-combo-list button:focus-visible,.business-combo-picked button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.business-combo-list button:hover { background:var(--sunken,#F7F8FA); }
.business-combo-list button:disabled { color:var(--ink-faint,#626B76); cursor:not-allowed; }
.business-combo-heading,.business-combo-group-name,.business-combo-empty,.business-combo-note { font-family:inherit; line-height:19px; }
.business-combo-note { margin-top:var(--space-2); max-width:64ch; }
.business-combo-field { padding-block:var(--space-1); }
.business-combo-list { margin-top:var(--space-2); }
/* Mount puts the visible picker immediately after its hidden source. Preserve the
   lane's field-width class without copying classes or changing picker behavior. */
.w-xs + .business-combo,.business-combo.w-xs { width:120px; }
.w-sm + .business-combo,.business-combo.w-sm { width:200px; }
.w-md + .business-combo,.business-combo.w-md { width:360px; }
.w-lg + .business-combo,.business-combo.w-lg { width:520px; }
@media(max-width:639px){
 .w-xs + .business-combo,.w-sm + .business-combo,.w-md + .business-combo,.w-lg + .business-combo,.business-combo:is(.w-xs,.w-sm,.w-md,.w-lg) { width:100%; }
}
