/* Shared, non-blocking feedback for navigation, submits, and async actions. */
.gh-portal-loading { position: fixed; inset: 0 0 auto; z-index: 10000; pointer-events: none; }
.gh-portal-loading[hidden] { display: none; }
.gh-loading-track { height: 3px; overflow: hidden; background: #e4f1eb; }
.gh-loading-track i { display: block; width: 35%; height: 100%; background: #12805f; animation: gh-loading-progress 1.35s ease-in-out infinite; }
.gh-loading-notice { position: fixed; top: 82px; right: 24px; display: flex; align-items: center; gap: 9px; max-width: calc(100vw - 32px); padding: 10px 14px; border: 1px solid #dce8e2; border-radius: 10px; background: #fff; color: #315749; box-shadow: 0 4px 16px #173d2b0d; font-size: 13px; line-height: 1.5; }
.gh-loading-spinner, .granthub-design .gh-action-loading::before { content: ''; display: inline-block; width: 14px; height: 14px; flex: 0 0 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: middle; animation: gh-loading-spin .8s linear infinite; }
.granthub-design .gh-action-loading { cursor: progress; }
.granthub-design .gh-action-loading::before { margin-right: 7px; }
@keyframes gh-loading-spin { to { transform: rotate(360deg); } }
@keyframes gh-loading-progress { from { transform: translateX(-100%); } to { transform: translateX(390%); } }
@media (max-width: 640px) { .gh-loading-notice { top: 72px; right: 16px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) {
  .gh-loading-track i, .gh-loading-spinner, .granthub-design .gh-action-loading::before { animation: none; }
  .gh-loading-track i { width: 100%; opacity: .65; }
}
