/* Available before JavaScript for cold loads, and shared by route/chart placeholders. */
#boot-loader{min-height:70vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;background:#fff;color:#7a8b9c;font:12px/1.5 system-ui,sans-serif}
#root:not(:empty)~#boot-loader{display:none}
#boot-loader .boot-brand{display:block;position:relative;overflow:hidden;width:155px;aspect-ratio:1470/246}#boot-loader .boot-brand img{position:absolute;left:-18.707%;top:-107.317%;width:134.898%;height:auto;max-width:none}
.boot-loader-pulse{display:flex;gap:6px;align-items:center;height:14px}
.boot-loader-pulse i{display:block;width:5px;height:5px;background:#245eea;border-radius:1px;animation:loading-pulse 1.35s ease-in-out infinite}
.boot-loader-pulse i:nth-child(2){animation-delay:.16s}.boot-loader-pulse i:nth-child(3){animation-delay:.32s}
.public-shell .statvero-page-loading{min-height:55vh;padding-top:58px;padding-bottom:55px;animation:loading-reveal .18s .12s both}
.loading-page-label{display:flex;align-items:center;gap:11px;color:#7e91a4;font-size:11px;margin-bottom:36px}
.loading-page-label img{animation:loading-pulse 1.8s ease-in-out infinite}
.loading-page-skeleton{max-width:1000px}
.loading-page-title,.loading-page-subtitle,.loading-page-columns span{display:block;background:linear-gradient(100deg,#f0f3f7 20%,#e5ebf3 45%,#f0f3f7 70%);background-size:240% 100%;animation:loading-shimmer 1.8s ease-in-out infinite;border-radius:3px}
.loading-page-title{width:48%;height:32px}.loading-page-subtitle{width:30%;height:10px;margin-top:17px}
.loading-page-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:45px}
.loading-page-columns>div{display:flex;flex-direction:column;gap:15px}
.loading-page-columns span:first-child{width:60%;height:12px}.loading-page-columns span:nth-child(2){height:60px;width:76%}.loading-page-columns span:last-child{width:45%;height:9px}
.public-shell .data-chart .data-chart-fallback{background:none;pointer-events:none}
.statvero-chart-loading{position:absolute;inset:25px 25px 22px;display:flex;flex-direction:column;justify-content:center;gap:30px;animation:loading-reveal .18s .15s both}
.loading-chart-lines{display:flex;flex-direction:column;gap:23px;width:100%}
.loading-chart-lines>span{height:1px;display:block;background:#eef2f6;position:relative;overflow:hidden}
.loading-chart-lines>span:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#b9cef2,transparent);transform:translateX(-100%);animation:loading-scan 1.9s ease-in-out infinite}
.loading-chart-lines>span:nth-child(2):after{animation-delay:.1s}.loading-chart-lines>span:nth-child(3):after{animation-delay:.2s}.loading-chart-lines>span:nth-child(4):after{animation-delay:.3s}
.loading-chart-caption{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;color:#8a9aab}
@keyframes loading-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes loading-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes loading-scan{to{transform:translateX(100%)}}
@keyframes loading-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.public-shell .statvero-page-loading{padding-top:35px}.loading-page-title{width:76%;height:27px}.loading-page-subtitle{width:52%}.loading-page-columns{gap:22px;grid-template-columns:1fr;margin-top:30px}.loading-page-columns>div{gap:10px}.loading-page-columns span:nth-child(2){height:35px;width:60%}.loading-page-columns>div:nth-child(n+3){display:none}.statvero-chart-loading{inset:20px 15px}}
@media(prefers-reduced-motion:reduce){#boot-loader *, .statvero-page-loading,.statvero-page-loading *, .statvero-chart-loading,.statvero-chart-loading *,.loading-chart-lines>span:after{animation:none!important}.loading-chart-lines>span:after{display:none}}
