/* Keep the shell visible while read-only customer content loads. */
#main-content { view-transition-name: needs-page; }
.needs-module-loading #main-content { opacity: .82; transition: opacity .15s ease; }
.needs-module-loading::before {
    content: ''; position: fixed; inset: 0 0 auto; height: 3px; z-index: 10000;
    background: linear-gradient(90deg, transparent, #168d64, transparent);
    background-size: 50% 100%; background-repeat: no-repeat;
    animation: needs-module-progress 1s linear infinite;
}
.needs-module-loading a { cursor: progress; }
.needs-navigation-status {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
#main-content:focus { outline: none; }
@keyframes needs-module-progress { from { background-position: -100% 0; } to { background-position: 200% 0; } }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
::view-transition-old(needs-page), ::view-transition-new(needs-page) { animation-duration: .16s; }
@media (prefers-reduced-motion: reduce) {
    .needs-module-loading #main-content { transition: none; }
    .needs-module-loading::before { animation: none; background: #168d64; }
    ::view-transition-old(needs-page), ::view-transition-new(needs-page) { animation: none; }
}
