/* ============================================================================
   Тема gen-a для экземпляра gen-a-ads.ru
   ----------------------------------------------------------------------------
   Подключается ПОСЛЕ app.css и только когда в конфиге объявлена секция
   integrations.gen_a (см. layout.php). Основной job-crm.ru остаётся в своём
   тёплом оранжевом оформлении — файл к нему не подключается.

   Дизайн-язык взят из рабочей CRM «STAFF» (crm.gen-a.ru): нейтральная серая
   гамма, фирменный красный акцент, тёмный графитовый сайдбар, системный шрифт,
   плотные таблицы. Чужой CSS не копируется — переопределяются только токены
   нашей системы плюс небольшой набор правил на сайдбар и контролы.
   ========================================================================= */

:root{
  /* ---- палитра ---- */
  --ink:#15181C;            /* основной текст      */
  --muted:#6B7480;          /* вторичный текст     */
  --orange:#DC1F26;         /* фирменный акцент (имя переменной историческое) */
  --orange-d:#B81820;       /* нажатое состояние   */
  --orange-bg:#FCE7E8;      /* мягкая заливка      */
  --orange-br:#F8C9CB;      /* граница акцента     */

  --teal:#1FA85B; --teal-l:#86EFAC; --teal-bg:#DCFCE7; --teal-br:#BBF7D0;

  --cream:#ffffff;          /* поверхности         */
  --soft:#f0f2f5;           /* фон страницы        */
  --line:#e5e7eb;           /* линии               */
  --grid:#e5e7eb;

  --ok:#166534;   --ok-bg:#DCFCE7;   --ok-br:#BBF7D0;
  --warn:#B4700A; --warn-bg:#FEF3C7; --warn-br:#FDE68A;
  --err:#991B1B;  --err-bg:#FEE2E2;  --err-br:#FECACA;

  /* ---- форма ---- */
  --radius:10px;
  --radius-sm:8px;
  --font:-apple-system,"SF Pro Display","SF Pro Text",system-ui,"Segoe UI",Roboto,sans-serif;

  /* тени почти плоские: интерфейс читается за счёт линий, а не объёма */
  --shadow-sm:0 1px 2px rgba(20,24,30,.04);
  --shadow-card:0 1px 2px rgba(20,24,30,.04), 0 6px 20px rgba(20,24,30,.05);
  --shadow-md:0 6px 20px rgba(20,24,30,.08);
  --shadow-orange:0 1px 2px rgba(20,24,30,.08);
}

/* ---------------------------------------------------------------- шрифт -- */
/* Mulish в этой теме не грузится (layout его не подключает), поэтому системный
   стек задаётся явно всем элементам, включая те, где браузер берёт свой. */
html, body, button, input, select, textarea, optgroup,
th, td, h1, h2, h3, h4, .brand, .btn{
  font-family:var(--font);
}
body{ font-size:16px; }
h1{ font-size:26px; font-weight:700; letter-spacing:-.01em; }
h2{ font-size:20px; font-weight:700; }

/* -------------------------------------------------------------- сайдбар -- */
/* Специфичность поднята до уровня app.css: там правила живут на классах
   (.sidebar, .nav a, .brand), поэтому голый `aside` их не перебивает.
   Обходимся без !important — просто целимся точнее. */
aside.sidebar{
  background:#111827;
  border-right:0;
  width:240px;
  padding:22px 0;            /* пункты идут во всю ширину, боковые поля не нужны */
}
.sidebar .brand{ color:#fff; font-weight:700; letter-spacing:-.01em; padding:0 20px; }
.sidebar .brand b{ color:#DC1F26; }

.sidebar .nav{ gap:0; }
.sidebar .nav a{
  color:#9CA3AF;
  font-size:13px;
  font-weight:600;
  padding:10px 20px;
  border-radius:0;
  min-height:40px;
}
.sidebar .nav a:hover{ background:#1F2937; color:#fff; }
.sidebar .nav a.active{ background:#1F2937; color:#fff; }
.sidebar .nav a.active .nav-ico{ color:#DC1F26; }

/* Подменю — «плотный список»: вложенность показана более тёмной подложкой,
   пункты помечены точками, активный — красной точкой и белым текстом.
   Базовые правила app.css задают светлую линию слева (#e5e7eb) и тройной отступ
   (10 + 10 + 52 px) — на тёмном фоне это читалось как случайная полоса, поэтому
   линия снимается, а отступ считается один раз. nowrap — чтобы длинные названия
   вроде «Объявления → проекты» не ломались на две строки. */
.sidebar .subnav{
  background:#0C1220;
  border-left:0;
  margin:0 0 4px;
  padding:6px 0;
  gap:0;
}
.sidebar .subnav a{
  position:relative;
  white-space:nowrap;
  padding:6px 16px 6px 52px;
  font-size:12.5px;
  color:#7D8796;
  background:transparent;
  border-radius:0;
  min-height:0;
}
.sidebar .subnav a::before{          /* маркер-точка */
  content:'';
  position:absolute;
  left:36px; top:50%;
  transform:translateY(-50%);
  width:4px; height:4px;
  border-radius:50%;
  background:#374151;
}
.sidebar .subnav a:hover{ background:transparent; color:#E5E7EB; }
.sidebar .subnav a:hover::before{ background:#6B7480; }
.sidebar .subnav a.active{ background:transparent; color:#fff; font-weight:600; }
.sidebar .subnav a.active::before{ background:#DC1F26; width:5px; height:5px; }

.sidebar .sidebar-toggle{ background:#1F2937; border:1px solid #374151; color:#9CA3AF; }
.sidebar .sidebar-toggle:hover{ border-color:#4B5563; color:#fff; }
.sidebar .sidebar-foot{ border-top:1px solid #374151; padding-left:20px; padding-right:20px; }
.sidebar .sidebar-user{ color:#6B7480; }
.sidebar hr{ border-color:#374151; }

/* ------------------------------------------------------------- контролы -- */
/* Высоту задаём, ширину — никогда: у select она считается по содержимому,
   и жёсткое правило схлопывало короткие списки вроде «25». */
input:not([type=checkbox]):not([type=radio]),
select,
.btn,
button{
  height:38px;
  border-radius:8px;
  font-size:14px;
}
input:not([type=checkbox]):not([type=radio]){
  border:1px solid #d1d5db;
  padding:0 12px;
}
select{
  border:1px solid #d1d5db;
  padding:0 32px 0 12px;   /* справа — место под стрелку */
  width:auto;
  min-width:72px;
}
input:focus, select:focus, textarea:focus{
  border-color:#DC1F26;
  outline:none;
  box-shadow:0 0 0 3px rgba(220,31,38,.1);
}

/* Акцентная кнопка — только для создающих и фирменных действий.
   Поиск, фильтры и выгрузки остаются нейтральными. */
.btn, button{ font-weight:600; box-shadow:none; }
.btn-primary{ background:#DC1F26; border-color:#DC1F26; color:#fff; }
.btn-primary:hover{ background:#B81820; border-color:#B81820; }
.btn-sm{ height:34px; font-size:13px; }

/* -------------------------------------------------------------- таблицы -- */
table{ font-size:13px; }
th{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:#6B7480;
  padding:8px 10px;
  border-bottom:1px solid #e5e7eb;
  background:transparent;
}
td{ font-size:13px; padding:8px 10px; border-bottom:1px solid #e5e7eb; }
tbody tr:hover{ background:#f9fafb; }

/* ------------------------------------------------------------- карточки -- */
.card, .panel, .box{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:var(--shadow-card);
}
