50 lines
No EOL
1.1 KiB
CSS
50 lines
No EOL
1.1 KiB
CSS
/* ============================================
|
|
KV-Stream - Loading States
|
|
Spinners, Skeletons, Empty States
|
|
============================================ */
|
|
|
|
.loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--spacing-md);
|
|
padding: var(--spacing-3xl);
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.loading__spinner {
|
|
width: 40px;
|
|
height: 40px;
|
|
border: 3px solid var(--color-border);
|
|
border-top-color: var(--color-accent);
|
|
border-radius: 50%;
|
|
animation: spin 0.8s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
/* Empty State */
|
|
.empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--spacing-md);
|
|
padding: var(--spacing-3xl);
|
|
text-align: center;
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.empty-state svg {
|
|
color: var(--color-text-tertiary);
|
|
}
|
|
|
|
.empty-state h2 {
|
|
font-size: var(--font-size-xl);
|
|
color: var(--color-text-primary);
|
|
} |