.app-undo-pill {
  --undo-progress:1;
  position:fixed; inset:auto 24px calc(28px + var(--undo-stack,0)*76px) auto; z-index:12000;
  display:flex; align-items:center; gap:12px; margin:0;
  max-width:min(520px,calc(100vw - 32px)); padding:12px 16px;
  border:1px solid #365274; border-radius:999px;
  background:#16345c; color:#fff; box-shadow:0 8px 30px #0b1d3826;
  font:500 14px/1.4 var(--bs-body-font-family, sans-serif);
  animation:undo-pill-in .18s ease-out;
}
.app-undo-pill > span:nth-child(2) { min-width:0; overflow-wrap:anywhere; }
.app-undo-pill button { flex:none; border:0; border-left:1px solid #ffffff55; padding:3px 0 3px 12px; color:#fff; background:none; font:inherit; font-weight:700; cursor:pointer; }
.app-undo-pill button:focus-visible { outline:2px solid #fff; outline-offset:5px; border-radius:5px; }
.app-undo-ring { position:relative; width:24px; height:24px; display:grid; place-items:center; flex:none; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.app-undo-ring::before { content:""; position:absolute; inset:0; border-radius:50%; background:conic-gradient(#fff calc(var(--undo-progress)*1turn),#ffffff35 0); mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0); }
.app-confirm-choice { display:grid; grid-template-columns:auto 1fr; gap:6px 10px; align-items:start; margin:16px 0; font-size:14px; }
.app-confirm-choice[hidden] { display:none; }
.app-confirm-choice input { margin-top:4px; accent-color:#16345c; }
.app-confirm-choice small { grid-column:2; color:#647895; }
@keyframes undo-pill-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1023px) { .app-undo-pill { right:16px; bottom:calc(100px + env(safe-area-inset-bottom) + var(--undo-stack,0)*76px); } }
@media(prefers-reduced-motion:reduce) { .app-undo-pill { animation:none; } }

.is-protocol-deletion-pending, [data-protocol-card][hidden] { display:none !important; }

.app-undo-pause { font-size:11px; color:#dce6f3; }
.app-undo-pause[hidden] { display:none; }
