/* xPDM — live presence and "Ask for a part" (collab.js). */

.avatar.xs { width: 18px; height: 18px; font-size: 8.5px; cursor: default; }
.banner.ok { background: var(--ok-soft); color: var(--ok); }

/* Faces of the people on a file; the ring tells what they do. */
.cb-faces { display: inline-flex; align-items: center; }
.cb-av { display: inline-flex; border-radius: 50%; box-shadow: 0 0 0 2px var(--surface); position: relative; }
.cb-av + .cb-av { margin-left: -5px; }
.cb-av.viewing { box-shadow: 0 0 0 2px var(--surface), 0 0 0 3.5px var(--border-strong); }
.cb-av.open { box-shadow: 0 0 0 2px var(--surface), 0 0 0 3.5px var(--info); }
.cb-av.editing { box-shadow: 0 0 0 2px var(--surface), 0 0 0 3.5px var(--warn); }
.cb-more { font-size: 11px; color: var(--text-3); margin-left: 4px; font-weight: 600; }
.cb-row { display: inline-flex; align-items: center; gap: 6px; }
.cb-row:empty { display: none; }
.cb-row .cb-faces { padding: 0 2px; }
.cb-q svg.i { width: 13px; height: 13px; }

/* Detail panel: who's here + queue. */
.cb-detail { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.cb-detail:empty { display: none; }
.cb-here { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--text-2); }
.cb-here > svg.i { color: var(--text-3); flex: none; }
.cb-here .cb-faces { padding-left: 2px; }
.cb-detail .banner { margin: 0; align-items: center; }
.cb-detail .banner .btn { flex: none; }
.cb-ask { display: flex; flex-direction: column; gap: 6px; }
.cb-ask .row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cb-wait { font-size: 12.5px; color: var(--warn); font-weight: 600; }
.cb-sub { margin-top: 4px; }
.cb-rule { margin: 0; font-size: 12px; color: var(--text-3); }
.cb-msg { color: var(--text-3); font-style: italic; font-size: 12.5px; }

/* Online people in the nav. */
.cb-online { display: flex; align-items: center; gap: 7px; padding: 8px 10px 0; margin-top: auto; font-size: 12px; color: var(--text-3); }
.cb-online + .foot { margin-top: 0; }
.cb-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); flex: none; }

/* "My requests" page. */
.cb-h { text-transform: uppercase; font-size: 12px; letter-spacing: .06em; margin: 24px 0 8px; }

/* In-page notifications (fallback for the SOLIDWORKS popup, and in the browser). */
#cb-notes { position: fixed; top: 64px; right: 16px; z-index: 85; display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 32px)); }
.cb-note { margin: 0; box-shadow: var(--shadow-lg); border: 1px solid color-mix(in srgb, currentColor 25%, transparent); background: var(--surface); animation: pop .16s ease-out; }
.cb-note.info { background: color-mix(in srgb, var(--info-soft) 60%, var(--surface)); }
.cb-note.ok { background: color-mix(in srgb, var(--ok-soft) 60%, var(--surface)); }
.cb-note .grow > div { margin-top: 2px; }
.cb-acts { display: flex; gap: 6px; margin-top: 8px; }
.cb-acts:empty { display: none; }

@media (max-width: 980px) {
  .cb-online { display: none; }
  #cb-notes { top: 12px; }
}
