/* apps-core 0.1.43 — module « picker » (recherche côté serveur pendant la frappe). Couleurs de l'application si elle les définit
   (--acpk-bg, --acpk-text, --acpk-line, --acpk-hl), sinon couleurs système (clair et sombre). */
.acpk { position: relative; display: block; min-width: 0; }
.acpk > input { width: 100%; }
.acpk-list { position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; max-height: min(22rem, 60vh); overflow-y: auto; overscroll-behavior: auto;
  background: var(--acpk-bg, var(--surface, Canvas)); color: var(--acpk-text, var(--text, CanvasText)); border: 1px solid var(--acpk-line, var(--border, rgba(127,127,127,.35))); border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.acpk-list[hidden] { display: none; }
.acpk-opt { display: flex; flex-direction: column; gap: 1px; padding: .45rem .6rem; border-radius: 7px; cursor: pointer; min-width: 0; }
.acpk-opt[aria-selected="true"], .acpk-opt:hover { background: var(--acpk-hl, var(--accent-soft, rgba(37,99,201,.12))); }
.acpk-label { overflow-wrap: anywhere; }
.acpk-sub { font-size: .82em; opacity: .75; overflow-wrap: anywhere; }
.acpk-empty, .acpk-more { padding: .45rem .6rem; font-size: .88em; opacity: .8; }
.acpk-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.acpk-busy > input { background-image: linear-gradient(90deg, transparent, rgba(127,127,127,.18), transparent); background-size: 200% 100%; animation: acpk-busy 1s linear infinite; }
@keyframes acpk-busy { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .acpk-busy > input { animation: none; } }
