
/* ==========================================================
   NOYTRIX LAYOUT V27
   FULL PREMIUM SUBPAGES
   ========================================================== */


/* ==========================================================
   GLOBAL VIEWPORT
   ========================================================== */

html,
body {
  width: 100%;
  height: 100%;

  overflow: hidden;
}


.app-shell {
  width: 100vw !important;
  height: 100vh !important;

  min-width: 0 !important;
  min-height: 0 !important;

  overflow: hidden !important;
}


/* ==========================================================
   MAIN CHECK PAGE
   untouched
   ========================================================== */

html.noytrix-main-page-v27
.noytrix-top-actions-v27,

html.noytrix-main-page-v27
.noytrix-language-v27,

html.noytrix-main-page-v27
.noytrix-account-v27 {
  opacity: 1;
}


/* ==========================================================
   REMOVE HEADER FROM ALL OTHER PAGES
   ========================================================== */

html.noytrix-subpage-v27
.noytrix-top-actions-v27 {
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}


html.noytrix-subpage-v27
.noytrix-language-v27,

html.noytrix-subpage-v27
.noytrix-account-v27 {
  display: none !important;
}


/*
   Дополнительные реальные возможные
   селекторы существующей шапки.
*/

html.noytrix-subpage-v27
.header-actions,

html.noytrix-subpage-v27
.top-actions,

html.noytrix-subpage-v27
.workspace-header-actions {
  display: none !important;
}


/* ==========================================================
   COLLAPSE EMPTY TOPBAR
   ========================================================== */

html.noytrix-subpage-v27
.workspace-topbar:has(.noytrix-language-v27),

html.noytrix-subpage-v27
.workspace-header:has(.noytrix-language-v27),

html.noytrix-subpage-v27
.main-header:has(.noytrix-language-v27),

html.noytrix-subpage-v27
.topbar:has(.noytrix-language-v27) {
  display: none !important;

  height: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}


/* ==========================================================
   REMOVE OLD TOP SPACE
   ========================================================== */

html.noytrix-subpage-v27
.workspace-main,

html.noytrix-subpage-v27
.workspace-content,

html.noytrix-subpage-v27
.main-content,

html.noytrix-subpage-v27
.content-area,

html.noytrix-subpage-v27
.content-main {
  padding-top: 0 !important;

  min-height: 0 !important;
}


/* ==========================================================
   ACTIVE SUBPAGE
   ========================================================== */

@media(min-width:761px) {

  html.noytrix-subpage-v27
  .noytrix-active-screen-v27 {

    position: relative !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    display: flex !important;

    align-items: stretch !important;
    justify-content: center !important;

    padding:
      14px
      clamp(18px,1.7vw,30px)
      16px !important;

    margin: 0 !important;

    overflow: hidden !important;
  }


  /*
     Любой основной root страницы
     занимает всю освободившуюся область.
  */

  html.noytrix-subpage-v27
  .noytrix-active-screen-v27
  > *:first-child {

    width: 100% !important;
    height: 100% !important;

    max-width:
      1600px !important;

    max-height:
      100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    margin:
      auto !important;
  }

}


/* ==========================================================
   PREMIUM PAGE AREA
   ========================================================== */

html.noytrix-subpage-v27
.noytrix-active-screen-v27::before {
  content: '';

  position: absolute;

  z-index: -2;

  top: -300px;
  left: 18%;

  width: 900px;
  height: 650px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(38,86,178,.065),
      transparent 68%
    );

  filter:
    blur(40px);

  pointer-events: none;
}


html.noytrix-subpage-v27
.noytrix-active-screen-v27::after {
  content: '';

  position: absolute;

  z-index: -2;

  right: -200px;
  bottom: -320px;

  width: 720px;
  height: 650px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(255,177,22,.027),
      transparent 67%
    );

  filter:
    blur(45px);

  pointer-events: none;
}


/* ==========================================================
   TRACKING
   ========================================================== */

html.noytrix-subpage-v27
#screen-tracking
> .tracking-v14,

html.noytrix-subpage-v27
#screen-tracking
> .tracking-v15 {

  width: 100% !important;
  height: 100% !important;

  max-width: 1600px !important;

  margin: auto !important;

  min-height: 0 !important;
}


/* give dashboard more visual room */

html.noytrix-subpage-v27
#screen-tracking
.tracking-shell,

html.noytrix-subpage-v27
#screen-tracking
.tracking-layout {

  width: 100% !important;
  height: 100% !important;
}


/* ==========================================================
   SIGNALS
   ========================================================== */

html.noytrix-subpage-v27
#screen-intelligence
.signals-v19 {

  width: 100% !important;
  height: 100% !important;

  max-width: 1600px !important;

  margin: auto !important;

  min-height: 0 !important;
}


/*
   Немного увеличиваем рабочую область колонок,
   теперь сверху нет header.
*/

html.noytrix-subpage-v27
#screen-intelligence
.signals-columns-v19 {

  min-height: 0 !important;

  flex: 1 !important;
}


/* ==========================================================
   MY ACTIVITY
   ========================================================== */

html.noytrix-subpage-v27
#screen-analytics
.activity-v20 {

  width: 100% !important;
  height: 100% !important;

  max-width: 1600px !important;

  margin: auto !important;

  padding-top: 0 !important;

  min-height: 0 !important;


  /*
     распределяем освободившееся место
     по полезным блокам
  */

  grid-template-rows:
    auto
    auto
    minmax(0,1.12fr)
    minmax(0,1fr)
    auto !important;

  gap:
    clamp(8px,1vh,12px) !important;
}


html.noytrix-subpage-v27
#screen-analytics
.activity-head-v20 {

  min-height: 76px !important;

  padding-top: 0 !important;
}


/*
   график и нижние карточки
   теперь чуть выше
*/

html.noytrix-subpage-v27
#screen-analytics
.activity-main-v20,

html.noytrix-subpage-v27
#screen-analytics
.activity-bottom-v20 {

  min-height: 0 !important;
}


/* ==========================================================
   PRODUCTS
   ========================================================== */

html.noytrix-subpage-v27
#screen-products {

  padding:
    12px
    clamp(16px,1.5vw,27px)
    14px !important;
}


html.noytrix-subpage-v27
#screen-products
.products-v23 {

  width: 100% !important;
  height: 100% !important;

  max-width: 1600px !important;

  margin: auto !important;

  padding: 0 !important;
}


html.noytrix-subpage-v27
#screen-products
.products-stage-v23 {

  width: 100% !important;
  height: 100% !important;

  border-radius:
    20px !important;

  box-shadow:
    0 32px 100px
    rgba(0,0,0,.34),

    0 15px 42px
    rgba(0,0,0,.22),

    inset 0 1px 0
    rgba(255,255,255,.035) !important;
}


/*
   Billboard больше — особенно по высоте.
*/

html.noytrix-subpage-v27
#screen-products
.product-slide-v23 {

  padding-top:
    clamp(35px,4vh,62px) !important;

  padding-bottom:
    clamp(54px,6vh,82px) !important;
}


/* ==========================================================
   DEVELOPERS
   ========================================================== */

html.noytrix-subpage-v27
#screen-api
> *:first-child {

  width: 100% !important;
  height: 100% !important;

  max-width: 1550px !important;

  margin: auto !important;
}


html.noytrix-subpage-v27
#screen-api
.api-layout,

html.noytrix-subpage-v27
#screen-api
.developer-layout,

html.noytrix-subpage-v27
#screen-api
[class*="developer"] {

  width: 100% !important;

  max-width: none !important;
}


/* ==========================================================
   BILLING
   ========================================================== */

html.noytrix-subpage-v27
#screen-billing
> *:first-child {

  width: 100% !important;
  height: 100% !important;

  max-width: 1500px !important;

  margin: auto !important;
}


html.noytrix-subpage-v27
#screen-billing
.billing-v2,

html.noytrix-subpage-v27
#screen-billing
[class*="billing"] {

  max-width: none !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* ==========================================================
   SETTINGS
   ========================================================== */

html.noytrix-subpage-v27
#screen-settings
> *:first-child {

  width: 100% !important;
  height: 100% !important;

  max-width: 1450px !important;

  margin: auto !important;
}


html.noytrix-subpage-v27
#screen-settings
.settings-v2,

html.noytrix-subpage-v27
#screen-settings
[class*="settings"] {

  max-width: none !important;
}


/* ==========================================================
   REMOVE "CUT OFF" FEEL AT BOTTOM
   ========================================================== */

@media(min-width:761px) {

  html.noytrix-subpage-v27
  #screen-tracking,

  html.noytrix-subpage-v27
  #screen-intelligence,

  html.noytrix-subpage-v27
  #screen-analytics,

  html.noytrix-subpage-v27
  #screen-products,

  html.noytrix-subpage-v27
  #screen-api,

  html.noytrix-subpage-v27
  #screen-billing,

  html.noytrix-subpage-v27
  #screen-settings {

    box-sizing:
      border-box !important;

    overflow:
      hidden !important;
  }


  html.noytrix-subpage-v27
  #screen-tracking
  > *,

  html.noytrix-subpage-v27
  #screen-intelligence
  > *,

  html.noytrix-subpage-v27
  #screen-analytics
  > *,

  html.noytrix-subpage-v27
  #screen-products
  > *,

  html.noytrix-subpage-v27
  #screen-api
  > *,

  html.noytrix-subpage-v27
  #screen-billing
  > *,

  html.noytrix-subpage-v27
  #screen-settings
  > * {

    box-sizing:
      border-box !important;
  }

}


/* ==========================================================
   1080p / LARGE DESKTOP
   ========================================================== */

@media(
  min-width:1500px
) and (
  min-height:900px
) {

  html.noytrix-subpage-v27
  .noytrix-active-screen-v27 {

    padding:
      18px
      30px
      20px !important;
  }


  html.noytrix-subpage-v27
  .noytrix-active-screen-v27
  > *:first-child {

    max-width:
      1660px !important;
  }

}


/* ==========================================================
   1366 / 1440 LAPTOPS
   ========================================================== */

@media(
  min-width:761px
) and (
  max-height:850px
) {

  html.noytrix-subpage-v27
  .noytrix-active-screen-v27 {

    padding:
      8px
      16px
      10px !important;
  }


  /*
     ВАЖНО:
     не уменьшаем сами страницы как раньше.
     Просто немного сокращаем внутренние gaps.
  */

  html.noytrix-subpage-v27
  #screen-analytics
  .activity-v20 {

    grid-template-rows:
      auto
      auto
      minmax(0,1.1fr)
      minmax(0,.97fr)
      auto !important;

    gap:
      6px !important;
  }


  html.noytrix-subpage-v27
  #screen-products {

    padding:
      7px 14px 9px !important;
  }


  html.noytrix-subpage-v27
  #screen-products
  .product-slide-v23 {

    padding-bottom:
      58px !important;
  }

}


/* ==========================================================
   SIDEBAR
   remains untouched and full height
   ========================================================== */

.sidebar,
.app-sidebar,
.workspace-sidebar {

  height:
    100vh !important;

  min-height:
    0 !important;
}


/* ==========================================================
   INTERNAL SCROLL ONLY WHEN ACTUALLY NEEDED
   ========================================================== */

.session-list,
.sidebar-chats,
.activity-history-list-v20,
.signals-feed-v19,
.watch-list {

  overscroll-behavior:
    contain;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:760px) {

  html,
  body {

    height: auto !important;

    overflow-x:
      hidden !important;

    overflow-y:
      auto !important;
  }


  .app-shell {

    height:
      auto !important;

    min-height:
      100vh !important;

    overflow:
      visible !important;
  }


  /*
     На мобильном header можно оставить,
     чтобы login/lang не потерялись.
  */

  html.noytrix-subpage-v27
  .noytrix-top-actions-v27 {

    display:
      flex !important;

    width:
      auto !important;

    height:
      auto !important;

    overflow:
      visible !important;
  }


  html.noytrix-subpage-v27
  .noytrix-language-v27,

  html.noytrix-subpage-v27
  .noytrix-account-v27 {

    display:
      flex !important;
  }


  html.noytrix-subpage-v27
  .noytrix-active-screen-v27 {

    height:
      auto !important;

    max-height:
      none !important;

    overflow:
      visible !important;

    padding:
      12px !important;
  }


  html.noytrix-subpage-v27
  .noytrix-active-screen-v27
  > *:first-child {

    height:
      auto !important;

    max-height:
      none !important;
  }

}



/* ==========================================================
   V27.1 — TRACKING SAFE LAYOUT FIX
   ========================================================== */

html.noytrix-subpage-v27
#screen-tracking.active,
html.noytrix-subpage-v27
#screen-tracking.noytrix-active-screen-v27 {
  display: flex !important;

  align-items: stretch !important;
  justify-content: center !important;
}


/*
   Only the actual page root may fill the screen.
   Never stretch inner tracking controls.
*/

html.noytrix-subpage-v27
#screen-tracking
> .tracking-v14,

html.noytrix-subpage-v27
#screen-tracking
> .tracking-v15 {
  flex: 1 1 auto !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;
}


/* restore normal button sizing */

html.noytrix-subpage-v27
#screen-tracking button {
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
}


/* Add object */

html.noytrix-subpage-v27
#screen-tracking button[class*="add"],
html.noytrix-subpage-v27
#screen-tracking [class*="add-object"] {
  width: auto !important;

  min-width: 160px !important;

  height: 44px !important;

  min-height: 44px !important;

  flex: 0 0 auto !important;

  margin: 0 !important;

  padding:
    0 21px !important;
}


/* Header must stay horizontal */

html.noytrix-subpage-v27
#screen-tracking header {
  min-width: 0;
}


/* Never allow inner controls to inherit page dimensions */

html.noytrix-subpage-v27
#screen-tracking button,
html.noytrix-subpage-v27
#screen-tracking input,
html.noytrix-subpage-v27
#screen-tracking select {
  max-height: 52px !important;
}


/* Main cards stay inside viewport */

html.noytrix-subpage-v27
#screen-tracking article,
html.noytrix-subpage-v27
#screen-tracking section,
html.noytrix-subpage-v27
#screen-tracking div {
  min-width: 0;
}



/* ==========================================================
   V27.2 — STRICT SINGLE SCREEN
   Only current workspace page may be visible
   ========================================================== */

/*
   Critical rule:
   inactive workspace screens must NEVER remain visible,
   even if a page-specific addon contains display:flex/grid.
*/

[id^="screen-"]:not(.active):not(.noytrix-active-screen-v27) {
  display: none !important;
}


/*
   Current screen is allowed to render according to its
   own page layout.
*/

[id^="screen-"].active,
[id^="screen-"].noytrix-active-screen-v27 {
  visibility: visible !important;
}


/* Tracking only fills workspace while actually active */

html.noytrix-subpage-v27
#screen-tracking.active,
html.noytrix-subpage-v27
#screen-tracking.noytrix-active-screen-v27 {
  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  overflow: hidden !important;
}


/* Explicit protection when Tracking is inactive */

#screen-tracking:not(.active):not(.noytrix-active-screen-v27) {
  display: none !important;
}


/* Same protection for the other main pages */

#screen-intelligence:not(.active):not(.noytrix-active-screen-v27),
#screen-analytics:not(.active):not(.noytrix-active-screen-v27),
#screen-products:not(.active):not(.noytrix-active-screen-v27),
#screen-api:not(.active):not(.noytrix-active-screen-v27),
#screen-billing:not(.active):not(.noytrix-active-screen-v27),
#screen-settings:not(.active):not(.noytrix-active-screen-v27) {
  display: none !important;
}

