/* 8.7.1 — V50 visual stabilization: unified chrome + one-piece map/list/AI desktop stage. */

:root {
  --bu-v51-navy: #071a2d;
  --bu-v51-navy-2: #0a2138;
  --bu-v51-line: rgba(148, 163, 184, .18);
  --bu-v51-green: #16a34a;
  --bu-v51-red: #dc2626;
}

/* ---------- Header + sidebar: one continuous product chrome ---------- */
@media (min-width: 900px) {
  html body.bu-board-page aside.bu-board-sidebar,
  html body.bu-board-page .bu-board-header,
  html body.bu-board-page .bu-board-header-v8,
  html body.bu-board-page .bu-board-header-inner {
    background: linear-gradient(180deg, var(--bu-v51-navy) 0%, #061629 100%) !important;
    color: #f4f9ff !important;
  }

  html body.bu-board-page aside.bu-board-sidebar {
    border-right: 1px solid rgba(111, 190, 255, .14) !important;
    box-shadow: inset -1px 0 0 rgba(255,255,255,.025), 8px 0 28px rgba(3, 11, 22, .14) !important;
  }

  html body.bu-board-page .bu-board-header {
    border-bottom: 1px solid rgba(111, 190, 255, .14) !important;
    box-shadow: 0 6px 20px rgba(3, 11, 22, .10) !important;
  }

  html body.bu-board-page .bu-board-header-inner {
    min-height: 68px !important;
    padding: 0 14px 0 18px !important;
  }

  html body.bu-board-page .bu-board-header-context {
    color: #e7f4ff !important;
  }
  html body.bu-board-page .bu-board-header-kicker {
    color: #79a9c9 !important;
  }
  html body.bu-board-page .bu-board-header-live {
    color: #8ff0b0 !important;
    background: rgba(22,163,74,.13) !important;
    border-color: rgba(74,222,128,.22) !important;
  }
  html body.bu-board-page .bu-board-header-right,
  html body.bu-board-page .bu-board-header-right > *,
  html body.bu-board-page .bu-board-header a,
  html body.bu-board-page .bu-board-header button:not(.bu-btn) {
    color: #eef8ff !important;
  }
  html body.bu-board-page .ut-header-search {
    background: rgba(255,255,255,.97) !important;
    border-color: rgba(148,163,184,.22) !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.14) !important;
  }
  html body.bu-board-page .ut-header-search input,
  html body.bu-board-page .ut-header-search span {
    color: #102238 !important;
  }
  html body.bu-board-page .bu-header-sound,
  html body.bu-board-page .bu-bell-board {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 11px !important;
  }
  html body.bu-board-page .bu-board-userchip {
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 12px !important;
  }

  /* Sidebar logo zone visually locks into the header. */
  html body.bu-board-page .bu-board-sidebar-logo {
    background: linear-gradient(180deg, #09233b 0%, var(--bu-v51-navy) 100%) !important;
    border-bottom: 1px solid rgba(111,190,255,.14) !important;
  }
  html body.bu-board-page .bu-board-sidebar-link {
    color: #b9cad8 !important;
    border: 1px solid transparent !important;
  }
  html body.bu-board-page .bu-board-sidebar-link:hover {
    color: #fff !important;
    background: rgba(77, 177, 255, .08) !important;
    border-color: rgba(111,190,255,.10) !important;
  }
  html body.bu-board-page .bu-board-sidebar-link.is-on {
    color: #fff !important;
    background: linear-gradient(90deg, rgba(28,125,184,.32), rgba(28,125,184,.10)) !important;
    border-color: rgba(86,186,244,.18) !important;
    box-shadow: inset 3px 0 0 #36a7e8, 0 6px 18px rgba(0,0,0,.12) !important;
  }
  html body.bu-board-page .bu-board-sidebar-sec span { color: #6f9ab8 !important; }
  html body.bu-board-page .bu-board-sidebar-sec small { color: #42657e !important; }
}

/* ---------- Desktop stage: exactly three true columns ---------- */
@media (min-width: 900px) {
  html body.bu-board-page:not(.bu-nalog-page) .bu-term-grid,
  html body.bu-board-page:not(.bu-nalog-page) .bu-board-body {
    display: grid !important;
    grid-template-columns: minmax(360px, 34%) minmax(420px, 44%) minmax(260px, 22%) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: stretch !important;
    overflow: hidden !important;
    background: #e9eff5 !important;
  }

  /* The active-filter chrome lives inside the list column; it must never become a phantom map column. */
  html body.bu-board-page .bu-board-map,
  html body.bu-board-page #bu-map-pane,
  html body.bu-board-page .bu-board-list,
  html body.bu-board-page #bu-list-pane,
  html body.bu-board-page .ut-right-rail {
    grid-row: 1 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
  }

  html body.bu-board-page .bu-board-map,
  html body.bu-board-page #bu-map-pane {
    grid-column: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #dce7f0 !important;
    border-right: 1px solid #d2dde7 !important;
    border-radius: 0 !important;
  }

  html body.bu-board-page .bu-board-list,
  html body.bu-board-page #bu-list-pane {
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #f4f7fa !important;
    border-right: 1px solid #d6e0e8 !important;
  }

  html body.bu-board-page .ut-right-rail {
    grid-column: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  /* Map is a single uninterrupted viewport beneath its compact layer bar. */
  html body.bu-board-page .bu-map-window-head {
    flex: 0 0 auto !important;
    min-height: 56px !important;
    padding: 9px 12px !important;
    background: #f9fcff !important;
    border-bottom: 1px solid #d5e0e9 !important;
    z-index: 5 !important;
  }
  html body.bu-board-page .bu-map-viewport {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #cfdce7 !important;
  }
  html body.bu-board-page #bu-map {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    z-index: 1 !important;
  }
  html body.bu-board-page .bu-map-tools,
  html body.bu-board-page .bu-map-hint,
  html body.bu-board-page .bu-route-hud {
    z-index: 600 !important;
  }

  /* Active filters are now a compact list header, never a second screen beside the map. */
  html body.bu-board-page #ut-active-filters {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e1e9 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    min-height: 0 !important;
  }
  html body.bu-board-page #ut-active-filters .ut-active-head {
    min-height: 28px !important;
  }
  html body.bu-board-page #ut-active-filters .ut-active-chips {
    max-height: 40px !important;
    overflow: auto !important;
  }

  html body.bu-board-page .bu-board-list-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: auto !important;
  }
  html body.bu-board-page #bu-feed {
    min-height: 100% !important;
  }

  /* Right rail stays a real column, with no phantom white gutter. */
  html body.bu-board-page .ut-right-rail {
    gap: 8px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }
  html body.bu-board-page .ut-right-rail #bu-dispo,
  html body.bu-board-page .ut-right-rail .bu-dispo,
  html body.bu-board-page .ut-right-rail .bu-board-ai {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    border: 1px solid #d8e2ea !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.07) !important;
  }
  html body.bu-board-page .ut-right-rail .ut-ai-message,
  html body.bu-board-page .ut-right-rail .ut-ai-publish {
    flex: 0 0 auto !important;
  }
}

/* Medium desktop: preserve the one-piece map while giving the list enough width. */
@media (min-width: 900px) and (max-width: 1240px) {
  html body.bu-board-page:not(.bu-nalog-page) .bu-term-grid,
  html body.bu-board-page:not(.bu-nalog-page) .bu-board-body {
    grid-template-columns: minmax(300px, 32%) minmax(360px, 46%) minmax(230px, 22%) !important;
  }
}

/* Never allow a legacy rule to reintroduce the phantom map split. */
@media (min-width: 900px) {
  html body.bu-board-page .bu-term-grid > .ut-active-filters { display: none !important; }
  html body.bu-board-page .bu-term-grid > .bu-board-map,
  html body.bu-board-page .bu-term-grid > #bu-map-pane { display: flex !important; }
}

/* Phone remains V50 behaviour; this layer only prevents desktop geometry leaking down. */
@media (max-width: 899px) {
  html body.bu-board-page .bu-map-viewport,
  html body.bu-board-page #bu-map { min-height: 0; }
}
