/* Общая палитра + базовые компоненты (кнопки, карточка, модалка, бейдж,
 * текст ошибки) — для всех страниц портала (admin.html и index.html).
 *
 * Канонический файл — C:\Users\dulce\Desktop\Claude\_shared\design-tokens.css,
 * см. README.md рядом. Правки — сюда, потом копия в deploy/design-tokens.css
 * каждого портала (Закупки, ЭПДО), который его подключает.
 *
 * Только то, что действительно совпадает во всех подключённых страницах.
 * Специфичные для портала токены (например, цвета диаграммы Ганта у ЦУП)
 * сюда не переносятся — остаются в :root самой страницы. Свойства, которые
 * отличаются между admin.html и index.html (отступы карточки, z-index
 * модалки, поля .dlg) — тоже не здесь, дописываются локально на странице.
 */

:root {
  --bg:#eef2f5; --surface:#fff; --surface-2:#f4f7f9; --text:#16212c; --text-muted:#5b6b78;
  --border:#d7dfe4; --accent:#bf5b04; --brand-red:#d3232a;
  --crit:#b3261e; --crit-soft:#fae3e1; --ok:#3f7d58; --ok-soft:#e1efe6;
  --warn:#b7791f; --warn-soft:#f6ecd8;
  --grid-line:#e3e9ed;
  --shadow:0 1px 2px rgba(22,33,44,.06),0 4px 14px rgba(22,33,44,.05);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#11161b; --surface:#1a2129; --surface-2:#212a33; --text:#e7ecf0; --text-muted:#93a3af;
  --border:#2b3540; --accent:#e2954a; --brand-red:#d8352f;
  --crit:#f2867c; --crit-soft:#3a1e1b; --ok:#6fb98a; --ok-soft:#1c2c22;
  --warn:#e0b158; --warn-soft:#332b17;
  --grid-line:#2b3540;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);
}}
:root[data-theme="dark"]{
  --bg:#11161b; --surface:#1a2129; --surface-2:#212a33; --text:#e7ecf0; --text-muted:#93a3af;
  --border:#2b3540; --accent:#e2954a; --brand-red:#d8352f;
  --crit:#f2867c; --crit-soft:#3a1e1b; --ok:#6fb98a; --ok-soft:#1c2c22;
  --warn:#e0b158; --warn-soft:#332b17;
  --grid-line:#2b3540;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);

  color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}

.btn{font:inherit;font-size:14px;font-weight:600;border-radius:8px;padding:9px 16px;cursor:pointer;
     border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;
     display:inline-block}
.btn:hover{border-color:var(--accent)}
.btn-primary{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.btn-primary:hover{filter:brightness(1.08);border-color:var(--brand-red)}
.btn-danger{background:none;border-color:var(--brand-red);color:var(--brand-red)}
.btn-danger:hover{background:var(--crit-soft)}
.btn-sm{padding:6px 12px;font-size:13px}
.btn:disabled{opacity:.5;cursor:not-allowed}

.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:20px;
       background:var(--surface-2);color:var(--text-muted);white-space:nowrap}
.badge.role{background:var(--ok-soft);color:var(--ok)}

/* Базовые свойства — отступы/margin у карточки на каждой странице свои,
 * дописываются локально. */
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}

/* z-index у модалки на каждой странице свой (зависит от того, что ещё
 * может быть поверх на этой странице) — дописывается локально. */
.modal{position:fixed;inset:0;background:rgba(10,16,22,.45);display:flex;align-items:center;
       justify-content:center;padding:20px}
.modal[hidden]{display:none}

/* margin у текста ошибки на каждой странице свой — дописывается локально. */
.err{font-size:12.5px;color:var(--crit)}
