/* Global refresh/retry/sync action feedback. Keeps labels stable for i18n. */
button.bb-refresh-feedback{position:relative;isolation:isolate;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease!important}
button.bb-refresh-feedback.is-refreshing{cursor:progress!important;transform:translateY(1px);box-shadow:0 0 0 3px rgba(59,130,246,.14)!important}
button.bb-refresh-feedback.is-refreshing:not(.bb-refresh-icon-only){padding-right:max(30px,2.65em)!important}
button.bb-refresh-feedback .bb-refresh-indicator{position:absolute;z-index:2;right:9px;top:50%;display:grid;place-items:center;width:15px;height:15px;margin:0;padding:0;border-radius:50%;color:currentColor;font:900 10px/1 system-ui,sans-serif;transform:translateY(-50%);pointer-events:none}
button.bb-refresh-feedback.is-refreshing .bb-refresh-indicator{border:2px solid currentColor;border-right-color:transparent;color:#60a5fa;font-size:0;animation:bbRefreshSpin .72s linear infinite}
button.bb-refresh-feedback.bb-refresh-icon-only .bb-refresh-indicator{right:50%;transform:translate(50%,-50%)}
button.bb-refresh-feedback.bb-refresh-icon-only.is-refreshing>:not(.bb-refresh-indicator){opacity:.2}
button.bb-refresh-feedback.is-refresh-complete{border-color:#22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important}
button.bb-refresh-feedback.is-refresh-complete .bb-refresh-indicator{color:#16a34a}
button.bb-refresh-feedback.is-refresh-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}
button.bb-refresh-feedback.is-refresh-error .bb-refresh-indicator{color:#ef4444}
@keyframes bbRefreshSpin{to{transform:translateY(-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button.bb-refresh-feedback{transition:none!important}button.bb-refresh-feedback.is-refreshing .bb-refresh-indicator{animation-duration:1.5s}}
