.loading-skeleton{min-height:320px;padding:24px 0;pointer-events:none}
.skeleton-line,.skeleton-cards i{display:block;background:#e7ebe4;border-radius:5px;animation:skeleton-pulse 1.6s ease-in-out infinite alternate}
.skeleton-line{height:18px;margin:0 0 22px;width:100%}.skeleton-short{width:40%}
.skeleton-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}
.skeleton-cards i{height:110px}.loading-admin-shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh;grid-column:1/-1}
.loading-admin-sidebar{background:#25382d;padding:30px 24px}.loading-admin-sidebar .skeleton-line{background:#4e6254;margin-bottom:30px}
.loading-admin-main{padding:48px 32px}.loading-admin-main .loading-skeleton{min-height:60vh}
#store-app:has(>.loading-skeleton){min-height:420px}.is-updating{position:relative;cursor:progress}
html.data-updating:before{content:'';position:fixed;top:0;left:0;width:35%;height:3px;background:#58765e;z-index:20000;animation:loading-progress 1.2s ease-in-out infinite}
.loading-dots{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;min-height:18px}.loading-dots i{width:4px;height:4px;background:currentColor;border-radius:50%;animation:skeleton-pulse 1s ease-in-out infinite alternate}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}
.load-error{padding:16px 20px;margin:0 0 20px;background:#fff7f0;border:1px solid #dfcab8;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:16px}.load-error p{margin:0}.load-error button{flex-shrink:0}
@keyframes skeleton-pulse{from{opacity:.5}to{opacity:1}}@keyframes loading-progress{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
@media(max-width:900px){.loading-admin-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:620px){.loading-admin-shell{grid-template-columns:1fr}.loading-admin-sidebar{height:76px;padding:24px}.loading-admin-sidebar .skeleton-line:not(:first-child){display:none}.loading-admin-main{padding:24px 20px}.skeleton-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skeleton-cards i:last-child{display:none}.load-error{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.skeleton-line,.skeleton-cards i,.loading-dots i{animation:none}html.data-updating:before{animation:none;width:100%}}
button.is-saving{display:inline-flex;align-items:center;justify-content:center;gap:10px}button.is-saving:after{content:'';width:13px;height:13px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){button.is-saving:after{animation:none}}
