.sk-line, .sk-btn {
    background: var(--shimmer-gradient-light);
    background-size: 400% 100%;
    animation: skShimmer 1.4s ease-in-out infinite;
    border-radius: var(--radius-sm);
}
.sk-line { height: 10px; margin-bottom: 10px;
}
.sk-line.big { height: 22px;
}
.sk-btn { height: 32px; margin-top: auto; border-radius: var(--radius-lg);
}
.sk-line.w25 { width: 25%;
}
.sk-line.w30 { width: 30%;
}
.sk-line.w40 { width: 40%;
}
.sk-line.w60 { width: 60%;
}
.sk-line.w70 { width: 70%;
}
.sk-line.w75 { width: 75%;
}
.sk-line.w80 { width: 80%;
}
@media (prefers-reduced-motion: reduce) {
    .sk-line, .sk-btn { animation: none;
    }
}
.skeleton-wrap { display: flex; flex-direction: column; gap: 14px; width: 100%;
}
.sk-card {
    background: var(--surface-card-bg);
    border: 1px solid var(--dark-border);
    border-radius: var(--radius-xl); padding: 18px;
    display: flex; flex-direction: column; gap: 11px;
    width: 100%; box-sizing: border-box;
}
.sk-stat { gap: 14px;
}
.sk-line {
    height: 12px; border-radius: var(--radius-sm); width: 100%;
    background: var(--shimmer-gradient-light);
    background-size: 400% 100%;
    animation: sk-shimmer 1.4s ease infinite;
}
.sk-line.sk-num { height: 26px; width: 52%;
}
.sk-line.sk-w20 { width: 20%;
}
.sk-line.sk-w30 { width: 30%;
}
.sk-line.sk-w40 { width: 40%;
}
.sk-line.sk-w70 { width: 70%;
}
.sk-chart {
    height: 280px; width: 100%; border-radius: var(--radius-lg); margin-top: 10px;
    background: var(--shimmer-gradient-light);
    background-size: 400% 100%;
    animation: sk-shimmer 1.6s ease infinite;
}
.sk-thead { height: 44px; background: var(--surface-quiet-bg); border-bottom: 1px solid var(--dark-border); border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}
.sk-row { display: flex; gap: 24px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--surface-hairline);
}
.sk-row:last-child { border-bottom: none;
}
.sk-toolbar { display: flex; gap: 12px; align-items: center; padding: 2px 0 4px;
}
.sk-toolbar .sk-line { height: 36px; border-radius: var(--radius-md);
}
@keyframes sk-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
.sk-tab, .sk-chip, .sk-input, .sk-tbsearch, .sk-tbbtn {
    background: var(--shimmer-gradient-light);
    background-size: 400% 100%; animation: sk-shimmer 1.4s ease infinite;
}
.sk-head { padding: 14px 20px; border-bottom: 1px solid var(--dark-border);
}
.sk-head .sk-line { height: 11px;
}
.sk-line.sk-w10 { width: 10%;
}
.sk-line.sk-bignum { height: 34px; width: 32%;
}
.sk-barrow { margin-bottom: 12px;
}
.sk-barrow:last-child { margin-bottom: 0;
}
.sk-barrow-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px;
}
.sk-bar { height: 5px; border-radius: 3px; background: var(--surface-track-bg); overflow: hidden;
}
.sk-bar i { display: block; height: 100%; border-radius: 3px;
    background: var(--shimmer-gradient-light);
    background-size: 400% 100%; animation: sk-shimmer 1.4s ease infinite;
}
.sk-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px;
}
.sk-tab { width: 88px; height: 32px; border-radius: var(--radius-md);
}
.sk-chips { display: flex; gap: 8px; flex-wrap: wrap;
}
.sk-chip { width: 116px; height: 30px; border-radius: 99px;
}
.sk-input { height: 38px; border-radius: var(--radius-md); width: 100%;
}
.sk-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px;
}
.sk-field:last-child { margin-bottom: 0;
}
.sk-field .sk-line { height: 10px;
}
.sk-tbsearch { flex: 1; max-width: 320px; height: 38px; border-radius: var(--radius-md);
}
.sk-tbbtn { width: 110px; height: 38px; border-radius: var(--radius-md);
}
