/* SignVerse — searchable combobox (sv-combobox.js). Tokens only. */
.svcb{position:relative;display:block}
.svcb .svcb-input{width:100%;padding-right:34px}
.svcb .svcb-input[readonly]{cursor:pointer;background:var(--sf-surface)}
.svcb-chev{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--sf-text-muted);cursor:pointer;transition:transform .15s,background .15s}
.svcb-chev:hover{background:var(--sf-surface-alt)}
.svcb.is-open .svcb-chev{transform:translateY(-50%) rotate(180deg)}

/* desktop panel — fixed to <body>, positioned by JS */
.svcb-panel{position:fixed;z-index:var(--sf-z-modal,1060);overflow:hidden;display:flex;flex-direction:column;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.16)}
.svcb-list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1;overscroll-behavior:contain;font-family:var(--sv-font-family)}
.svcb-opt{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border-radius:7px;cursor:pointer;font-size:var(--sv-text-sm);line-height:var(--sv-leading-tight);color:var(--sf-text)}
.svcb-opt.is-active{background:var(--sf-surface-alt)}
.svcb-opt[aria-selected="true"]{font-weight:var(--sv-weight-semibold)}
.svcb-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.svcb-label mark{background:transparent;color:var(--sf-primary);font-weight:var(--sv-weight-semibold)}
.svcb-hint{font-size:var(--sv-text-xs);color:var(--sf-text-muted);white-space:nowrap}
.svcb-tick{color:var(--sf-primary);font-weight:var(--sv-weight-bold)}
.svcb-use{font-size:var(--sv-text-xs);font-weight:var(--sv-weight-semibold);color:var(--sf-primary);text-transform:uppercase;letter-spacing:.04em}
.svcb-opt.is-custom{border-top:1px dashed var(--sf-border);border-radius:0 0 7px 7px;margin-top:2px}
.svcb-empty{padding:10px;font-size:var(--sv-text-sm);color:var(--sf-text-muted)}

/* phones / touch — bottom sheet */
html.svcb-lock,html.svcb-lock body{overflow:hidden}
.svcb-backdrop{position:fixed;inset:0;z-index:var(--sf-z-modal,1060);background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center;animation:svcb-fade .15s ease-out}
.svcb-sheet{width:100%;max-width:560px;max-height:calc(var(--sf-vh, 1vh) * 80);display:flex;flex-direction:column;background:var(--sf-surface);border-radius:16px 16px 0 0;box-shadow:0 -8px 32px rgba(15,23,42,.2);padding:8px 12px calc(12px + env(safe-area-inset-bottom));animation:svcb-up .2s ease-out}
.svcb-sheet::before{content:"";align-self:center;width:40px;height:4px;border-radius:2px;background:var(--sf-border);margin:2px 0 8px}
.svcb-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 10px}
.svcb-sheet-title{font-family:var(--sv-font-family);font-size:var(--sv-text-lg);font-weight:var(--sv-weight-bold);line-height:var(--sv-leading-tight)}
.svcb-sheet-x{border:0;background:transparent;color:var(--sf-primary);font-family:var(--sv-font-family);font-size:var(--sv-text-base);font-weight:var(--sv-weight-semibold);padding:8px;cursor:pointer}
/* 16px+ stops iOS zooming into the field */
.svcb-search{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--sf-border);border-radius:10px;background:var(--sf-surface-alt);color:var(--sf-text);font-family:var(--sv-font-family);font-size:max(16px, var(--sv-text-base));outline:none;margin-bottom:8px}
.svcb-search:focus{border-color:var(--sf-primary);background:var(--sf-surface)}
.svcb-sheet .svcb-list{padding:0}
.svcb-sheet .svcb-opt{min-height:48px;padding:12px;font-size:var(--sv-text-base);border-radius:10px}
.svcb-sheet .svcb-hint{font-size:var(--sv-text-sm)}
@keyframes svcb-up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@keyframes svcb-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.svcb-backdrop,.svcb-sheet{animation:none}}
