/* Shared progress and workflow controls. Keep app.css unchanged. */
.op-stack { position:fixed; right:1.25rem; bottom:1.25rem; z-index:1200; width:min(420px,calc(100vw - 2.5rem)); display:grid; gap:.75rem; max-height:65vh; overflow:auto; pointer-events:none; }
.op-card { padding:1rem 1.15rem; border:1px solid #c7d2fe; border-radius:1rem; background:#fff; color:#17264b; box-shadow:0 10px 35px #17264b24; pointer-events:auto; }
.op-card strong { display:block; margin-bottom:.5rem; }
.op-card p { margin:.5rem 0 0; font-size:.9rem; line-height:1.55; }
.op-card progress { display:block; width:100%; height:10px; accent-color:#3455dc; border:0; border-radius:99px; overflow:hidden; }
.op-card progress::-webkit-progress-bar { background:#e8edfc; border-radius:99px; }
.op-card progress::-webkit-progress-value { background:#3455dc; border-radius:99px; }
.op-card progress::-moz-progress-bar { background:#3455dc; border-radius:99px; }
.op-card progress:not([value]) { background:linear-gradient(90deg,#e8edfc 20%,#3455dc 50%,#e8edfc 80%); background-size:200% 100%; animation:op-wait 1.8s linear infinite; }
.op-card progress:not([value])::-webkit-progress-bar { background:transparent; }
.op-card progress:not([value])::-moz-progress-bar { background:transparent; }
.op-card[data-state="error"] { border-color:#e7a6ad; }
.op-card[data-state="error"] strong { color:#9c2535; }
.op-card .op-close { margin-top:.65rem; padding:.3rem .65rem; background:#f1f4fd; border:1px solid #c7d2fe; border-radius:.4rem; cursor:pointer; color:inherit; }
.workflow-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
.workflow-checks { display:grid; gap:.85rem; padding:0; list-style:none; }
.workflow-checks li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #dce3f4; border-radius:.65rem; }
.workflow-checks p { margin:.4rem 0 0; }
@keyframes op-wait { to { background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce) { .op-card progress:not([value]) { animation:none; } }
@media (max-width:600px) { .workflow-checks li { align-items:start; flex-direction:column; } }
