/* Variant A: one expanded menu. Scope excludes admin and preserves basic-access preview. */
.tenant-ui #app.unified-shell:not(.basic-access-preview) { grid-template-columns:272px minmax(0,1fr); }
.tenant-ui #app.unified-shell .unified-menu { display:flex; flex-direction:column; min-width:0; min-height:0; height:100dvh; overflow:hidden; }
.tenant-ui #app.unified-shell .tenant-hub-menu__brand { display:grid !important; grid-template-columns:38px minmax(0,1fr) !important; grid-template-rows:auto !important; gap:10px !important; min-height:86px !important; padding:16px 14px !important; flex-shrink:0; }
.tenant-ui #app.unified-shell .tenant-logo-button { grid-area:1 / 1 !important; width:38px !important; height:38px !important; min-width:38px; margin:0 !important; }
.tenant-ui #app.unified-shell .tenant-hub-menu__brand-copy { display:block !important; grid-area:1 / 2 !important; min-width:0; text-align:left; }
.tenant-ui #app.unified-shell .tenant-hub-menu__brand-copy b { display:block; font-size:15px !important; font-weight:600; line-height:1.35 !important; white-space:normal; overflow:visible; }
.tenant-ui #app.unified-shell .tenant-hub-menu__brand-copy span { display:block; font-size:10px; font-weight:400; margin-top:5px; letter-spacing:.03em; white-space:normal; }
.tenant-ui #app.unified-shell #unifiedMenuClose { display:none; }
.tenant-ui #app.unified-shell .tenant-hub-menu__nav { flex:1; min-height:0; display:block !important; overflow:auto !important; overscroll-behavior:contain; padding:8px 10px 16px !important; scrollbar-width:thin; scrollbar-color:#52463c transparent; scroll-padding-block:12px 24px; }
.tenant-ui #app.unified-shell .unified-nav-group { margin:0 0 10px; }
.tenant-ui #app.unified-shell .tenant-hub-menu__caption { display:block; color:#9e968d; font-size:10px; font-weight:500; letter-spacing:.05em; padding:14px 10px 6px !important; text-align:left; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item { position:relative; display:grid !important; grid-template-columns:30px minmax(0,1fr) !important; width:100% !important; min-width:0; height:auto !important; min-height:46px !important; max-height:none; margin:2px 0; padding:7px 9px !important; gap:10px !important; border:1px solid transparent; border-left:3px solid transparent; border-radius:8px !important; background:transparent; color:#b1b3b6; box-shadow:none; font:inherit; text-align:left; cursor:pointer; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item:hover { background:#f4f1ec0c; color:#f4f1ec; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item.active { background:#a4572929; border-color:#a4572957; border-left-color:#a45729; color:#f4f1ec; box-shadow:none; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item .material-icons { width:30px !important; height:30px !important; display:grid; place-items:center; font-size:20px !important; border-radius:7px; background:#f4f1ec12; color:inherit; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item.active .material-icons { background:#a45729; color:#fff; }
.tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item b { display:block !important; font-size:14px !important; font-weight:500 !important; line-height:1.4 !important; white-space:normal; min-width:0; overflow-wrap:anywhere; }
.tenant-ui #app.unified-shell .unified-help { border-top:1px solid #ffffff19; margin-top:14px; padding-top:8px; }
.tenant-ui #app.unified-shell .unified-help .tenant-hub-menu__item b { font-size:13px !important; }
.tenant-ui #app.unified-shell .unified-menu [data-hub-section="exchange"] { grid-template-columns:30px minmax(0,1fr) auto !important; }
.tenant-ui #app.unified-shell .unified-menu .market-count { position:static; min-width:20px; padding:2px 5px; background:#f4f1ec14; color:#ddd2c6; border-radius:5px; font-size:10px; line-height:16px; }
.tenant-ui #app.unified-shell .unified-profile { display:flex; align-items:center; gap:4px; margin-top:14px; padding-top:12px; border-top:1px solid #ffffff19; }
.tenant-ui #app.unified-shell .unified-profile-link { display:flex; flex:1; align-items:center; min-width:0; min-height:44px; padding:4px 6px; gap:9px; background:none; border:0; border-radius:6px; text-align:left; color:#f4f1ec; cursor:pointer; }
.tenant-ui #app.unified-shell .unified-profile-link > span:last-child { min-width:0; }
.tenant-ui #app.unified-shell .unified-profile-link b { display:block; font-size:12px; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.tenant-ui #app.unified-shell .unified-profile-link small { display:block; color:#aaa; font-size:10px; margin-top:3px; }
.tenant-ui #app.unified-shell .unified-menu #logoutBtn { display:grid !important; grid-template-columns:1fr !important; place-items:center; min-width:44px !important; width:44px !important; min-height:44px !important; margin:0; padding:0 !important; border:0; }
.tenant-ui #app.unified-shell #logoutBtn b { display:none !important; }
.tenant-ui #app.unified-shell #logoutBtn .material-icons { background:transparent; font-size:24px !important; }
.tenant-ui #app.unified-shell .unified-section-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid #dedede; }
.tenant-ui #app.unified-shell .unified-section-tabs button { min-height:44px; padding:9px 14px; background:white; border:1px solid #d7d7d7; border-radius:7px; color:#555; font:inherit; font-size:14px; cursor:pointer; }
.tenant-ui #app.unified-shell .unified-section-tabs button[aria-current="page"] { border-color:#a45729; background:#f7eee7; color:#8f491f; }
.tenant-ui #app.unified-shell #section-training .hub-future { border:1px solid #ddd; border-radius:10px; padding:12px; color:#555; }
.tenant-ui #app.unified-shell #section-training .hub-future summary { color:#555; }
.tenant-ui #app.unified-shell #section-training .hub-future button { display:inline-flex !important; align-items:center; gap:8px; width:auto; margin:4px; border:1px solid #ddd; border-radius:7px; background:#f5f5f5; color:#777; min-height:44px; padding:8px 12px; cursor:default; }
/* Respect permission/preview attributes even where legacy rules force display. */
.tenant-ui #app.unified-shell .unified-menu [hidden],
.tenant-ui #app.unified-shell [hidden] { display:none !important; }
.tenant-ui #app.unified-shell.basic-access-preview { grid-template-columns:minmax(0,1fr); }
.tenant-ui #app.unified-shell.basic-access-preview .unified-menu { display:none !important; }
@media(max-width:1280px) and (min-width:1101px) { .tenant-ui #app.unified-shell:not(.basic-access-preview) { grid-template-columns:260px minmax(0,1fr); } }
@media(max-width:1100px) {
 .tenant-ui #app.unified-shell:not(.basic-access-preview) { display:block; }
 .tenant-ui #app.unified-shell .unified-menu { display:flex !important; position:fixed !important; inset:0 auto 0 0 !important; width:min(88vw,340px) !important; height:100dvh !important; padding-top:env(safe-area-inset-top,0px); transform:translateX(-105%) !important; visibility:hidden; z-index:110; transition:transform .18s ease; }
 .tenant-ui #app.unified-shell.mobile-menu-open .unified-menu { transform:translateX(0) !important; visibility:visible; }
 .tenant-ui #app.unified-shell .tenant-hub-menu__brand { min-height:80px !important; grid-template-columns:minmax(0,1fr) 44px !important; padding:12px !important; gap:9px !important; }
 .tenant-ui #app.unified-shell .tenant-hub-menu__brand .tenant-logo-button { display:none !important; }
 .tenant-ui #app.unified-shell .tenant-hub-menu__brand-copy { grid-area:1 / 1 !important; }
 .tenant-ui #app.unified-shell .tenant-hub-menu__brand-copy b { font-size:16px !important; }
 .tenant-ui #app.unified-shell #unifiedMenuClose { display:grid; place-items:center; grid-area:1 / 2; min-width:44px; min-height:44px; padding:0; border:1px solid #ffffff22; border-radius:8px; background:#ffffff06; color:#ccc; }
 .tenant-ui #app.unified-shell .tenant-hub-menu__nav { padding-bottom:calc(20px + env(safe-area-inset-bottom,0px)) !important; }
 .tenant-ui #app.unified-shell .unified-menu .tenant-hub-menu__item[hidden],
 .tenant-ui #app.unified-shell.basic-access-preview .unified-menu { display:none !important; }
}
@media(prefers-reduced-motion:reduce) { .tenant-ui #app.unified-shell .unified-menu { transition:none; } }

.tenant-ui #app.unified-shell .topbar .tenant-title { padding-right:0; }
.tenant-ui #app.unified-shell #unifiedMenuClose span { font-family:Arial,sans-serif; font-size:26px !important; line-height:1; margin:0 !important; text-transform:none; }
/* Keep absolutely positioned accessibility/table elements inside the scrolling
   section; otherwise the narrow roles table can enlarge the document root. */
.tenant-ui #app.unified-shell .section-page { position:relative; }
