/* NX_VIEWPORT_RESPONSIVE_V1
 * Last-mile visual responsiveness. Loaded after page content so it can override older inline page CSS.
 * Covers small/old phones, old notebooks, HD/4K and wide 8K displays without changing app logic.
 */
:root{
  --nx-vp-pad-x:clamp(10px, 1.7vw, 52px);
  --nx-vp-pad-y:clamp(12px, 1.35vw, 42px);
  --nx-vp-content:min(96vw, 2400px);
  --nx-vp-content-wide:min(94vw, 3600px);
  --nx-vp-content-ultra:min(92vw, 4600px);
  --nx-vp-gap:clamp(12px, 1.1vw, 28px);
  --nx-vp-radius:8px;
}

html{
  overflow-x:hidden;
}

body:not(.nx-page-map) .nx-topbar__inner{
  width:100% !important;
  max-width:var(--nx-vp-content) !important;
  padding-left:var(--nx-vp-pad-x) !important;
  padding-right:var(--nx-vp-pad-x) !important;
}

body:not(.nx-page-map) .nx-page-wrap,
body:not(.nx-page-map) .nx-main > .nx-page-wrap{
  width:100% !important;
  max-width:var(--nx-vp-content) !important;
  padding:var(--nx-vp-pad-y) var(--nx-vp-pad-x) clamp(26px, 2vw, 64px) !important;
}

body:not(.nx-page-map) :where(.nx-page,.nx-ultra-wrap,.nx-admin,.nx-fin-wrap,.nx-compass){
  width:100% !important;
  max-width:100% !important;
}

body:not(.nx-page-map) :where(.nx-card,.card.nx-card,.nx-panel,.nx-chart-card,.nx-kpi-card,.nx-fin-card,.nx-fin-kpi,.nx-cp-card,.nx-pa-card,.nx-compass__hero,.nx-compass__panel){
  border-radius:var(--nx-vp-radius) !important;
}

body:not(.nx-page-map) :where(.table-responsive,.nx-compass__table-wrap,.nx-fin-body [style*="overflow:auto"]){
  width:100% !important;
  max-width:100% !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

body:not(.nx-page-map) :where(table,.table,.nx-table,.nx-fin-table,.nx-pa-table,.nx-compass__table){
  width:100% !important;
}

body:not(.nx-page-map) :where(input,select,textarea,.form-control,.form-select,.nx-input,.nx-select,.nx-fin-input,.nx-fin-select,.nx-date){
  max-width:100% !important;
}

body:not(.nx-page-map) :where(.nx-btn,.btn,.nx-fin-btn,.nx-cp-btn,.nx-pa-btn,.nx-compass__button,.nx-compass__link){
  max-width:100% !important;
  white-space:nowrap !important;
}

/* Dashboard */
body.nx-page-dashboard-v2 .nx-page-wrap{
  max-width:var(--nx-vp-content) !important;
}
body.nx-page-dashboard-v2 .nx-compass{
  max-width:100% !important;
}
body.nx-page-dashboard-v2 .nx-compass__hero-grid{
  grid-template-columns:minmax(460px, .96fr) minmax(560px, 1.18fr) !important;
  gap:var(--nx-vp-gap) !important;
}
body.nx-page-dashboard-v2 .nx-compass__kpis,
body.nx-page-dashboard-v2 #nxDashV2HeroKpis{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
}
body.nx-page-dashboard-v2 .nx-compass__table{
  min-width:min(1180px, calc(100vw - 20px)) !important;
}

/* Antenna detail */
body:not(.nx-page-map) .nx-main .nx-page > .nx-shell,
body:not(.nx-page-map) .nx-main .nx-page .nx-shell{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
}

body:not(.nx-page-map) .nx-main .nx-page {
  width:100% !important;
  max-width:100% !important;
  padding-top:clamp(12px, 1.2vw, 32px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-hero{
  width:100% !important;
  max-width:100% !important;
  padding:clamp(18px, 2.1vw, 54px) !important;
  border-radius:var(--nx-vp-radius) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(460px, 1.28fr) minmax(380px, .92fr) !important;
  gap:clamp(16px, 1.7vw, 44px) !important;
  align-items:center !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-title{
  font-size:clamp(24px, 1.85vw, 58px) !important;
  line-height:1.08 !important;
  overflow-wrap:anywhere !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-subtitle,
body:not(.nx-page-map) .nx-main .nx-page .nx-badges{
  max-width:100% !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-right,
body:not(.nx-page-map) .nx-main .nx-page .nx-presets,
body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
  max-width:100% !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:clamp(8px, .75vw, 18px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-date{
  flex:1 1 170px !important;
  min-width:min(170px, 100%) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(clamp(150px, 11vw, 280px), 1fr)) !important;
  gap:clamp(10px, .95vw, 24px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card{
  width:100% !important;
  height:auto !important;
  min-height:clamp(104px, 7.2vw, 172px) !important;
  max-height:none !important;
  padding:clamp(13px, 1.05vw, 24px) !important;
  border-radius:var(--nx-vp-radius) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-label{
  font-size:clamp(12px, .68vw, 16px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-value{
  font-size:clamp(24px, 1.65vw, 54px) !important;
  overflow-wrap:anywhere !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-sub{
  font-size:clamp(11px, .62vw, 15px) !important;
  overflow-wrap:anywhere !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(min(520px, 100%), 1fr)) !important;
  gap:clamp(14px, 1.15vw, 30px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-card,
body:not(.nx-page-map) .nx-main .nx-page .nx-panel.nx-chart-card{
  width:100% !important;
  min-width:0 !important;
  padding:clamp(14px, 1.1vw, 28px) !important;
  border-radius:var(--nx-vp-radius) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap{
  width:100% !important;
  height:clamp(240px, 22vw, 560px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall{
  height:clamp(280px, 25vw, 640px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
  height:clamp(220px, 18vw, 480px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap canvas{
  width:100% !important;
  max-width:100% !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-pa-wrap,
body:not(.nx-page-map) .nx-main .nx-page .nx-pa-card{
  width:100% !important;
  max-width:100% !important;
}

/* Forms and admin pages */
body:not(.nx-page-map) .nx-page .row,
body:not(.nx-page-map) .nx-admin .row,
body:not(.nx-page-map) form.row{
  gap:clamp(12px, 1vw, 22px) !important;
}
body:not(.nx-page-map) .nx-page .nx-card,
body:not(.nx-page-map) .nx-admin .nx-card,
body:not(.nx-page-map) .nx-fin-card,
body:not(.nx-page-map) .nx-fin-kpi{
  min-width:0 !important;
}
body:not(.nx-page-map) .nx-fin-grid{
  grid-template-columns:repeat(auto-fit, minmax(min(230px, 100%), 1fr)) !important;
}
body:not(.nx-page-map) .nx-fin-filter{
  grid-template-columns:minmax(180px, .65fr) minmax(240px, 1.2fr) auto auto !important;
}

/* Map stays fullscreen but gets safer controls on narrow screens. */
body.nx-page-map .nx-topbar__inner{
  max-width:100% !important;
}
body.nx-page-map .nx-map-app{
  width:100vw !important;
  max-width:100vw !important;
}

@media (min-width:1920px){
  :root{ --nx-vp-content:var(--nx-vp-content-wide); }
  body:not(.nx-page-map) .nx-topbar__inner{ max-width:var(--nx-vp-content-wide) !important; }
  body:not(.nx-page-map) .nx-page-wrap{ max-width:var(--nx-vp-content-wide) !important; }
  body.nx-page-dashboard-v2 .nx-compass__hero-grid{
    grid-template-columns:minmax(620px, .95fr) minmax(760px, 1.25fr) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
    grid-template-columns:minmax(700px, 1.32fr) minmax(520px, .88fr) !important;
  }
}

@media (min-width:2560px){
  :root{ --nx-vp-content:var(--nx-vp-content-ultra); }
  body:not(.nx-page-map) .nx-topbar__inner{ max-width:var(--nx-vp-content-ultra) !important; }
  body:not(.nx-page-map) .nx-page-wrap{ max-width:var(--nx-vp-content-ultra) !important; }
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
    grid-template-columns:repeat(auto-fit, minmax(clamp(220px, 8vw, 360px), 1fr)) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
    grid-template-columns:repeat(auto-fit, minmax(760px, 1fr)) !important;
  }
}

@media (max-width:1280px){
  body:not(.nx-page-map) .nx-topbar__inner{
    gap:12px !important;
  }
  body.nx-page-dashboard-v2 .nx-compass__hero-grid,
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
    grid-template-columns:1fr !important;
  }
  body:not(.nx-page-map) .nx-fin-filter{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:980px){
  body:not(.nx-page-map) .nx-page-wrap{
    padding:14px 12px 30px !important;
  }
  body:not(.nx-page-map) .nx-topbar__inner{
    grid-template-columns:auto minmax(0, 1fr) auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body:not(.nx-page-map) .nx-nav{
    justify-self:start !important;
    max-width:calc(100vw - 150px) !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  body:not(.nx-page-map) .nx-nav::-webkit-scrollbar{ display:none !important; }
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
    grid-template-columns:repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
    grid-template-columns:1fr !important;
  }
  body:not(.nx-page-map) .nx-fin-filter{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:700px){
  body:not(.nx-page-map) .nx-page-wrap{
    padding:12px 10px 26px !important;
  }
  body:not(.nx-page-map) .nx-brand__logo,
  body:not(.nx-page-map) .nx-brand__logo--full,
  body:not(.nx-page-map) .nx-brand-top-native{
    width:48px !important;
    min-width:48px !important;
    height:46px !important;
  }
  body:not(.nx-page-map) .nx-nav{
    max-width:calc(100vw - 130px) !important;
  }
  body:not(.nx-page-map) .nx-nav a span{
    display:none !important;
  }
  body:not(.nx-page-map) .nx-nav a{
    width:36px !important;
    min-width:36px !important;
    padding:0 !important;
  }
  body:not(.nx-page-map) .nx-user .nx-pill{
    min-width:34px !important;
    padding:0 8px !important;
  }
  body:not(.nx-page-map) .nx-user .nx-pill span:last-child{
    display:none !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero{
    padding:14px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-title{
    font-size:clamp(22px, 7vw, 32px) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-badges,
  body:not(.nx-page-map) .nx-main .nx-page .nx-presets,
  body:not(.nx-page-map) .nx-main .nx-page .nx-range-row,
  body:not(.nx-page-map) .nx-cp-actions,
  body:not(.nx-page-map) .nx-pa-actions{
    align-items:stretch !important;
    flex-direction:column !important;
  }
  body:not(.nx-page-map) :where(.nx-btn,.btn,.nx-fin-btn,.nx-cp-btn,.nx-pa-btn,.nx-compass__button,.nx-compass__link),
  body:not(.nx-page-map) .nx-main .nx-page .nx-date{
    width:100% !important;
    min-width:0 !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
    height:clamp(220px, 58vw, 360px) !important;
  }
  body.nx-page-dashboard-v2 .nx-compass__kpis,
  body.nx-page-dashboard-v2 #nxDashV2HeroKpis{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:460px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
    grid-template-columns:1fr !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
    height:240px !important;
  }
  body:not(.nx-page-map) :where(.nx-card-b,.card-body,.nx-fin-body,.nx-pa-body){
    padding:14px !important;
  }
  body:not(.nx-page-map) :where(.nx-card-h,.nx-cardhead,.nx-fin-head,.nx-card-head,.nx-cp-head,.nx-pa-head){
    padding:14px !important;
  }
}

@media (max-width:360px){
  body:not(.nx-page-map) .nx-page-wrap{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  body:not(.nx-page-map) .nx-nav a{
    width:34px !important;
    min-width:34px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-title{
    font-size:21px !important;
  }
  body:not(.nx-page-map) :where(input,select,textarea,.form-control,.form-select,.nx-input,.nx-select,.nx-fin-input,.nx-fin-select,.nx-date){
    font-size:13px !important;
    min-height:42px !important;
  }
}


/* NX_VIEWPORT_RESPONSIVE_V1_LEGACY_FALLBACKS */
body:not(.nx-page-map) .nx-main .nx-page,
body:not(.nx-page-map) .nx-main .nx-ultra-wrap,
body:not(.nx-page-map) .nx-main .nx-admin,
body:not(.nx-page-map) .nx-main .nx-fin-wrap,
body:not(.nx-page-map) .nx-main .nx-compass{
  width:100% !important;
  max-width:100% !important;
}

body:not(.nx-page-map) .nx-card,
body:not(.nx-page-map) .card.nx-card,
body:not(.nx-page-map) .nx-panel,
body:not(.nx-page-map) .nx-chart-card,
body:not(.nx-page-map) .nx-kpi-card,
body:not(.nx-page-map) .nx-fin-card,
body:not(.nx-page-map) .nx-fin-kpi,
body:not(.nx-page-map) .nx-cp-card,
body:not(.nx-page-map) .nx-pa-card{
  border-radius:8px !important;
}

body:not(.nx-page-map) input,
body:not(.nx-page-map) select,
body:not(.nx-page-map) textarea,
body:not(.nx-page-map) .form-control,
body:not(.nx-page-map) .form-select,
body:not(.nx-page-map) .nx-input,
body:not(.nx-page-map) .nx-select,
body:not(.nx-page-map) .nx-fin-input,
body:not(.nx-page-map) .nx-fin-select,
body:not(.nx-page-map) .nx-date{
  max-width:100% !important;
}

body:not(.nx-page-map) table,
body:not(.nx-page-map) .table,
body:not(.nx-page-map) .nx-table,
body:not(.nx-page-map) .nx-fin-table,
body:not(.nx-page-map) .nx-pa-table,
body:not(.nx-page-map) .nx-compass__table{
  width:100% !important;
}

/* NX_VIEWPORT_RESPONSIVE_V1_BALANCED_HIGH_RES
 * High-density screens should feel composed, not stretched.
 * This final layer caps editorial width and keeps antenna charts/cards proportional.
 */
:root{
  --nx-vp-pad-x:clamp(10px, 1.15vw, 34px) !important;
  --nx-vp-pad-y:clamp(12px, .95vw, 26px) !important;
  --nx-vp-content:min(94vw, 1680px) !important;
  --nx-vp-content-wide:min(92vw, 1760px) !important;
  --nx-vp-content-ultra:min(88vw, 1960px) !important;
  --nx-vp-gap:clamp(12px, .82vw, 22px) !important;
}

body:not(.nx-page-map) .nx-topbar__inner,
body:not(.nx-page-map) .nx-page-wrap,
body:not(.nx-page-map) .nx-main > .nx-page-wrap{
  max-width:var(--nx-vp-content) !important;
}

body:not(.nx-page-map) .nx-page-wrap,
body:not(.nx-page-map) .nx-main > .nx-page-wrap{
  padding:clamp(14px, .95vw, 26px) var(--nx-vp-pad-x) clamp(28px, 1.7vw, 48px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page{
  padding-top:clamp(10px, .65vw, 18px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-shell{
  width:100% !important;
  max-width:100% !important;
  margin-inline:auto !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-hero{
  padding:clamp(20px, 1.15vw, 30px) clamp(22px, 1.45vw, 38px) !important;
  min-height:0 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
  grid-template-columns:minmax(360px, 1fr) minmax(360px, .82fr) !important;
  gap:clamp(18px, 1.05vw, 28px) !important;
  align-items:center !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-title{
  font-size:clamp(27px, 1.28vw, 40px) !important;
  line-height:1.08 !important;
  letter-spacing:0 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kicker,
body:not(.nx-page-map) .nx-main .nx-page .nx-subtitle,
body:not(.nx-page-map) .nx-main .nx-page .nx-badge,
body:not(.nx-page-map) .nx-main .nx-page .nx-card-sub,
body:not(.nx-page-map) .nx-main .nx-page .nx-ui-update{
  letter-spacing:.01em !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
  gap:10px !important;
  justify-content:flex-end !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-date{
  flex:0 1 160px !important;
  min-width:150px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-btn{
  min-height:40px !important;
  padding:0 16px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:clamp(12px, .82vw, 18px) !important;
  margin-top:clamp(16px, 1.1vw, 24px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card{
  min-height:120px !important;
  max-height:150px !important;
  padding:17px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-label{
  font-size:12px !important;
  line-height:1.2 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-value{
  font-size:clamp(25px, 1.2vw, 32px) !important;
  line-height:1 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card .nx-kpi-sub{
  font-size:11px !important;
  line-height:1.35 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(16px, .95vw, 22px) !important;
  margin-top:clamp(18px, 1.1vw, 26px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-card.nx-span-2,
body:not(.nx-page-map) .nx-main .nx-page .nx-panel.nx-chart-card.nx-span-2{
  grid-column:1 / -1 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-card,
body:not(.nx-page-map) .nx-main .nx-page .nx-panel.nx-chart-card{
  padding:clamp(18px, 1.05vw, 24px) !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-card-head{
  min-height:0 !important;
  padding-bottom:14px !important;
  margin-bottom:14px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-card-head h3{
  font-size:clamp(15px, .82vw, 18px) !important;
  line-height:1.2 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-card-sub{
  font-size:12px !important;
  line-height:1.35 !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap{
  height:280px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall{
  height:330px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
  height:280px !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-pa-card{
  margin-top:clamp(18px, 1.1vw, 26px) !important;
}

@media (min-width:1920px){
  :root{
    --nx-vp-content:min(90vw, 1760px) !important;
    --nx-vp-content-wide:min(88vw, 1840px) !important;
    --nx-vp-content-ultra:min(86vw, 1960px) !important;
  }
  body:not(.nx-page-map) .nx-topbar__inner,
  body:not(.nx-page-map) .nx-page-wrap,
  body:not(.nx-page-map) .nx-main > .nx-page-wrap{
    max-width:min(90vw, 1760px) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero{
    padding:30px 38px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
    grid-template-columns:minmax(520px, 1fr) minmax(460px, .78fr) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall{
    height:350px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
    height:295px !important;
  }
}

@media (min-width:2560px){
  :root{
    --nx-vp-content:min(84vw, 1960px) !important;
    --nx-vp-content-wide:min(82vw, 2040px) !important;
    --nx-vp-content-ultra:min(80vw, 2140px) !important;
  }
  body:not(.nx-page-map) .nx-topbar__inner,
  body:not(.nx-page-map) .nx-page-wrap,
  body:not(.nx-page-map) .nx-main > .nx-page-wrap{
    max-width:min(84vw, 1960px) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall{
    height:370px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
    height:310px !important;
  }
}

@media (min-width:3840px){
  :root{
    --nx-vp-content:min(72vw, 2200px) !important;
    --nx-vp-content-wide:min(70vw, 2300px) !important;
    --nx-vp-content-ultra:min(68vw, 2400px) !important;
  }
  body:not(.nx-page-map) .nx-topbar__inner,
  body:not(.nx-page-map) .nx-page-wrap,
  body:not(.nx-page-map) .nx-main > .nx-page-wrap{
    max-width:min(72vw, 2200px) !important;
  }
}

@media (max-width:1500px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:1180px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-hero-grid{
    grid-template-columns:1fr !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
    justify-content:flex-start !important;
  }
}

@media (max-width:980px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-card.nx-span-2,
  body:not(.nx-page-map) .nx-main .nx-page .nx-panel.nx-chart-card.nx-span-2{
    grid-column:1 / -1 !important;
  }
}

@media (max-width:700px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
    grid-template-columns:1fr !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid > .nx-kpi-card{
    min-height:104px !important;
    max-height:none !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-tall,
  body:not(.nx-page-map) .nx-main .nx-page .nx-chart-wrap.is-short{
    height:260px !important;
  }
}

/* NX_VIEWPORT_RESPONSIVE_V1_OVERFLOW_GUARD */
html,
body:not(.nx-page-map),
body:not(.nx-page-map) > .nx-shell,
body:not(.nx-page-map) .nx-main{
  max-width:100vw !important;
  overflow-x:hidden !important;
}

body:not(.nx-page-map) .nx-topbar__inner,
body:not(.nx-page-map) .nx-page-wrap,
body:not(.nx-page-map) .nx-main > .nx-page-wrap,
body:not(.nx-page-map) .nx-main .nx-page,
body:not(.nx-page-map) .nx-main .nx-page .nx-shell,
body:not(.nx-page-map) .nx-main .nx-page .nx-hero,
body:not(.nx-page-map) .nx-main .nx-page .nx-kpi-grid,
body:not(.nx-page-map) .nx-main .nx-page .nx-chart-grid{
  box-sizing:border-box !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-right{
  min-width:0 !important;
  overflow:hidden !important;
}

body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
  max-width:100% !important;
}
/* /NX_VIEWPORT_RESPONSIVE_V1_OVERFLOW_GUARD */

/* NX_VIEWPORT_RESPONSIVE_V1_MOBILE_CONTROL_FIX */
@media (max-width:700px){
  body:not(.nx-page-map) .nx-main .nx-page .nx-right{
    width:100% !important;
    overflow:visible !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-range-row{
    display:grid !important;
    width:100% !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-date{
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 14px !important;
  }
  body:not(.nx-page-map) .nx-main .nx-page .nx-btn{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
  }
}
/* /NX_VIEWPORT_RESPONSIVE_V1_MOBILE_CONTROL_FIX */
