* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background: #f4f6f9;
    }

    /* NOTE: renamed from .container to .qcontainer in the HTML (page 0) too —
       "container" collides with Bootstrap's own .container class (max-width,
       centered margin, padding), which was fighting this flex layout. */
    .qcontainer {
      display: flex;
      min-height: 100vh;
    }

    /* Sidebar */
    .sidebar {
      width: 260px;
      background: #2c3e50;
      color: white;
      padding: 20px 0;
      transition: width 0.4s ease;
      position: fixed;
      height: 100%;
      overflow-x: hidden;
      z-index: 100;
      left:0px;
    }

    .sidebar.collapsed {
      width: 70px;
    }

    .sidebar-header {
      padding: 0 20px 25px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      border-bottom: 1px solid #34495e;
      margin-bottom: 20px;
    }

    .sidebar-header h2 {
      font-size: 1.6rem;
      transition: opacity 0.3s;
      white-space: nowrap;
    }

    .sidebar.collapsed .sidebar-header h2 {
      opacity: 0;
      width: 0;
    }

    /* Menu Items */
    .menu-item {
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      color: #bdc6d0;
      text-decoration: none;
      transition: all 0.3s;
      white-space: nowrap;
    }

    .sidebar.collapsed .menu-item {
      justify-content: center;
      padding: 14px 0;
    }

    .menu-item:hover, .menu-item.active {
      background: #34495e;
      color: white;
    }

    .menu-item i {
      width: 24px;
      text-align: center;
    }

    .menu-item span {
      transition: opacity 0.3s;
    }

    .sidebar.collapsed .menu-item span {
      opacity: 0;
      width: 0;
    }

    /* Top Header */
    .header {
      position: fixed;
      top: 0;
      left: 260px;
      right: 0;
      height: 70px;
      background: white;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 30px;
      z-index: 90;
      transition: left 0.4s ease;
    }

    .sidebar.collapsed + .main-area .header {
      left: 70px;
    }

    .header-left {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .header-center {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .product-filter { 
        background-color:rgb(42,157,143);
        color:#fff;
        height:33px;
        width:50px;
        border-radius:25px;
        padding-left:8px;
        padding-top:4px;
    }

    #startsearch { 
       background-color:rgb(42,157,143);
        color:#fff;
        height:33px;
        width:33px;
        border-radius:25px;
        padding-left:8px;
        padding-top:4px;
        margin-left:-50px;
    }

    .search-box {
      background: #f1f3f6;
      border: none;
      padding: 10px 15px;
      border-radius: 50px;
      width: 320px;
      outline: none;
    }

    .user-profile {
      display: flex;
      align-items: center;
      gap: 12px;
      cursor: pointer;
    }

    .user-profile img {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      object-fit: cover;
    }

    /* Main Content Area */
    .main-area {
      flex: 1;
      /* FIX: was 0px — nothing offset content past the fixed-position sidebar
         in its default (expanded) state, so content sat flush left, hidden
         under the sidebar and misaligned with the header. Now matches the
         sidebar's default width. */
      margin-left: 260px;
      transition: margin-left 0.4s ease;
    }

    .sidebar.collapsed + .main-area {
      margin-left: 70px;
    }

    body.no-sidebar .sidebar {
      display: none;
    }
    body.no-sidebar .header {
      left: 0 !important;
    }
    body.no-sidebar .main-area {
      margin-left: 0 !important;
    }

    .main-content {
      /* FIX: left/right padding now match the header's 0 30px so
         "Welcome back" text lines up under "Dashboard" / the hamburger
         instead of sitting flush against the edge. */
    /*  padding: 80px 30px 30px 30px; */
      margin-left: 0px;
      
      /* FIX: was 100vw, which ignored the sidebar's width entirely and
         caused horizontal overflow. width:100% of the flex parent
         (.main-area) is correct here. */
      width: 100%;
    }


    /* FIX: .toggle-btn (the sidebar collapse button, referenced in the
       HTML as #collapseBtn) had no styling at all — it was rendering as
       an unstyled default browser button, which is the small bordered
       "<" box visible at the bottom of the sidebar. */
    .toggle-btn {
      background: #34495e;
      color: white;
      border: none;
      width: 100%;
      padding: 12px 0;
      cursor: pointer;
      font-size: 1rem;
      transition: background 0.2s;
    }

    .toggle-btn:hover {
      background: #3d566e;
    }

    /* Mobile */
    @media (max-width: 768px) {
      .sidebar {
        transform: translateX(-100%);
      }
      .sidebar.active {
        transform: translateX(0);
      }
      .main-area {
        margin-left: 0 !important;
      }
      .header {
        left: 0 !important;
      }
    }

    #panelFilterPopup { 
        position:absolute;
        left:50vw;
        width:40vw;
        max-height: 75vh;
        top:9vh;
        background-color: #ccc;
        border-radius: 10px;
        z-index:100;
    }

.btn {
    border-width: 2px;
    font-weight: 500;
    font-size: 0.8571em;
    line-height: 1.35em;
    text-transform: uppercase;
    text-align:center;
    vertical-align: middle;
    padding: .375rem .75rem;
    border-radius: .25rem;
    border: none;
}

.btn-primary {
    background-color: #2A9D8F;
    color: #ffffff;
    box-shadow: 0 6px 10px -4px rgba(0, 0, 0, 0.15);
    transition: all 0.5s ease-in-out;
}

.filterlistitem { 
    margin-right: 1px;
}

.panelfilters { 
    margin-left:10px;
    overflow-y: scroll;
    max-height: 60vh;
}

.badge {
    cursor: pointer;
    font-size: 0.8571em;
    border-radius: 3px !important;
    padding: 2px 2px;
    font-weight: 500;
    line-height: 1.35em;
    box-shadow: 0 6px 10px -4px rgba(0, 0, 0, 0.15) !important;
    border: none;
    margin-bottom: 2px;
}

.badge-primary {
    color: #ffffff;
    background-color: #2A9D8F !important; }
.badge-warning {
    background-color: #F6AE2D;
    color: #ffffff; }
.badge-danger {
    background-color: #B3001B;
    color: #ffffff; }
.badge-success {
    background-color: #27b364;
    color: #ffffff; }
.badge-info {
    background-color: #17a2b8;
    color: #ffffff; }

body.minimal-header .header-center {
  display: none;
}

.card {
    border-radius: 12px;
    box-shadow: 0 6px 10px -4px rgba(0, 0, 0, 0.15);
    background-color: #ffffff;
    color: #212529;
    margin-bottom: 20px;
    position: relative;
    border: 0 none;
    transition: transform 300ms cubic-bezier(0.34, 2, 0.6, 1), box-shadow 200ms ease;
}

.card .card-body {
    padding: 15px 15px 10px 15px;
}

.card .card-footer {
    background-color: transparent;
    border: 0;
}
    