.fp-loading-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.fp-shimmer { display:block; height:1rem; border-radius:.4rem; background:linear-gradient(100deg,rgba(128,140,160,.14) 20%,rgba(128,140,160,.30) 45%,rgba(128,140,160,.14) 70%); background-size:220% 100%; animation:fp-shimmer 1.6s linear infinite; }
.fp-shimmer-label { width:60%; margin-bottom:1rem; }
.fp-shimmer-number { width:40%; height:2rem; }
.fp-shimmer-heading { width:35%; height:1.5rem; margin-bottom:1.5rem; }
.fp-loading-row { display:grid; grid-template-columns:2fr 1fr 1fr; gap:1rem; padding:1rem 0; border-top:1px solid rgba(128,140,160,.14); }
#fp-navigation-progress { position:fixed; top:0; left:0; right:0; z-index:2000; height:3px; overflow:hidden; pointer-events:none; background:rgba(13,110,253,.15); }
#fp-navigation-progress::after { content:""; display:block; width:35%; height:100%; background:var(--bs-primary,#0d6efd); animation:fp-progress 1s ease-in-out infinite; }
#fp-navigation-status { position:fixed; top:1rem; left:50%; transform:translateX(-50%); z-index:2000; padding:.65rem 1rem; border:1px solid var(--bs-border-color,#dbe2ed); border-radius:.6rem; box-shadow:0 4px 16px #0002; background:var(--bs-body-bg,#fff); color:var(--bs-body-color,#212529); display:flex; align-items:center; gap:.75rem; max-width:calc(100vw - 2rem); font-size:.9rem; }
#fp-navigation-status button { border:0; background:transparent; color:inherit; padding:0 .25rem; }
#fp-navigation-progress[hidden], #fp-navigation-status[hidden] { display:none!important; }
@keyframes fp-shimmer { from {background-position:200% 0;} to {background-position:-20% 0;} }
@keyframes fp-progress { from {transform:translateX(-100%);} to {transform:translateX(390%);} }
@media(max-width:576px) { .fp-loading-stats {grid-template-columns:1fr;} .fp-loading-stats .fp-card:not(:first-child) {display:none;} }
@media(prefers-reduced-motion:reduce) { .fp-shimmer,#fp-navigation-progress::after {animation:none;} }
@media print { #fp-navigation-progress,#fp-navigation-status,.fp-loading-page {display:none!important;} }
