#sidebar {
    position: sticky;
    top: 0;
    height: calc(100vh - var(--header-height));
    min-height: calc(100vh - var(--header-height));
    overflow: hidden;
    display: flex;
    flex-direction: column;

    color: #fff;
    transition: color 0.1s ease, background-color 0.1s ease;
    min-width: 100%;
    max-width: 100%;
    padding: var(--space-8, 24px) 0 calc(var(--space-6, 24px) + 56px) var(--space-6, 24px);
    background: url(/static/css/redwood-layer/img/sidebar.svg) var(--blue-base) no-repeat bottom;
    background-size: auto;
}

/* Sidebar resets and accessibility */
#sidebar ul { list-style: none; margin: 0; padding: 0; }
#sidebar button:focus-visible {
    outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, #0A84FF);
    outline-offset: var(--focus-ring-offset, 2px);
}
@media (prefers-reduced-motion: reduce) {
    #sidebar, #sidebar a { transition: none !important; }
}

#sidebar .sidebar-header {
    padding: 0;
    margin-bottom: calc(var(--space-6, 24px) * 2);
}

.farapp-logo {
    display: block;
    max-width: 125px;
}

#sidebar ul li a {
    line-height: 20px;
    padding: var(--space-2, 8px) 0;
    display: block;
    color: #FFF;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.dashboard-nav-label {
    padding-left: 28px !important;
}

.storefront-nav-label, .dashboard-nav-label {
    padding-top: 1.1em!important;
    padding-bottom: 1.1em!important;
}

#sidebar ul li a:hover,
#sidebar ul li a:focus {
    color: #B7F1DC;
}

#sidebar ul li a:focus-visible,
.add-connector-container:focus-visible {
    outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, #0A84FF);
    outline-offset: var(--focus-ring-offset, 2px);
}

#sidebar ul li > ul li .dropdown.account-dropdown-outer-div a:hover,
#sidebar ul li > ul li .dropdown.account-dropdown-outer-div a:focus {
    color: var(--font-dark);
}

#sidebar a, #sidebar a:hover, #sidebar a:focus {
    color: inherit;
    text-decoration: none;
    transition: color 0.1s ease, background-color 0.1s ease;
}

#sidebar ul ul a {
    padding-left: 1.5em !important;
}

#sidebar ul ul ul a {
    padding-left: 3em !important;
}

#sidebar ul ul ul ul a {
    padding-left: 4.5em !important;
}

#sidebar ul ul.dropdown-menu-subaccount a {
    padding-left: 1em !important;
    color: var(--font-dark) !important;
}

.dropdown-chevron {
    padding-right: 0.5em;
}

.account-dropdown-btn {
    width: 100%;
    font-size: 16px;
    color: var(--font-dark) !important;
}

.account-dropdown-outer-div {
    padding: 0.5em 5% 1em;
    position: relative;
}

.subaccount-chevron {
    float: right;
}

.dropdown-menu-subaccount {
    padding: 0;
    width: 90%;
    margin: -.8em 0 0;
    left: 50% !important;
    transform: translateX(-50%);
    overflow-x: hidden;
    color: var(--font-dark);
}
.long-dropdown {
    max-height: 25em;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.sidebar-sublink {
    padding-top: 1.1em!important;
    padding-bottom: 1.1em!important;
}

.sidebar-sublink.disabled {
    color: #888888!important;
    cursor: not-allowed;
    opacity: .7;
    pointer-events: none;
}

.sidebar-link-active {
    background: #437C94;
    border-radius: var(--radius-1, 6px);
    color: #FFF;
}

.add-connector-circle {
    height: 40px;
    width: 40px;
    padding-top: 8px;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    background-color: #16A8E0;
    display: inline-block;
}

.add-connector-container {
    text-align: center;
    margin-top: auto;
}

.add-connector-label {
    font-size: .9em;
    font-weight: bold;
    text-align: center;
    margin: 0;
    padding-top: 15px;
    padding-bottom: 15px;
}

.sidebar-nav-list {
    padding-bottom: 88px !important;
    padding-left: var(--space-6, 24px) !important;
    padding-right: var(--space-6, 24px) !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    min-height: 0;
    /* Reserve space for scrollbar and style it to better match the sidebar */
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: rgba(255, 255, 255, 0.36) transparent; /* Firefox */
}

#sidebar button.add-connector-container {
    width: calc(100% - var(--space-6, 24px));
    margin-right: var(--space-6, 24px);
}

.active-dropdown-chevron {
    color: #28BC93;
}

.sidebar-button {
    border: 1px solid #F6F6F6;
    background: none;
    width: 100%;
    display: block;
    text-align: center;
    padding: var(--space-2, 8px) var(--space-4, 16px);
    border-radius: var(--radius-1, 6px);
    color: inherit;
}

.sidebar-button:hover {
    background: rgba(255, 255, 255, 0.08);
}

.sidebar-button:focus-visible {
    outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, #0A84FF);
    outline-offset: var(--focus-ring-offset, 2px);
}

/* Sidebar scrollbar theming */
/* WebKit-based (Chrome, Edge, Safari) */
#sidebar .sidebar-nav-list::-webkit-scrollbar {
    width: 8px;
}
#sidebar .sidebar-nav-list::-webkit-scrollbar-track {
    background: transparent;
}
#sidebar .sidebar-nav-list::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    border: 2px solid transparent; /* creates inner padding for softer look */
    background-clip: padding-box;
}
#sidebar .sidebar-nav-list:hover::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.40);
}
#sidebar .sidebar-nav-list::-webkit-scrollbar-thumb:active {
    background-color: rgba(255, 255, 255, 0.55);
}

/* Sidebar collapse toggle button */
.sidebar-toggle {
    position: absolute;
    bottom: 45px;
    right: 30px;
    z-index: 2;

    /* keep compact, just fit the icon */
    width: 36px;
    height: 36px;
    padding: 4px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sidebar-toggle:focus-visible {
    outline: var(--focus-ring-width, 2px) solid var(--focus-ring-color, #0A84FF);
    outline-offset: var(--focus-ring-offset, 2px);
}

/* Collapsed sidebar state visuals */
.flex-container.sidebar-collapsed #sidebar {
    padding: 8px;
    align-items: center;
}
.flex-container.sidebar-collapsed #sidebar .sidebar-header,
.flex-container.sidebar-collapsed #sidebar .sidebar-nav-list,
.flex-container.sidebar-collapsed #sidebar .add-connector-container {
    display: none !important;
}
/* keep the toggle pinned bottom-right when collapsed */
.flex-container.sidebar-collapsed .sidebar-toggle {
    bottom: 45px;
    right: 8px;
}

/* Align header bar when collapsed */
.flex-container.sidebar-collapsed .header-wrapper .farapp-nav-bar {
    margin-left: 0 !important;
}
