/* Shared portal chrome: existing business content and print flows retained. */
.portal-shell-page{--portal-side:200px;--portal-head:54px;--portal-tabs:36px}
.portal-shell-page #app{padding-left:var(--portal-side);padding-top:90px;min-height:100vh;box-sizing:border-box}
.portal-shell-page.portal-side-collapsed{--portal-side:64px}
.portal-shell-page .page{max-width:none!important;margin:0!important;padding:20px!important;box-sizing:border-box}
.portal-shell-page .page.shell-account-content{max-width:1000px!important}
.portal-side{position:fixed;inset:0 auto 0 0;width:var(--portal-side);z-index:1100;background:#304156;color:#bfcbd9;display:flex;flex-direction:column;font-size:14px}
.portal-brand{height:54px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:17px;font-weight:600;white-space:nowrap;text-decoration:none;flex-shrink:0;letter-spacing:.5px}
.portal-brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#426182;color:#fff;font-size:13px;letter-spacing:.5px}
.portal-menu-scroll{flex:1;min-height:0;width:100%}
.portal-menu-scroll .el-scrollbar__wrap{height:100%;overflow-x:hidden!important;margin-right:0!important;margin-bottom:0!important;scrollbar-width:none}
.portal-menu-scroll .el-scrollbar__wrap::-webkit-scrollbar{width:0;height:0;display:none}
.portal-menu-scroll>.el-scrollbar__bar.is-horizontal{display:none}
.portal-menu-scroll>.el-scrollbar__bar.is-vertical{right:0;width:6px}
.portal-menu-scroll:focus-within>.el-scrollbar__bar{opacity:1}
.portal-menu{padding:12px 0;box-sizing:border-box}
/* Keep already-open pages scrollable while they still use the previous shell script. */
.portal-side>.portal-menu{overflow-y:auto;flex:1;min-height:0;scrollbar-width:none}
.portal-side>.portal-menu::-webkit-scrollbar{width:0;height:0;display:none}
.portal-menu a{height:52px;display:flex;align-items:center;gap:14px;color:#bfcbd9;padding:0 22px;text-decoration:none;white-space:nowrap;box-sizing:border-box;border-left:3px solid transparent;transition:background-color .14s,color .14s}
.portal-menu a:hover{background:#26364a;color:#fff}
.portal-menu a.active{background:#1f2d3d;color:#6bb2ff;border-left-color:#6bb2ff}
.portal-menu a i{font-size:18px;width:20px;text-align:center;flex-shrink:0}
.portal-side-foot{padding:16px 18px;font-size:11px;color:#9baec4;white-space:nowrap;border-top:1px solid #3a4d64;flex-shrink:0}
.portal-side-collapsed .portal-menu a{padding:0 19px}.portal-side-collapsed .portal-menu a span,.portal-side-collapsed .portal-brand-text,.portal-side-collapsed .portal-side-foot{display:none}
.portal-top{position:fixed;top:0;left:var(--portal-side);right:0;height:54px;z-index:1090;background:#fff;display:flex;align-items:center;border-bottom:1px solid #edf1f6;padding:0 20px 0 12px;box-sizing:border-box;gap:14px}
.portal-icon-button{border:0;background:transparent;color:#52617a;width:34px;height:34px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.portal-icon-button:hover{background:#edf3ff;color:#2f61c6}
.portal-drawer-close{position:absolute;top:11px;right:6px;color:#d8e4f3;width:28px;height:32px}
.portal-mobile-open .portal-brand{padding-right:24px}
.portal-crumb{font-size:13px;color:#52617a;display:flex;gap:10px;align-items:center;white-space:nowrap}.portal-crumb .muted{color:#8c98aa}
.portal-top-right{margin-left:auto;display:flex;gap:14px;align-items:center;min-width:0;font-size:13px}
.portal-user{color:#67758a;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-account-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#40526f;white-space:nowrap}
.portal-account-link:hover{color:#2f61c6}
.portal-tabs{position:fixed;left:var(--portal-side);top:54px;right:0;height:36px;box-sizing:border-box;display:flex;align-items:center;gap:5px;padding:4px 15px;background:#fff;border-bottom:1px solid #dfe6ef;z-index:1080;overflow-x:auto;scrollbar-width:thin}
.portal-tab{display:inline-flex;align-items:center;flex-shrink:0;gap:7px;height:26px;border:1px solid #dfe4ed;padding:0 8px;box-sizing:border-box;background:#fff;font-size:12px;color:#51617b;text-decoration:none;cursor:pointer}
.portal-tab.active{background:#2f61c6;color:#fff;border-color:#2f61c6}
.portal-tab.active:before{content:'';width:7px;height:7px;background:#fff;border-radius:50%}
.portal-tab-close{background:none;border:0;color:inherit;border-radius:50%;font-size:12px;padding:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.portal-tab-close:hover{background:rgba(139,159,185,.25)}
.portal-backdrop{position:fixed;inset:0;background:rgba(14,27,44,.4);z-index:1095;border:0;display:none}
.portal-shell-page button:focus-visible,.portal-shell-page a:focus-visible{outline:2px solid #609cff;outline-offset:2px}
@media(max-width:767px){
 .portal-shell-page{--portal-side:0px}.portal-shell-page.portal-side-collapsed{--portal-side:0px}
 .portal-side{display:none;width:220px}.portal-mobile-open .portal-side{display:flex}.portal-mobile-open .portal-backdrop{display:block}
 .portal-top{padding:0 12px 0 8px;gap:8px}.portal-top-right{gap:10px}.portal-user{display:none}.portal-crumb{gap:6px;font-size:12px}.portal-top-right .portal-account-link span{font-size:12px}
 .portal-tabs{padding-left:10px;padding-right:10px}.portal-shell-page .page{padding:12px 10px!important}
 .portal-side-collapsed .portal-brand-text,.portal-side-collapsed .portal-menu a span,.portal-side-collapsed .portal-side-foot{display:initial}.portal-side-collapsed .portal-menu a{padding:0 22px}
}
@media(prefers-reduced-motion:reduce){.portal-menu a,.portal-menu-scroll>.el-scrollbar__bar,.portal-menu-scroll .el-scrollbar__thumb{transition:none!important}}
@media print{.portal-side,.portal-top,.portal-tabs,.portal-backdrop{display:none!important}.portal-shell-page #app{padding:0}}

.portal-tab-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;height:24px}.portal-mobile-open{overflow:hidden}.portal-tab button:focus-visible{outline-offset:0}

/* Customer warehouse navigation, shared by existing and new pages. */
.portal-menu-group{width:100%;border:0;background:none;color:#7a879a;text-align:left;padding:14px 22px 6px;cursor:pointer;font-size:12px}.portal-menu .portal-menu-child{padding-left:32px}.portal-side-collapsed .portal-menu-group{display:none}.portal-side-collapsed .portal-menu .portal-menu-child{padding-left:0}
