/**
 * Портал cdto.life — левая и правая rail-панели пространства CDTO.
 * Палитра: cdto-design-trend, cdto_space_panel.css
 */
:root {
  --cdto-admin-rail-nav-width: 52px;
  --cdto-admin-rail-collapsed-width: 52px;
  /* Эталон Трекер: expand = 30vw (не 48vw / 50vw) */
  --cdto-admin-rail-half-viewport: 30vw;
  --cdto-admin-rail-panel-width: calc(var(--cdto-admin-rail-half-viewport) - var(--cdto-admin-rail-nav-width));
  --cdto-admin-rail-expanded-width: var(--cdto-admin-rail-half-viewport);
  --cdto-admin-rail-shift-amount: calc(
    var(--cdto-admin-rail-expanded-width) - var(--cdto-admin-rail-collapsed-width)
  );
  --cdto-admin-right-rail-expanded-width: var(--cdto-admin-rail-half-viewport);
  --cdto-admin-right-rail-shift-amount: calc(
    var(--cdto-admin-right-rail-expanded-width) - var(--cdto-admin-rail-collapsed-width)
  );
  /* Эталон Трекер: rails поверх App Bar в зоне 52px (иначе #header перекрывает chevron). */
  --cdto-admin-rail-z: 1100;
  --cdto-admin-header-z: 1095;
  /* 53 = 52 контент + border-bottom (ceil rect); совпадает с critical L0 / syncMenuHeightVar */
  --cdto-space-menu-h: 53px;
  --cdto-admin-rail-teal: #0f766e;
  --cdto-admin-rail-teal-hover: #0d5c56;
  --cdto-admin-rail-orange: #ed7d31;
  --cdto-admin-rail-border: #e2e8f0;
  --cdto-admin-rail-junction-overlap: 2px;
  --cdto-admin-rail-junction-line: rgba(15, 23, 42, 0.05);
  --cdto-admin-rail-muted: #64748b;
  --cdto-admin-rail-chip-bg: #ecfdf5;
  --cdto-admin-rail-chip-border: #a7f3d0;
  /* Chrome rail — эталон Трекера / Телеграфа (без тени колонки) */
  --cdto-admin-rail-chrome-bg: #ffffff;
  --cdto-admin-rail-chrome-shadow: none;
  --cdto-space-menu-edge-accent: #0a5c56;
  --cdto-space-menu-edge-stack: 2px;
  /* Разворот rail — Compound chevron в слоте app-bar */
  --cdto-rail-expand-toggle-bg: var(--cdto-app-bar-bg);
  --cdto-rail-expand-toggle-bg-hover: #f0fdfa;
  --cdto-rail-expand-toggle-bg-active: var(--cdto-app-bar-bg);
  --cdto-rail-expand-toggle-bg-expanded: var(--cdto-app-bar-bg);
  --cdto-rail-expand-toggle-color: var(--cdto-admin-rail-teal);
  --cdto-rail-expand-toggle-color-hover: #0a5c56;
  --cdto-rail-expand-toggle-size: 52px;
  --cdto-rail-expand-toggle-icon: 40px;
  /* Крестик закрытия — эталон Трекер */
  --cdto-rail-panel-close-icon: 29px;
  --cdto-rail-panel-close-stroke: 2.35;
  --cdto-rail-panel-header-pad-outer: 0.75rem;
  --cdto-rail-panel-header-pad-inner: 0.25rem;
  /* App Bar v1.2 — эталон Трекера (tasks.cdto.life #header) */
  --cdto-space-app-bar-h: 58px;
  --cdto-app-bar-bg: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
  --cdto-app-bar-border-color: #e2e8f0;
  --cdto-app-bar-shadow: 0 1px 0 rgba(15, 118, 110, 0.05);
  --cdto-app-bar-padding-x: 16px;
  /* Эталон Трекер: pad 12px; без max-width 1600 (иначе на ≥1920 щели ~120px+) */
  --cdto-page-content-pad-x: 12px;
  --cdto-portal-column-max: none;
  --cdto-portal-column-pad-x: 12px;
  /* Меню: левый край списка и правый край «Выход» = края блоков тела. */
  --cdto-space-menu-content-pad: 20px;
  --cdto-space-scrollbar-gutter: 10px;
  --cdto-space-menu-inset-x: calc(
    var(--cdto-admin-rail-collapsed-width, 52px) + var(--cdto-space-menu-content-pad, 20px)
  );
  --cdto-space-menu-inset-right: calc(
    var(--cdto-space-menu-inset-x) + var(--cdto-space-scrollbar-gutter, 10px)
  );
  --cdto-space-menu-column-max: none;
  --cdto-app-bar-logo-h: 40px;
  /*
   * Стык кнопок с меню — эталон Трекера:
   * edge-stack 2px под нижней границей меню (rgba + #0a5c56);
   * слот кнопки = app-bar − edge-stack; у кнопки нет border-top.
   */
  --cdto-rail-header-h: calc(
    var(--cdto-space-app-bar-h, 58px) - var(--cdto-space-menu-edge-stack, 2px)
  );
  --cdto-rail-top: calc(
    var(--cdto-space-menu-h, 52px) + var(--cdto-space-menu-edge-stack, 2px)
  );
  --cdto-rail-height: calc(100vh - var(--cdto-rail-top));
}

/*
 * App Bar — fixed под сквозным меню (58px, как #header на Трекере).
 * Между рэйлами (не поверх них): left/right = collapsed 52px — эталон Трекер #wrapper.
 */
body.cdto-space-admin-rail-pending #header.header,
body.cdto-space-admin-rail-ready #header.header,
body.cdto-space-right-rail-ready #header.header {
  position: fixed !important;
  top: var(--cdto-space-menu-h, 53px) !important;
  left: var(--cdto-admin-rail-collapsed-width) !important;
  right: var(--cdto-admin-rail-collapsed-width) !important;
  width: auto !important;
  max-width: none !important;
  z-index: var(--cdto-admin-header-z, 1095) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  min-height: var(--cdto-space-app-bar-h, 58px) !important;
  max-height: var(--cdto-space-app-bar-h, 58px) !important;
  height: var(--cdto-space-app-bar-h, 58px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--cdto-app-bar-bg) !important;
  background-color: #ffffff !important;
  border: none !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color) !important;
  box-shadow: var(--cdto-app-bar-shadow) !important;
}

body.cdto-space-admin-rail-pending #header #header-inner,
body.cdto-space-admin-rail-ready #header #header-inner,
body.cdto-space-right-rail-ready #header #header-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 var(--cdto-portal-column-pad-x, 12px) !important;
  max-width: var(--cdto-portal-column-max, none) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding,
body.cdto-space-admin-rail-ready #header #block-solo-branding,
body.cdto-space-right-rail-ready #header #block-solo-branding {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .branding-wrapper,
body.cdto-space-admin-rail-ready #header #block-solo-branding .branding-wrapper,
body.cdto-space-right-rail-ready #header #block-solo-branding .branding-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0.65rem 1rem !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .branding-first,
body.cdto-space-admin-rail-ready #header #block-solo-branding .branding-first,
body.cdto-space-right-rail-ready #header #block-solo-branding .branding-first {
  flex: 0 0 auto !important;
  min-width: min(120px, 28vw) !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .site-logo,
body.cdto-space-admin-rail-ready #header #block-solo-branding .site-logo,
body.cdto-space-right-rail-ready #header #block-solo-branding .site-logo {
  display: block !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .site-logo-img,
body.cdto-space-admin-rail-ready #header #block-solo-branding .site-logo-img,
body.cdto-space-right-rail-ready #header #block-solo-branding .site-logo-img {
  display: block !important;
  width: auto !important;
  height: var(--cdto-app-bar-logo-h, 40px) !important;
  max-width: min(207px, 38vw) !important;
  max-height: var(--cdto-app-bar-logo-h, 40px) !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .branding-second,
body.cdto-space-admin-rail-ready #header #block-solo-branding .branding-second,
body.cdto-space-right-rail-ready #header #block-solo-branding .branding-second,
body.cdto-space-admin-rail-pending #header #block-solo-branding .site-slogan-outer,
body.cdto-space-admin-rail-ready #header #block-solo-branding .site-slogan-outer,
body.cdto-space-right-rail-ready #header #block-solo-branding .site-slogan-outer {
  display: flex !important;
  align-items: center !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  height: var(--cdto-app-bar-logo-h, 40px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-branding .site-slogan,
body.cdto-space-admin-rail-ready #header #block-solo-branding .site-slogan,
body.cdto-space-right-rail-ready #header #block-solo-branding .site-slogan {
  margin: 0 !important;
  align-self: center !important;
  /* Кегль как «CDTO» в SVG: 52 при viewBox 56 — масштаб = высота логотипа */
  font-size: calc(52 * var(--cdto-app-bar-logo-h, 40px) / 56) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  height: var(--cdto-app-bar-logo-h, 40px) !important;
  display: flex !important;
  align-items: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.cdto-space-admin-rail-pending #header #block-solo-account-menu,
body.cdto-space-admin-rail-ready #header #block-solo-account-menu,
body.cdto-space-right-rail-ready #header #block-solo-account-menu {
  flex: 0 0 auto !important;
  margin: 0 0 0 auto !important;
}

body.cdto-space-admin-rail-pending #header .navigation__menubar,
body.cdto-space-admin-rail-ready #header .navigation__menubar,
body.cdto-space-right-rail-ready #header .navigation__menubar {
  display: flex !important;
  align-items: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Убрать верхний отступ Drupal toolbar — меню перенесено влево */
body.cdto-space-admin-rail-ready.toolbar-fixed,
body.cdto-space-admin-rail-ready.toolbar-tray-open,
body.cdto-space-admin-rail-ready.toolbar-horizontal {
  padding-top: 0 !important;
}

body.cdto-space-admin-rail-pending:not(.cdto-space-admin-rail-ready) #toolbar-administration {
  visibility: hidden;
}

/* Пустая панель (гость / без access toolbar) — шапка с заголовком + крестик (как Трекер) */
.cdto-space-admin-rail--empty .cdto-space-admin-rail__panel-body {
  min-height: 3rem;
  background: #ffffff;
}

/*
 * Layout: контент сдвигается под rails (52px). #primary-menu — fixed на весь viewport,
 * вне горизонтального margin/transform #page-wrapper (иначе меню «уезжает» с rails).
 */
body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper,
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper,
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper {
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
  padding-top: calc(
    var(--cdto-space-menu-h, 53px) + var(--cdto-space-app-bar-h, 58px)
  ) !important;
  box-sizing: border-box;
  font-size: 0 !important;
  line-height: 0 !important;
}

body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper > *,
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > *,
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper > * {
  font-size: 1rem !important;
  line-height: normal !important;
}

body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper > :not(#primary-menu):not(#header),
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header),
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header) {
  margin-left: var(--cdto-admin-rail-collapsed-width) !important;
  margin-right: var(--cdto-admin-rail-collapsed-width) !important;
  /* Как Трекер #wrapper: только margin, без 100vw — иначе gutter/scrollbar съедает правый pad */
  max-width: none !important;
  box-sizing: border-box;
}

/*
 * width:auto сжимает grid-регион по содержимому. Контент главной широкий и
 * заполняет колонку; подвал (меню + copyright) остаётся узкой плашкой слева.
 */
body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper > :not(#primary-menu):not(#header):not(#footer-menu):not(#copyright),
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header):not(#footer-menu):not(#copyright),
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header):not(#footer-menu):not(#copyright) {
  width: auto !important;
}

body.cdto-space-admin-rail-ready {
  --cdto-page-shift-left: 0px;
}

body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready.cdto-space-admin-rail-expanded {
  --cdto-page-shift-left: var(--cdto-admin-rail-shift-amount);
}

body.cdto-space-right-rail-ready {
  --cdto-page-shift-right: 0px;
}

body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready.cdto-space-right-rail-expanded {
  --cdto-page-shift-right: var(--cdto-admin-right-rail-shift-amount);
}

body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready,
body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready {
  --cdto-page-shift-x: calc(var(--cdto-page-shift-left, 0px) - var(--cdto-page-shift-right, 0px));
}

body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready.cdto-space-admin-rail-expanded,
body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready.cdto-space-right-rail-expanded {
  overflow-x: hidden;
}

body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header),
body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready .layout-container,
body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready #page-wrapper.page-wrapper > :not(#primary-menu):not(#header),
body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready .layout-container {
  transform: translateX(var(--cdto-page-shift-x, 0px));
}

/* App Bar сдвигается вместе с контентом при expand (shift), рэйлы остаются у краёв. */
body.cdto-space-admin-rail-layout-shift.cdto-space-admin-rail-ready #header.header,
body.cdto-space-right-rail-layout-shift.cdto-space-right-rail-ready #header.header {
  transform: translateX(var(--cdto-page-shift-x, 0px));
}

body.cdto-space-layout-stable #page-wrapper.page-wrapper > :not(#primary-menu):not(#header),
body.cdto-space-layout-stable .layout-container,
body.cdto-space-layout-stable #header.header {
  transition: margin-left 0.3s ease, margin-right 0.3s ease, transform 0.3s ease;
}

/*
 * Подвал на всю ширину между левым и правым rail.
 * Ширина = колонка контента (100% минус два отступа 52px), без 100vw.
 */
body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper > #footer-menu:not(#primary-menu):not(#header),
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > #footer-menu:not(#primary-menu):not(#header),
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper > #footer-menu:not(#primary-menu):not(#header),
body.cdto-space-admin-rail-pending #page-wrapper.page-wrapper > #copyright:not(#primary-menu):not(#header),
body.cdto-space-admin-rail-ready #page-wrapper.page-wrapper > #copyright:not(#primary-menu):not(#header),
body.cdto-space-right-rail-ready #page-wrapper.page-wrapper > #copyright:not(#primary-menu):not(#header) {
  width: calc(
    100% - var(--cdto-admin-rail-collapsed-width) - var(--cdto-admin-rail-collapsed-width)
  ) !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.cdto-space-admin-rail-pending #footer-menu-inner,
body.cdto-space-admin-rail-ready #footer-menu-inner,
body.cdto-space-right-rail-ready #footer-menu-inner,
body.cdto-space-admin-rail-pending #copyright-inner,
body.cdto-space-admin-rail-ready #copyright-inner,
body.cdto-space-right-rail-ready #copyright-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  /* Тексты подвала по краям колонки контента (20px), не Solo-gap 16px. */
  padding-left: var(--cdto-life-column-pad, 20px) !important;
  padding-right: var(--cdto-life-column-pad, 20px) !important;
  box-sizing: border-box;
}

/*
 * Главное меню: оболочка #primary-menu схлопнута в grid (0×0), nav — fixed full-bleed
 * (anti-CLS: иначе Solo grid+order даёт вертикальный скачок). Эталон ушей — Трекер.
 */
body.cdto-space-admin-rail-pending #primary-menu.primary-menu,
body.cdto-space-admin-rail-pending #primary-menu.cdto-space-primary-menu--unified,
body.cdto-space-admin-rail-ready #primary-menu.primary-menu,
body.cdto-space-admin-rail-ready #primary-menu.cdto-space-primary-menu--unified,
body.cdto-space-right-rail-ready #primary-menu.primary-menu,
body.cdto-space-right-rail-ready #primary-menu.cdto-space-primary-menu--unified {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  order: -1 !important;
  width: 100% !important;
  max-width: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  transform: none !important;
  z-index: 1100 !important;
  box-sizing: border-box;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  pointer-events: none !important;
}

body.cdto-space-admin-rail-pending #primary-menu > nav.cdto-space-menu,
body.cdto-space-admin-rail-ready #primary-menu > nav.cdto-space-menu,
body.cdto-space-right-rail-ready #primary-menu > nav.cdto-space-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1100 !important;
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  height: var(--cdto-space-menu-h, 53px) !important;
  min-height: var(--cdto-space-menu-h, 53px) !important;
  max-height: var(--cdto-space-menu-h, 53px) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background-color: var(--cdto-admin-rail-teal) !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  pointer-events: auto !important;
}

body.cdto-space-admin-rail-pending #primary-menu > nav.cdto-space-menu::before,
body.cdto-space-admin-rail-ready #primary-menu > nav.cdto-space-menu::before,
body.cdto-space-right-rail-ready #primary-menu > nav.cdto-space-menu::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: var(--cdto-admin-rail-nav-width);
  height: var(--cdto-space-menu-h, 52px);
  background: #0f766e;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  z-index: 10050;
  pointer-events: none;
  box-sizing: border-box;
}

body.cdto-space-admin-rail-pending #primary-menu > nav.cdto-space-menu::after,
body.cdto-space-admin-rail-ready #primary-menu > nav.cdto-space-menu::after,
body.cdto-space-right-rail-ready #primary-menu > nav.cdto-space-menu::after {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: var(--cdto-admin-rail-nav-width);
  height: var(--cdto-space-menu-h, 52px);
  background: #0f766e;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  z-index: 10050;
  pointer-events: none;
  box-sizing: border-box;
}

body.cdto-space-admin-rail-pending #primary-menu #primary-menu-inner,
body.cdto-space-admin-rail-ready #primary-menu #primary-menu-inner,
body.cdto-space-right-rail-ready #primary-menu #primary-menu-inner {
  display: none !important;
}

body.cdto-space-admin-rail-pending #cdto-space-menu-placeholder,
body.cdto-space-admin-rail-ready #cdto-space-menu-placeholder,
body.cdto-space-right-rail-ready #cdto-space-menu-placeholder {
  left: var(--cdto-admin-rail-nav-width) !important;
  right: var(--cdto-admin-rail-nav-width) !important;
  width: auto !important;
  box-shadow: none !important;
}

/*
 * Полоса меню — отступ пунктов от края страницы (padding 52px), max-width как на Трекере.
 */
body.cdto-space-admin-rail-pending #primary-menu nav.cdto-space-menu .cdto-space-menu__frame,
body.cdto-space-admin-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__frame,
body.cdto-space-right-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__frame {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.cdto-space-admin-rail-pending #primary-menu nav.cdto-space-menu .cdto-space-menu__bar,
body.cdto-space-admin-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__bar,
body.cdto-space-right-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__bar {
  max-width: var(--cdto-space-menu-column-max, var(--cdto-portal-column-max, 1600px)) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--cdto-space-menu-inset-x, var(--cdto-admin-rail-nav-width, 52px)) !important;
  padding-right: var(--cdto-space-menu-inset-right, var(--cdto-space-menu-inset-x, 72px)) !important;
  box-sizing: border-box !important;
}

body.cdto-space-admin-rail-pending #primary-menu nav.cdto-space-menu .cdto-space-menu__list,
body.cdto-space-admin-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__list {
  padding-left: 0;
}

body.cdto-space-admin-rail-pending #primary-menu nav.cdto-space-menu .cdto-space-menu__auth,
body.cdto-space-admin-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__auth,
body.cdto-space-right-rail-ready #primary-menu nav.cdto-space-menu .cdto-space-menu__auth {
  margin-right: 0;
}

/* Auth остаётся в #primary-menu справа (как на Телеграфе / Трекере). */

/*
 * Дочерние пункты — в правом rail; горизонтальное подменю под шапкой не показываем.
 */
body.cdto-space-admin-rail-pending nav.cdto-space-menu .cdto-space-menu__subpanel,
body.cdto-space-admin-rail-ready nav.cdto-space-menu .cdto-space-menu__subpanel,
body.cdto-space-right-rail-ready nav.cdto-space-menu .cdto-space-menu__subpanel {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.cdto-space-admin-rail-pending nav.cdto-space-menu--subpanel-open,
body.cdto-space-admin-rail-ready nav.cdto-space-menu--subpanel-open,
body.cdto-space-right-rail-ready nav.cdto-space-menu--subpanel-open {
  overflow: visible;
}

/*
 * Junction-колонки меню (DOM, body) — как nav::before/::after на Трекере; z-index выше меню.
 */
.cdto-space-menu-junction {
  position: fixed;
  top: 0;
  width: var(--cdto-admin-rail-nav-width);
  height: var(--cdto-space-menu-h, 52px);
  background: #0f766e;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  z-index: 10050;
  pointer-events: none;
  box-sizing: border-box;
}

.cdto-space-menu-junction--left {
  left: 0;
}

.cdto-space-menu-junction--right {
  right: 0;
}

/* Резерв: псевдоэлементы на #primary-menu (без требования unified-класса от JS). */
body.cdto-space-admin-rail-pending #primary-menu.primary-menu::before,
body.cdto-space-admin-rail-ready #primary-menu.primary-menu::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: var(--cdto-admin-rail-nav-width);
  height: var(--cdto-space-menu-h, 52px);
  background: #0f766e;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  z-index: 10050;
  pointer-events: none;
  box-sizing: border-box;
}

body.cdto-space-admin-rail-pending #primary-menu.primary-menu::after,
body.cdto-space-admin-rail-ready #primary-menu.primary-menu::after,
body.cdto-space-right-rail-ready #primary-menu.primary-menu::after {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: var(--cdto-admin-rail-nav-width);
  height: var(--cdto-space-menu-h, 52px);
  background: #0f766e;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 1px 0 0 var(--cdto-space-menu-edge-accent, #0a5c56) !important;
  z-index: 10050;
  pointer-events: none;
  box-sizing: border-box;
}

/*
 * Горизонтальный стык меню ↔ rail: без верхней inset (двойная линия с #0a5c56).
 * Разделитель app-bar — на самой кнопке toggle.
 */
.cdto-space-admin-rail__nav,
.cdto-space-right-rail__nav {
  box-shadow: none;
}

.cdto-space-admin-rail__panel,
.cdto-space-right-rail__panel {
  box-shadow: none;
}

/* ---------- Rail shell — под сквозным меню (edge-stack 2px), не поверх ---------- */
/* L2: появление без сдвига контента (место уже в margin 52px с L0) */
.cdto-space-admin-rail,
.cdto-space-right-rail {
  opacity: 0;
}

body.cdto-space-admin-rail-ready .cdto-space-admin-rail,
body.cdto-space-right-rail-ready .cdto-space-right-rail {
  opacity: 1;
  transition: opacity 0.18s ease, width 0.3s ease;
}

.cdto-space-admin-rail {
  position: fixed;
  top: var(--cdto-rail-top);
  left: 0;
  bottom: 0;
  height: var(--cdto-rail-height);
  max-height: var(--cdto-rail-height);
  z-index: var(--cdto-admin-rail-z);
  display: flex;
  flex-direction: row;
  width: var(--cdto-admin-rail-collapsed-width);
  background: var(--cdto-admin-rail-chrome-bg, #ffffff);
  border-right: 1px solid var(--cdto-admin-rail-border);
  box-shadow: var(--cdto-admin-rail-chrome-shadow, none);
  transition: width 0.3s ease;
  box-sizing: border-box;
  overflow: hidden;
}

.cdto-space-admin-rail--expanded {
  width: var(--cdto-admin-rail-expanded-width);
  box-shadow: var(--cdto-admin-rail-chrome-shadow, none);
  /* overlay expand: панель поверх контента (без layout-shift) */
  z-index: calc(var(--cdto-admin-rail-z) + 20);
}

.cdto-space-admin-rail__inner {
  display: flex;
  flex-direction: row;
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

/* Узкая колонка иконок — эталон Трекера (без плиток на toggle) */
.cdto-space-admin-rail__nav {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: var(--cdto-admin-rail-nav-width);
  min-width: var(--cdto-admin-rail-nav-width);
  max-width: var(--cdto-admin-rail-nav-width);
  padding: 0;
  background: var(--cdto-admin-rail-chrome-bg, #ffffff);
  border-right: none;
  box-sizing: border-box;
  box-shadow: none;
}

.cdto-space-admin-rail--expanded .cdto-space-admin-rail__nav {
  border-right: 1px solid var(--cdto-admin-rail-border);
}

.cdto-space-admin-rail__nav-tools {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  padding: 0 0 0.5rem;
  box-sizing: border-box;
}

.cdto-space-admin-rail__nav-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  padding: 0.35rem 0.25rem 0.65rem;
  box-sizing: border-box;
}

.cdto-space-admin-rail__nav-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 56px;
  min-width: 32px;
  min-height: 56px;
  max-width: 32px;
  max-height: 56px;
  padding: 0;
  color: var(--cdto-admin-rail-teal);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease, filter 0.15s ease;
  box-sizing: border-box;
  text-decoration: none;
  font: inherit;
}

.cdto-space-admin-rail__nav-btn svg,
.cdto-space-admin-rail__nav-btn.toolbar-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Drupal toolbar sprites (::before) на кнопках rail */
.cdto-space-admin-rail__nav-btn.toolbar-icon {
  position: relative;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

.cdto-space-admin-rail__nav-btn.toolbar-icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
}

.cdto-space-admin-rail__nav-btn--text {
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--cdto-admin-rail-teal);
}

.cdto-space-admin-rail__nav-btn:not(.cdto-space-admin-rail__nav-btn--toggle):hover,
.cdto-space-admin-rail__nav-btn:not(.cdto-space-admin-rail__nav-btn--toggle):focus-visible {
  color: var(--cdto-admin-rail-teal-hover) !important;
  background: transparent !important;
  border: none !important;
  transform: translateY(-2px) !important;
  filter: drop-shadow(0 3px 4px rgba(15, 23, 42, 0.28)) !important;
}

.cdto-space-admin-rail__nav-btn--active {
  color: var(--cdto-admin-rail-teal) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0;
  transform: translateY(-2px) !important;
  filter: drop-shadow(0 3px 5px rgba(15, 23, 42, 0.32)) !important;
}

/* Toggle — эталон Трекера: слот app-bar − edge-stack, без border-top */
.cdto-space-admin-rail__nav-btn--toggle,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:focus,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:focus-visible,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:active {
  flex-shrink: 0;
  align-self: stretch;
  width: var(--cdto-admin-rail-nav-width, 52px) !important;
  max-width: var(--cdto-admin-rail-nav-width, 52px) !important;
  min-width: var(--cdto-admin-rail-nav-width, 52px) !important;
  height: var(--cdto-rail-header-h, 56px) !important;
  min-height: var(--cdto-rail-header-h, 56px) !important;
  max-height: var(--cdto-rail-header-h, 56px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--cdto-rail-expand-toggle-color) !important;
  background: var(--cdto-rail-expand-toggle-bg) !important;
  border: none !important;
  border-top: none !important;
  border-right: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
  transform: none !important;
  overflow: hidden !important;
  z-index: 2;
  transition: background 0.15s ease, color 0.15s ease;
  box-sizing: border-box !important;
}

.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle:focus-visible {
  color: var(--cdto-rail-expand-toggle-color-hover) !important;
  background: var(--cdto-rail-expand-toggle-bg-hover) !important;
  border: none !important;
  border-top: none !important;
  border-right: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.cdto-space-admin-rail--expanded .cdto-space-admin-rail__nav-btn.cdto-space-admin-rail__nav-btn--toggle {
  color: var(--cdto-rail-expand-toggle-color) !important;
  background: var(--cdto-rail-expand-toggle-bg-expanded) !important;
  border: none !important;
  border-top: none !important;
  border-right: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
}

.cdto-space-admin-rail__toggle-svg,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn--toggle .cdto-space-admin-rail__toggle-svg {
  display: block !important;
  width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  min-width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  min-height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  max-width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  max-height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
  fill: currentColor !important;
  stroke: none !important;
  color: inherit !important;
}

.cdto-space-admin-rail__toggle-svg path,
.cdto-space-admin-rail .cdto-space-admin-rail__nav-btn--toggle svg path {
  fill: currentColor !important;
  stroke: none !important;
}

.cdto-space-admin-rail--expanded .cdto-space-admin-rail__toggle-svg {
  transform: rotate(180deg);
}

/* Auth в footer rail — компактные иконки/ссылки */
.cdto-space-admin-rail__auth {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
}

.cdto-space-admin-rail__auth .cdto-space-menu__auth-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-height: 40px;
  padding: 0.25rem;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  color: #b45309 !important;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-radius: 10px;
  box-sizing: border-box;
  word-break: break-word;
}

.cdto-space-admin-rail__auth .cdto-space-menu__auth-link:hover,
.cdto-space-admin-rail__auth .cdto-space-menu__auth-link:focus-visible {
  color: #9a3412 !important;
  background: #ffedd5 !important;
  border-color: #fdba74 !important;
}

.cdto-space-admin-rail__auth .cdto-space-menu__auth-user {
  display: none;
}

/* ---------- Развёрнутая панель ---------- */
.cdto-space-admin-rail__panel {
  display: none;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  background: #ffffff;
  overflow: hidden;
}

.cdto-space-admin-rail--expanded .cdto-space-admin-rail__panel {
  display: flex;
  flex: 0 0 var(--cdto-admin-rail-panel-width);
  width: var(--cdto-admin-rail-panel-width);
  min-width: var(--cdto-admin-rail-panel-width);
  max-width: var(--cdto-admin-rail-panel-width);
}

.cdto-space-admin-rail__panel-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: var(--cdto-rail-header-h, 56px);
  min-height: var(--cdto-rail-header-h, 56px);
  max-height: var(--cdto-rail-header-h, 56px);
  padding: 0 var(--cdto-rail-panel-header-pad-inner) 0 var(--cdto-rail-panel-header-pad-outer);
  box-sizing: border-box;
  background: var(--cdto-app-bar-bg);
  border-top: none;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0);
  box-shadow: var(--cdto-app-bar-shadow, 0 1px 0 rgba(15, 118, 110, 0.05));
}

.cdto-space-admin-rail__panel-close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cdto-rail-expand-toggle-size);
  height: var(--cdto-rail-expand-toggle-size);
  min-width: var(--cdto-rail-expand-toggle-size);
  min-height: var(--cdto-rail-expand-toggle-size);
  margin-left: 0.25rem;
  padding: 0;
  color: var(--cdto-rail-expand-toggle-color);
  background: transparent;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  font: inherit;
}

.cdto-space-admin-rail .cdto-space-admin-rail__panel-close,
.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:focus,
.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:active {
  transform: none;
}

.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:focus-visible {
  color: var(--cdto-rail-expand-toggle-color-hover) !important;
  background: var(--cdto-rail-expand-toggle-bg-hover) !important;
  border: none !important;
  box-shadow: none !important;
}

.cdto-space-admin-rail .cdto-space-admin-rail__panel-close:active {
  background: var(--cdto-rail-expand-toggle-bg-active) !important;
}

.cdto-space-admin-rail__panel-close-svg {
  width: var(--cdto-rail-panel-close-icon);
  height: var(--cdto-rail-panel-close-icon);
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}

.cdto-space-admin-rail__panel-close-svg path {
  stroke-width: var(--cdto-rail-panel-close-stroke);
  stroke-linecap: round;
}

.cdto-space-admin-rail__panel-header-fallback {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cdto-admin-rail-orange);
}

.cdto-space-admin-rail__panel-header-fallback[hidden] {
  display: none !important;
}

/* Вкладки разделов — как cdto-space-rail__tabs в Трекере */
.cdto-space-admin-rail__tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  align-self: stretch;
  justify-content: flex-start;
  gap: 0.25rem;
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.cdto-space-admin-rail__tabs[hidden] {
  display: none !important;
}

.cdto-space-admin-rail .cdto-space-admin-rail__tab,
.cdto-space-admin-rail .cdto-space-admin-rail__tab:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__tab:focus,
.cdto-space-admin-rail .cdto-space-admin-rail__tab:active {
  transform: none;
  background: transparent !important;
  color: var(--cdto-admin-rail-muted) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  box-shadow: none !important;
}

.cdto-space-admin-rail__tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  border-radius: 0;
  cursor: pointer;
}

.cdto-space-admin-rail .cdto-space-admin-rail__tab:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__tab:focus-visible {
  color: var(--cdto-admin-rail-teal) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
}

.cdto-space-admin-rail .cdto-space-admin-rail__tab--active,
.cdto-space-admin-rail .cdto-space-admin-rail__tab--active:hover,
.cdto-space-admin-rail .cdto-space-admin-rail__tab--active:focus,
.cdto-space-admin-rail .cdto-space-admin-rail__tab--active:focus-visible {
  color: var(--cdto-admin-rail-teal) !important;
  background: transparent !important;
  border-bottom-color: var(--cdto-admin-rail-orange) !important;
}

.cdto-space-admin-rail__panel-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.75rem;
  box-sizing: border-box;
}

/* Drupal toolbar внутри панели — вертикальная раскладка */
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__tray-pane[hidden] {
  display: none !important;
}

.cdto-space-admin-rail__panel-body #toolbar-administration {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cdto-space-admin-rail__panel-body #toolbar-bar {
  display: none !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray[hidden],
.cdto-space-admin-rail__panel-body .toolbar-tray.is-hidden {
  display: block !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray-horizontal .toolbar-lining {
  padding: 0 !important;
}

/* ---------- Меню admin_toolbar: вкладки + панели разделов ---------- */
.cdto-space-admin-rail__panel-body .toolbar-tray,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-lining,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu li,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu .toolbar-menu__item {
  float: none !important;
  position: static !important;
  clear: both !important;
  transform: none !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-root--tabbed {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-panes {
  display: block;
  width: 100%;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane {
  display: none;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane--active {
  display: block;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-overview {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0.5rem;
  padding: 0;
  border-bottom: none;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-overview-link {
  display: inline-flex !important;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.45rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none !important;
  color: var(--cdto-admin-rail-teal) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 6px;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-overview-link::after {
  content: "→";
  font-size: 0.875rem;
  line-height: 1;
  opacity: 0.75;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-overview-link:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-overview-link:focus-visible {
  color: var(--cdto-admin-rail-teal-hover) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-misc {
  margin-top: 1rem;
  padding: 0.75rem 0.5rem 0;
  border-top: 1px dashed var(--cdto-admin-rail-border);
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-misc a,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-misc .toolbar-item {
  display: inline-flex !important;
  align-items: center;
  padding: 0.35rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--cdto-admin-rail-muted) !important;
  text-decoration: none !important;
  border-radius: 6px;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-misc a:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-misc a:focus-visible {
  color: var(--cdto-admin-rail-teal) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray-horizontal .toolbar-menu,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
}

/* Список пунктов вкладки — колонка карточек/групп */
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__section-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__section-item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-node--duplicate {
  display: none !important;
}

/* Группа с подпунктами (Пользователи, Система…) */
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-group {
  border: 1px solid var(--cdto-admin-rail-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-group-title {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  width: 100% !important;
  min-height: 2.125rem !important;
  margin: 0 !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: var(--cdto-admin-rail-orange) !important;
  background: #fff7ed !important;
  border: none !important;
  border-bottom: 1px solid #fed7aa !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-group-title:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-group-title:focus-visible {
  color: #c2410c !important;
  background: #ffedd5 !important;
}

/* Подпункты внутри группы */
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  padding: 0.5rem !important;
  border-left: none !important;
  list-style: none !important;
  background: #ffffff !important;
}

/* Карточка-ссылка (как a.query в Трекере) */
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-card-link,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection .cdto-space-admin-rail__menu-link,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection a:not(.cdto-space-admin-rail__menu-group-title),
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection .toolbar-item,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-leaf > .cdto-space-admin-rail__menu-link,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-leaf > a,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-leaf > .toolbar-item,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-single .cdto-space-admin-rail__menu-link {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  width: 100% !important;
  min-height: 2.35rem !important;
  margin: 0 !important;
  padding: 0.5rem 0.65rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--cdto-admin-rail-teal) !important;
  background: #ffffff !important;
  border: 1px solid var(--cdto-admin-rail-border) !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-link-text {
  flex: 1 1 auto;
  min-width: 0;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__admin-pane-single {
  display: block;
  padding: 0.15rem 0;
}

/* Сброс icon-only режима admin_toolbar horizontal */
.cdto-space-admin-rail__panel-body .toolbar-tray-horizontal .toolbar-menu a,
.cdto-space-admin-rail__panel-body .toolbar-tray-horizontal .toolbar-menu .toolbar-item,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-icon {
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu a.toolbar-icon,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu .toolbar-item.toolbar-icon {
  flex-shrink: 0;
  padding-left: 0.65rem !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu a .toolbar-icon,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu .toolbar-item.toolbar-icon::before {
  flex-shrink: 0;
  width: 1.125rem !important;
  height: 1.125rem !important;
  min-width: 1.125rem !important;
  margin-top: 0.1rem !important;
}

.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-card-link:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-card-link:focus-visible,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection .cdto-space-admin-rail__menu-link:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__subsection a:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-leaf > .cdto-space-admin-rail__menu-link:hover,
.cdto-space-admin-rail__panel-body .cdto-space-admin-rail__menu-leaf > a:hover,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu a:focus-visible,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu button:focus-visible {
  color: var(--cdto-admin-rail-teal-hover) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
  border-color: var(--cdto-admin-rail-chip-border) !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu .menu-item--active-trail > .cdto-space-admin-rail__menu-card-link,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu .menu-item--active-trail > a,
.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-menu a.is-active {
  color: var(--cdto-admin-rail-teal) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
  border-color: var(--cdto-admin-rail-chip-border) !important;
  box-shadow: inset 3px 0 0 #5eead4 !important;
}

.cdto-space-admin-rail__panel-body .toolbar-tray .toolbar-icon::before {
  margin-right: 0.15rem;
}

@media (max-width: 767px) {
  :root {
    --cdto-admin-rail-half-viewport: 30vw;
    --cdto-admin-rail-expanded-width: var(--cdto-admin-rail-half-viewport);
    --cdto-admin-rail-panel-width: calc(var(--cdto-admin-rail-half-viewport) - var(--cdto-admin-rail-nav-width));
  }

  .cdto-space-admin-rail--expanded {
    box-shadow: 8px 0 32px rgba(15, 23, 42, 0.22);
  }
}

@media print {
  .cdto-space-admin-rail,
  .cdto-space-right-rail {
    display: none !important;
  }

  body.cdto-space-admin-rail-ready .page-wrapper,
  body.cdto-space-admin-rail-ready .layout-container,
  body.cdto-space-right-rail-ready .page-wrapper,
  body.cdto-space-right-rail-ready .layout-container {
    padding-top: 0 !important;
  }
}

/* ---------- Правая rail-панель (зеркало левой, как Трекер) ---------- */
.cdto-space-right-rail {
  position: fixed;
  top: var(--cdto-rail-top);
  right: 0;
  left: auto;
  bottom: 0;
  height: var(--cdto-rail-height);
  max-height: var(--cdto-rail-height);
  z-index: var(--cdto-admin-rail-z);
  display: flex;
  flex-direction: row;
  width: var(--cdto-admin-rail-collapsed-width);
  background: var(--cdto-admin-rail-chrome-bg, #ffffff);
  border-left: 1px solid var(--cdto-admin-rail-border);
  box-shadow: var(--cdto-admin-rail-chrome-shadow, none);
  transition: width 0.3s ease;
  box-sizing: border-box;
  overflow: hidden;
}

.cdto-space-right-rail--expanded {
  width: var(--cdto-admin-rail-expanded-width);
  box-shadow: var(--cdto-admin-rail-chrome-shadow, none);
}

.cdto-space-right-rail__inner {
  display: flex;
  flex-direction: row-reverse;
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow: hidden;
}

.cdto-space-right-rail__nav {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: var(--cdto-admin-rail-nav-width);
  min-width: var(--cdto-admin-rail-nav-width);
  max-width: var(--cdto-admin-rail-nav-width);
  padding: 0;
  background: var(--cdto-admin-rail-chrome-bg, #ffffff);
  border-left: none;
  box-sizing: border-box;
  box-shadow: none;
}

.cdto-space-right-rail--expanded .cdto-space-right-rail__nav {
  border-left: 1px solid var(--cdto-admin-rail-border);
}

.cdto-space-right-rail__nav-tools {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  padding: 0 0 0.5rem;
  box-sizing: border-box;
}

.cdto-space-right-rail__nav-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 56px;
  min-width: 32px;
  min-height: 56px;
  max-width: 32px;
  max-height: 56px;
  padding: 0;
  color: var(--cdto-admin-rail-teal);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease, filter 0.15s ease;
  box-sizing: border-box;
  font: inherit;
}

.cdto-space-right-rail__nav-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.cdto-space-right-rail__nav-btn:not(.cdto-space-right-rail__nav-btn--toggle):hover,
.cdto-space-right-rail__nav-btn:not(.cdto-space-right-rail__nav-btn--toggle):focus-visible {
  color: var(--cdto-admin-rail-teal-hover) !important;
  background: transparent !important;
  border: none !important;
  transform: translateY(-2px) !important;
  filter: drop-shadow(0 3px 4px rgba(15, 23, 42, 0.28)) !important;
}

/* Toggle правый — эталон Трекера: слот app-bar − edge-stack, без border-top */
.cdto-space-right-rail__nav-btn--toggle,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:hover,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:focus,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:focus-visible,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:active {
  flex-shrink: 0;
  align-self: stretch;
  width: var(--cdto-admin-rail-nav-width, 52px) !important;
  max-width: var(--cdto-admin-rail-nav-width, 52px) !important;
  min-width: var(--cdto-admin-rail-nav-width, 52px) !important;
  height: var(--cdto-rail-header-h, 56px) !important;
  min-height: var(--cdto-rail-header-h, 56px) !important;
  max-height: var(--cdto-rail-header-h, 56px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--cdto-rail-expand-toggle-color) !important;
  background: var(--cdto-rail-expand-toggle-bg) !important;
  border: none !important;
  border-top: none !important;
  border-left: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
  transform: none !important;
  overflow: hidden !important;
  z-index: 2;
  transition: background 0.15s ease, color 0.15s ease;
  box-sizing: border-box !important;
}

.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:hover,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle:focus-visible {
  color: var(--cdto-rail-expand-toggle-color-hover) !important;
  background: var(--cdto-rail-expand-toggle-bg-hover) !important;
  border: none !important;
  border-top: none !important;
  border-left: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.cdto-space-right-rail--expanded .cdto-space-right-rail__nav-btn.cdto-space-right-rail__nav-btn--toggle {
  color: var(--cdto-rail-expand-toggle-color) !important;
  background: var(--cdto-rail-expand-toggle-bg-expanded) !important;
  border: none !important;
  border-top: none !important;
  border-left: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0) !important;
  box-shadow: none !important;
}

.cdto-space-right-rail__toggle-svg,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn--toggle .cdto-space-right-rail__toggle-svg {
  display: block !important;
  width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  min-width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  min-height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  max-width: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  max-height: var(--cdto-rail-expand-toggle-icon, 40px) !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
  fill: currentColor !important;
  stroke: none !important;
  color: inherit !important;
  transform: scaleX(-1);
}

.cdto-space-right-rail__toggle-svg path,
.cdto-space-right-rail .cdto-space-right-rail__nav-btn--toggle svg path {
  fill: currentColor !important;
  stroke: none !important;
}

.cdto-space-right-rail--expanded .cdto-space-right-rail__toggle-svg {
  transform: scaleX(-1) rotate(180deg);
}

.cdto-space-right-rail__panel {
  display: none;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  background: #ffffff;
  overflow: hidden;
}

.cdto-space-right-rail--expanded .cdto-space-right-rail__panel {
  display: flex;
  flex: 0 0 var(--cdto-admin-rail-panel-width);
  width: var(--cdto-admin-rail-panel-width);
  min-width: var(--cdto-admin-rail-panel-width);
  max-width: var(--cdto-admin-rail-panel-width);
}

.cdto-space-right-rail--empty .cdto-space-right-rail__panel-header {
  display: flex;
}

.cdto-space-right-rail:not(.cdto-space-right-rail--empty) .cdto-space-right-rail__panel-header {
  display: flex;
}

.cdto-space-right-rail__panel-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: var(--cdto-rail-header-h, 56px);
  min-height: var(--cdto-rail-header-h, 56px);
  max-height: var(--cdto-rail-header-h, 56px);
  padding: 0 var(--cdto-rail-panel-header-pad-outer) 0 var(--cdto-rail-panel-header-pad-inner);
  box-sizing: border-box;
  background: var(--cdto-app-bar-bg);
  border-top: none;
  border-bottom: 1px solid var(--cdto-app-bar-border-color, #e2e8f0);
  box-shadow: var(--cdto-app-bar-shadow, 0 1px 0 rgba(15, 118, 110, 0.05));
}

.cdto-space-right-rail__panel-close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cdto-rail-expand-toggle-size);
  height: var(--cdto-rail-expand-toggle-size);
  min-width: var(--cdto-rail-expand-toggle-size);
  min-height: var(--cdto-rail-expand-toggle-size);
  margin-right: var(--cdto-rail-panel-header-pad-inner);
  padding: 0;
  color: var(--cdto-rail-expand-toggle-color);
  background: transparent;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  font: inherit;
}

.cdto-space-right-rail .cdto-space-right-rail__panel-close,
.cdto-space-right-rail .cdto-space-right-rail__panel-close:hover,
.cdto-space-right-rail .cdto-space-right-rail__panel-close:focus,
.cdto-space-right-rail .cdto-space-right-rail__panel-close:active {
  transform: none;
}

.cdto-space-right-rail .cdto-space-right-rail__panel-close:hover,
.cdto-space-right-rail .cdto-space-right-rail__panel-close:focus-visible {
  color: var(--cdto-rail-expand-toggle-color-hover) !important;
  background: var(--cdto-rail-expand-toggle-bg-hover) !important;
  border: none !important;
  box-shadow: none !important;
}

.cdto-space-right-rail .cdto-space-right-rail__panel-close:active {
  background: var(--cdto-rail-expand-toggle-bg-active) !important;
}

.cdto-space-right-rail__panel-close-svg {
  width: var(--cdto-rail-panel-close-icon);
  height: var(--cdto-rail-panel-close-icon);
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}

.cdto-space-right-rail__panel-close-svg path {
  stroke-width: var(--cdto-rail-panel-close-stroke);
  stroke-linecap: round;
}

/* Вкладки главного меню — как cdto-space-rail__tabs в Трекере */
.cdto-space-right-rail__tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  align-self: stretch;
  gap: 0.25rem;
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.cdto-space-right-rail .cdto-space-right-rail__tab,
.cdto-space-right-rail .cdto-space-right-rail__tab:hover,
.cdto-space-right-rail .cdto-space-right-rail__tab:focus,
.cdto-space-right-rail .cdto-space-right-rail__tab:active {
  transform: none;
  background: transparent !important;
  color: var(--cdto-admin-rail-muted) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  box-shadow: none !important;
}

.cdto-space-right-rail__tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  border-radius: 0;
  cursor: pointer;
}

.cdto-space-right-rail .cdto-space-right-rail__tab:hover,
.cdto-space-right-rail .cdto-space-right-rail__tab:focus-visible {
  color: var(--cdto-admin-rail-teal) !important;
  background: var(--cdto-admin-rail-chip-bg) !important;
}

.cdto-space-right-rail .cdto-space-right-rail__tab--active,
.cdto-space-right-rail .cdto-space-right-rail__tab--active:hover,
.cdto-space-right-rail .cdto-space-right-rail__tab--active:focus,
.cdto-space-right-rail .cdto-space-right-rail__tab--active:focus-visible {
  color: var(--cdto-admin-rail-teal) !important;
  background: transparent !important;
  border-bottom-color: var(--cdto-admin-rail-orange) !important;
}

.cdto-space-right-rail__panel-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.75rem;
  box-sizing: border-box;
}

.cdto-space-right-rail__menu-pane[hidden] {
  display: none !important;
}

.cdto-space-right-rail__menu-pane-overview {
  margin-bottom: 0.65rem;
}

.cdto-space-right-rail__menu-pane-overview-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--cdto-admin-rail-orange) !important;
  text-decoration: none !important;
}

.cdto-space-right-rail__menu-pane-overview-link::after {
  content: "→";
  font-weight: 700;
}

.cdto-space-right-rail__menu-pane-overview-link:hover,
.cdto-space-right-rail__menu-pane-overview-link:focus-visible {
  color: #c2410c !important;
}

.cdto-space-right-rail__menu-items {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.cdto-space-right-rail__menu-card-link {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.35rem;
  margin: 0;
  padding: 0.5rem 0.65rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  color: var(--cdto-admin-rail-teal) !important;
  background: #ffffff;
  border: 1px solid var(--cdto-admin-rail-border);
  border-radius: 8px;
  text-decoration: none !important;
  white-space: normal;
  word-break: break-word;
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cdto-space-right-rail__menu-card-link:hover,
.cdto-space-right-rail__menu-card-link:focus-visible {
  color: var(--cdto-admin-rail-teal-hover) !important;
  background: var(--cdto-admin-rail-chip-bg);
  border-color: var(--cdto-admin-rail-chip-border);
}

.cdto-space-right-rail__menu-card-link--current {
  background: var(--cdto-admin-rail-chip-bg) !important;
  border-color: var(--cdto-admin-rail-chip-border) !important;
  box-shadow: inset 3px 0 0 #5eead4;
}

.cdto-space-right-rail__menu-link-text {
  flex: 1 1 auto;
  min-width: 0;
}

.cdto-space-right-rail--empty .cdto-space-right-rail__panel-body {
  min-height: 3rem;
  background: #ffffff;
}

@media (max-width: 767px) {
  .cdto-space-right-rail--expanded {
    box-shadow: -8px 0 32px rgba(15, 23, 42, 0.22);
  }
}

/* --------------------------------------------------------------------------
 * Status pages (403/404, OIDC callback): аккуратный контент между rails.
 * -------------------------------------------------------------------------- */
body.cdto-space-status-page.cdto-space-admin-rail-ready #page-title,
body.path-openid-connect.cdto-space-admin-rail-ready #page-title {
  margin: 0 !important;
  padding: 1.25rem var(--cdto-portal-column-pad-x, 16px) 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #page-title-inner,
body.path-openid-connect.cdto-space-admin-rail-ready #page-title-inner {
  max-width: 40rem !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #page-title .page-title-text,
body.path-openid-connect.cdto-space-admin-rail-ready #page-title .page-title-text {
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
  color: #ed7d31 !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #system-breadcrumb,
body.path-openid-connect.cdto-space-admin-rail-ready #system-breadcrumb,
body.cdto-space-status-page.cdto-space-admin-rail-ready .breadcrumb,
body.path-openid-connect.cdto-space-admin-rail-ready .breadcrumb {
  display: none !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #main-container,
body.path-openid-connect.cdto-space-admin-rail-ready #main-container {
  margin: 0 !important;
  padding: 0.75rem var(--cdto-portal-column-pad-x, 16px) 2.5rem !important;
  background: transparent !important;
  min-height: 12rem !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #main-container-inner,
body.path-openid-connect.cdto-space-admin-rail-ready #main-container-inner {
  max-width: 40rem !important;
  margin: 0 auto !important;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #block-solo-content,
body.path-openid-connect.cdto-space-admin-rail-ready #block-solo-content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #334155 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

.cdto-space-status-card {
  margin: 0;
  padding: 1.35rem 1.5rem 1.45rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cdto-space-status-card__lead {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
  color: #0f172a;
}

.cdto-space-status-card__hint {
  margin: 0 0 1.15rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #64748b;
}

.cdto-space-status-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
}

.cdto-space-status-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.55rem 1.15rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  color: #ffffff !important;
  background: #0f766e;
  border: 1px solid #0f766e;
  border-radius: 8px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.cdto-space-status-card__cta:hover,
.cdto-space-status-card__cta:focus-visible {
  background: #0d9488 !important;
  border-color: #0d9488 !important;
  color: #ffffff !important;
}

.cdto-space-status-card__secondary {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none !important;
  color: #0f766e !important;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cdto-space-status-card__secondary:hover,
.cdto-space-status-card__secondary:focus-visible {
  color: #9a3412 !important;
  background: #ffedd5;
  border-color: #fdba74;
}

body.cdto-space-status-page.cdto-space-admin-rail-ready #footer-menu,
body.path-openid-connect.cdto-space-admin-rail-ready #footer-menu {
  margin-top: 1rem !important;
}
