﻿/* Theme Colors */
.sidebar ul.nav.nav-pills,
.sidebar ul.nav.nav-pills * {
   background-color: white !important;
   color: black !important;
}

   .sidebar ul.nav.nav-pills a * {
      background-color: transparent !important;
   }

.sidebar .nav-divider {
   border-top: 1px solid #000 !important;
   background: transparent !important;
   height: 1px;
   margin: 8px 0;
   padding: 0;
}

.sidebar ul.nav.nav-pills > li.nav-item:hover,
.sidebar ul.nav.nav-pills > li.nav-item:focus,
.sidebar ul.nav.nav-pills > li.nav-item > a:hover,
.sidebar ul.nav.nav-pills > li.nav-item > a:focus {
   background-color: #f2f2f2 !important;
   color: black !important;
}
/* Theme Colors End */

.navbar {
   min-height: 65px;
   margin-right: 15px;
   margin-left: 15px;
}

/* Ensure the header section fills the horizontal space */
.navbar-header {
   width: 100%;
}

/* Ensure the header text doesn't wrap to be below the logo */
.navbar-brand-truncate {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: calc(100% - 220px);
   display: inline-block;
   vertical-align: middle;
}

.navbar-nav > li > a {
   padding-top: 17px;
   line-height: 31px;
}

.navbar-brand {
   line-height: 20px;
   padding-top: 12px;
   padding-bottom: 5px;
   padding-left: 0px;
   padding-right: 20px;
}

/* Ensure the main content area uses all available space while accounting for sidebar */
.main {
   width: calc(100% - 300px) !important;
   max-width: calc(100% - 300px) !important;
}


.sidebar {
   min-height: 100%;
   border: 1px solid #000000;
   width: 100%;
   border-radius: 5px;
   font-size: 1.1em;
}

.sidebar .panel-heading {
   width: 100%;
   font-size: 1.4em;
}

.sidebar-title {
   font-size: 1em;
   margin-top: 5px;
}
.sidebar-subtitle {
   font-size: 0.7em;
}

.sidebar-button-group {
   padding-left: 15px;
   float: right;
}

.sidebar-button {
   font-size: 1.1em;
   margin-right: 6px;
}

.sidebarfull {
   min-height: 100%;
   width: 300px;
}

.navInfoitem {
   padding-left: 4px;
}

.sidebar-subtitle {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   display: inline-block;
   vertical-align: top;
}

.navbar-icon {
   font-size: 1.5em;
   padding: 0 !important;
   margin-left: 20px;
}

@media (max-width: 375px) {
   .navbar-brand {
      padding-left: 0px;
      padding-right: 0px;
   }
}

@media (max-width: 768px) {
   .sidebarfull {
      width: 100% !important;
   }
   .main {
      width: 100% !important;
      max-width: 100% !important;
   }
}



.navbar-brand small {
   display: block;
   font-size: 12px;
}

.navbar-toggle {
   margin-top: 14px;
   z-index: 1;
}

.navbar-logo {
   float: left;
}

   .navbar-logo img {
      width: 42px;
      height: 42px;
      margin-top: 7px;
      margin-left: 13px;
      margin-right: 6px;
   }

.navbar {
   margin-bottom: 10px;
}


.navbar {
   min-height: 65px;
   padding-right: 15px;
}

.navbar-nav > li > a {
   padding-top: 17px;
   line-height: 31px;
}

.navbar-brand {
   line-height: 20px;
   padding-top: 12px;
   padding-bottom: 5px;
   padding-left: 0px;
   padding-right: 20px;
}

@media (max-width: 375px) {
   .navbar-brand {
      padding-left: 0px;
      padding-right: 0px;
   }
}

.navbar-brand small {
   display: block;
   font-size: 12px;
}

.navbar-toggle {
   margin-top: 14px;
}

.navbar-logo {
   float: left;
}

   .navbar-logo img {
      width: 42px;
      height: 42px;
      margin-top: 7px;
      margin-left: 13px;
      margin-right: 6px;
   }

/* Unified menu styling - consistent across all levels */
.nav-pills > li.nav-item > a,
.nav-pills > li.nav-item.active > a,
.nav-pills > li.nav-item.active > a:hover,
.nav-pills > li.nav-item.active > a:focus,
.sidebar-submenu a,
.sidebar-nested a {
   background-color: transparent !important;
   color: #337ab7 !important;
   border: none !important;
   border-left: none !important;
   padding: 10px 15px;
   display: block;
   text-decoration: none;
   line-height: 1.3;
   word-wrap: break-word;
   overflow-wrap: break-word;
}

   /* Current page indicator for TimeClock submenu items */
   .sidebar-submenu a.current-page,
   .sidebar-nested a.current-page {
      background-color: #f8f9fa !important;
      color: #337ab7 !important;
   }

.sidebar a.current-page {
   background-color: #f8f9fa !important;
   color: #337ab7 !important;
}

/* Hover effects - consistent across all levels */
.nav-pills > li.nav-item > a:hover,
.sidebar-submenu a:hover,
.sidebar-nested a:hover {
   background-color: #f0f0f0 !important;
   color: #337ab7 !important;
   text-decoration: none;
}


a.activeX,
a.activeX:active,
a.activeX:hover,
a.activeX:focus {  
   border: none !important;
   border-left: none !important;
   text-decoration: none;
   /* Active state - simple bold text, no borders or backgrounds */
   font-weight: 600 !important;
   background-color: transparent !important;
}

/* Submenu containers */
.sidebar-submenu {
   display: none;
   padding-left: 8px;
}

   .sidebar-submenu.show {
      display: block;
   }

.sidebar-nested {
   display: none;
   padding-left: 16px;
}

   .sidebar-nested.show {
      display: block;
   }

/* Time Clock container - consistent with other menu items */
.sidebar-toggle-container {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 10px 15px;
   color: #337ab7;
   background-color: transparent;
   border: none;
   cursor: pointer;
   text-decoration: none;
}

   .sidebar-toggle-container:hover {
      background-color: #f0f0f0;
      text-decoration: none;
   }

   .sidebar-toggle-container.expanded {
      background-color: transparent;
      color: #337ab7;
      font-weight: 600; /* Just bold text for active state */
   }

.sidebar-toggle-text {
   flex-grow: 1;
   cursor: pointer;
   user-select: none;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

   .sidebar-toggle-text:hover {
      text-decoration: underline;
   }

.sidebar-toggle-arrow {
   margin-left: 8px;
   cursor: pointer;
   user-select: none;
   transition: transform 0.2s;
   font-size: 12px;
   padding: 2px 4px;
   border-radius: 2px;
   flex-shrink: 0;
}

   .sidebar-toggle-arrow:hover {
      background-color: rgba(0, 0, 0, 0.1);
   }

.sidebar-toggle-container.expanded .sidebar-toggle-arrow {
   transform: rotate(90deg);
}

/* Submenu toggle - consistent with other menu items */
.submenu-toggle {
   padding: 10px 15px;
   display: block;
   color: #337ab7;
   text-decoration: none;
   font-weight: 600;
   cursor: pointer;
   background-color: transparent;
   border: none;
   line-height: 1.3;
   word-wrap: break-word;
   overflow-wrap: break-word;
}

   .submenu-toggle:hover {
      background-color: #f0f0f0;
      color: #337ab7;
   }

   .submenu-toggle::after {
      content: ' ▶';
      float: right;
      transition: transform 0.2s;
   }

   .submenu-toggle.expanded::after {
      transform: rotate(90deg);
   }

/* Keep existing styles for backward compatibility */
.sidebar-toggle::after {
   content: ' ▶';
   float: right;
   transition: transform 0.2s;
}

.sidebar-toggle.expanded::after {
   transform: rotate(90deg);
}

.sidebar-clickable-toggle {
   cursor: pointer;
}

   .sidebar-clickable-toggle:hover {
      background-color: #f0f0f0;
   }
/* Unified menu styling - consistent across all levels */
a.navInfoitem,
a.navInfoitem:active,
a.navInfoitem:hover,
a.navInfoitem:focus {
   color: #ffffff !important;
   border: none !important;
   border-left: none !important;
   text-decoration: none;
}

.navheadercircle {
   width: 20px; /* Set the width */
   height: 20px; /* Set the height (same as width for a perfect circle) */
   background-color: #337ab7; /* Set the circle's color */
   border-radius: 50%; /* Make it round */
}

.sidebar-trail {
   color: #9d9d9d !important;
   font-size: 10px;
}
