/* ============================================
   LAYOUT - Agenda PRO
   ============================================ */

/* Grid System */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(var(--spacing-md) * -1);
}

[class*="col-"] {
    padding: 0 var(--spacing-md);
}

.col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

/* Flex Utilities */
.d-flex {
    display: flex;
}

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

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

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

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

.gap-2 {
    gap: var(--spacing-sm);
}

.gap-3 {
    gap: var(--spacing-md);
}

/* Spacing */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: var(--spacing-xs) !important; }
.mb-2 { margin-bottom: var(--spacing-sm) !important; }
.mb-3 { margin-bottom: var(--spacing-md) !important; }
.mb-4 { margin-bottom: var(--spacing-lg) !important; }
.mb-5 { margin-bottom: var(--spacing-xl) !important; }

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--spacing-xs) !important; }
.mt-2 { margin-top: var(--spacing-sm) !important; }
.mt-3 { margin-top: var(--spacing-md) !important; }
.mt-4 { margin-top: var(--spacing-lg) !important; }
.mt-5 { margin-top: var(--spacing-xl) !important; }

.me-3 { margin-right: var(--spacing-md) !important; }
.ms-3 { margin-left: var(--spacing-md) !important; }

.p-0 { padding: 0 !important; }
.p-3 { padding: var(--spacing-md) !important; }
.p-4 { padding: var(--spacing-lg) !important; }
.p-5 { padding: var(--spacing-xl) !important; }

.py-5 { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important; }

/* Text Utilities */
.text-center { text-align: center !important; }
.text-muted { color: var(--gray-500) !important; }
.text-white { color: white !important; }

/* Responsive */
@media (max-width: 768px) {
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-8,
    .col-md-10 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .sidebar {
        min-height: auto;
        margin-bottom: var(--spacing-lg);
    }
    
    .table-responsive {
        font-size: 0.875rem;
    }
}


