/* BM-559 Shared workspace — switcher, context chip, Members modal, viewer chrome (light Paper tokens). */
.ws-switcher{
  display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin:2px 2px 8px;
  background:var(--bg2);border:1px solid var(--line);border-radius:9px;
}
.ws-switcher button{
  border:0;background:transparent;border-radius:7px;padding:7px 8px;cursor:pointer;
  font:600 12px var(--font);color:var(--tx2);text-align:center;line-height:1.2;
}
.ws-switcher button small{display:block;font:400 10px var(--font);color:var(--tx3);margin-top:1px;font-weight:400}
.ws-switcher button[aria-checked=true]{
  background:var(--field,#fff);color:var(--tx0);box-shadow:0 1px 2px rgba(58,44,20,.12);
  border:1px solid var(--line2);
}
.ws-switcher button[aria-checked=true] small{color:var(--tx2)}
.pop-menu .ws-meta{
  display:flex;align-items:center;gap:6px;padding:4px 10px 8px;font:400 11.5px var(--font);color:var(--tx2);
}
.pop-menu .ws-meta .dot-av{
  width:18px;height:18px;border-radius:50%;background:var(--ok,#2B7043);color:#fff;
  font:600 9px var(--font);display:grid;place-items:center;
}
.pop-menu .ws-empty{padding:10px 12px;font:400 12px var(--font);color:var(--tx3)}
.pop-menu button.on-item{background:color-mix(in srgb,var(--acc) 10%,transparent);color:var(--acc-tx,#3730A3)}
.pop-menu button.on-item i,.pop-menu button.on-item svg{color:var(--acc)}

.ph .ws-ctx{
  display:inline-flex;align-items:center;gap:5px;font:600 11px var(--font);color:var(--acc-tx,#3730A3);
  background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,transparent);
  border-radius:999px;padding:3px 9px;flex:none;margin-left:8px;
}
.ph .ws-ctx.ws{color:var(--ok,#2B7043);background:var(--ok-bg,rgba(43,112,67,.1));border-color:color-mix(in srgb,var(--ok,#2B7043) 30%,transparent)}
.ph .ws-view{
  display:inline-flex;align-items:center;gap:4px;font:600 11px var(--font);color:var(--warn,#8A5A00);
  background:var(--warn-bg,rgba(138,90,0,.1));border:1px solid color-mix(in srgb,var(--warn,#8A5A00) 28%,transparent);
  border-radius:999px;padding:3px 9px;flex:none;margin-left:6px;
}
.ph .ws-view svg{flex:none}

/* BM-559 / BM-631: map chrome — map name + ▾ stay on row 1 (clickable); Personal/Workspace / presence / View only / Saved-by wrap to row 2.
   Without this, #brand {flex:1;min-width:0} shrinks to ~0 beside the chips (title reads as clipped "My Map") and .ph intercepts the click. */
.ph.ws-ph{flex-wrap:wrap;row-gap:6px;align-items:center}
.ph.ws-ph #brand{flex:1 1 auto;min-width:7.5rem;max-width:100%;position:relative;z-index:1}
.ph.ws-ph #brand .bt{position:relative;z-index:1}
.ph.ws-ph .ws-ph-break{flex:0 0 100%;width:0;height:0;margin:0;padding:0;border:0;overflow:hidden;order:2;pointer-events:none}
.ph.ws-ph .ws-ctx,
.ph.ws-ph .ws-presence-wrap,
.ph.ws-ph .ws-view{order:3;margin-left:0}
.ph.ws-ph > .shr,
.ph.ws-ph > .undo,
.ph.ws-ph > .si,
.ph.ws-ph > .prail-b{order:1}
/* t1634u (Chuck: "the dock pane button is not in the best of spots"): Collapse panel stays on row 1, top right after Undo / Redo
   (where it already sits without the Personal / Workspace row), instead of trailing the Saved text on row 2 */
/* BM-626: long "Saved by You · …" wraps with Workspace chips (row 2); title + Share + Undo stay on row 1 */
.ph.ws-ph > .sv{order:3;margin-left:0;flex:0 1 auto;min-width:0;max-width:min(14rem,100%);overflow:hidden;text-overflow:ellipsis}
.ph.ws-ph .ws-ctx{max-width:min(11rem,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ws-viewer-banner{
  position:fixed;top:calc(54px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:19;
  width:min(560px,calc(100vw - 24px));padding:9px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;
  background:color-mix(in srgb,var(--warn-bg,rgba(138,90,0,.1)) 85%,var(--bg-solid,#FBF8F1));
  border:1px solid color-mix(in srgb,var(--warn,#8A5A00) 28%,transparent);
  color:var(--warn,#8A5A00);font:500 12.5px var(--font);box-shadow:var(--shadow,0 6px 20px rgba(0,0,0,.2));
}
.ws-viewer-banner b{font-weight:600;color:var(--tx0)}
.ws-viewer-banner .vb-copy{flex:1;min-width:0}
.ws-viewer-banner .vb-sub{display:block;margin-top:1px;font:400 11.5px var(--font);color:var(--tx2)}
.ws-viewer-banner svg{flex:none}

#ws-members{
  position:fixed;inset:0;z-index:40;display:grid;place-items:center;
  background:rgba(10,14,20,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  padding:24px 16px;
}
#ws-members .card{
  width:min(520px,94vw);max-height:min(92vh,720px);display:flex;flex-direction:column;
  background:var(--bg-solid,#FBF8F1) var(--grain,none);border:1px solid var(--line2);border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.5);color:var(--tx);overflow:hidden;
}
#ws-members .hd{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 10px;flex:none}
#ws-members .hd .titles{flex:1;min-width:0}
#ws-members .hd b{display:block;font:600 15px var(--font);color:var(--tx0)}
#ws-members .hd .sub{display:block;margin-top:2px;font:400 12px var(--font);color:var(--tx2)}
#ws-members .x{background:none;border:0;color:var(--tx2);cursor:pointer;width:30px;height:28px;border-radius:8px;display:grid;place-items:center;padding:0;flex:none}
#ws-members .x:hover{background:var(--bg2);color:var(--tx)}
#ws-members .body{flex:1;min-height:0;overflow:auto;padding:4px 16px 12px}
#ws-members .ft{flex:none;display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 55%,var(--bg-solid,#FBF8F1))}
#ws-members .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border-radius:8px;font:600 12.5px var(--font);cursor:pointer;border:1px solid var(--line2);background:var(--field,#fff);color:var(--tx);flex:none;white-space:nowrap}
#ws-members .btn:hover{border-color:var(--acc)}
#ws-members .btn.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink,#fff)}
#ws-members .btn.ghost{background:transparent;border-color:transparent;color:var(--tx2);min-height:28px;padding:0 8px;font-size:12px}
#ws-members .btn.ghost:hover{background:var(--bg2);color:var(--tx)}
#ws-members .btn.danger-ghost{color:var(--danger,#B42318)}
#ws-members .btn.danger-ghost:hover{background:color-mix(in srgb,var(--danger,#B42318) 10%,transparent)}
#ws-members .lede{margin:2px 0 12px;font:400 12.5px/1.45 var(--font);color:var(--tx2)}
#ws-members .invite{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--field,#fff) 70%,var(--bg2));margin-bottom:14px}
#ws-members .invite .fld{min-width:0}
#ws-members .invite input,#ws-members .invite select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
#ws-members .fld{display:flex;flex-direction:column;gap:4px;min-width:0}
#ws-members .fld label{font:600 11px var(--font);color:var(--tx2)}
#ws-members .fld input,#ws-members .fld select{min-height:34px;border:1px solid var(--line2);border-radius:8px;background:var(--field,#fff);color:var(--tx);font:400 12.5px var(--font);padding:0 10px;width:100%}
#ws-members .sec-lab{font:600 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);margin:4px 0 6px;display:flex;align-items:center;gap:8px}
#ws-members .sec-lab .count{font:600 10px var(--font);letter-spacing:0;text-transform:none;color:var(--tx2);background:var(--bg2);border-radius:999px;padding:1px 7px}
#ws-members .mlist{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
#ws-members .mrow{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid transparent}
#ws-members .mrow:hover{background:color-mix(in srgb,var(--slate,#8A7A5E) 8%,transparent)}
#ws-members .mrow.pending{border-color:var(--line);background:color-mix(in srgb,var(--field,#fff) 60%,var(--bg2))}
#ws-members .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--font);color:#fff;flex:none}
#ws-members .av.c0{background:#4F46E5}#ws-members .av.c1{background:#2C6A93}#ws-members .av.c2{background:#3F7A4A}
#ws-members .av.c3{background:#A3367F}#ws-members .av.c4{background:#B4532A}#ws-members .av.pend{background:var(--slate,#8A7A5E)}
#ws-members .m-copy{min-width:0}
#ws-members .m-name{font:600 13px var(--font);color:var(--tx0);line-height:1.25;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#ws-members .m-name .you{font:600 9.5px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--tx2);background:var(--bg2);border-radius:4px;padding:1px 5px}
#ws-members .m-sub{margin-top:2px;font:400 11.5px var(--font);color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ws-members .m-actions{display:flex;align-items:center;gap:4px;flex:none}
#ws-members .badge{display:inline-flex;align-items:center;font:600 10.5px var(--font);border-radius:6px;padding:3px 7px;border:1px solid transparent;flex:none}
#ws-members .badge.owner{color:var(--acc-tx,#3730A3);background:color-mix(in srgb,var(--acc) 12%,transparent);border-color:color-mix(in srgb,var(--acc) 25%,transparent)}
#ws-members .badge.editor{color:var(--ok,#2B7043);background:var(--ok-bg,rgba(43,112,67,.1));border-color:color-mix(in srgb,var(--ok,#2B7043) 25%,transparent)}
#ws-members .badge.viewer{color:var(--tx2);background:var(--bg2);border-color:var(--line)}
#ws-members .badge.pending{color:var(--warn,#8A5A00);background:var(--warn-bg,rgba(138,90,0,.1));border-color:color-mix(in srgb,var(--warn,#8A5A00) 25%,transparent)}
#ws-members .role-sel{min-height:28px;border:1px solid var(--line2);border-radius:7px;background:var(--field,#fff);color:var(--tx);font:600 11.5px var(--font);padding:0 6px;cursor:pointer}
#ws-members .ro-note{margin:0 0 12px;padding:9px 11px;border-radius:9px;font:400 12px/1.4 var(--font);color:var(--tx2);background:var(--bg2);border:1px solid var(--line)}
@media (max-width:520px){#ws-members .invite{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.invite .btn{grid-column:1/-1}}

/* ── BM-558 slice 1b presence (Designer pack live-coedit-presence-2026-10-28) ── */
/* Popover lives on document.body (panel has overflow + backdrop-filter). Top bar /
   popover must stack above .ws-viewer-banner (z-index 19). */
#panel.ws-presence-open{z-index:20}
.ph .ws-presence-wrap{position:relative;flex:none;margin-left:6px;display:inline-flex;align-items:center;gap:6px}
/* Chuck t998u: the Saved / Saved by text is the History button on workspace maps (keeps .sv's no-clip sizing: the button ellipsizes inside it) */
.sv .sv-hist{all:unset;box-sizing:border-box;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:inherit;font:inherit;border-radius:4px}
.sv .sv-hist:hover{text-decoration:underline;text-underline-offset:2px;color:var(--tx2)}
.sv .sv-hist:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.ph .ws-presence-chip{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  background:var(--field,#FFFDF8);color:var(--tx1);font:600 11.5px var(--font);
  padding:3px 10px 3px 5px;border-radius:999px;cursor:pointer;height:28px;
}
.ph .ws-presence-chip:hover,.ph .ws-presence-chip[aria-expanded=true]{
  border-color:color-mix(in srgb,var(--acc) 40%,var(--line2));
  background:color-mix(in srgb,var(--acc) 6%,var(--field,#FFFDF8));
  color:var(--tx0);
}
.ph .ws-presence-chip .presence-label{letter-spacing:-.01em;white-space:nowrap}
.ph .av-stack{display:inline-flex;align-items:center;flex:none;padding-left:2px}
.ph .av-stack .av{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font:600 9px var(--font);color:#fff;border:1.5px solid var(--field,#FFFDF8);
  margin-left:-6px;flex:none;position:relative;
}
.ph .av-stack .av:first-child{margin-left:0}
.ph .av-stack .av.c0{background:#4F46E5}.ph .av-stack .av.c1{background:#2C6A93}
.ph .av-stack .av.c2{background:#3F7A4A}.ph .av-stack .av.c3{background:#A3367F}
.ph .av-stack .av.c4{background:#B4532A}
.ph .av-stack .av.more{background:var(--bg2);color:var(--tx2);font-size:8.5px}

#ws-presence-pop{
  display:none;position:fixed;z-index:30;width:280px;padding:6px;
  background:var(--bg-solid,#FBF8F1) var(--grain,none);border:1px solid var(--line2);border-radius:12px;
  box-shadow:0 14px 36px rgba(0,0,0,.28);color:var(--tx);
}
#ws-presence-pop.on{display:block}
#ws-presence-pop .pop-hd{
  font:600 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);
  padding:6px 10px 6px;
}
#ws-presence-pop .pop-list{display:flex;flex-direction:column;gap:2px}
#ws-presence-pop .pop-ft{border-top:1px solid var(--line2);margin-top:6px;padding:8px 6px 2px;display:flex;flex-direction:column;gap:6px}
#ws-presence-pop .pop-invite,#ws-presence-pop .pop-history{width:100%;min-height:32px;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);color:var(--tx);font:inherit;cursor:pointer}
#ws-presence-pop .pop-invite:hover,#ws-presence-pop .pop-history:hover{border-color:var(--acc)}
#ws-presence-pop .prow{
  display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;
  padding:7px 8px;border-radius:8px;width:100%;border:0;background:transparent;
  color:inherit;font:inherit;text-align:left;cursor:pointer;
}
#ws-presence-pop .prow:hover{background:color-mix(in srgb,var(--slate,#8A7A5E) 8%,transparent)}
#ws-presence-pop .prow.viewer-row{opacity:.78}
#ws-presence-pop .pav{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font:600 11px var(--font);color:#fff;flex:none;
}
#ws-presence-pop .pav.c0{background:#4F46E5}#ws-presence-pop .pav.c1{background:#2C6A93}
#ws-presence-pop .pav.c2{background:#3F7A4A}#ws-presence-pop .pav.c3{background:#A3367F}
#ws-presence-pop .pav.c4{background:#B4532A}
#ws-presence-pop .p-copy{min-width:0}
#ws-presence-pop .p-name{
  font:600 12.5px var(--font);color:var(--tx0);line-height:1.25;
  display:flex;align-items:center;gap:5px;flex-wrap:wrap;
}
#ws-presence-pop .p-name .you{
  font:600 9px var(--font);letter-spacing:.04em;text-transform:uppercase;
  color:var(--tx2);background:var(--bg2);border-radius:4px;padding:1px 5px;
}
#ws-presence-pop .p-meta{margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#ws-presence-pop .badge{
  display:inline-flex;align-items:center;font:600 10px var(--font);border-radius:5px;
  padding:2px 6px;border:1px solid transparent;flex:none;
}
#ws-presence-pop .badge.owner{color:var(--acc-tx,#3730A3);background:color-mix(in srgb,var(--acc) 12%,transparent);border-color:color-mix(in srgb,var(--acc) 25%,transparent)}
#ws-presence-pop .badge.editor{color:var(--ok,#2B7043);background:var(--ok-bg,rgba(43,112,67,.1));border-color:color-mix(in srgb,var(--ok,#2B7043) 25%,transparent)}
#ws-presence-pop .badge.viewer{color:var(--tx2);background:var(--bg2);border-color:var(--line)}
#ws-presence-pop .p-status{
  display:inline-flex;align-items:center;gap:4px;
  font:500 11px var(--font);flex:none;justify-self:end;white-space:nowrap;
}
#ws-presence-pop .p-status.editing{color:var(--ok,#2B7043)}
#ws-presence-pop .p-status.viewing{color:var(--tx3)}
#ws-presence-pop .p-status .eye{width:12px;height:12px;flex:none;opacity:.85}
#ws-presence-pop .p-status .pulse{
  width:6px;height:6px;border-radius:50%;background:var(--ok,#2B7043);flex:none;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--ok,#2B7043) 22%,transparent);
}

/* BM-559 slice 2: invite copy-link accept banner */
.ws-invite-banner{
  position:fixed;top:calc(54px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:21;
  width:min(560px,calc(100vw - 24px));padding:9px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;
  background:color-mix(in srgb,var(--ok-bg,rgba(43,112,67,.1)) 85%,var(--bg-solid,#FBF8F1));
  border:1px solid color-mix(in srgb,var(--ok,#2B7043) 28%,transparent);
  color:var(--ok,#2B7043);font:500 12.5px var(--font);box-shadow:var(--shadow,0 6px 20px rgba(0,0,0,.2));
}
.ws-invite-banner b{font-weight:600;color:var(--tx0)}
.ws-invite-banner .vb-copy{flex:1;min-width:0}
.ws-invite-banner .vb-sub{display:block;margin-top:1px;font:400 11.5px var(--font);color:var(--tx2)}
.ws-invite-banner svg{flex:none}
.ws-invite-banner .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 11px;border-radius:8px;font:600 12px var(--font);cursor:pointer;border:1px solid var(--line2);background:var(--field,#fff);color:var(--tx);flex:none;white-space:nowrap}
.ws-invite-banner .btn.primary{background:var(--ok,#2B7043);border-color:var(--ok,#2B7043);color:#fff}
.ws-invite-banner .btn.ghost{background:transparent;border-color:transparent;color:var(--tx2)}
.ws-invite-banner .btn.ghost:hover{background:var(--bg2);color:var(--tx)}
#ws-members .m-actions{flex-wrap:wrap;justify-content:flex-end;max-width:220px}

#ws-members .mrow-hit{cursor:pointer}
#ws-members .mrow-hit:focus-visible{outline:2px solid color-mix(in srgb,var(--acc) 45%,transparent);outline-offset:1px}

/* ── BM-637 Activity History ── */
#ws-history{
  position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;
  background:rgba(20,16,10,.42);
}
#ws-history .card{
  width:min(480px,100%);max-height:min(640px,calc(100vh - 32px));
  display:flex;flex-direction:column;background:var(--bg-solid,#FBF8F1) var(--grain,none);
  border:1px solid var(--line2);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.28);overflow:hidden;
}
#ws-history .hd{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 10px;flex:none}
#ws-history .hd .titles{flex:1;min-width:0}
#ws-history .hd b{display:block;font:600 15px var(--font);color:var(--tx0)}
#ws-history .hd .sub{display:block;margin-top:2px;font:400 12px var(--font);color:var(--tx2)}
#ws-history .x{background:none;border:0;color:var(--tx2);cursor:pointer;width:30px;height:28px;border-radius:8px;display:grid;place-items:center;padding:0;flex:none}
#ws-history .x:hover{background:var(--bg2);color:var(--tx)}
#ws-history .body{flex:1;min-height:0;overflow:auto;padding:4px 16px 12px}
#ws-history .lede{margin:2px 0 12px;font:400 12.5px/1.45 var(--font);color:var(--tx2)}
#ws-history .ft{flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 55%,var(--bg-solid,#FBF8F1))}
#ws-history .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border-radius:8px;font:600 12.5px var(--font);cursor:pointer;border:1px solid var(--line2);background:var(--field,#fff);color:var(--tx);flex:none;white-space:nowrap}
#ws-history .btn:hover{border-color:var(--acc)}
#ws-history .btn.ghost{background:transparent;border-color:transparent;color:var(--tx2);min-height:28px;padding:0 8px;font-size:12px}
#ws-history .btn.ghost:hover{background:var(--bg2);color:var(--tx)}
#ws-history .btn.danger-ghost{color:var(--danger,#B42318)}
#ws-history .btn.danger-ghost:hover{background:color-mix(in srgb,var(--danger,#B42318) 10%,transparent)}
#ws-history .hist-list{display:flex;flex-direction:column;gap:4px}
#ws-history .hist-empty{padding:18px 8px;text-align:center;font:400 12.5px/1.45 var(--font);color:var(--tx3)}
#ws-history .hist-row{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px}
#ws-history .hist-row:hover{background:color-mix(in srgb,var(--slate,#8A7A5E) 8%,transparent)}
#ws-history .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--font);color:#fff;flex:none}
#ws-history .av.c0{background:#4F46E5}#ws-history .av.c1{background:#2C6A93}#ws-history .av.c2{background:#3F7A4A}
#ws-history .av.c3{background:#A3367F}#ws-history .av.c4{background:#B4532A}
#ws-history .h-sum{font:600 13px/1.35 var(--font);color:var(--tx0)}
#ws-history .h-sum .you{font:600 9.5px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--tx2);background:var(--bg2);border-radius:4px;padding:1px 5px;margin-left:4px}
#ws-history .h-meta{margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:400 11.5px var(--font);color:var(--tx2)}
#ws-history .h-kind{text-transform:capitalize;color:var(--tx3)}

/* BM-635 multi-workspace picker in map menu switcher */
.ws-switcher.multi{position:relative}
.ws-switcher .ws-pick-wrap{position:relative;min-width:0}
.ws-switcher .ws-pick-wrap > .ws-pick-tab{width:100%}
.ws-switcher .ws-pick-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-switcher .ws-pick{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;
  background:var(--field,#fff);border:1px solid var(--line2);border-radius:10px;
  box-shadow:0 8px 24px rgba(20,24,36,.14);padding:4px;max-height:220px;overflow:auto;
}
.ws-switcher .ws-pick button{
  display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;
  border-radius:7px;font:600 12px var(--font);color:var(--tx0);cursor:pointer;
}
.ws-switcher .ws-pick button small{display:block;font:400 10px var(--font);color:var(--tx3);margin-top:1px}
.ws-switcher .ws-pick button[aria-selected=true]{background:color-mix(in srgb,var(--acc) 12%,transparent)}
.ws-switcher .ws-pick button:hover{background:var(--bg2)}
.ws-switcher .ws-pick-new{margin-top:2px;border-top:1px solid var(--line)!important;border-radius:0 0 7px 7px!important;color:var(--acc-tx,#3730A3)!important;font-weight:600}
