.skeleton{background:#e8ecf0;border-radius:6px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff9 50%,#0000 100%);animation:1.5s infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton--text{width:80%;height:14px;margin-bottom:8px}.skeleton--title{width:40%;height:20px;margin-bottom:12px}.skeleton--card{border-radius:12px;width:100%;height:100px}.skeleton--stat-card{border-radius:12px;height:88px}.skeleton--circle{border-radius:50%;flex-shrink:0;width:44px;height:44px}.skeleton--button{border-radius:6px;width:120px;height:36px}.skeleton-dashboard{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:4px 0;display:grid}.skeleton-list{flex-direction:column;gap:12px;display:flex}.skeleton-list-item{background:#fff;border:1px solid #e8ecf0;border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.skeleton-list-item__body{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-analytics{flex-direction:column;gap:20px;display:flex}.skeleton-analytics__header{justify-content:space-between;align-items:center;display:flex}.skeleton-analytics__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.skeleton-analytics__chart{border-radius:12px;height:240px;margin-top:8px}.skeleton-table{background:#fff;border:1px solid #e8ecf0;border-radius:10px;overflow:hidden}.skeleton-table__header{background:#f8f9fa;border-bottom:1px solid #e8ecf0;gap:24px;padding:14px 16px;display:flex}.skeleton--table-header-cell{border-radius:4px;height:14px}.skeleton-table__row{border-bottom:1px solid #f0f2f4;gap:24px;padding:14px 16px;display:flex}.skeleton-table__row:last-child{border-bottom:none}.skeleton--table-cell{border-radius:4px;flex:1;height:14px}@media (width<=768px){.skeleton-dashboard,.skeleton-analytics__grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.skeleton-dashboard,.skeleton-analytics__grid{grid-template-columns:1fr}}
