.organized-menu.sidebar{padding:8px 8px 0;display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
.menu-scroll{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#ffccaa transparent;padding:0 3px}
.menu-search{height:36px;display:flex;align-items:center;gap:8px;margin:2px 2px 12px;border:1px solid #d9dee8;border-radius:8px;padding:8px;color:#8190a4}
.menu-search svg{width:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2}
.menu-search input{height:20px;min-height:0;width:100%;min-width:0;border:0;background:transparent;padding:0;font:12px Arial;color:#172033;outline:none}
.menu-search:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.menu-caption{display:flex;align-items:center;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin:7px 8px}
.menu-caption span{color:var(--brand);font-size:21px}
.menu-row{display:flex;align-items:center;position:relative;min-width:0;border-radius:7px;margin:1px 0}
.organized-menu .nav-item{flex:1;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:12px;font-weight:500;text-transform:none;min-height:34px;padding:0 6px;min-width:0}
.organized-menu .nav-icon{border:0;border-radius:0;background:transparent;color:var(--brand);width:22px;min-width:22px;height:25px}
.organized-menu .nav-icon svg{width:20px;height:20px;stroke-width:1.8}
.organized-menu .nav-item:hover .nav-icon,.organized-menu .nav-item.active .nav-icon{background:transparent;color:var(--brand)}
.organized-menu .nav-item.active{background:#fff3e8;color:var(--brand-dark);font-weight:700;box-shadow:inset 3px 0 var(--brand)}
.menu-star{width:26px;height:28px;flex:0 0 26px;border:0;border-radius:5px;background:transparent;color:#a0aaba;padding:5px;cursor:pointer}
.menu-star svg{display:block;width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none}
.menu-star[aria-pressed=true]{color:var(--brand)}.menu-star[aria-pressed=true] svg{fill:var(--brand)}
.menu-star:hover{background:#ffedd5;color:var(--brand-dark)}.menu-star:disabled{opacity:.4;cursor:wait}
.organized-menu :is(a,button,summary):focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.menu-group{border-top:1px solid #edf0f4;margin-top:7px;padding-top:4px}
.menu-group summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:6px;font-size:12px;font-weight:700;color:#172033;min-height:34px;border-radius:6px}
.menu-group summary::-webkit-details-marker{display:none}.menu-group summary:hover{background:#f6f7f9}
.group-label{flex:1}.menu-chevron{font-size:22px;line-height:1;transition:transform .15s}.menu-group[open] .menu-chevron{transform:rotate(90deg);color:var(--brand)}
.menu-group-items{padding-left:9px}.menu-empty{font-size:11px;color:#64748b;line-height:1.5;margin:8px}
.menu-footer{flex-shrink:0;border-top:1px solid #edf0f4;background:#fff;padding:6px 3px 8px}
.menu-footer .nav-item{font-weight:700}.menu-user{display:flex;align-items:center;gap:8px;padding:8px 6px 1px;min-width:0}
.menu-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef1f5;color:#68788e;font-weight:700;flex-shrink:0}
.menu-user>div{min-width:0}.menu-user strong,.menu-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.menu-user small{font-size:10px;color:#68788e;margin-top:3px}
.menu-save-status{font-size:11px;margin:4px 8px;color:#68788e;min-height:0}.menu-save-status:empty{display:none}
.organized-menu [hidden]{display:none!important}
.app-frame.nav-collapsed .organized-menu{padding:8px 5px 0}
.app-frame.nav-collapsed .organized-menu :is(.menu-search,.menu-caption,.menu-star,.group-label,.menu-chevron,.menu-group-items,.menu-user,.menu-empty,.menu-save-status){display:none}
.app-frame.nav-collapsed .organized-menu .nav-item{width:40px;min-height:36px;grid-template-columns:22px;justify-content:center;margin:0 auto;padding:0;flex:none}
.app-frame.nav-collapsed .menu-row{justify-content:center}
.app-frame.nav-collapsed .menu-group summary{justify-content:center;padding:6px 0}
@media(max-width:900px){
 .app-frame .organized-menu.sidebar{position:fixed;top:84px;left:0;bottom:0;width:min(290px,90vw);height:calc(100dvh - 84px);max-height:none;z-index:25;box-shadow:8px 0 24px #17203322;display:flex}
 .app-frame.nav-collapsed .organized-menu.sidebar{display:none}
 .seller-mobile-layout .organized-menu.sidebar{display:none}
}
@media print{.organized-menu.sidebar{display:none!important}}

.app-frame.seller-mobile-layout .organized-menu.sidebar{display:none}

.organized-menu .nav-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;overflow-wrap:break-word}
.organized-menu .nav-item{padding-top:7px;padding-bottom:7px}
.app-frame.nav-collapsed .organized-menu .nav-item{padding:0}

/* Keep the header outside both the module and navigation scroll areas. */
@media screen {
 html,body{height:100%;overflow:hidden}
 .app-frame,.app-frame.movement-layout,.app-frame.route-config-layout{height:100vh;height:100dvh;min-height:0;overflow:hidden;grid-template-rows:64px minmax(0,1fr)}
 .app-frame>.topbar{grid-row:1;min-height:0;height:64px;position:relative;top:auto;padding-top:0;padding-bottom:0}
 .app-frame .brand-logo{height:64px}
 .app-frame>.content{grid-row:2;min-height:0;overflow:auto;overscroll-behavior:contain}
 .app-frame.movement-layout>.content,.app-frame.route-config-layout>.content{overflow:hidden}
 .app-frame .organized-menu.sidebar{grid-row:2;position:relative;top:auto;height:100%;min-height:0;max-height:none}
 @media(max-width:900px){
  .app-frame .organized-menu.sidebar{position:fixed;top:64px;height:calc(100dvh - 64px);bottom:0}
 }
}
/* Fit movement entry to the actual content area, including the complete totals footer. */
@media screen {
 .app-frame.movement-layout>.content{overflow:auto;min-height:0}
 .app-frame.movement-layout .movement-shell{height:calc(100% - 20px);min-height:0;box-sizing:border-box;margin-bottom:16px}
 .app-frame.movement-layout .movement-client-bar{flex:0 0 auto}
 .app-frame.movement-layout .movement-form{min-height:180px;flex:1 1 0}
 .app-frame.movement-layout .movement-form>.table-wrap{flex:1 1 0;min-height:80px;overflow:auto}
 .app-frame.movement-layout .movement-form>.totals-card{flex:0 0 auto}
}
