/* ==========================================================================
   Skeleton Loading States
   ========================================================================== */

.lh-skeleton-wrap {
    padding: 16px 0;
}

.lh-skeleton {
    padding: 8px 0;
}

.lh-skeleton-line {
    height: 14px;
    background: linear-gradient(90deg, #f0f1f3 25%, #e8e9ec 50%, #f0f1f3 75%);
    background-size: 200% 100%;
    animation: lh-shimmer 1.5s infinite ease-in-out;
    border-radius: 4px;
    margin-bottom: 12px;
    width: 100%;
}

.lh-skeleton-line--title {
    height: 20px;
    width: 60%;
    margin-bottom: 16px;
}

.lh-skeleton-line--medium {
    width: 80%;
}

.lh-skeleton-line--short {
    width: 40%;
}

/* Table skeleton */
.lh-skeleton--row {
    display: flex;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #f5f5f7;
}

.lh-skeleton-cell {
    height: 14px;
    width: 80px;
    background: linear-gradient(90deg, #f0f1f3 25%, #e8e9ec 50%, #f0f1f3 75%);
    background-size: 200% 100%;
    animation: lh-shimmer 1.5s infinite ease-in-out;
    border-radius: 4px;
}

.lh-skeleton-cell--wide {
    flex: 1;
}

.lh-skeleton-cell--short {
    width: 50px;
}

/* Card skeleton */
.lh-skeleton--card {
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #f0f1f3;
}

/* Chart skeleton */
.lh-skeleton--chart {
    height: 200px;
    background: linear-gradient(90deg, #f0f1f3 25%, #e8e9ec 50%, #f0f1f3 75%);
    background-size: 200% 100%;
    animation: lh-shimmer 1.5s infinite ease-in-out;
    border-radius: 8px;
}

@keyframes lh-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
