
/* PesaLabs Mobile Responsiveness */
.nxa-auth { overflow-x: hidden !important; max-width: 100vw !important; }
.nxa-auth-form-panel { box-sizing: border-box !important; }
.nxa-auth-input, .nxa-auth-submit { box-sizing: border-box !important; }
.mobile-menu-btn { display: none; }

@media (max-width: 768px) {
  .mobile-menu-btn { display: flex !important; }

  /* UNDO the 1024px tablet rules that hide sidebar content */
  .sb-section { display: flex !important; }
  .nb-label { display: inline !important; }
  .ntag { display: inline-flex !important; }
  .sb-workspace { display: flex !important; }
  .sb-footer { display: flex !important; }
  .nav-btn { justify-content: flex-start !important; padding: 10px 12px 10px 14px !important; flex-direction: row !important; }
  .nb-icon { width: 17px !important; height: 17px !important; }
  .nb-icon svg { width: 14px !important; height: 14px !important; }

  .outer-layout { display: block !important; }
  .app-topbar { height: 44px !important; }
  .topbar-left { width: auto !important; padding: 0 8px !important; display: flex !important; }
  .topbar-right { padding: 0 8px !important; gap: 6px !important; }
  .topbar-divider, .tb-date, .tb-session, .live-pill, .app-eyebrow, .tb-row-pill { display: none !important; }
  .app-title { font-size: .70rem !important; }
  .app-logo { width: 22px !important; height: 22px !important; }
  .app-logo svg { width: 22px !important; height: 22px !important; }
  .tb-avatar { width: 22px !important; height: 22px !important; font-size: .40rem !important; }
  .main-panel { padding: 10px 12px 30px !important; width: 100% !important; }

  /* Landing page */
  .plt-landing { margin: -10px -12px -30px !important; }
  .plt-header { padding: 8px 12px !important; }
  .plt-header-title { font-size: 10px !important; }
  .plt-header-tag { font-size: 7px !important; padding: 2px 5px !important; }
  .plt-hero { padding: 20px 12px 16px !important; }
  .plt-hero h1 { font-size: 20px !important; letter-spacing: -0.3px !important; line-height: 1.2 !important; }
  .plt-hero-sub { font-size: 11px !important; max-width: 100% !important; }
  .plt-model-tags { gap: 3px !important; }
  .plt-mtag { font-size: 7px !important; padding: 2px 5px !important; }
  .plt-kpi-strip { grid-template-columns: repeat(3, 1fr) !important; margin: 0 12px 12px !important; }
  .plt-kpi { padding: 8px !important; }
  .plt-kpi-val { font-size: 13px !important; }
  .plt-kpi-lbl { font-size: 7px !important; }
  .plt-grid { grid-template-columns: 1fr !important; padding: 0 12px 12px !important; gap: 8px !important; }
  .plt-card { padding: 12px !important; }
  .plt-card-title { font-size: 9px !important; }
  .plt-card-badge { font-size: 7px !important; }

  /* Module content */
  .kpi-strip { flex-wrap: wrap !important; gap: 6px !important; }
  .kpi-box { min-width: calc(50% - 6px) !important; flex: 1 1 calc(50% - 6px) !important; padding: 10px !important; }
  .kpi-val { font-size: 1.2rem !important; }
  .dlp-card { padding: 10px !important; }
  .dataTables_wrapper { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .page-header { font-size: 1rem !important; }
  .ctrl-card .row > [class*="col-"] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

  /* User bar */
  .pesalabs-topbar-user { padding: 4px 8px !important; gap: 4px !important; font-size: 10px !important; }
  .pesalabs-topbar-user .user-divider { display: none !important; }

  /* Auth page */
  .nxa-auth { flex-direction: column !important; }
  .nxa-auth-brand { min-height: 130px !important; padding: 24px 16px !important; }
  .nxa-brand-mark { width: 40px !important; height: 40px !important; margin-bottom: 14px !important; }
  .nxa-brand-wordmark { font-size: 14px !important; letter-spacing: 3px !important; }
  .nxa-brand-tagline { font-size: 11px !important; }
  .nxa-auth-form-panel { width: 100% !important; padding: 24px 20px !important; }
  .nxa-auth-card { max-width: 100% !important; }
  .nxa-auth-form-title { font-size: 18px !important; }
  .nxa-auth-input { padding: 9px 10px !important; font-size: 13px !important; }
  .demo-container, .nyse-demo, #demo-panel { display: none !important; }
}

@media (max-width: 420px) {
  .plt-hero h1 { font-size: 17px !important; }
  .plt-kpi-strip { grid-template-columns: repeat(2, 1fr) !important; }
  .kpi-box { min-width: 100% !important; }
  .nxa-auth-brand { min-height: 100px !important; padding: 20px 14px !important; }
  .nxa-brand-mark { width: 32px !important; height: 32px !important; }
  .nxa-auth-form-panel { padding: 20px 16px !important; }
  .nxa-auth-form-title { font-size: 16px !important; }
}

