/* Native UI subtrees own their styles, including portals and print hosts. */
@scope (:root:not([data-kms-ui="native"])) to ([data-kms-ui="native"]) {
/* Menu panels only: shared platform palette, hierarchy and finance-style fold rail. */
.kms-platform-sidebar.kms-platform-sidebar {
 background:var(--kms-sidebar-bg,#0b1220) !important; color:var(--kms-sidebar-text,#cbd5e1);
 border-right:1px solid #334155 !important; border-radius:2px; box-sizing:border-box;
}
.kms-platform-sidebar :is(.acc-menu-link,.ev2-item,.menu a,[data-kms-sidebar-level]) { border-radius:2px !important; box-sizing:border-box; }
.kms-platform-sidebar [data-kms-sidebar-level="1"] {
 background:var(--kms-sidebar-group,#1e3557) !important; color:#dbeafe !important;
 border-left:4px solid #60a5fa !important; padding:8px 10px !important; margin-top:6px;
 font-size:13.5px !important; font-weight:700 !important;
}
.kms-platform-sidebar [data-kms-sidebar-level="2"] {
 background:var(--kms-sidebar-item,#101c2e) !important; color:#cbd5e1 !important;
 border-left:2px solid #93c5fd !important; margin-left:8px !important; padding:8px 6px !important;
 font-size:13px !important; font-weight:500 !important;
}
.kms-platform-sidebar [data-kms-sidebar-level="3"] {
 background:var(--kms-sidebar-detail,#172944) !important; color:#dbeafe !important;
 border-left:2px solid #60a5fa !important; margin-left:16px !important; padding:7px 6px !important; font-size:12.5px !important;
}
.kms-platform-sidebar [data-kms-sidebar-level="3"]::before { content:'└'; margin-right:5px; color:#60a5fa; }
.kms-platform-sidebar [data-kms-sidebar-level]:hover { background:#1d4ed8 !important; color:#fff !important; }
.kms-platform-sidebar :is([data-kms-sidebar-level].on,[data-kms-sidebar-level].active,.active > [data-kms-sidebar-level],[aria-current="page"]) {
 background:linear-gradient(135deg,#1e3a8a,#2563eb) !important; color:#fff !important;
 font-weight:700 !important; border-left:3px solid #93c5fd !important;
}
.kms-sidebar-group-head { cursor:pointer; position:relative; padding-right:24px !important; }
.kms-sidebar-group-head::after { content:'▾'; float:right; margin-left:6px; transition:transform .15s; }
.kms-sidebar-group-head[aria-expanded="false"]::after { transform:rotate(-90deg); }
.kms-sidebar-group[hidden] { display:none !important; }
.kms-sidebar-group { margin-left:8px; border-left:2px solid #93c5fd; padding-left:6px; }
.kms-sidebar-group-head:focus-visible,.kms-sidebar-toggle:focus-visible { outline:2px solid #60a5fa; outline-offset:-2px; }
.kms-platform-sidebar .kms-sidebar-toggle {
 background:#1e3557 !important; color:#e2e8f0 !important; border:1px solid #475569 !important; border-radius:2px !important;
 min-height:28px; cursor:pointer;
}
.kms-platform-sidebar.kms-sidebar-collapsed { width:40px !important; min-width:40px !important; flex-basis:40px !important; padding:0 !important; overflow:hidden; }
.kms-platform-sidebar.kms-sidebar-collapsed > :not(.kms-sidebar-toggle) { display:none !important; }
.kms-sidebar-layout-collapsed { grid-template-columns:40px minmax(0,1fr) !important; }
.kms-sidebar-mobile-toggle { display:none; }
@media (min-width:761px) {
 html.kms-platform-ui.ev2-shell.ev2-mini { --ev2-side-w:40px; }
 html.kms-platform-ui .side.min { width:40px; min-width:40px; flex-basis:40px; }
 .ev2-mini .kms-sidebar-group { display:none; }
 .side.min .kms-sidebar-group { margin:0; padding:0; border:0; }
 .side.min .kms-sidebar-group-head { display:none; }
 .side.min .kms-sidebar-group [data-kms-sidebar-level] { margin-left:0 !important; padding-left:0 !important; border-left:0 !important; }
}
@media (max-width:760px) {
 .kms-sidebar-mobile-toggle { display:block; position:fixed; z-index:105; left:8px; bottom:120px; height:32px; padding:0 10px; border:1px solid #334155; border-radius:2px; background:#1e3a8a; color:#fff; }
 html.kms-platform-ui .ev2-side.kms-sidebar-mobile-open { display:flex !important; position:fixed; inset:0 auto 0 0; width:248px; z-index:104; }
}
@media (prefers-reduced-motion:reduce) { .kms-sidebar-group-head::after { transition:none; } }

.kms-sidebar-rail { display:none; flex-direction:column; align-items:center; gap:5px; padding:6px 0; }
.kms-platform-sidebar.kms-sidebar-is-collapsed { width:48px !important; min-width:48px !important; flex-basis:48px !important; }
.kms-sidebar-rail-layout,.kms-sidebar-layout-collapsed { grid-template-columns:48px minmax(0,1fr) !important; }
.kms-sidebar-is-collapsed > .kms-sidebar-rail { display:flex !important; }
.kms-sidebar-is-collapsed :is(.acc-menu-container,.ev2-nav,.menu) { display:none !important; }
.kms-sidebar-rail-item { width:36px; height:34px; padding:0; background:#1e3557; border:1px solid #334155; border-radius:2px; color:#dbeafe; font-size:12px; font-weight:600; cursor:pointer; }
.kms-sidebar-rail-item:is(:hover,:focus-visible,.is-active) { background:#2563eb; color:#fff; outline:2px solid #93c5fd; outline-offset:0; }
.kms-sidebar-flyout { position:fixed; z-index:850; min-width:220px; max-width:min(320px,calc(100vw - 64px)); max-height:calc(100vh - 80px); overflow:auto; border:1px solid #475569; border-radius:2px; background:#0f1e33; color:#e2e8f0; padding:8px; box-shadow:0 12px 28px rgba(15,23,42,.24); }
.kms-sidebar-flyout-title { display:block; width:100%; background:#1e3557; color:#dbeafe; border:0; border-left:4px solid #60a5fa; padding:8px 10px; margin-bottom:6px; font-size:13.5px; font-weight:700; text-align:left; }
.kms-sidebar-flyout :is(a,.acc-menu-link,button:not(.kms-sidebar-flyout-title)) { display:block; background:#101c2e; color:#dbeafe; border:0; border-left:2px solid #93c5fd; padding:8px; margin:2px 0 2px 6px; text-decoration:none; cursor:pointer; border-radius:2px; font-size:13px; }
.kms-sidebar-flyout :is(a,.acc-menu-link,button):hover { background:#1d4ed8; color:#fff; }
.kms-sidebar-flyout .acc-submenu-wrapper { display:block !important; margin-left:8px; border-left:2px solid #60a5fa; }
.kms-sidebar-flyout [data-kms-sidebar-level="3"] { background:#172944; margin-left:12px; }
.kms-sidebar-flyout :is(ul,li) { list-style:none; margin:0; padding:0; }
@media (min-width:761px) { html.kms-platform-ui.ev2-shell.ev2-mini { --ev2-side-w:48px; } }
/* Put scrolling on the left edge without reversing labels or menu hierarchy. */
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu),
.kms-platform-sidebar:is(.sidebar,.side-nav,#left_menu,.left_menu) {
 direction:rtl !important; overflow-y:auto !important; scrollbar-width:thin; scrollbar-color:#475569 transparent;
}
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu) > *,
.kms-platform-sidebar:is(.sidebar,.side-nav,#left_menu,.left_menu) > * { direction:ltr !important; text-align:left !important; }
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu)::-webkit-scrollbar { width:6px; }
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu)::-webkit-scrollbar-thumb { background:#475569; border-radius:2px; }
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu)::-webkit-scrollbar-thumb:hover { background:#60a5fa; }
.kms-platform-sidebar :is(.acc-menu-container,.ev2-nav,.menu)::-webkit-scrollbar-track { background:transparent; }
.kms-sidebar-is-collapsed :is(.side-foot,.ev2-side-foot,.side-ai) { display:none !important; }
.kms-sidebar-is-collapsed :is(.side-brand,.ev2-brand) { flex-direction:column !important; padding:8px 4px !important; gap:6px; }
.kms-sidebar-is-collapsed :is(.side-brand,.ev2-brand) .kms-side-fold { position:static; flex-shrink:0; }

}
