/* Left navigation and universal horizontal scrolling for narrow screens. */
.mobile-menu-toggle,.sidebar-backdrop{display:none}
.sidebar-collapse{margin:8px 4px 0;min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;font-size:11px;font-weight:800}
.sidebar-collapse span{font-size:19px;line-height:1}
.app-shell.sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}
.sidebar-collapsed .sidebar{padding-inline:10px}
.sidebar-collapsed .brand{justify-content:center;padding-inline:0}
.sidebar-collapsed .brand>div,.sidebar-collapsed .nav-group-toggle strong,.sidebar-collapsed .nav-group-toggle i{display:none!important}
.sidebar-collapsed .nav-item{font-size:0!important}
.sidebar-collapsed .nav-item .nav-label{display:none!important}
.sidebar-collapsed .nav-group-toggle,.sidebar-collapsed .nav-item{justify-content:center;padding-inline:8px}
.sidebar-collapsed .nav-group-toggle{display:flex}
.sidebar-collapsed .nav-group-items{padding-left:0}
.sidebar-collapsed .nav-item>span:first-child{display:inline-block!important;width:auto!important;margin:0!important;font-size:18px!important}
.sidebar-collapsed .nav-item.active{font-size:0}
.sidebar-collapsed .side-data,.sidebar-collapsed .user-switcher{display:none}
.sidebar-collapsed .sidebar-collapse b{display:none}
.sidebar-collapsed .sidebar-collapse span{transform:rotate(180deg)}
.mobile-scroll-surface{display:block;max-width:100%;overflow-x:auto!important;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.mobile-scroll-surface>table{min-width:max(760px,100%)}

@media(max-width:760px){
  body{overflow-x:hidden}
  .app-shell,.app-shell.sidebar-collapsed{display:block!important}
  .sidebar,.sidebar-collapsed .sidebar{position:fixed!important;z-index:120!important;left:0;top:0;bottom:0;width:min(86vw,320px)!important;height:100dvh!important;transform:translateX(-102%);transition:transform .22s ease;padding:14px 12px 12px!important;border-right:1px solid var(--line)!important;border-bottom:0!important;box-shadow:18px 0 50px rgba(0,0,0,.35);overflow:hidden!important;display:flex!important}
  .mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar .brand,.sidebar-collapsed .sidebar .brand{display:flex!important;padding:2px 8px 14px!important;justify-content:flex-start}
  .sidebar .brand>div,.sidebar-collapsed .sidebar .brand>div{display:block!important}
  .sidebar nav,.sidebar-collapsed .sidebar nav{display:block!important;flex:1 1 auto!important;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 4px 10px 0!important;scroll-snap-type:none!important}
  .nav-group,.sidebar-collapsed .nav-group{display:grid!important;margin-bottom:5px}
  .nav-group-toggle,.sidebar-collapsed .nav-group-toggle{display:grid!important;grid-template-columns:24px 1fr 16px!important;justify-content:initial!important;padding:10px 11px!important}
  .nav-group-toggle strong,.nav-group-toggle i,.sidebar-collapsed .nav-group-toggle strong,.sidebar-collapsed .nav-group-toggle i{display:block!important;font-size:12px!important}
  .nav-group-items,.nav-group.open>.nav-group-items,.sidebar-collapsed .nav-group-items{display:none!important;padding:2px 0 4px 13px!important}
  .nav-group.open>.nav-group-items,.sidebar-collapsed .nav-group.open>.nav-group-items{display:grid!important}
  .nav-item,.nav-group .nav-item,.sidebar-collapsed .nav-item{width:100%!important;min-width:0!important;min-height:44px;justify-content:flex-start!important;padding:9px 10px!important;font-size:12px!important;gap:10px!important}
  .nav-item.active,.sidebar-collapsed .nav-item.active{font-size:12px!important}
  .nav-item span,.nav-group .nav-item span,.sidebar-collapsed .nav-item span{width:22px!important;font-size:17px!important}
  .sidebar .side-data{display:grid!important}
  .sidebar .side-data small,.sidebar .side-label,.sidebar .ghost-btn{display:block!important}
  .sidebar .user-switcher{display:none!important}
  .sidebar-collapse{display:flex!important;flex:0 0 auto;margin-top:6px}
  .sidebar-collapse b,.sidebar-collapsed .sidebar-collapse b{display:inline!important}
  .sidebar-collapse span,.sidebar-collapsed .sidebar-collapse span{transform:none}
  .mobile-menu-toggle{display:grid;position:fixed;z-index:130;left:10px;top:10px;width:44px;height:44px;place-content:center;gap:4px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:var(--shadow)}
  .mobile-menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:var(--text)}
  .sidebar-backdrop{display:block;position:fixed;z-index:110;inset:0;border:0;background:rgba(2,8,18,.62);opacity:0;pointer-events:none;transition:opacity .2s}
  .mobile-menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .main{padding-top:66px!important;width:100%;max-width:100vw;overflow:hidden}
  .topbar{position:static!important;padding-top:0!important}
  #content,.panel,.dashboard-grid,.kpi-grid{min-width:0;max-width:100%}
  .table-wrap,.mobile-scroll-surface{touch-action:pan-x pan-y;scrollbar-width:thin}
  .funnel-board{display:grid!important;grid-template-columns:repeat(10,minmax(250px,82vw))!important;overflow-x:auto!important;scroll-snap-type:x proximity}
  .funnel-column{scroll-snap-align:start}
  .growth-grid{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(280px,88vw);grid-template-columns:none!important}
  .heatmap{width:max-content;min-width:900px}
  .chart{width:max-content!important;min-width:620px!important}
  .donut-chart,.donut-chart svg{width:180px!important;min-width:0!important}
}
