/* ============================================================
   Amacumara · тема (синий вариант 1a) — дизайн-токены поверх Bootstrap 5
   Подключать в index.tpl ПОСЛЕ bootstrap.min.css (заменяет styles.css
   в части цветов; специфичные утилиты styles.css можно оставить).
   Шрифты: заменить ссылку Roboto на:
   https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap
   ============================================================ */

:root {
  /* --- токены темы --- */
  --am-accent: #2f4fd0;          /* латунь: главные действия, ссылки */
  --am-accent-hover: #2843b5;
  --am-accent-soft: #eef1fc;     /* заливка бейджей/инфоблоков акцента */
  --am-ink: #16181d;             /* основной текст */
  --am-muted: #5c6470;           /* второстепенный текст (контраст ≥ 4.5:1) */
  --am-faint: #8a91a0;           /* подписи, мета */
  --am-border: #e3e6ec;
  --am-border-strong: #d0d5de;   /* рамки контролов */
  --am-bg: #f5f6f8;              /* фон страницы */
  --am-surface: #ffffff;         /* карточки */
  --am-success: #1a7a5e;
  --am-success-soft: #e7f4ef;
  --am-warn: #b45309;
  --am-warn-soft: #fdf3e7;
  --am-danger: #b3261e;
  --am-danger-soft: #fbeae9;
  --am-radius: 12px;             /* карточки */
  --am-radius-sm: 8px;           /* кнопки, поля */
  --am-shadow-card: 0 1px 3px rgba(22, 24, 29, .06);

  /* --- мост в переменные Bootstrap --- */
  --bs-primary: var(--am-accent);
  --bs-primary-rgb: 47, 79, 208;
  --bs-body-font-family: 'IBM Plex Sans', system-ui, sans-serif;
  --bs-body-color: var(--am-ink);
  --bs-body-bg: #ffffff;
  --bs-border-color: var(--am-border);
  --bs-link-color: var(--am-accent);
  --bs-link-hover-color: var(--am-accent-hover);
}

body { background: #ffffff; color: var(--am-ink); }

/* ---------- типографика ---------- */
h1, .h1 { font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; }
h2, .h2 { font-size: 1.375rem; font-weight: 700; letter-spacing: -.01em; }
h3, .h3 { font-size: 1.125rem; font-weight: 600; }
.text-mono { font-family: 'IBM Plex Mono', monospace; }
.text-muted { color: var(--am-muted) !important; } /* контраст поднят */

/* ---------- кнопки ---------- */
.btn { border-radius: var(--am-radius-sm); font-weight: 500; }
.btn-primary {
  --bs-btn-bg: var(--am-accent);
  --bs-btn-border-color: var(--am-accent);
  --bs-btn-hover-bg: var(--am-accent-hover);
  --bs-btn-hover-border-color: var(--am-accent-hover);
  --bs-btn-active-bg: var(--am-accent-hover);
  --bs-btn-active-border-color: var(--am-accent-hover);
}
/* вторичная — светлая с рамкой, а не серая заливка */
.btn-secondary, .btn-outline-secondary {
  --bs-btn-bg: var(--am-surface);
  --bs-btn-color: var(--am-ink);
  --bs-btn-border-color: var(--am-border-strong);
  --bs-btn-hover-bg: var(--am-bg);
  --bs-btn-hover-color: var(--am-ink);
  --bs-btn-hover-border-color: var(--am-border-strong);
  --bs-btn-active-bg: var(--am-bg);
  --bs-btn-active-color: var(--am-ink);
}

/* ---------- карточки и формы ---------- */
.card, .am-card {
  background: var(--am-surface);
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  box-shadow: var(--am-shadow-card);
}
.form-control {
  border-radius: var(--am-radius-sm);
  border-color: var(--am-border-strong);
  color: var(--am-ink);
}
.form-control:focus {
  border-color: var(--am-accent);
  box-shadow: 0 0 0 3px var(--am-accent-soft);
}
.form-label, label { font-weight: 600; font-size: .8125rem; }

/* ---------- статусы согласования ---------- */
/* заменяют text-bg-secondary/info/primary/success в coordination/main.tpl */
.badge { font-weight: 500; border-radius: 999px; padding: .38em .85em; }
.am-status-none     { color: var(--am-muted);   background: #eef0f3; }
.am-status-progress { color: var(--am-warn);    background: var(--am-warn-soft); }
.am-status-agreed   { color: var(--am-accent);  background: var(--am-accent-soft); }
.am-status-done     { color: var(--am-success); background: var(--am-success-soft); }

/* ---------- алерты ---------- */
/* красный — только для настоящих ошибок; пустые состояния — alert-secondary */
.alert { border-radius: var(--am-radius-sm); }
.alert-secondary { color: var(--am-muted); background: #eef0f3; border-color: var(--am-border); }
.alert-warning   { color: #7a4a09; background: var(--am-warn-soft); border-color: #f0dcbb; }
.alert-danger    { color: var(--am-danger); background: var(--am-danger-soft); border-color: #f2d2cf; }
.alert-success   { color: var(--am-success); background: var(--am-success-soft); border-color: #cfe7dc; }

/* ---------- шапка ---------- */
header { background: var(--am-bg); border-bottom: 1px solid var(--am-border); }
header .container { border-bottom: none; } /* перебивает старое правило styles.css */
header .logotype { font-weight: 700; letter-spacing: -.01em; color: var(--am-ink); font-size: 17px; }
header .logotype::after {
  content: ""; display: inline-block; width: 7px; height: 7px;
  background: var(--am-accent); border-radius: 2px; margin-left: 6px;
}

/* ---------- строки анкет (coordination/main.tpl) ---------- */
.am-row {
  background: var(--am-surface);
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  box-shadow: var(--am-shadow-card);
}
.am-row + .am-row { margin-top: 10px; }

/* ---------- шаги анкеты (замена .position-list со стрелками) ---------- */
.am-steps { display: flex; align-items: center; }
.am-steps__num {
  width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 600;
  background: #eef0f3; color: var(--am-faint);
}
.am-steps__item { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--am-faint); }
.am-steps__item--active { color: var(--am-ink); font-weight: 600; }
.am-steps__item--active .am-steps__num { background: var(--am-accent); color: #fff; }
.am-steps__line { flex: 1; height: 1.5px; background: #dfe3ea; margin: 0 12px; }

/* ---------- виджет вопроса (WhatsApp) ---------- */
.question-icon { background: var(--am-accent); }
.question-icon:hover, .question-icon:active { background: var(--am-accent-hover); }
.question-link { background: var(--am-accent-soft); color: var(--am-ink); }

/* ---------- футер ---------- */
footer.footer { background: var(--am-bg) !important; border-top: 1px solid var(--am-border); }
footer .text-black-50, footer .nav-link { color: var(--am-faint) !important; }

/* «Снять оплату» — оранжевая кнопка (по просьбе владельца — чистый orange, не тема) */
.btn-orange { color: #fff; background-color: orange; border-color: orange; }
.btn-orange:hover, .btn-orange:focus, .btn-orange:active { color: #fff; background-color: #e08e00; border-color: #e08e00; }

/* Мягкие пастельные статус-бейджи (палитра 1a) поверх сплошных Bootstrap text-bg-* */
.badge.text-bg-secondary { color: var(--am-muted) !important; background-color: #eef0f3 !important; }
.badge.text-bg-info      { color: var(--am-warn) !important;    background-color: var(--am-warn-soft) !important; }
.badge.text-bg-primary   { color: var(--am-accent) !important;  background-color: var(--am-accent-soft) !important; }
.badge.text-bg-success   { color: var(--am-success) !important; background-color: var(--am-success-soft) !important; }
.badge.text-bg-warning   { color: var(--am-warn) !important;    background-color: var(--am-warn-soft) !important; }
.badge.text-bg-danger    { color: var(--am-danger) !important;  background-color: var(--am-danger-soft) !important; }

/* Верхняя линия боксовых таблиц (списки отбора и согласований): «закрывает» таблицу сверху.
   Только ячейки с рамкой — колонки с кнопками не задеваем. */
.table-topline tbody tr:first-child > td.border-bottom { border-top: 1px solid #dee2e6; }
