/* Text Utilities */
.text-center {
    text-align: center;
}

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

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

/* Spacing Utilities */
.m-0 { margin: 0; }
.p-0 { padding: 0; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }

/* Display Utilities */
.hidden {
    display: none !important;
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-grid {
    display: grid;
}

/* Flex Utilities */
.flex-column {
    flex-direction: column;
}

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

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

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

.flex-wrap {
    flex-wrap: wrap;
}

/* Width Utilities */
.w-100 {
    width: 100%;
}

.w-50 {
    width: 50%;
}

.w-auto {
    width: auto;
}

/* Position Utilities */
.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}

/* Overflow Utilities */
.overflow-hidden {
    overflow: hidden;
}

.overflow-auto {
    overflow: auto;
}

.overflow-scroll {
    overflow: scroll;
}

/* Text Truncation */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Border Utilities */
.border-0 {
    border: none;
}

.rounded {
    border-radius: 4px;
}

.rounded-lg {
    border-radius: 8px;
}

/* Shadow Utilities */
.shadow-sm {
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.shadow {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.shadow-lg {
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
} 