/* Person picker (public/person-picker.js), after Kompass: field with avatar, type-ahead, list with avatars. */
.pp { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px;
  padding: 0 12px 0 8px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  cursor: text; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.pp:hover { border-color: var(--primary-soft-hover); }
.pp.is-open, .pp:focus-within { border-color: var(--primary); box-shadow: var(--ring); }
.pp-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; overflow: hidden; clip: rect(0 0 0 0); }
.pp-cur { display: inline-flex; flex: 0 0 auto; cursor: pointer; }
.form .pp-input, .pp-input { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important;
  padding: 0 !important; font: inherit; font-size: 15px; font-weight: 600; color: var(--text); outline: none; }
.pp.is-empty .pp-input { font-weight: 500; }
.pp-input::placeholder { color: var(--muted); font-weight: 500; }
.pp-chev { color: var(--muted); font-size: 16px; flex: 0 0 auto; cursor: pointer; transition: transform 0.15s ease; }
.pp.is-open .pp-chev { transform: rotate(180deg); }

.pp-av { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; display: inline-grid; place-items: center; }
.pp-av-sm { width: 26px; height: 26px; }
.pp-av-fallback { background: var(--primary-dark); color: #fff; font-size: 11px; font-weight: 700; }
.pp-av-empty { background: var(--bg); color: var(--muted); border: 1px dashed var(--border); }
.pp-av-empty .ti { font-size: 14px; }

.pp-pop { position: fixed; z-index: 80; overflow-y: auto; padding: 6px; background: var(--surface); border-radius: 16px;
  box-shadow: 0 14px 34px rgba(4, 114, 155, 0.18), 0 2px 6px rgba(44, 46, 47, 0.08); animation: pp-in 0.12s ease-out; }
@keyframes pp-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .pp-pop { animation: none; } .pp-chev { transition: none; } }
.pp-pop ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.pp-opt { display: flex; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 10px; cursor: pointer; }
.pp-opt.is-active { background: var(--primary-soft); }
.pp-txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pp-name { font-size: 14px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-name.is-none { color: var(--muted); font-weight: 500; }
.pp-txt small { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-opt[aria-selected="true"] .pp-name { color: var(--primary-dark); }
.pp-ck { color: var(--primary-dark); font-size: 16px; flex: 0 0 auto; }
.pp-none { padding: 12px; font-size: 13px; color: var(--muted); text-align: center; }
