:root {
    --pineapple-jet: #333333;
    --pineapple-link-color: #026fa0;
    --pineapple-bdg-color-green: #d3eedf;
    --bg-lulublue: #026fa0;
    --pineapple-breeze: #D6E9FF;
    --pineapple-button_bgBlue: linear-gradient(180deg, #3395C7 0%, #0570A5 100%);
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.bg-success {
    color: black !important;
    background-color: var(--pineapple-bdg-color-green) !important;
}

.bg-danger {
    background-color: #f3523f !important;
}

.btn-success {
    background-color: #d3eedf !important;
    color: #000 !important;
    border-color: transparent !important;
}

.btn-secondary {
    background-color: #9e9e9e !important;
    border-color: transparent !important;
}

a {
    text-decoration: none !important;
}

body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  background-color: #f3f3f3;
  display: flex;
  height: 100vh;
  max-width: 100%;
  overflow-x: hidden;
}

.sidebar {
  width: 280px;
  height: 100vh;
  background-color: #fff;
  padding-top: 20px;
  transition: width 0.3s ease;
  border-right: 1px solid #eaeaea;
  display: flex;
  flex-direction: column;
  position: fixed;
}

.collapsed {
  width: 80px;
}

.sidebar-menuItem a {
  text-decoration: none;
  color: rgba(158, 158, 158, 1) !important;
  width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.content {
  padding: 20px;
  width: 100%;
  transition: padding-right 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.content.collapsed {
    padding-right: 100px;
}

.toggle-btn {
  background: none;
  border: none;
}

.insights-icon {
  width: 100px;
  height: 35px;
  object-fit: contain;
}

.sideMenu-icon img {
  width: 25px;
  height: 25px;
}

.sidebar-menuItem a i {
  font-size: 25px;
}

.sidebar-menuItems_container {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px 20px 20px 20px;
    overflow-x: hidden;
}

#subBrokerageMenu, #subTeamMenu, #subCounsellorMenu, #subInsuranceMenu, #subUnderwriterMenu, #subNetworkMenu {
    margin-top: 20px;
}

.sidebar-menuItem button,
.sidebar-menuItem span {
  color: rgba(158, 158, 158, 1);
}

.sidebar-menuItem .btn {
  transition: background 0.3s ease;
}

.sidebar-menuItem:hover .btn {
  color: rgba(2, 111, 160, 1) !important;
}

.collapsedBtns .collapsed,
.collapsedBtns {
  width: 20px;
}

.collapsedBtns {
  display: flex;
  justify-content: center;
  align-items: center;
}

.toggleBtnColors {
  background: linear-gradient(180deg, #58b3e1 0%, #0570a5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.card-body {
  padding: 0rem 0.2rem 0.25rem 1.5rem;
}

.btn:focus {
  box-shadow: none;
}

.bottom-menu {
  padding: 20px;
  background: linear-gradient(180deg, rgba(213, 213, 213, 0.6) 0%, rgba(168, 168, 168, 0.6) 100%);
}

.insights-bottomLogo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.insights-bottomMenu_button::after {
  display: none !important;
}

.collapsed .btn-group,
.collapsed .insights-icon {
  opacity: 0;
  transition: opacity 0.3s ease;
  display: none;
}

.collapsed .bottom-menu {
  padding-left: 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 25%;
  padding-bottom: 50px;
}

.collapsed .sidebar-menuItems_container {
  height: 75%;
  flex-direction: column;
}

.card-body a {
  display: block;
  text-align: left;
  padding: 10px 20px;
  text-decoration: none;
  color: rgba(158, 158, 158, 1) !important;
  font-weight: 500;
  font-size: 1rem;
}

.bottom-menu_innerContainer {
  display: flex;
  flex-direction: column;
}

.collapsed .card-body a {
  display: none;
}

.summaryBtns {
  font-size: 18px;
  font-weight: 500;
}

.appSwitch-menu {
    text-align: center;
    width: 300px;
    left: 10px !important;
    padding: 20px 10px;
}

.appSwitch-menu a:hover {
  background-color: transparent;
}

.logout-menu a:hover {
  color: transparent;
  background-color: transparent;
}

.logout-menu a {
  color: rgba(158, 158, 158, 1) !important;
}

.card-body a:focus, .card-body a:hover {
  color: rgba(2, 111, 160, 1) !important;
}

.btn.disabled {
  opacity: unset;
}

.collapsed .sidebar-menuItems_container {
  padding-top: 1rem;
}

/*.left-indicator {
  border-left: 5px solid transparent;
  height: 64px;
  border-radius: 10px;
  margin-right: 5px;
  background: linear-gradient(180deg, #58B3E1 0%, #0570A5 100%) padding-box, 
              linear-gradient(180deg, #58B3E1 0%, #0570A5 100%) border-box;  
  opacity: 0;
  visibility: hidden; 
  transform: scaleX(0); 
  transition: all 0.5s ease-in-out;
  width: 5px;
}

.sidebar-menuItem:hover .left-indicator {
  opacity: 1; 
  visibility: visible;
  transform: scaleX(1); 
}*/

/* Restricted Access page (shown to signed-in users whose profile is not "Paid") */
.restricted-access_container {
    width: 100%;
    min-height: 100vh;
    background-color: #f3f3f3;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px;
}

.restricted-access_content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 80px;
    flex-wrap: wrap;
}

.restricted-access_text {
    max-width: 404px;
}

.restricted-access_title {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 36px;
    color: var(--pineapple-jet);
    margin: 0 0 24px 0;
}

.restricted-access_message {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 124.5%;
    color: var(--pineapple-jet);
    margin: 0;
}

.restricted-access_image {
    width: 339px;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    .restricted-access_content {
        flex-direction: column-reverse;
        gap: 40px;
        text-align: center;
    }

    .restricted-access_image {
        width: 260px;
    }
}

.insights-login_container {
    background-image: url("/img/loginImg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Scrollbar customization (optional) */
.sidebar-menuItems_container::-webkit-scrollbar {
  width: 8px;
}

.sidebar-menuItems_container::-webkit-scrollbar-thumb {
  background-color: lightgray;
  border-radius: 10px;
}

.sidebar-menuItems_container::-webkit-scrollbar-thumb:hover {
  background-color: lightgray;
}

#summaryAgentBtn .collapsed, #summaryAgentBtn, #summaryBrokerageBtn .collapsed, #summaryBrokerageBtn,
#summaryTeamBtn .collapsed, #summaryTeamBtn, #summaryCounsellorBtn .collapsed, #summaryCounsellorBtn,
#summaryInsuranceBtn .collapsed, #summaryInsuranceBtn, #summaryUnderwriterBtn .collapsed, #summaryUnderwriterBtn, 
#summaryNetworkBtn .collapsed, #summaryNetworkBtn {
    width: auto;
}

.appSwitch_oneSpanButton {
    background-image: url("/img/oneSpan.png");
}


@media screen and (max-width: 576px) {
    .insights-login_container {
        background-image: url("/img/mobileLoginBg.png");
    }

    .insights-login_section {
        margin-bottom: 300px;
    }

    .Insights-login_icon {
        width: 300px;
        height: auto;
    }

    .login-button {
        width: 300px;
        height: auto;
    }
}

.report-container {
    height: 800px;
    width: 100%
}
.intro {
    background-color: darkblue;
    color: white;
    font-size: 0.8em;
    padding: 2px;
}

.dataTables_filter,
.dataTables_length {
    margin-top: 0.5em;
    text-align: left !important;
}

.bg-honoluluBlue {
    background-color: #026fa0 !important;
}

.backButtons {
    background: var(--bg-lulublue);
    color: #fff;
}

    .backButtons:hover {
        color: #fff;
    }

.paginate_button page-item active {
    background: var(--bg-lulublue) !important;
}


/* Remove default sort icons */
/*th.sorting:after,
th.sorting_asc:after,
th.sorting_desc:after {
    content: "" !important;
}*/

th.sorting::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0dc"; /* fa-sort */
    padding-left: 5px;
    color: #026fa0 !important;
}

th.sorting_asc::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0de"; /* fa-sort-up */
    padding-left: 5px;
}

th.sorting_desc::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0dd"; /* fa-sort-down */
    padding-left: 5px;
}

.dataTables_length label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
    width:165px;
    padding-bottom:5px
}

.dataTables_wrapper .dataTables_paginate .active .page-link {
    background-color: #026fa0 !important; 
}

.dataTables_empty {
    text-align: center !important;
}

.dataTables_wrapper .dataTables_paginate {
    float: right;
    text-align: right;
}

.one-appSwitcher_icon {
    width: 35px;
    height: 35px;
    margin-bottom: 5px;
    object-fit: contain;
}

.plus-button {
    width: 100%;
    height: auto;
    object-fit: contain;
}