/* Step65: portal shell on phones/tablets; desktop styles stay unchanged. */
.unify-mobile-menu-button,.unify-mobile-menu-close,.unify-mobile-menu-backdrop {display:none;}
@media(max-width:900px){
 body {min-width:0;}
 #nexahrApp.mobile-shell-ready {display:block;width:100%;min-width:0;}
 #nexahrApp.mobile-shell-ready .main {width:100%;min-width:0;margin:0;}
 #nexahrApp.mobile-shell-ready .sidebar {
  position:fixed;inset:0 auto 0 0;z-index:1200;
  width:min(320px,86vw);height:100vh;height:100dvh;max-height:none;
  display:flex;flex-direction:column;overflow:hidden;
  visibility:hidden;transform:translateX(-105%);
 }
 #nexahrApp.mobile-shell-ready.mobile-menu-open .sidebar {visibility:visible;transform:none;}
 #nexahrApp.mobile-shell-ready .workspace-menu {
  display:block !important;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;
 }
 #nexahrApp.mobile-shell-ready .workspace-head {width:100%;min-width:0;}
 #nexahrApp.mobile-shell-ready .workspace-sub {display:none !important;}
 #nexahrApp.mobile-shell-ready .brand-panel {flex-shrink:0;}
 #nexahrApp.mobile-shell-ready .topbar {
  position:relative;top:auto;display:grid;grid-template-columns:44px minmax(0,1fr);
  gap:8px;align-items:center;height:auto;min-height:64px;padding:12px 16px;
 }
 #nexahrApp.mobile-shell-ready .page-title {min-width:0;font-size:18px;overflow-wrap:anywhere;}
 #nexahrApp.mobile-shell-ready .topbar-right {grid-column:1/-1;width:100%;min-width:0;justify-content:flex-end;}
 #nexahrApp.mobile-shell-ready .topbar-right .user {max-width:100%;min-width:0;flex-wrap:wrap;gap:8px;border-radius:12px;}
 #nexahrApp.mobile-shell-ready #currentUserName {min-width:0;overflow-wrap:anywhere;font-size:13px;}
 #nexahrApp.mobile-shell-ready #currentUserRole {font-size:11px;}
 #nexahrApp.mobile-shell-ready .logout-button {margin-left:auto;min-height:40px;}
 #nexahrApp.mobile-shell-ready .ui-font-control {display:none;}
 #nexahrApp.mobile-shell-ready .module-subnav-host {
  position:relative;inset:auto;width:100%;max-width:100%;min-width:0;overflow:hidden;
 }
 #nexahrApp.mobile-shell-ready .module-primary-nav,
 #nexahrApp.mobile-shell-ready .module-secondary-nav {
  width:100%;max-width:100%;min-width:0;flex-wrap:nowrap;overflow-x:auto;
  padding:8px 16px;-webkit-overflow-scrolling:touch;
 }
 #nexahrApp.mobile-shell-ready .content,
 #nexahrApp.mobile-shell-ready.module-nav-open .content {width:100%;min-width:0;padding:20px 16px;}
 #nexahrApp.mobile-shell-ready .content .table-container {max-width:100%;overflow-x:auto;}
 #nexahrApp.mobile-shell-ready .dashboard-panels,
 #nexahrApp.mobile-shell-ready .dashboard-stats,
 #nexahrApp.mobile-shell-ready .workspace-launch-grid {grid-template-columns:minmax(0,1fr);}
 #nexahrApp.mobile-shell-ready .unify-mobile-menu-button,
 #nexahrApp.mobile-shell-ready .unify-mobile-menu-close {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;font:600 14px system-ui;
 }
 #nexahrApp.mobile-shell-ready .unify-mobile-menu-button {width:44px;background:#fff;color:#172b4d;font-size:23px;}
 #nexahrApp.mobile-shell-ready .unify-mobile-menu-close {flex-shrink:0;align-self:flex-end;padding:8px 14px;margin-bottom:8px;background:#fff;color:#172b4d;}
 #nexahrApp.mobile-shell-ready.mobile-menu-open .unify-mobile-menu-backdrop {
  display:block;position:fixed;inset:0;z-index:1100;border:0;background:rgba(15,23,42,.45);
 }
}
