/* =========================================================================
   shared/styles/base.css — токены и раскладка G-Tools.
   Подключается в любой подпрограмме ПЕРЕД её собственным CSS:
     <link rel="stylesheet" href="../shared/styles/base.css">
     <link rel="stylesheet" href="https://suite.dev.gdw.kz/shared/app-header.css">
     <link rel="stylesheet" href="моя-подпрограмма.css">

   1050 (W3c, 2026-06-15): УНИВЕРСАЛЬНЫЕ КОМПОНЕНТЫ (кнопки .btn-sm, таблицы .rs-table,
   формы .rs-field, секции .rs-section, чипы/статусы/breadcrumb, sticky-сайдбар .rs-sidebar,
   диалоги .rs-toast/.rs-modal/.rs-btn, rail .rs-rail*) ВЫНЕСЕНЫ в общесемейный
   suite-components.css (источник правды = G-Suite, @import ниже). Здесь остались только
   G-TOOLS-ЛОКАЛЬНЫЕ вещи: токены (--rs-* алиасы канона, geometry/font/radius), reset,
   полноэкранная раскладка модулей и ширины сайдбаров. Markup не менялся (.rs-*/.btn-sm —
   те же классы, теперь из центра). Откат: вернуть компоненты сюда.
   ========================================================================= */

/* Единые дизайн-токены семейства (--ge-color-*, утилиты .ge-*) — из центральной
   suite-theme.css. Затем общая компонентная библиотека suite-components.css (использует
   эти токены). Обе грузятся ПЕРВЫМИ; локальный :root ниже добавляет намеренно локальные
   токены (--rs-* алиасы, radius-шкала m365).

   АДРЕС ПОДСТАВЛЯЕТСЯ, А НЕ ПИШЕТСЯ ЛИТЕРАЛОМ (карта 10000464). Прежде здесь стоял адрес
   боевого узла, и он делал две вещи разом: контур разработки тянул словарь с БОЕВОГО узла,
   а сторож доставки такую ссылку разобрать не мог вовсе — внешний адрес в файл не
   разрешается, и объявленные по ней имена для проверки не существовали. Маркер разрешает
   канал выкладки тем же правилом, что и в разметке. */
@import url("https://suite.dev.gdw.kz/suite-theme.css");
@import url("https://suite.dev.gdw.kz/suite-components.css");

:root {
  /* ===== Палитра — W3 (2026-06-15): легаси-словарь --rs-* СВЕДЁН к семейному канону
     suite-theme.css («полная унификация в indigo», решение Пользователя). Раньше тут был
     свой набор (синий #1976d2 + холодные серые), дрейфовавший от центра; теперь --rs-* =
     алиасы --ge-color-* ⇒ единый источник правды по цвету (G-Suite). Все ~731 ссылка
     var(--rs-*) в модулях прозрачно резолвятся в канон, разметку/компоненты не трогаем.
     ОБРАТИМО: вернуть прежние hex в этом блоке = полный откат. Тёмная тема не затронута —
     dark.css задаёт --rs-* под :root[data-theme=dark] с большей специфичностью (канон-sky,
     уже совпадает). Геометрия/шрифт (radius/shadow/font) — намеренно локальные, не меняем. */
  --rs-bg:           var(--ge-color-bg);            /* было #f4f5f7 */
  --rs-bg-card:      var(--ge-color-surface);       /* было #ffffff */
  --rs-bg-soft:      var(--ge-color-bg);            /* было #f6f8fa (≈холст, светлее hover) */
  --rs-bg-hover:     var(--ge-color-hover);         /* было #f0f0f0 */
  --rs-fg:           var(--ge-color-text);          /* было #222222 */
  --rs-fg-muted:     var(--ge-color-text-mute);     /* было #6b7280 */
  --rs-fg-subtle:    var(--ge-color-text-faint);    /* было #9aa3b5 */
  --rs-border:       var(--ge-color-border-strong); /* было #d0d0d0 */
  --rs-border-soft:  var(--ge-color-border);        /* было #e0e3ea */
  --rs-border-hair:  var(--ge-color-border);        /* было #f0f0f0 (хайрлайн) */

  /* Акцентные цвета → семейный indigo-бренд + семантика канона */
  --rs-accent:       var(--ge-color-brand);         /* было #1976d2 (синий) → indigo #4f46e5 */
  --rs-accent-hover: var(--ge-color-brand-hover);   /* было #1565c0 */
  --rs-accent-bg:    var(--ge-color-brand-soft);    /* было #e3f2fd */
  --rs-danger:       var(--ge-color-err);           /* было #c62828 */
  --rs-danger-bg:    var(--ge-color-err-bg);        /* было #ffebee */
  --rs-success:      var(--ge-color-ok);            /* было #2e7d32 */
  --rs-success-bg:   var(--ge-color-ok-bg);         /* было #e8f5e9 */
  --rs-warn:         var(--ge-color-warn);          /* было #e65100 */
  --rs-warn-bg:      var(--ge-color-warn-bg);       /* было #fff8e1 */

  /* ===== Типографика (G-Tools-локально; не часть цвет-решения) ===== */
  --rs-font:         -apple-system, "Segoe UI", Roboto, sans-serif;
  --rs-font-mono:    ui-monospace, Consolas, "SF Mono", monospace;

  /* ===== Радиусы / тени (G-Tools-локально; геометрия, не палитра) ===== */
  --rs-radius-sm:    4px;
  --rs-radius:       6px;
  --rs-radius-lg:    10px;
  --rs-shadow-card:  0 1px 3px rgba(0, 0, 0, 0.04);
  --rs-shadow-modal: 0 20px 60px rgba(0, 0, 0, 0.2);

  /* ===== Локальные ge-токены: значения цвета приходят из suite-theme.css (@import выше).
     Ниже — ТОЛЬКО намеренно локальные (radius-шкала m365) + алиасы имён, сведённые к канону. */
  --ge-color-brand-ink: var(--ge-color-brand-hover);  /* W3: алиас имени → канон (был #4338ca) */
  /* Ступень 8px собственной шкалы продукта. Приставка --ge- принадлежит словарю темы
     семьи, поэтому своё значение носит приставку продукта: имя, которого словарь не
     объявляет, спрашивать у словаря нельзя (карта 10001328). Величина прежняя. */
  --gt-radius:          8px;
  --ge-radius-sm:       6px;       /* radius-шкала m365 G-Tools (намеренно мягче центральной) */
  --ge-radius-lg:       14px;
}

/* ===== Reset + базовый фон ===== */
* { box-sizing: border-box; }
html, body {
  font-family: var(--rs-font);
  color: var(--rs-fg);
  background: var(--rs-bg);
  -webkit-font-smoothing: antialiased;
}

/* =========================================================================
   Phase 1.24.41 — единый полноэкранный дизайн всех модулей.
   Отключает исторически сложившиеся max-width: 1200px / 1400px / 1600px
   и centering (margin:0 auto) на обёртках подпрограмм. Модуль занимает
   всю ширину вьюпорта, как «Конструктор схем» и «Подбор кабеля».
   ========================================================================= */
body > main,
.page-wrap, .sc-wrap, .rc-wrap, .cb-wrap, .mv-wrap, .pdu-wrap, .ups-wrap,
.xf-wrap, .el-wrap, .bat-wrap, .cat-wrap, .log-wrap, .mdc-wrap,
.psy-wrap, .sup-wrap, .pc-wrap, .tr-wrap, .app-wrap {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: auto !important;
}

/* Единая типографика для всех модулей — фиксируем base font-size и line-height,
   чтобы убрать плавающие 13/14/15px в подпрограммах. */
html { font-size: 14px; line-height: 1.45; }
body { font-family: var(--rs-font); }
code, kbd, samp, pre { font-family: var(--rs-font-mono); }

/* =========================================================================
   Ширины резайзимого сайдбара (компонент .rs-sidebar — в suite-components.css).
   Значения локальны для G-Tools (BRAND-KIT §3a: навиг. сайдбар 288, инспектор 360);
   сохраняются в localStorage через shared/sidebar-resizer.js.
   ========================================================================= */
:root {
  /* ЕДИНЫЙ дизайн-токен ширины навигационных панелей (правило Пользователя): базовый
     левый сайдбар платформы, выезжающий Drawer G-Tools и сайдбары управления внутри
     справочников/хабов ссылаются на ОДНУ величину — без «прыжков» и пиксельного дрейфа
     (раньше: 288/280/240 расходились). Резайзер (sidebar-resizer.js) переопределяет
     инлайном per-user, но старт — из токена. */
  --sidebar-width:      280px;
  --rs-sidebar-left-w:  var(--sidebar-width);
  --rs-sidebar-right-w: 360px;
  --rs-sidebar-min-w:   180px;
  --rs-sidebar-max-w:   560px;
}

/* =========================================================================
   Бейдж record-lock «редактирует <кем>» (1060 Шаг 5b/5c). Рендерится
   shared/record-lock-ui.js (lockBadgeHtml) на чужих записях реестров. Family-
   wide, токенизирован под канон темы. См. shared/surface-collab.js.
   ========================================================================= */
.gt-lock-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  padding: 0 6px;
  height: 17px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 17px;
  white-space: nowrap;
  vertical-align: middle;
  color: var(--ge-color-warn);
  background: var(--ge-color-warn-bg);
  border: 1px solid var(--ge-color-warn);
  border-radius: 999px;
}
