/* Uniform Sidebar CSS - Consistent Width Across All Admin Portal Pages */
/* Author: Iceberg Technologies */

/* Force uniform sidebar dimensions */
.navbar-aside {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    flex: 0 0 280px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    z-index: 1000 !important;
    overflow: hidden !important;
}

/* Uniform main content area adjustment */
.main-wrap {
    margin-left: 280px !important;
    min-height: 100vh !important;
    width: calc(100% - 280px) !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Force main header positioning */
.main-header {
    width: 100% !important;
    margin: 0 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
}

/* Force content main positioning */
.content-main {
    width: 100% !important;
    margin: 0 !important;
    padding: 40px 40px 20px 40px !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
}

/* Force card positioning within content */
.content-main .card {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Force row positioning */
.content-main .row {
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Force column positioning */
.content-main .col-12,
.content-main .col-lg-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ensure aside top section is uniform */
.aside-top {
    width: 100% !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-bottom: 20px !important;
}

/* Brand wrap uniform sizing */
.brand-wrap {
    width: calc(100% - 30px) !important;
    margin: 15px !important;
    padding: 25px 15px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Navigation container uniform */
.navbar-aside nav {
    width: 100% !important;
    height: calc(100vh - 180px) !important;
    position: relative !important;
    padding-bottom: 80px !important;
}

/* Menu container uniform */
.menu-aside {
    width: 100% !important;
    height: calc(100vh - 340px) !important;
    overflow-y: auto !important;
    padding-bottom: 10px !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Menu items uniform spacing */
.menu-aside .menu-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-aside .menu-link {
    width: calc(100% - 30px) !important;
    margin: 5px 15px !important;
    padding: 12px 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.menu-aside .menu-item.active .menu-link {
    width: calc(100% - 30px) !important;
    margin: 8px 15px !important;
    box-sizing: border-box !important;
}

/* Menu text uniform */
.menu-aside .menu-item .text {
    flex: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Menu icons uniform */
.menu-aside .menu-item .material-icons {
    width: 24px !important;
    height: 24px !important;
    margin-right: 12px !important;
    font-size: 24px !important;
    flex-shrink: 0 !important;
}

/* Developer credit uniform positioning */
.sidebar-developer-credit {
    position: fixed !important;
    bottom: 10px !important;
    left: 10px !important;
    width: 260px !important;
    z-index: 1001 !important;
}

/* Responsive uniformity */
@media (max-width: 1200px) {
    .navbar-aside {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        flex: 0 0 260px !important;
    }
    
    .main-wrap {
        margin-left: 260px !important;
        width: calc(100% - 260px) !important;
    }
    
    .sidebar-developer-credit {
        width: 240px !important;
    }
}

@media (max-width: 992px) {
    .navbar-aside {
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
        flex: 0 0 240px !important;
    }
    
    .main-wrap {
        margin-left: 240px !important;
        width: calc(100% - 240px) !important;
    }
    
    .sidebar-developer-credit {
        width: 220px !important;
    }
}

@media (max-width: 768px) {
    .navbar-aside {
        transform: translateX(-100%) !important;
        transition: transform 0.3s ease !important;
    }
    
    .navbar-aside.show {
        transform: translateX(0) !important;
    }
    
    .main-wrap {
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    .sidebar-developer-credit {
        display: none !important;
    }
}

/* Force override any page-specific sidebar styles */
body .navbar-aside {
    width: 280px !important;
}

body .main-wrap {
    margin-left: 280px !important;
    width: calc(100% - 280px) !important;
    position: relative !important;
    left: 0 !important;
}

/* Force body layout */
body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* Force container fluid */
.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Force section positioning */
section.content-main {
    margin: 0 !important;
    padding: 40px 40px 20px 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
}

/* Reset any flex or grid layouts that might interfere */
.main-wrap * {
    box-sizing: border-box !important;
}

/* Ensure no elements push content to the right */
.main-wrap > * {
    max-width: 100% !important;
}

/* Prevent any layout shifts */
.screen-overlay {
    z-index: 999 !important;
}

/* Ensure proper stacking */
.main-header {
    z-index: 998 !important;
}

.content-main {
    z-index: 1 !important;
}