/* Shared select controls across public pages, partner accounts, CRM, CMS and IT. */
.ff-select { position:relative; display:block; width:100%; min-width:0; max-width:100%; text-align:left; font-family:inherit; font-weight:400; letter-spacing:normal; text-transform:none; line-height:1.4; color:var(--ui-ink,#302b25); }
.ff-select[hidden],.ff-select [hidden] { display:none!important; }
.ff-select select.ff-select__native { position:absolute!important; inset:0 auto auto 0!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important; max-height:1px!important; padding:0!important; margin:0!important; border:0!important; opacity:0!important; clip-path:inset(50%)!important; overflow:hidden!important; pointer-events:none!important; }
.ff-select .ff-select__trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; min-height:42px; height:auto; margin:0; padding:10px 12px; border:1px solid var(--ui-line,#cfc6ba); border-radius:var(--ui-radius-small,8px); background:var(--ui-surface,#fffdf8); color:var(--ui-ink,#302b25); box-shadow:none; font:inherit; font-size:14px; font-weight:450; line-height:1.4; letter-spacing:normal; text-transform:none; text-align:left; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.ff-select__value { display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ff-select__arrow { flex:none; width:8px; height:8px; margin:0 3px 4px 0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); opacity:.65; }
.ff-select__trigger[aria-expanded=true] .ff-select__arrow { transform:rotate(225deg); margin-top:5px; margin-bottom:0; }
.ff-select .ff-select__trigger:hover:not(:disabled),.ff-select .ff-select__trigger[aria-expanded=true] { border-color:var(--ui-accent,#a92b36); }
.ff-select .ff-select__trigger:focus-visible { outline:2px solid var(--ui-accent,#a92b36); outline-offset:2px; }
.ff-select .ff-select__trigger:disabled { opacity:.55; cursor:not-allowed; background:#eee9e1; }
.ff-select .ff-select__trigger[aria-invalid=true] { border-color:#b82936; }
.ff-select .ff-select__popup { box-sizing:border-box; position:fixed; inset:auto; z-index:10000; display:flex; flex-direction:column; gap:0; margin:0; padding:6px; border:1px solid var(--ui-line,#d6cec2); border-radius:var(--ui-radius,12px); background:var(--ui-surface,#fffdf8); color:var(--ui-ink,#302b25); box-shadow:0 10px 32px #302b2524,0 2px 4px #302b2510; overflow:hidden; font-family:inherit; font-size:14px; font-weight:400; line-height:1.4; text-align:left; letter-spacing:normal; text-transform:none; }
.ff-select .ff-select__popup::backdrop { background:transparent; }
.ff-select .ff-select__search { box-sizing:border-box; flex:none; display:block; width:100%; height:40px; min-height:40px; margin:0 0 5px; padding:9px 11px; border:1px solid var(--ui-line,#ded6cb); border-radius:var(--ui-radius-small,7px); background:var(--ui-raised,#f5f1e9); color:var(--ui-ink,#302b25); font:inherit; font-size:14px; line-height:20px; box-shadow:none; }
.ff-select .ff-select__search:focus { outline:2px solid var(--ui-accent,#a92b36); outline-offset:-2px; }
.ff-select .ff-select__list { display:block; flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c5b9ac transparent; padding:0; margin:0; outline:none; }
.ff-select__option { position:relative; display:block; padding:10px 34px 10px 11px; border-radius:var(--ui-radius-small,6px); white-space:normal; overflow-wrap:anywhere; cursor:pointer; user-select:none; }
.ff-select__option[aria-selected=true] { color:var(--ui-accent-dark,#9f2732); background:#f8e9e6; font-weight:600; }
.ff-select__option.is-active { background:var(--ui-raised,#eee7dc); outline:1px solid #d6cbbd; outline-offset:-1px; }
.ff-select__option[aria-selected=true].is-active { background:#f3ddd9; outline-color:#d7b4af; }
.ff-select__option[aria-selected=true]::after { content:''; position:absolute; right:14px; top:50%; width:6px; height:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-65%) rotate(45deg); }
.ff-select__option[aria-disabled=true] { opacity:.4; cursor:not-allowed; }
.ff-select__group { display:block; }
.ff-select__group-title { display:block; padding:10px 11px 5px; color:var(--ui-muted,#817569); font-size:11px; font-weight:650; }
.ff-select__empty { display:block; padding:18px 12px; color:var(--ui-muted,#817569); }
.ff-select .ff-select__footer { display:flex; flex:none; align-items:center; gap:8px; padding:8px 4px 2px; margin-top:5px; border-top:1px solid var(--ui-line,#e4dcd0); }
.ff-select__count { margin-right:auto; color:var(--ui-muted,#817569); font-size:12px; }
.ff-select .ff-select__footer button { width:auto; min-height:32px; margin:0; padding:6px 8px; border:0; border-radius:var(--ui-radius-small,6px); font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.ff-select .ff-select__clear { background:transparent; color:var(--ui-muted,#7d6a5a); }
.ff-select .ff-select__clear:disabled { opacity:.45; cursor:default; }
.ff-select .ff-select__done { background:#302b25; color:#fffdf8; }
.ff-select .ff-select__footer button:focus-visible { outline:2px solid var(--ui-accent,#a92b36); outline-offset:1px; }
.ff-select__error { display:block; margin-top:5px; font-size:12px; color:#b82936; }
.desk-filters label > .ff-select { margin-top:6px; }
:is(.ops-filter,.fleet-search,.work-toolbar,.access-search) > .ff-select { flex:1 1 170px; width:auto; }
:is(.partner-company-switch,.partner-demo-bar) .ff-select { flex:1 1 180px; }
.bo-body .bo-main form:is(.desk-filters,.ops-filter,.fleet-search,.work-toolbar,.access-search) .ff-select__trigger { min-height:40px; height:40px; font-size:13px; padding:9px 11px; border-radius:var(--ui-radius-small,6px); }
.related-widget-wrapper > .ff-select { flex:1; width:auto; min-width:180px; }
.actions > label > .ff-select { display:inline-block; width:min(280px,100%); vertical-align:middle; }
@media(max-width:760px) {
 .ff-select .ff-select__trigger,.bo-body .bo-main form:is(.desk-filters,.ops-filter,.fleet-search,.work-toolbar,.access-search) .ff-select__trigger { min-height:44px; height:44px; font-size:16px; }
 .ff-select .ff-select__popup { font-size:16px; }
 .ff-select .ff-select__search { height:44px; min-height:44px; font-size:16px; }
 .ff-select__option { min-height:44px; box-sizing:border-box; padding-top:11px; padding-bottom:11px; }
 .ff-select .ff-select__footer button { min-height:40px; }
 :is(.ops-filter,.fleet-search,.work-toolbar,.access-search) > .ff-select { flex-basis:calc(50% - 5px); }
}
@media(prefers-reduced-motion:reduce) { .ff-select .ff-select__trigger { transition:none; } }
