/* Нейрополис — the background-job chip (v8.2, js/core/jobs.js): under the top bar, centred; a progress ring while the
   helper works («Оценщик · iPhone 12 — Ищу похожие · ≈ 1:40»), green «Готово — нажмите, чтобы открыть» when it ends. */
.jobs-chip { position: fixed; z-index: 45; left: 50%; top: calc(env(safe-area-inset-top, 0px) + 84px); transform: translateX(-50%);
  display: flex; align-items: center; gap: 10px; max-width: min(440px, calc(100vw - 24px)); padding: 7px 14px 7px 8px;
  border: 1px solid var(--glass-line); border-radius: 999px; background: var(--glass-strong); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: var(--sh-glass); font: 500 13px/1.25 var(--font); color: var(--ink); text-align: left; cursor: pointer; animation: jobs-in 0.35s ease-out; }
.jobs-chip[hidden] { display: none; }
.jobs-chip:hover { box-shadow: var(--sh-2); }
.jobs-chip:focus-visible { outline: 3px solid var(--primary-m); outline-offset: 2px; }
.jobs-chip__ring { --sz: 30px; flex: 0 0 var(--sz); width: var(--sz); height: var(--sz); border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(var(--primary) var(--p, 0%), var(--primary-l) 0); position: relative; color: #fff; }
.jobs-chip__ring::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--panel); }
.jobs-chip.is-running .jobs-chip__ring::before { content: ''; position: absolute; z-index: 1; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: jobs-pulse 1.4s ease-in-out infinite; }
.jobs-chip.is-done .jobs-chip__ring { background: var(--success); }
.jobs-chip.is-error .jobs-chip__ring { background: var(--warn); }
.jobs-chip.is-done .jobs-chip__ring::after, .jobs-chip.is-error .jobs-chip__ring::after { display: none; }
.jobs-chip__ring svg { position: relative; z-index: 1; width: 16px; height: 16px; }
.jobs-chip__text { display: flex; flex-direction: column; min-width: 0; }
.jobs-chip__text b { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jobs-chip__text small { font-size: 12px; color: var(--ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.jobs-chip.is-done { border-color: rgba(47, 117, 80, 0.35); }
@keyframes jobs-in { from { opacity: 0; transform: translate(-50%, -8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes jobs-pulse { 0%, 100% { transform: scale(0.7); opacity: 0.6; } 50% { transform: scale(1.15); opacity: 1; } }
@media (max-width: 600px) { .jobs-chip { top: calc(env(safe-area-inset-top, 0px) + 70px); font-size: 12.5px; } }
@media (prefers-reduced-motion: reduce) { .jobs-chip, .jobs-chip.is-running .jobs-chip__ring::before { animation: none; } }
