Большой пакет правок концепта B по фидбеку от 2026-06-02. Page-head выровнен 1:1 со staging pageCreatives, источник + кабинеты объединены в один блок с empty-state и disabled-overlay для остальных секций, правая панель «Рекламные материалы» собрана в одну карточку с подзаголовками, визуализатор схемы получил editable inputs, zebra-чередование, пресеты и новую логику collapse (только при превышении 10 на конкретном уровне).
Слева — v11 из предыдущей сессии (последний срез до фидбека). Справа — после Phase 1-4 с применёнными изменениями.
Проверка адаптива (требование feedback-mobile-first-mandatory). Page-header, объединённый блок «Источник + Кабинеты», правая колонка ложатся в одну колонку, скролл общий.
В v11 page-head был «налеплен по-своему» — кастомные классы cB4-page-head / cB4-ph-* / cB4-src-tabs, обводки, и cB4-draft-id с border. Переработка — повторение staging-паттерна page-header-card один-в-один.
.page-header-card + .ph-left (icon-badge-lg + .ph-title + .ph-subtitle) + .ph-actions (с разделителем border-top divider ровно как на staging pageCreatives, не как обводка вокруг карточки)dashboard-v2.html lines 2007-2024, scoped к .concept-screen[data-concept="B"] чтобы не задеть концепты A/C/D/Eposition: sticky; top: calc(56px + 8px) (cB4-topbar = 56px) + backdrop-filter: blur(8px) — page-head прилипает при скролле<h1 class="ph-title">, НЕ редактируемый input. Имя draft'а вынесено в отдельный блок (см. фазу 2)cB4-draft-id удалён — нарушал feedback-no-borders-no-minceTabs FB / NB / SN теперь header-row внутри блока «Источник и кабинеты». Под ними — список кабинетов выбранного источника. Empty-state на старте, sticky-collapse для экономии места после выбора, disabled-overlay для остальных секций пока кабинеты не выбраны.
cB4-sec#cB4-source-cabs с заголовком «Источник и кабинеты», meta «FB · 2 выбрано · 11 доступно», collapse-кнопка в углу.is-cabs-empty на .cB4-workspace — все остальные cB4-sec + struct-zone + ads-zone приглушаются (opacity 0.4 + filter grayscale + pointer-events none) пока нет кабинетовsetupSourceCabsBlock() · live-обновление meta при удалении/восстановлении кабинетов, source-switch меняет лейбл (FB/NB/SN) и количество доступных кабинетов (11/7/4 mock)«Пул креативов» и «Тексты объявлений» теперь не отдельные cB4-sec, а подзаголовки внутри одной карточки «Рекламные материалы». Независимый скролл правой колонки убран — она теперь скроллится общим скроллом страницы.
cB4-sec.cB4-ads-card с заголовком «Рекламные материалы · 6 креативов · 2 текста». Внутри две .cB4-subsection с подзаголовками «Креативы» (6/28) и «Тексты объявлений» (2/5)feedback-no-borders-no-mince)position: sticky + max-height: calc(100vh - 32px) + overflow-y: auto, стало просто flex column + gap 14px + align-self: start. Правая колонка едет общим скролломЗаголовок переименован, добавлен help-tooltip, presets-bar для быстрого save/load схемы, counter-inputs стали редактируемыми (можно вводить число напрямую), описания «По кругу» и «Ручной» уточнены, логика collapse переделана — теперь схлопывается только тот уровень, который превысил 10.
<input type="number"> вместо <span> — можно вводить число напрямую (плюсики/минусики остаются). Hover/focus как у draft-name input. Spinners убраныlocalStorage mock — сохраняет {cmp, ads, ad, mode}, при выборе из dropdown — применяет через триггер существующего setCounter()CMP_DRAW_MAX = ADS_DRAW_MAX = AD_DRAW_MAX = 10 (было 6/4/6). При cmp > 10 — одна карточка «N кампаний», но adsets+ads под ней развёрнуто если их меньше 10 каждого. Уровни схлопываются независимо:nth-child(odd/even) на узлах .is-cmp и .is-ads — чередование оттенков purple-tint, как зебра в таблицахPlaywright snapshots при 1440 desktop и 375 mobile, console чистая (1 error — favicon 404, игнорим). Этот отчёт опубликован на *.obahoba.com через локальный Caddy.
.cB4-ads-zone-head остался мёртвым в стилях (1 ссылка) — не удалял чтобы не плодить шум