#nencer-app-loading { padding: 28px; }
.nencer-content-area, .nencer-content-body { display: contents; }
.nencer-content-loading[hidden] { display: none; }
#nencer-app-loading[hidden], #nencer-navigation-progress[hidden] { display: none; }
.nencer-page-loading { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 120px; padding: 32px 16px; color: #788b9a; font: 13px Arial, sans-serif; }
.nencer-loading-spinner { display: inline-block; flex-shrink: 0; width: 32px; height: 32px; border: 3px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: nencer-spin .8s linear infinite; vertical-align: middle; }
#nencer-navigation-progress { position: fixed; z-index: 20000; top: 0; left: 0; width: 100%; height: 3px; overflow: hidden; background: #dceaf5; pointer-events: none; }
#nencer-navigation-progress::after { content: ''; display: block; width: 35%; height: 100%; background: #0a68ac; animation: nencer-progress 1s ease-in-out infinite; }
.nencer-loading-retry { text-align: center; color: #607083; font: 14px Arial, sans-serif; }
.nencer-loading-retry button { margin-left: 8px; border: 1px solid #cbd5e1; border-radius: 4px; padding: 6px 12px; background: white; color: #0a68ac; }
@keyframes nencer-spin { to { transform: rotate(360deg); } }
@keyframes nencer-progress { from { transform: translateX(-100%); } to { transform: translateX(390%); } }
@media (prefers-reduced-motion: reduce) { .nencer-loading-spinner, #nencer-navigation-progress::after { animation: none; } }
