/* Indeterminate feedback: no invented percentage, no interaction-blocking mask. */
.ui-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:2147483646;overflow:hidden;opacity:0;pointer-events:none;background:#d9ede9;transition:opacity .15s}
.ui-progress::after{content:"";position:absolute;inset:0;left:-45%;width:45%;background:linear-gradient(90deg,transparent,#0f827e,#79d9c3);animation:ui-progress-flow 1.5s ease-in-out infinite}
.ui-progress[data-state="running"]{opacity:1}
.ui-loading-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:2147483645;display:flex;align-items:center;gap:12px;max-width:min(90vw,500px);padding:13px 20px;border:1px solid #d5e4e5;border-radius:12px;background:#fff;color:#1f4355;box-shadow:0 8px 34px #173e4f24;font:500 13px/1.6 system-ui,sans-serif;pointer-events:none}
.ui-loading-status[hidden]{display:none}
.ui-spinner,.ui-busy::after{content:"";display:inline-block;width:16px;height:16px;flex:0 0 16px;border:2px solid #b7dcd5;border-top-color:#117f78;border-radius:50%;animation:ui-busy-spin .8s linear infinite;vertical-align:middle}
.ui-busy{cursor:progress;opacity:.78}
.ui-busy::after{margin-inline-start:8px;width:12px;height:12px;border-color:currentColor;border-top-color:transparent}
@keyframes ui-busy-spin{to{transform:rotate(360deg)}}
@keyframes ui-progress-flow{to{left:105%}}
@media(prefers-reduced-motion:reduce){.ui-progress,.ui-loading-status{transition:none}.ui-progress::after,.ui-spinner,.ui-busy::after{animation:none}.ui-progress::after{left:0;width:100%;background:#147e77}}
