/* Shared navigation: readable labels and a distinct icon for each destination. */
body:not(.h-menu) #left-sidebar {
    background: #19343f !important;
    color: #edf5f8;
    border-right: 1px solid #29444e;
    font-family: "Segoe UI", Arial, sans-serif;
}

#left-sidebar > .sidebar-scroll {
    scrollbar-color: #526e7b transparent;
}
#left-sidebar > .sidebar-scroll::-webkit-scrollbar-thumb { background: #526e7b; }

#left-sidebar .user-account {
    display: block;
    margin: 14px 12px 6px;
    padding: 0;
    border: 1px solid #ffffff12;
    border-radius: 10px;
    background: #ffffff05;
}
#left-sidebar .hospital-profile-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 10px;
    border-radius: 9px;
    cursor: pointer;
    list-style: none;
}
#left-sidebar .hospital-profile-toggle::-webkit-details-marker { display: none; }
#left-sidebar .hospital-profile-toggle::marker { content: ""; }
#left-sidebar .hospital-profile-toggle:hover { background: #ffffff06; }
#left-sidebar .user-account .user_div { flex: 0 0 34px; padding: 0; }
#left-sidebar .user-account .user-photo { width: 34px; border-radius: 9px; }
#left-sidebar .hospital-profile-copy { flex: 1; min-width: 0; }
#left-sidebar .hospital-profile-welcome {
    display: block;
    color: #afc2cc;
    font-size: 10px;
    line-height: 1.6;
}
#left-sidebar .user-account .user-name {
    display: block;
    color: #f1f7f9;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;
    white-space: normal;
    overflow-wrap: anywhere;
}
#left-sidebar .hospital-profile-chevron {
    flex: 0 0 10px;
    color: #afc2cc;
    font-size: 13px;
}
#left-sidebar .hospital-profile[open] .hospital-profile-chevron { transform: rotate(180deg); }
/* The expanded menu stays in the scrollable sidebar's normal flow. */
#left-sidebar .hospital-profile-menu {
    margin: 0 9px 9px;
    padding-top: 5px;
    border-top: 1px solid #ffffff1a;
}
#left-sidebar .hospital-profile-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 6px;
    color: #e0eaf0;
    font-size: 13px;
    text-decoration: none;
}
#left-sidebar .hospital-profile-menu a i { width: 16px; text-align: center; color: #8ed6cb; }
#left-sidebar .hospital-profile-menu a:hover { background: #ffffff0d; color: #fff; }

#left-sidebar #left-sidebar-nav { margin: 0; padding: 0 10px; }
#left-sidebar #main-menu { padding: 0 0 8px; }
#left-sidebar #main-menu > .hospital-nav-heading {
    display: block;
    margin: 22px 10px 8px;
    padding: 0;
    color: #afc2cc;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.6;
    letter-spacing: .85px;
    text-transform: uppercase;
    white-space: normal;
}
#left-sidebar #main-menu > .hospital-nav-heading:first-child { margin-top: 16px; }
#left-sidebar #main-menu > .hospital-nav-item {
    --nav-icon-color: #8ed6cb;
    --nav-icon-bg: #8ed6cb12;
    margin: 3px 0;
    padding: 0;
}
#left-sidebar #main-menu > .hospital-nav-blue { --nav-icon-color: #9bc9ef; --nav-icon-bg: #9bc9ef12; }
#left-sidebar #main-menu > .hospital-nav-violet { --nav-icon-color: #c9b6ed; --nav-icon-bg: #c9b6ed12; }
#left-sidebar #main-menu > .hospital-nav-amber { --nav-icon-color: #e9c887; --nav-icon-bg: #e9c88712; }

#left-sidebar #main-menu > .hospital-nav-item > a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #e0eaf0;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.45;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#left-sidebar #main-menu > .hospital-nav-item > a > .hospital-nav-icon {
    display: inline-flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    border-radius: 7px;
    background: var(--nav-icon-bg);
    color: var(--nav-icon-color);
    font-size: 15px;
    line-height: 1;
    text-align: center;
}
#left-sidebar #main-menu .hospital-nav-label {
    flex: 1;
    min-width: 0;
    letter-spacing: .05px;
    white-space: normal;
    overflow-wrap: break-word;
}
#left-sidebar #main-menu > .hospital-nav-item > a:hover {
    border-color: #ffffff12;
    background: #ffffff09;
    color: #fff;
}
#left-sidebar #main-menu > .hospital-nav-item.active > a,
#left-sidebar #main-menu > .hospital-nav-item > a[aria-current="page"] {
    border-color: #42757f;
    background: #244e59;
    color: #fff;
    font-weight: 650;
}
#left-sidebar #main-menu > .hospital-nav-item > a[aria-current="page"]::before {
    position: absolute;
    top: 11px;
    bottom: 11px;
    left: -1px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #7de0cf;
    content: "";
}
#left-sidebar #main-menu > .hospital-nav-item > a[aria-current="page"] > i {
    background: #7de0cf1a;
    color: #a3f3e4;
}
#left-sidebar #main-menu > .hospital-nav-item > a:focus-visible,
#left-sidebar .user-account a:focus-visible,
#left-sidebar .hospital-profile-toggle:focus-visible {
    outline: 2px solid #8ce3d4;
    outline-offset: 2px;
}

/* Keep the existing compact sidebar usable with labels hidden. */
body.mini_sidebar:not(.mini_hover) #left-sidebar .user-account,
body.mini_sidebar:not(.mini_hover) #left-sidebar #main-menu > .hospital-nav-heading,
body.mini_sidebar:not(.mini_hover) #left-sidebar #main-menu .hospital-nav-label {
    display: none;
}
body.mini_sidebar:not(.mini_hover) #left-sidebar #left-sidebar-nav { padding: 0 4px; }
body.mini_sidebar:not(.mini_hover) #left-sidebar #main-menu > .hospital-nav-item > a {
    justify-content: center;
    gap: 0;
    padding: 6px 0;
}
body.h-menu #left-sidebar #main-menu > .hospital-nav-heading,
body.h-menu #left-sidebar .user-account { display: none; }

@media (prefers-reduced-motion: reduce) {
    #left-sidebar #main-menu > .hospital-nav-item > a { transition: none; }
}
