/* Shared navigation tokens: one type scale and rhythm for the entire sidebar. */
#kt_app_sidebar_mobile_toggle { width: 44px; height: 44px; }
#kt_app_sidebar {
    --sidebar-surface: #f1efea;
    --sidebar-ink: #2b2926;
    --sidebar-secondary: #5e574f;
    --sidebar-muted: #70685f;
    --sidebar-border: rgba(43, 41, 38, 0.1);
    --sidebar-accent: #315f75;
    --sidebar-hover: rgba(43, 41, 38, 0.055);
    --sidebar-selected: #dce6e5;
    --sidebar-row-height: 40px;
    --sidebar-type: 14px;
    --sidebar-radius: 8px;
    background: var(--sidebar-surface);
    border-inline-end: 1px solid var(--sidebar-border);
    box-shadow: none;
    font-family: Inter, Helvetica, sans-serif;
}
#kt_app_sidebar .app-sidebar-logo {
    min-height: 80px;
    height: 80px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 0;
}
#kt_app_sidebar .app-sidebar-logo a {
    min-width: 0;
    background: transparent;
    border: 1px solid var(--sidebar-border);
    border-radius: var(--sidebar-radius);
    padding: 4px;
}
#kt_app_sidebar .app-sidebar-logo-default { height: 56px; max-width: 100%; object-fit: contain; }
#kt_app_sidebar .app-sidebar-logo-minimize { height: 32px; max-width: 100%; object-fit: contain; }
.app-sidebar-brand-link { display: inline-flex; align-items: center; min-width: 0; }
.app-brand-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: var(--sidebar-radius, 8px);
    background: var(--sidebar-selected, #eef3f8);
    color: var(--sidebar-ink, #1f2937);
    font-weight: 700;
    line-height: 1;
}
.app-brand-fallback-name { height: auto; min-height: 32px; max-width: 170px; line-height: 1.2; }
.app-brand-fallback-mobile { padding: 0; width: 32px; }
[data-bs-theme="dark"] #kt_app_sidebar {
    --sidebar-surface: #252421;
    --sidebar-ink: #eeeae3;
    --sidebar-secondary: #c4bdb3;
    --sidebar-muted: #a49c92;
    --sidebar-border: rgba(255, 254, 252, 0.09);
    --sidebar-accent: #9acbd8;
    --sidebar-hover: #302f2b;
    --sidebar-selected: #32434a;
}
#kt_app_sidebar .app-sidebar-toggle {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: var(--sidebar-radius);
    color: var(--sidebar-muted);
    background: var(--sidebar-surface);
    box-shadow: none;
    position: static;
    transform: none;
}
#kt_app_sidebar .app-sidebar-toggle i { font-size: 20px; }
#kt_app_sidebar .app-sidebar-toggle:hover { background: var(--sidebar-hover); }
#kt_app_sidebar .sidebar-mobile-close {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: var(--sidebar-radius);
    color: var(--sidebar-secondary);
}
#kt_app_sidebar .sidebar-mobile-close i { font-size: 20px; color: inherit; }
#kt_app_sidebar .app-sidebar-wrapper { margin: 8px 0; }
#kt_app_sidebar_menu { padding: 0 12px 16px; }
#kt_app_sidebar_menu .sidebar-section { margin-top: 16px; }
#kt_app_sidebar_menu .sidebar-section:not(:has(.menu-link)) { display: none; }
#kt_app_sidebar_menu .sidebar-heading { padding: 0 12px 8px; }
#kt_app_sidebar_menu .menu-heading,
#kt_app_sidebar_menu .sidebar-subheading {
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    letter-spacing: 0.065em;
    text-transform: uppercase;
    color: var(--sidebar-muted) !important;
}
#kt_app_sidebar_menu .menu-item { padding: 0; }
#kt_app_sidebar_menu .menu-link {
    width: 100%;
    min-height: var(--sidebar-row-height);
    padding: 8px 12px;
    gap: 8px;
    border: 0;
    border-radius: var(--sidebar-radius);
    background: transparent;
    text-align: start;
    color: var(--sidebar-ink);
    font: 500 var(--sidebar-type)/20px Inter, Helvetica, sans-serif;
}
#kt_app_sidebar_menu .menu-title {
    font: inherit;
    color: inherit;
    min-width: 0;
    overflow-wrap: anywhere;
}
#kt_app_sidebar_menu .menu-icon {
    width: 24px;
    flex: 0 0 24px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sidebar-muted);
}
#kt_app_sidebar_menu .menu-icon i { font-size: 20px; color: inherit; }
#kt_app_sidebar_menu .menu-arrow { margin: 0 0 0 auto; flex-shrink: 0; }
#kt_app_sidebar_menu .menu-sub { margin: 0; padding-left: 32px; }
#kt_app_sidebar_menu .menu-item.show > .menu-sub { position: relative; }
#kt_app_sidebar_menu .menu-item.show > .menu-sub::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 35px;
    width: 1px;
    background: rgba(49, 95, 117, 0.22);
}
#kt_app_sidebar_menu .menu-sub .menu-link { font-weight: 400; color: var(--sidebar-secondary); }
#kt_app_sidebar_menu .menu-sub .menu-content { padding: 12px 12px 4px; }
#kt_app_sidebar_menu .menu-link:hover:not([aria-disabled="true"]),
#kt_app_sidebar_menu .menu-item.here > button.menu-link { background: var(--sidebar-hover); color: var(--sidebar-ink); }
#kt_app_sidebar_menu .menu-link.active {
    position: relative;
    color: var(--sidebar-accent);
    background: var(--sidebar-selected);
    font-weight: 600;
}
#kt_app_sidebar_menu .menu-sub > .menu-item > .menu-link.active::before {
    content: "";
    position: absolute;
    left: -1px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sidebar-accent);
    box-shadow: 0 0 0 3px var(--sidebar-surface);
}
#kt_app_sidebar_menu .menu-link.active .menu-icon { color: inherit; }
#kt_app_sidebar :is(a, button):focus-visible {
    outline: 2px solid var(--sidebar-accent);
    outline-offset: -2px;
    border-radius: var(--sidebar-radius);
}
#kt_app_sidebar_menu .sidebar-unavailable { color: var(--sidebar-muted); cursor: default; }
#kt_app_sidebar_menu .sidebar-availability { display: block; font-size: 12px; line-height: 16px; font-weight: 400; }
@media (min-width: 992px) {
    /* Keep the collapsed rail navigable when a keyboard user enters it. */
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within { width: 265px; z-index: 106; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within .app-sidebar-wrapper { width: 265px; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within :is(.menu-title, .menu-content) { opacity: 1; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within .menu-item.show > .menu-sub { height: auto; overflow: visible; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within .app-sidebar-logo-default { display: inline-block; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:focus-within .app-sidebar-logo-minimize { display: none; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:not(:hover):not(:focus-within) .app-sidebar-toggle { display: none; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:not(:hover):not(:focus-within) .sidebar-section { margin-top: 8px; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:not(:hover):not(:focus-within) :is(.sidebar-heading, .menu-arrow) { display: none; }
    body[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:not(:hover):not(:focus-within) .menu-sub { visibility: hidden; }
}
@media (max-width: 991.98px) {
    #kt_app_sidebar { --sidebar-row-height: 44px; max-width: 88vw; }
    #kt_app_sidebar .app-sidebar-toggle { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    #kt_app_sidebar, #kt_app_sidebar * { transition: none !important; animation: none !important; }
}
