    /* ── Workspace dialog ─────────────────────────────────────── */
    /* Eyebrow chip above the filename — folder picker / opener. */
    .ws-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin: 0 0 12px;
      padding: 4px 10px 4px 9px;
      font-family: inherit;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: var(--ui-dim);
      background: transparent;
      border: 1px solid transparent;
      border-radius: 999px;
      cursor: pointer;
      transition: color 0.12s, background 0.12s, border-color 0.12s;
      max-width: 100%;
    }
    .ws-chip:hover { color: var(--ui-accent); background: var(--ui-surface); border-color: var(--ui-line); }
    .ws-chip.is-set { color: var(--ui-accent); }
    .ws-chip.is-set .ws-chip-icon { opacity: 1; }
    .ws-chip-icon { flex-shrink: 0; opacity: 0.85; }
    .ws-chip-caret { flex-shrink: 0; opacity: 0.55; margin-left: -2px; }
    #btn-workspace-label {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 260px;
    }
    .ws-dialog { max-width: 460px; }
    .open-dlg { max-width: 460px; }
    .open-drop {
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      margin-top: 14px; padding: 30px 20px 26px;
      border: 1.5px dashed var(--ui-line-strong); border-radius: 10px;
      background: var(--ui-sunken);
      text-align: center; cursor: pointer;
      transition: border-color 0.12s, background 0.12s;
    }
    .open-drop svg { color: var(--ui-accent); margin-bottom: 2px; }
    .open-drop:hover { border-color: var(--ui-accent); background: var(--ui-accent-tint); }
    .open-drop.is-drag { border-style: solid; border-color: var(--ui-accent); background: var(--ui-accent-tint); box-shadow: var(--ui-focus); }
    .open-drop-title { font-size: 14px; font-weight: 600; color: var(--ui-text); }
    .open-drop-sub { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ui-dim); }
    .open-drop .button { margin-top: 2px; }
    .ws-folder-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 4px 0 10px;
    }
    .ws-folder-name {
      flex: 1;
      min-width: 0;
      font-size: 13px;
      font-weight: 600;
      color: var(--ui-text-2);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      padding: 7px 10px;
      background: var(--ui-sunken);
      border: 1px solid var(--ui-line);
      border-radius: 6px;
    }
    .ws-folder-name.empty { color: var(--ui-dim); font-style: italic; font-weight: 400; }
    .ws-hint {
      font-size: 12px;
      line-height: 1.5;
      color: var(--ui-dim-3);
      margin-bottom: 14px;
    }
    .ws-steps {
      margin: 0 0 12px;
      padding-left: 20px;
      font-size: 13px;
      line-height: 1.7;
      color: var(--ui-text-2);
    }
    .ws-steps li { margin-bottom: 4px; }
    .ws-flag {
      font-family: ui-monospace, "SF Mono", Menlo, monospace;
      font-size: 12px;
      color: var(--ui-ok);
      background: var(--ui-sunken);
      border: 1px solid var(--ui-line);
      border-radius: 4px;
      padding: 1px 6px;
      user-select: all;
      word-break: break-all;
    }
    .ws-copy {
      margin-left: 8px;
      font-family: inherit;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--ui-accent);
      background: var(--ui-surface);
      border: 1px solid var(--ui-line);
      border-radius: 4px;
      padding: 2px 7px;
      cursor: pointer;
      transition: background 0.1s, color 0.1s, border-color 0.1s;
    }
    .ws-copy:hover { background: var(--ui-accent-tint); color: var(--ui-accent); border-color: var(--ui-accent); }
    .ws-note { font-size: 12px; line-height: 1.5; color: var(--ui-dim-3); margin-top: 8px; }
    .ws-new-btn { width: 100%; justify-content: center; margin-bottom: 12px; }
    .ws-file-list {
      display: flex;
      flex-direction: column;
      gap: 2px;
      max-height: 320px;
      overflow-y: auto;
      margin-bottom: 18px;
    }
    .ws-file-item {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      text-align: left;
      padding: 9px 11px;
      font-size: 13px;
      font-family: inherit;
      color: var(--ui-text-2);
      background: transparent;
      border: 1px solid transparent;
      border-radius: 6px;
      cursor: pointer;
      transition: background 0.1s, border-color 0.1s;
    }
    .ws-file-item:hover { background: var(--ui-hover); border-color: var(--ui-line); }
    .ws-file-item.current { border-color: var(--ui-ok-line); color: var(--ui-ok); }
    .ws-file-item .ws-file-icon { flex-shrink: 0; color: var(--ui-accent); opacity: 0.8; }
    .ws-file-item .ws-file-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ws-file-item .ws-file-meta { flex-shrink: 0; font-size: 11px; color: var(--ui-dim); }
    .ws-empty { font-size: 12px; color: var(--ui-dim); font-style: italic; padding: 14px 4px; text-align: center; }
    .ws-foot-note { font-size: 11px; color: var(--ui-dim); font-style: italic; }
    /* Delete/remove buttons carry the trash icon; centre it whatever the button's own box. */
    .sp-row-rm, .ai-att-del, .tl-remove, .cl-remove, .tb-row-rm, .tb-opt-rm,
    .fb-del-stage, .fb-rm-branch, .dh-logo-btn--remove,
    .tb-col-gear, .fb-blabel-arrow { display: inline-flex; align-items: center; justify-content: center; }

    /* ── Tooltips (replace native title bubbles; see wireTooltips) ── */
    .ui-tip {
      position: fixed; z-index: 100000; left: 0; top: 0;
      max-width: 280px; padding: 6px 9px;
      font: 500 12px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      letter-spacing: 0.01em; text-transform: none; text-align: left;
      white-space: pre-line; overflow-wrap: anywhere;
      color: #f5f7fa; background: var(--ui-text);
      border-radius: 6px;
      box-shadow: var(--ui-shadow-md);
      pointer-events: none;
      opacity: 0; transform: translateY(var(--tip-shift, 3px));
      transition: opacity 0.12s ease, transform 0.12s ease;
    }
    .ui-tip.is-below { --tip-shift: -3px; }
    .ui-tip.show { opacity: 1; transform: translateY(0); }
    .ui-tip::after {
      content: ''; position: absolute; left: var(--tip-arrow-x, 50%);
      top: 100%; margin-left: -5px;
      border: 5px solid transparent; border-top-color: var(--ui-text);
    }
    .ui-tip.is-below::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: var(--ui-text); }
    @media (prefers-reduced-motion: reduce) { .ui-tip { transition: none; } }
    @media print { .ui-tip { display: none !important; } }
