/* ═══════════════════════════════════════════════════════════════
   АНАЛИТИК CLOUD — Unified responsive shell
   Desktop: 1181px+ · Tablet: 768–1180px · Mobile: below 768px
   Load after components.css and dark-trading-theme.css
   ═══════════════════════════════════════════════════════════════ */

/* ── Global overflow protection ── */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* ════════════════════════════════════════════════════
   LARGE DESKTOP SCALE
   Make browser 100% look like 140% on 2K-wide screens.
   Browser zoom narrows the CSS viewport, which disables
   this rule and prevents accidental double scaling.
   ════════════════════════════════════════════════════ */
@media (min-width: 1800px) and (pointer: fine) {
  html {
    zoom: 1.4;
  }
}

.app,
.cabinet-app {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

/* ── Tablet and below: fluid full-width shell ── */
@media (max-width: 1180px) {
  :root {
    --page-gutter: 20px;
    --shell-max-width: none;
  }
}

@media (max-width: 1024px) {
  :root {
    --page-gutter: 18px;
  }
}

/* Foldables / small tablets */
@media (max-width: 767px) {
  :root {
    --page-gutter: 16px;
  }
}

/* Large phones / foldables closed */
@media (max-width: 600px) {
  :root {
    --page-gutter: 14px;
  }
}

/* Small phones — tuned for 360 / 375 / 390 / 412 / 430 */
@media (max-width: 430px) {
  :root {
    --page-gutter: 14px;
  }
}

@media (max-width: 390px) {
  :root {
    --page-gutter: 13px;
  }
}

@media (max-width: 374px) {
  :root {
    --page-gutter: 12px;
  }
}

@media (max-width: 360px) {
  :root {
    --page-gutter: 12px;
  }
}

/* ── Mobile + tablet: hide decorative scenes (desktop 1181+ unchanged) ── */
@media (max-width: 1024px) {
  .platform-bg,
  .platform-bg__layer,
  .platform-divider,
  .platform-divider__stage,
  .platform-divider__sweep,
  .platform-divider__data-packets,
  .platform-divider__svg,
  .platform-divider__ambient,
  .platform-divider__chart {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  .platform-footer-scene {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .platform-footer-scene .footer,
  .platform-footer-scene .footer.footer--clean {
    margin-top: 16px !important;
    padding: 10px var(--page-gutter) 12px !important;
    background: transparent !important;
  }

  .cta-block::before {
    display: none !important;
    animation: none !important;
  }

  .market-analysis__radar-stage,
  .market-analysis__radar,
  .market-analysis__radar-sweep,
  .market-analysis__radar-ring-glow,
  .signal-idle__visual,
  .signal-idle__radar,
  .signal-idle__radar-sweep,
  .cta-block__pulse-wrap {
    display: none !important;
  }
}

/* ── Shared shell: platform + cabinet ── */
.header__inner,
.main,
.main-nav,
.footer.footer--clean,
.platform-footer-scene .footer.footer--clean,
.cabinet-container {
  box-sizing: border-box;
}

/* ── Platform header ── */
.header__inner {
  width: 100% !important;
  max-width: var(--shell-max-width) !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

/* ── Platform nav ── */
.main-nav {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

/* ── Platform main content ── */
.main {
  width: 100% !important;
  max-width: var(--shell-max-width) !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

.content-primary,
.ai-sidebar,
.signal-section,
.history-section,
.cta-block,
.signal-market-row,
.current-signal,
.current-signal__card,
.market-analysis,
.active-signals,
.session-stats,
.trial-banner {
  min-width: 0;
  max-width: 100%;
}

/* ── Platform footer ── */
.footer.footer--clean,
.platform-footer-scene .footer.footer--clean {
  width: 100% !important;
  max-width: var(--shell-max-width) !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

.platform-footer-scene {
  width: 100%;
  max-width: none;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
  box-sizing: border-box;
}

/* ── Cabinet page shell ── */
@media (max-width: 1024px) {
  .cabinet-container {
    width: 100% !important;
    max-width: none !important;
    --cabinet-gutter: var(--page-gutter);
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
  }
}

.cabinet-dashboard,
.cabinet-dashboard__main,
.cabinet-sidebar-user,
.cabinet-user-zone {
  min-width: 0;
  max-width: 100%;
}

/* ═══════════════════════════════════════════════════════════════
   TABLET — 768px to 1180px (iPad, Surface Pro, etc.)
   Stack main + sidebar; full-width signal row; balanced footer
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1180px) {
  .main {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 20px !important;
    align-items: start !important;
    padding-top: 12px !important;
    padding-bottom: 18px !important;
  }

  .main > .content-primary {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .main > .ai-sidebar {
    grid-column: 1 / -1 !important;
    position: static !important;
    top: auto !important;
    align-self: stretch !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    z-index: 1 !important;
  }

  .ai-sidebar > .ai-panel {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Unified market analysis — full width single module */
  .signal-market-row--unified,
  .signal-market-row.signal-market-row--unified {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .market-analysis--unified {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Idea card + market analysis: legacy two-column (non-unified) */
  .signal-market-row:not(.signal-market-row--unified) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
    margin-bottom: 12px !important;
  }

  .signal-market-row .current-signal,
  .signal-market-row .market-analysis {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .signal-idle__body {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .signal-idle__preview {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .signal-idle__chip {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 8px 10px !important;
  }

  .signal-idle__status {
    gap: 10px 16px !important;
    flex-wrap: wrap !important;
  }

  .market-analysis__body {
    grid-template-columns: 1fr !important;
  }

  .cta-block,
  .current-signal,
  .history-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .signal-type-toggle {
    width: min(100%, 500px) !important;
    max-width: 500px !important;
    margin-inline: auto !important;
    min-width: 0 !important;
  }

  /* Footer: brand full width, academy + info in 2 columns */
  .platform-footer-scene {
    margin-top: 0 !important;
    padding-top: 8px !important;
  }

  .platform-footer-scene .footer,
  .platform-footer-scene .footer.footer--clean {
    margin-top: 20px !important;
    padding: 12px var(--page-gutter) 14px !important;
  }

  .footer.footer--clean {
    padding: 0 !important;
  }

  .footer--clean .footer__grid,
  .footer--clean .footer__grid--clean {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 18px !important;
    padding: 16px 20px 14px !important;
  }

  .footer--clean .footer__col {
    padding: 0 !important;
    border-right: none !important;
    gap: 6px !important;
  }

  .footer--clean .footer__col--brand {
    grid-column: 1 / -1 !important;
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(216, 160, 80, 0.08) !important;
  }

  .footer--clean .footer__logo {
    gap: 10px !important;
    max-width: 100% !important;
  }

  .footer--clean .footer__logo-icon,
  .footer--clean .footer__logo-icon svg, .footer__logo-icon img, .footer__logo-robot {
    width: 42px !important;
    height: 42px !important;
  }

  .footer--clean .brand-main {
    font-size: 16px !important;
    letter-spacing: 2.5px !important;
  }

  .footer--clean .brand-word {
    font-size: 18px !important;
    letter-spacing: 3px !important;
  }

  .footer--clean .footer__brand-desc,
  .footer--clean .footer__col--brand .footer__brand-desc,
  .footer--clean .footer__logo .footer__brand-desc {
    font-size: 12px !important;
    line-height: 1.42 !important;
    max-width: 100% !important;
  }

  .footer--clean .footer__col-title {
    margin-bottom: 8px !important;
    padding-bottom: 6px !important;
    font-size: 11px !important;
  }

  .footer--clean .footer__link-list--clean {
    gap: 6px !important;
  }

  .footer--clean .footer__link-list--clean .footer__link-item {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .footer--clean .footer__grid--brand-academy,
  .footer--clean .footer__grid.footer__grid--brand-academy {
    grid-template-columns: 1fr !important;
    row-gap: 16px !important;
  }

  .footer--clean .footer__grid--brand-academy .footer__col--academy {
    justify-self: start !important;
    border-left: none !important;
    padding-left: 0 !important;
    max-width: none !important;
  }

  .footer--clean .footer__col--academy .footer__link-list--clean {
    display: grid !important;
    grid-template-columns: max-content max-content !important;
    column-gap: 20px !important;
    row-gap: 5px !important;
    gap: 5px 20px !important;
  }

  .footer--clean .footer__info-list {
    gap: 6px !important;
  }

  .footer--clean .footer__info-item {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }

  .footer--clean .footer__contact-actions,
  .footer--clean .footer__contact-actions--important {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .footer--clean .footer__contact-pill {
    width: auto !important;
    flex: 0 1 auto !important;
    min-height: 0 !important;
    padding: 3px 8px 3px 6px !important;
    font-size: 10px !important;
  }

  .footer--clean .footer__contact-actions--bar .footer__contact-pill {
    min-height: 0 !important;
    padding: 3px 8px 3px 6px !important;
    font-size: 10px !important;
  }

  .footer--clean .footer__contact-actions--bar .footer__contact-pill-icon svg {
    width: 12px !important;
    height: 12px !important;
  }

  .footer--clean .footer__bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 10px 20px 12px !important;
  }

  .footer--clean .footer__bottom-copy {
    justify-self: center !important;
    white-space: normal !important;
  }

  .footer--clean .footer__contact-actions--bar {
    justify-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  .footer--clean .footer__bottom-legal {
    justify-self: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 2px !important;
    text-align: center !important;
  }

  .footer--clean .footer__bottom-sep {
    display: none !important;
  }

  .footer--clean .footer__bottom-copy {
    font-size: 10.5px !important;
  }

  .footer--clean .footer__bottom-link {
    font-size: 10px !important;
    text-align: center !important;
  }
}

/* Smaller tablets: single-column sidebar; narrow widths stack signal row */
@media (min-width: 768px) and (max-width: 899px) {
  .main > .ai-sidebar {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) and (max-width: 819px) {
  .signal-market-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* ── Mobile safety: below 768px — stack, no horizontal scroll ── */
@media (max-width: 767px) {
  :root {
    --page-gutter: 16px;
  }

  .main {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-top: 10px !important;
    padding-bottom: 14px !important;
  }

  .content-primary,
  .ai-sidebar {
    width: 100% !important;
    max-width: 100% !important;
  }

  .signal-grid,
  .signal-grid--single,
  .signal-market-row {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .signal-type-toggle {
    width: min(100%, 500px) !important;
    max-width: 500px !important;
    margin-inline: auto !important;
    flex-wrap: wrap;
    gap: 8px !important;
  }

  .signal-type-toggle__btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .current-signal,
  .current-signal__card,
  .cta-block,
  .market-analysis,
  .history-section,
  .signal-section,
  .active-signals,
  .ai-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .cs-head-top,
  .cs-fields,
  .cs-pair-row,
  .cs-body {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .cta-btn,
  .cta-block__btn,
  .trial-banner__btn,
  .hdr-btn,
  .cabinet-profile__cta,
  .cabinet-user-card__btn,
  .cabinet-topbar__terminal-btn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .trial-banner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px 14px !important;
  }

  .session-stats {
    padding: 10px 12px !important;
    margin-bottom: 0 !important;
  }

  .session-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ai-sidebar {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    position: static !important;
    width: 100% !important;
  }

  .market-analysis__body {
    grid-template-columns: 1fr !important;
  }

  /* Hide decorative radar / scan visuals — keep trading content */
  .market-analysis__radar-stage,
  .market-analysis__radar,
  .market-analysis__radar-sweep,
  .market-analysis__radar-ring-glow,
  .signal-idle__visual,
  .signal-idle__radar,
  .signal-idle__radar-sweep,
  .cta-block__pulse-wrap {
    display: none !important;
  }

  .signal-idle__body {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .signal-idle--hero {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  /* ── Mobile header: stacked shell, no horizontal overflow ── */
  .header {
    padding: 8px 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
    box-sizing: border-box !important;
  }

  .header__logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-right: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .header__logo-texts {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .header__logo-icon {
    width: 46px !important;
    height: 46px !important;
    flex-shrink: 0 !important;
  }

  .header__logo-icon img,
  .header__logo-robot {
    width: 46px !important;
    height: 46px !important;
  }

  .header__logo-text {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .header__logo-text .brand-main {
    font-size: 16px !important;
    letter-spacing: 2px !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }

  .header__logo-text .brand-word {
    font-size: 18px !important;
    letter-spacing: 3px !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }

  .header__logo-sub {
    font-size: 8px !important;
    letter-spacing: 1.4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    opacity: 0.8 !important;
  }

  .header__right {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
  }

  .header__modules {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .header-module {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 5px 8px !important;
    min-height: 30px !important;
    gap: 5px !important;
    border-radius: 8px !important;
  }

  .header-module--live .header-sound-btn {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }

  .header-module--live .header-module__vdiv--sound {
    min-height: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .header-module__cabinet-label {
    display: none !important;
  }

  .header-module__chevron {
    display: none !important;
  }

  .header-module__access-label {
    font-size: 9px !important;
    letter-spacing: 0.06em !important;
  }

  .header-module__clock-time {
    font-size: 12px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .header__slogan {
    display: none !important;
  }

  /* ── Mobile main nav: scrollable row, readable tap targets ── */
  .main-nav {
    height: auto !important;
    min-height: 40px !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 0 !important;
    scrollbar-width: none !important;
  }

  .main-nav::-webkit-scrollbar {
    display: none !important;
  }

  .main-nav__links {
    display: inline-flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: max-content !important;
    max-width: none !important;
    flex-shrink: 0 !important;
  }

  .main-nav__item {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 8px 14px !important;
    font-size: 11px !important;
    gap: 5px !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  .main-nav__item .nav-icon {
    width: 13px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
  }

  .history-table-wrap,
  .cabinet-history__table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .platform-divider {
    display: none !important;
  }

  .platform-footer-scene {
    margin-top: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 0 !important;
  }

  .platform-footer-scene .footer,
  .platform-footer-scene .footer.footer--clean {
    margin-top: 10px !important;
    padding: 6px var(--page-gutter) 8px !important;
  }

  .footer.footer--clean {
    padding: 0 !important;
  }

  .footer--clean .footer__inner {
    border-radius: 8px !important;
  }

  .footer--clean .footer__grid,
  .footer--clean .footer__grid--clean {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 12px 14px 10px !important;
  }

  .footer--clean .footer__col {
    padding: 0 !important;
    border-right: none !important;
    gap: 4px !important;
  }

  .footer--clean .footer__col--brand {
    grid-column: 1 / -1 !important;
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(216, 160, 80, 0.08) !important;
  }

  .footer--clean .footer__logo {
    gap: 8px !important;
    align-items: flex-start !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer--clean .footer__logo-texts {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer--clean .footer__logo-text {
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .footer--clean .footer__logo-icon,
  .footer--clean .footer__logo-icon svg, .footer__logo-icon img, .footer__logo-robot {
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
  }

  .footer--clean .brand-main {
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
  }

  .footer--clean .brand-word {
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }

  .footer--clean .footer__logo-sub {
    font-size: 6.5px !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }

  .footer--clean .footer__brand-desc,
  .footer--clean .footer__col--brand .footer__brand-desc,
  .footer--clean .footer__logo .footer__brand-desc,
  .footer--clean .footer__logo-texts .footer__brand-desc {
    font-size: 11px !important;
    line-height: 1.38 !important;
    max-width: 100% !important;
    letter-spacing: 0 !important;
  }

  .footer--clean .footer__col-title {
    margin-bottom: 5px !important;
    padding-bottom: 4px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.1em !important;
  }

  .footer--clean .footer__link-list--clean {
    gap: 3px !important;
  }

  .footer--clean .footer__link-list--clean .footer__link-item {
    font-size: 11px !important;
    line-height: 1.32 !important;
    padding: 1px 0 !important;
  }

  .footer--clean .footer__info-list {
    gap: 4px !important;
  }

  .footer--clean .footer__info-item {
    font-size: 10.5px !important;
    line-height: 1.36 !important;
    padding-left: 9px !important;
  }

  .footer--clean .footer__info-item::before {
    top: 0.45em !important;
    width: 4px !important;
    height: 4px !important;
  }

  .footer--clean .footer__contact-actions,
  .footer--clean .footer__contact-actions--important {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 6px !important;
    width: 100% !important;
  }

  .footer--clean .footer__contact-pill {
    flex: 1 1 calc(50% - 3px) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 3px 8px 3px 6px !important;
    min-height: 0 !important;
    font-size: 10px !important;
    gap: 5px !important;
    border-radius: 6px !important;
  }

  .footer--clean .footer__contact-actions--bar .footer__contact-pill {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    padding: 3px 8px 3px 6px !important;
  }

  .footer--clean .footer__contact-pill-label {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .footer--clean .footer__contact-pill-icon svg {
    width: 12px !important;
    height: 12px !important;
  }

  .footer--clean .footer__bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 8px 14px 10px !important;
  }

  .footer--clean .footer__bottom-copy {
    justify-self: center !important;
    font-size: 9.5px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    color: rgba(110, 116, 124, 0.58) !important;
    -webkit-text-fill-color: rgba(110, 116, 124, 0.58) !important;
  }

  .footer--clean .footer__contact-actions--bar {
    justify-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  .footer--clean .footer__bottom-legal {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-self: center !important;
    gap: 2px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .footer--clean .footer__bottom-sep {
    display: none !important;
  }

  .footer--clean .footer__bottom-link {
    font-size: 10px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  /* Cabinet: single column stack */
  .cabinet-dashboard,
  .cabinet-dashboard__main,
  .cabinet-user-main,
  .cabinet-analytics-row,
  .cabinet-sidebar-user,
  .cabinet-user-zone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .cabinet-profile {
    grid-template-columns: 1fr !important;
  }

  .cabinet-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cabinet-dashboard__aside {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ── Mobile: content flow — CTA → signal → history → sidebar ── */
  .content-primary {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
  }

  .main > .ai-sidebar {
    order: 2 !important;
  }

  .content-primary > .cta-block {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 14px 14px !important;
    margin-bottom: 0 !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .content-primary > .cta-block .cta-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.25 !important;
  }

  .cta-block__ai-row {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .cta-block__ai-label {
    font-size: 11px !important;
  }

  .cta-block__hint-text {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .signal-type-toggle {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }

  .signal-type-toggle__btn {
    flex: 1 1 0 !important;
    min-height: 40px !important;
    padding: 8px 6px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .signal-type-toggle__btn span {
    font-size: 10px !important;
    line-height: 1.25 !important;
    display: block !important;
  }

  .auto-search-row,
  .admin-relaxed-mode-row {
    width: 100% !important;
    justify-content: center !important;
    gap: 8px 12px !important;
  }

  .auto-search-toggle__label,
  .admin-relaxed-mode-hint {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .signal-market-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
  }

  .signal-idle--hero {
    padding: 14px 14px 12px !important;
  }

  .signal-idle__title {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }

  .signal-idle__subtitle {
    font-size: 13px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
  }

  .signal-idle__helper {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .signal-idle__preview {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .signal-idle__chip {
    padding: 8px 6px !important;
    min-width: 0 !important;
  }

  .signal-idle__chip-label {
    font-size: 8px !important;
  }

  .signal-idle__chip-val {
    font-size: 11px !important;
  }

  .signal-idle__status {
    font-size: 11px !important;
  }

  .market-analysis {
    padding: 12px 14px !important;
  }

  .market-analysis__title {
    font-size: 11px !important;
  }

  .market-analysis__metric-label,
  .market-analysis__metric-value {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .session-stats,
  .recent-signals,
  .trial-banner {
    margin-bottom: 0 !important;
  }

  .history-section {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  .ai-sidebar > .ai-panel {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    min-width: 0 !important;
  }

  .ai-panel__header,
  .ai-panel__header-left {
    font-size: 11px !important;
    min-width: 0 !important;
  }

  .ai-panel__body {
    overflow: visible !important;
  }
}

/* ── Tablet: hide radar visuals (redundant guard; desktop 1181+ unchanged) ── */
@media (max-width: 900px) {
  .market-analysis__radar-stage,
  .market-analysis__radar,
  .market-analysis__radar-sweep,
  .market-analysis__radar-ring-glow,
  .signal-idle__visual,
  .signal-idle__radar,
  .signal-idle__radar-sweep,
  .cta-block__pulse-wrap {
    display: none !important;
  }

  .signal-idle__body {
    grid-template-columns: 1fr !important;
  }
}

/* ── Large phones (431–600) ── */
@media (max-width: 600px) {
  .header__inner {
    row-gap: 8px !important;
  }

  .header-module {
    padding: 4px 7px !important;
    min-height: 28px !important;
  }

  .header-module__shield {
    width: 20px !important;
  }

  .header-module__shield svg {
    width: 16px !important;
    height: 16px !important;
  }

  .header-module__user {
    display: none !important;
  }

  .header-module__vdiv {
    display: none !important;
  }

  .main-nav__item {
    padding: 8px 12px !important;
    font-size: 10.5px !important;
  }

  .footer--clean .footer__grid,
  .footer--clean .footer__grid--clean {
    gap: 10px !important;
    padding: 10px 12px 8px !important;
  }

  .footer--clean .footer__col--brand {
    padding-bottom: 8px !important;
  }

  .footer--clean .footer__logo-icon,
  .footer--clean .footer__logo-icon svg, .footer__logo-icon img, .footer__logo-robot {
    width: 34px !important;
    height: 34px !important;
  }

  .footer--clean .brand-main {
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
  }

  .footer--clean .brand-word {
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }

  .footer--clean .footer__brand-desc,
  .footer--clean .footer__col--brand .footer__brand-desc {
    font-size: 10.5px !important;
    line-height: 1.34 !important;
  }

  .footer--clean .footer__link-list--clean .footer__link-item {
    font-size: 11px !important;
  }

  .footer--clean .footer__info-item {
    font-size: 10px !important;
    line-height: 1.34 !important;
  }

  .footer--clean .footer__contact-pill {
    min-height: 0 !important;
    padding: 3px 8px 3px 6px !important;
    font-size: 10px !important;
  }

  .footer--clean .footer__bottom {
    padding: 7px 12px 9px !important;
    gap: 5px !important;
  }

  .footer--clean .footer__bottom-copy,
  .footer--clean .footer__bottom-link {
    font-size: 10px !important;
  }

  .cabinet-topbar__inner {
    gap: 10px !important;
  }
}

/* ── Standard / small phones (320–430) ── */
@media (max-width: 430px) {
  .header-module__access-label {
    font-size: 8px !important;
  }

  .header-module__live-label {
    font-size: 9px !important;
  }

  .main-nav__item {
    padding: 8px 10px !important;
    font-size: 10px !important;
  }

  .footer--clean .footer__contact-pill {
    flex: 1 1 100% !important;
  }

  .cabinet-topbar__logo-text {
    font-size: 12px;
  }

  .cabinet-topbar__terminal-btn span {
    display: none;
  }
}

@media (max-width: 389px) {
  .signal-idle__preview {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
}

@media (max-width: 374px) {
  .main-nav__links {
    gap: 4px !important;
  }

  .main-nav__item {
    padding: 8px 8px !important;
    font-size: 9.5px !important;
  }

  .signal-type-toggle__btn span {
    font-size: 9px !important;
  }

  .cabinet-stats__grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ── Desktop (1181+) — precise side gutters via .app shell ── */
@media (min-width: 1181px) {
  :root {
    /* Same side frame as cabinet (.cabinet-container) — wider starfield gutters */
    --page-gutter: 48px;
    --desktop-side-gutter: 48px;
    --shell-max-width: 1310px;
    --shell-block-gap: 8px;
    --header-top-gap: 14px;
    --main-pad-top: 8px;
    --sticky-shell-height: calc(var(--header-height) + var(--nav-height) + var(--shell-block-gap));
  }

  /*
    Desktop shell — match cabinet side offsets exactly.
  */
  .app {
    width: min(var(--shell-max-width), calc(100% - var(--page-gutter) * 2)) !important;
    max-width: var(--shell-max-width) !important;
    margin-inline: auto !important;
    overflow-x: visible !important;
  }

  .header,
  .main-nav,
  .main,
  .platform-footer-scene,
  .footer.footer--clean,
  .platform-footer-scene .footer.footer--clean {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .header {
    overflow: visible !important;
    /* Inset dark header bar to the same edges as main modules */
    width: auto !important;
    margin-left: var(--page-gutter) !important;
    margin-right: var(--page-gutter) !important;
    /* Small sky gap above header */
    margin-top: var(--header-top-gap, 14px) !important;
    top: var(--header-top-gap, 14px) !important;
    border-radius: var(--card-radius) !important;
  }

  .main-nav {
    width: auto !important;
    margin-left: var(--page-gutter) !important;
    margin-right: var(--page-gutter) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: var(--shell-block-gap) !important;
    top: calc(var(--header-height) + var(--header-top-gap, 14px) + var(--shell-block-gap)) !important;
    border-radius: var(--card-radius) !important;
  }

  .header__inner,
  .footer.footer--clean .footer__inner,
  .platform-footer-scene .footer.footer--clean .footer__inner {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  .header__inner {
    padding-inline: 0 !important;
    gap: 12px 16px !important;
    grid-template-rows: auto auto !important;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) minmax(184px, 196px) !important;
    overflow: visible !important;
  }

  .header__logo {
    grid-row: 1 / -1 !important;
  }

  .header__slogan {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-items: flex-start !important;
    max-width: none !important;
    padding: 4px 0 4px 12px !important;
  }

  .header__right {
    grid-column: 3 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    justify-self: end !important;
    align-self: end !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .header__modules {
    width: auto !important;
    max-width: none !important;
    flex-direction: row !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }

  .header__logo {
    min-width: 0 !important;
    max-width: 360px !important;
    padding-right: 16px !important;
    /* Shift brand block (robot + title) inward from left edge */
    padding-left: 36px !important;
    justify-self: start !important;
  }

  .header__slogan {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 6px 8px !important;
  }

  .main,
  .main-nav,
  .footer.footer--clean,
  .platform-footer-scene .footer.footer--clean {
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
  }

  .platform-footer-scene {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .main-nav {
    padding-inline: var(--page-gutter) !important;
  }

  /* Footer bottom row: copyright | action buttons | legal */
  .footer--clean .footer__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    padding: 10px 24px 12px !important;
  }

  .footer--clean .footer__bottom-copy {
    justify-self: start !important;
    white-space: nowrap !important;
  }

  .footer--clean .footer__contact-actions--bar {
    justify-self: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer--clean .footer__bottom-legal {
    justify-self: end !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
    text-align: right !important;
  }

  .footer--clean .footer__bottom-link {
    font-size: 10px !important;
    line-height: 1.3 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .footer--clean .footer__bottom-sep {
    display: none !important;
  }
}

/* ════════════════════════════════════════════════════
   APPROVED DEVTOOLS — header slogan layout (persist on reload)
   Compact dark panel · cleaner header spacing · tablet/desktop ≥768px
   ════════════════════════════════════════════════════ */
@media (min-width: 768px) {
  .header__inner {
    gap: 12px 24px !important;
    grid-template-rows: auto auto !important;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) minmax(236px, 280px) !important;
  }

  .header__logo {
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    min-width: 0 !important;
    max-width: 380px !important;
    padding-right: 12px !important;
    padding-left: 28px !important;
  }

  .header__slogan {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding: 4px 0 4px 12px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    align-items: flex-start !important;
  }

  .header__slogan::before,
  .header__slogan::after {
    display: none !important;
    content: none !important;
  }

  .header__logo .brand-main {
    font-size: 22px !important;
    letter-spacing: 3.5px !important;
  }

  .header__logo .brand-word {
    font-size: 26px !important;
    letter-spacing: 5px !important;
  }

  .header__logo-sub {
    font-size: 9px !important;
    letter-spacing: 2.2px !important;
  }

  .header__slogan-text {
    font-size: 11.5px !important;
    line-height: 1.48 !important;
    letter-spacing: 0.1px !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .header__slogan-line--1 {
    font-size: 11.5px !important;
    line-height: 1.46 !important;
  }

  .header__slogan-line--2 {
    font-size: 11.5px !important;
    line-height: 1.46 !important;
  }

  .header__slogan-line + .header__slogan-line {
    margin-top: 4px !important;
  }

  .header__slogan-accent--purple,
  .header__slogan-accent--strong,
  .header__slogan-accent--cyan {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .header__right {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: end !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .header__modules {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
  }

  /* APPROVED DEVTOOLS — header modules (access + live row) */
  .header-module {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    width: auto !important;
    flex: 0 1 auto !important;
    padding: 2px 6px !important;
    min-height: 22px !important;
    box-sizing: border-box !important;
    border-radius: 7px !important;
  }
}

/* Idle AI CORE: strip outer module frame — keep only .ai-core-empty glow card */
@media (min-width: 1181px) {
  .content-primary .market-analysis.market-analysis--unified:has(.current-signal--idle),
  .market-analysis--unified:has(.current-signal--idle),
  .market-analysis.market-analysis--unified:has(.current-signal--idle) {
    border: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  .content-primary > .signal-market-row--unified:has(.current-signal--idle),
  .signal-market-row--unified:has(.current-signal--idle),
  .signal-market-row.signal-market-row--unified:has(.current-signal--idle) {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .market-analysis--unified:has(.current-signal--idle)::before,
  .market-analysis--unified:has(.current-signal--idle)::after,
  .signal-market-row--unified:has(.current-signal--idle)::before,
  .signal-market-row--unified:has(.current-signal--idle)::after {
    content: none !important;
    display: none !important;
  }

  .market-analysis--unified:has(.current-signal--idle) .umac-card--signal,
  .market-analysis--unified:has(.current-signal--idle) .umac-card {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    min-height: 0 !important;
  }

  .market-analysis--unified:has(.current-signal--idle) .ai-core-empty {
    width: min(100%, 1100px) !important;
    max-width: 100% !important;
  }

  /* Reassert after ≥768 header rules — same side frame as cabinet */
  .app {
    width: min(var(--shell-max-width), calc(100% - var(--page-gutter) * 2)) !important;
    max-width: var(--shell-max-width) !important;
    margin-inline: auto !important;
    overflow-x: visible !important;
  }

  .header__inner {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) minmax(184px, 196px) !important;
    grid-template-rows: auto auto !important;
    gap: 12px 24px !important;
    overflow: visible !important;
  }

  .header__logo {
    grid-row: 1 / -1 !important;
  }

  .header__slogan {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
  }

  .header__right {
    grid-column: 3 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
    justify-self: end !important;
    align-self: end !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .header__modules {
    width: auto !important;
    max-width: none !important;
    flex-direction: row !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }
}

/* ════════════════════════════════════════════════════
   DESKTOP UI COMPACT PASS (≥1181px)
   ~8–10% tighter vertical rhythm · no zoom · mobile untouched
   ════════════════════════════════════════════════════ */
@media (min-width: 1181px) {
  :root {
    --header-height: 118px;
    --nav-height: 38px;
    --grid-gap: 12px;
    --card-padding: 10px;
    --main-pad-top: 8px;
  }

  .main {
    gap: 16px !important;
    padding-top: var(--main-pad-top, 20px) !important;
    padding-bottom: 10px !important;
  }

  .header {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .header-module {
    padding: 2px 8px !important;
    min-height: 24px !important;
  }

  .header__modules {
    gap: 4px !important;
  }

  .main-nav {
    min-height: 38px !important;
  }

  .content-primary > .cta-block {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    gap: 8px !important;
  }

  .content-primary > .signal-market-row,
  .content-primary > .signal-market-row--unified {
    margin-bottom: 10px !important;
  }

  /* ── Right column: denser stack that fits one viewport better ── */
  .ai-sidebar {
    gap: 7px !important;
  }

  .ai-sidebar > .ai-panel,
  .ai-sidebar .ai-panel {
    margin-bottom: 0 !important;
  }

  .ai-sidebar .ai-panel__header,
  .ai-sidebar .ai-panel__header--toggle {
    padding: 7px 11px !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    line-height: 1.3 !important;
    min-height: 0 !important;
  }

  .ai-sidebar .ai-panel__header-left {
    gap: 6px !important;
    align-items: center !important;
  }

  .ai-sidebar .ai-panel__icon {
    font-size: 12px !important;
  }

  .ai-sidebar .ai-panel__collapse-btn {
    padding: 2px 6px !important;
    font-size: 10px !important;
    min-height: 0 !important;
  }

  .ai-sidebar .ai-panel__body {
    padding: 8px 11px !important;
  }

  /* Статус AI ядра */
  .ai-sidebar .status-item {
    padding: 5px 0 !important;
    gap: 6px !important;
    min-height: 0 !important;
    align-items: center !important;
  }

  .ai-sidebar .status-item--confidence {
    margin-top: 0 !important;
    padding-top: 7px !important;
  }

  .ai-sidebar .status-item__name,
  .ai-sidebar .status-item__value {
    font-size: 12px !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
  }

  .ai-sidebar .status-item__value--confidence {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }

  .ai-sidebar .status-dot {
    width: 6px !important;
    height: 6px !important;
  }

  /* Инструкция для новичков */
  .ai-panel--beginner .ai-panel__body {
    padding: 8px 11px !important;
  }

  .ai-panel--beginner .beginner-panel__setup-btn {
    padding: 6px 10px !important;
    margin-bottom: 8px !important;
    font-size: 11px !important;
  }

  .ai-panel--beginner .beginner-steps-grid {
    gap: 6px !important;
  }

  .ai-panel--beginner .beginner-step-card {
    padding: 7px 8px !important;
    gap: 6px !important;
  }

  .ai-panel--beginner .beginner-step-card__title {
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
  }

  .ai-panel--beginner .beginner-step-card__text {
    font-size: 11px !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
  }

  .ai-panel--beginner .beginner-extras {
    margin-top: 6px !important;
  }

  .ai-panel--beginner .beginner-extra__header {
    padding: 5px 9px !important;
    font-size: 11px !important;
  }

  .ai-panel--beginner .beginner-extra__body {
    padding: 0 9px 7px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .ai-panel--beginner .beginner-block__note {
    margin-top: 6px !important;
    padding: 6px 8px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  /* Торговые сессии */
  .ai-panel--sessions .ai-panel__body {
    padding: 8px 11px !important;
  }

  .ai-panel--sessions .sessions-intro {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .ai-panel--sessions .sessions-list .session-item,
  .ai-sidebar .session-item {
    padding: 6px 0 !important;
    gap: 7px !important;
    align-items: center !important;
  }

  .ai-panel--sessions .session-item__name {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .ai-panel--sessions .session-item__time,
  .ai-panel--sessions .session-item__pairs {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  .ai-panel--sessions .sessions-window {
    margin-top: 7px !important;
    padding: 6px 8px !important;
  }

  .ai-panel--sessions .sessions-window__title {
    margin-bottom: 2px !important;
    font-size: 10px !important;
  }

  .ai-panel--sessions .sessions-window__text {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .ai-panel--sessions .sessions-note {
    margin-top: 7px !important;
    padding: 6px 8px !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }

  /* Риск-менеджер */
  .ai-panel--risk .ai-panel__body {
    padding: 8px 11px 9px !important;
  }

  .ai-sidebar .risk-deposit-row {
    margin-bottom: 7px !important;
    align-items: center !important;
  }

  .ai-sidebar .risk-input {
    padding: 3px 7px !important;
    height: auto !important;
    min-height: 28px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .ai-sidebar .risk-stakes {
    gap: 3px !important;
    margin-bottom: 6px !important;
  }

  .ai-sidebar .risk-stake-row {
    padding: 5px 8px !important;
    min-height: 0 !important;
    align-items: center !important;
  }

  .ai-sidebar .risk-stake-label,
  .ai-sidebar .risk-stake-value {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .ai-sidebar .risk-disclaimer {
    margin-top: 2px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  /* Алгоритм — same density when open */
  .ai-panel--algo .ai-panel__body {
    padding: 8px 11px !important;
  }

  .ai-panel--algo .algo-panel__intro {
    margin: 0 0 7px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .ai-panel--algo .algo-row {
    padding: 5px 0 !important;
    gap: 6px !important;
  }

  .ai-panel--algo .algo-row__title {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .ai-panel--algo .algo-row__desc {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
}

/* ════════════════════════════════════════════════════
   DESKTOP — compact right header panels (≥1181px)
   Cabinet + LIVE: narrower, less padding, inset from edge
   ════════════════════════════════════════════════════ */
@media (min-width: 1181px) {
  .header__inner {
    padding-right: calc(var(--page-gutter) + 16px) !important;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) minmax(184px, 196px) !important;
    grid-template-rows: auto auto !important;
    gap: 12px 24px !important;
  }

  .header__logo {
    grid-row: 1 / -1 !important;
  }

  .header__slogan {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-items: flex-start !important;
  }

  .header__slogan-text {
    text-align: left !important;
  }

  .header__right {
    grid-column: 3 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    justify-self: end !important;
    align-self: end !important;
    margin-right: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .header__modules {
    width: auto !important;
    max-width: none !important;
    flex-direction: row !important;
    gap: 6px !important;
  }

  .header-module {
    width: auto !important;
    flex: 0 1 auto !important;
    padding: 2px 6px !important;
    min-height: 22px !important;
    gap: 4px !important;
  }

  .header-module--access {
    overflow: visible !important;
  }

  .header-module--access .header-module__texts {
    min-width: 0;
    flex: 1 1 auto;
    overflow: visible !important;
  }

  .header-module--access .header-module__access-label {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    font-size: 8px !important;
  }

  .header-module--access .header-module__cabinet-label {
    font-size: 6px !important;
  }

  .header-module--live {
    padding-right: 5px !important;
    overflow: visible !important;
    align-items: center !important;
  }

  .header-module--live .header-sound-btn {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .header-module__live-label {
    font-size: 8px !important;
    width: 24px !important;
    min-width: 24px !important;
  }

  .header-module__clock-time {
    font-size: 10px !important;
    min-width: 34px !important;
  }

  .header-module__clock-tz {
    font-size: 7px !important;
  }
}

/* ════════════════════════════════════════════════════
   HISTORY gap + sticky sidebar jump (loads last)
   ════════════════════════════════════════════════════ */
@media (min-width: 1181px) {
  :root {
    --modules-top-shift: 6px;
  }

  .main {
    padding-top: var(--main-pad-top, 20px) !important;
    align-items: start !important;
  }

  /*
    Lower left CTA+AI CORE and right sidebar together so top borders
    share one line, with clear space under the sticky header/nav.
  */
  .main > .content-primary {
    margin-top: var(--modules-top-shift) !important;
    padding-top: 0 !important;
    align-self: start !important;
  }

  .main > .ai-sidebar {
    margin-top: calc(var(--modules-top-shift, 0px) - 16px) !important;
    padding-top: 0 !important;
    align-self: start !important;
  }

  .main > .content-primary > .cta-block {
    margin-top: 0 !important;
  }

  .main > .ai-sidebar > .ai-panel:first-child {
    margin-top: 0 !important;
  }

  .content-primary > .history-section {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  .content-primary > .session-stats,
  .content-primary > .today-stats,
  .content-primary > .recent-signals {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .content-primary > .signal-market-row,
  .content-primary > .signal-market-row--unified {
    margin-bottom: 8px !important;
  }

  .main > .ai-sidebar,
  .ai-sidebar {
    top: calc(
      var(--header-top-gap, 14px) + var(--header-height) + var(--shell-block-gap, 8px) + var(--nav-height)
      + var(--main-pad-top, 20px) + var(--modules-top-shift, 18px)
    ) !important;
    overflow-anchor: none !important;
  }

  .ai-sidebar .ai-panel {
    overflow-anchor: none !important;
  }
}

@media (min-width: 1101px) and (max-width: 1180px) {
  .main > .ai-sidebar {
    margin-top: -16px !important;
  }
}

/* ── Brand robot — unified sizes, no footer amber glow (final override) ── */
:root {
  --brand-robot-header: 48px;
  --brand-robot-footer: 32px;
}

.header__logo-icon,
.header__logo-icon img,
.header__logo-icon svg,
.header__logo-robot {
  width: var(--brand-robot-header) !important;
  height: var(--brand-robot-header) !important;
  max-width: var(--brand-robot-header) !important;
  max-height: var(--brand-robot-header) !important;
  filter: none !important;
  box-shadow: none !important;
}

.footer__logo-icon,
.footer__logo-icon img,
.footer__logo-icon svg,
.footer__logo-robot,
.footer--clean .footer__logo-icon,
.footer--clean .footer__logo-icon img,
.footer--clean .footer__logo-icon svg,
.footer--clean .footer__logo-robot {
  width: var(--brand-robot-footer) !important;
  height: var(--brand-robot-footer) !important;
  max-width: var(--brand-robot-footer) !important;
  max-height: var(--brand-robot-footer) !important;
  filter: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.footer__logo-icon,
.footer--clean .footer__logo-icon {
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 1180px) {
  :root {
    --brand-robot-header: 40px;
    --brand-robot-footer: 30px;
  }
}

@media (max-width: 640px) {
  :root {
    --brand-robot-header: 38px;
    --brand-robot-footer: 28px;
  }
}

/* Footer v23 — compact brand block · muted bottom legal row */
.footer--clean .footer__grid--brand-academy,
.footer--clean .footer__grid.footer__grid--brand-academy {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.footer--clean .footer__logo {
  gap: 8px !important;
}

.footer--clean .brand-main {
  font-size: 15px !important;
  letter-spacing: 2px !important;
}

.footer--clean .brand-word {
  font-size: 17px !important;
  letter-spacing: 2.5px !important;
}

.footer--clean .footer__logo-sub {
  font-size: 6.5px !important;
  margin-bottom: 4px !important;
  opacity: 0.55 !important;
}

.footer--clean .footer__brand-desc,
.footer--clean .footer__col--brand .footer__brand-desc,
.footer--clean .footer__logo .footer__brand-desc,
.footer--clean .footer__logo-texts .footer__brand-desc {
  font-size: 11px !important;
  line-height: 1.38 !important;
  color: rgba(200, 204, 208, 0.72) !important;
  -webkit-text-fill-color: rgba(200, 204, 208, 0.72) !important;
}

.footer--clean .footer__bottom {
  padding: 7px 20px 9px !important;
}

.footer--clean .footer__bottom-copy,
.footer--clean .footer__bottom-link {
  font-size: 10px !important;
  color: rgba(110, 116, 124, 0.62) !important;
  -webkit-text-fill-color: rgba(110, 116, 124, 0.62) !important;
}

.footer--clean .footer__bottom-link:hover {
  color: rgba(150, 156, 164, 0.78) !important;
  -webkit-text-fill-color: rgba(150, 156, 164, 0.78) !important;
}

.footer--clean .footer__col-title,
.footer--clean .footer__col--academy .footer__col-title {
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.3 !important;
  margin-bottom: 5px !important;
  padding-bottom: 3px !important;
  border-bottom-color: rgba(184, 135, 74, 0.14) !important;
  opacity: 0.82 !important;
}

.footer--clean .footer__col--academy .footer__link-list--clean {
  column-gap: 22px !important;
  row-gap: 4px !important;
  gap: 4px 22px !important;
}

.footer--clean .footer__link-list--clean .footer__link-item {
  font-size: 10px !important;
  line-height: 1.32 !important;
}

/* Header controls live in the lower navigation row. */
.main-nav > .header__right {
  position: static !important;
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  justify-self: auto !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.main-nav > .header__right .header__modules {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  max-width: none !important;
  gap: 8px !important;
}

@media (min-width: 768px) {
  .header__inner {
    grid-template-rows: auto !important;
    gap: 0 24px !important;
  }

  .header__logo,
  .header__slogan {
    grid-row: 1 !important;
  }

  .header__slogan {
    align-items: flex-end !important;
  }

  .header__slogan-text {
    width: min(100%, 680px) !important;
    margin-left: auto !important;
    text-align: right !important;
  }

  .main-nav {
    padding-left: 30px !important;
    padding-right: 16px !important;
    gap: 12px !important;
  }

  .main-nav__links {
    gap: 0 !important;
  }

  .main-nav__item {
    gap: 5px !important;
    padding: 5px 7px !important;
  }
}

@media (min-width: 1181px) {
  .header__inner {
    padding-right: 16px !important;
  }

  .header__slogan-text {
    transform: translateX(16px) !important;
  }
}

