/* ============================================
   Utility Classes
   Common text, spacing, and display utilities
   ============================================ */

/* Text Utilities */
.text-muted {
    color: var(--text-tertiary);
}

.text-primary {
    color: var(--text-primary);
}

.text-secondary {
    color: var(--text-secondary);
}

.text-success {
    color: var(--success);
}

.text-danger {
    color: var(--error);
}

.text-warning {
    color: var(--warning);
}

.text-info {
    color: var(--info);
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

/* Spacing Utilities */
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.p-1 { padding: 0.5rem; }
.p-2 { padding: 1rem; }
.p-3 { padding: 1.5rem; }

/* Display Utilities */
.flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.align-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.gap-1 { gap: 0.5rem; }
.gap-2 { gap: 1rem; }
.gap-3 { gap: 1.5rem; }

/* Button Utilities */
.btn-block {
    width: 100%;
}

/* Dividers */
.divider {
    height: 1px;
    background: var(--border-light, var(--border-color));
    margin: 1.5rem 0;
}

.divider-vertical {
    width: 1px;
    background: var(--border-light, var(--border-color));
    margin: 0 1rem;
    align-self: stretch;
}

/* Empty States */
.empty-state {
    padding: 3rem 1.5rem;
    text-align: center;
    color: var(--text-tertiary);
}

.empty-state-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-state-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-secondary);
}

.empty-state-message {
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
}