/* Фирменный стиль AI TENDERR — тот же, что у сайта tenderr.kz: шрифты Onest / Unbounded / JetBrains Mono,
   бирюзовый акцент, глубокий тёмно-синий фон тёмной темы. Подключается на всех страницах после их собственных стилей
   и переопределяет общие переменные (:root:root — сильнее, чем :root страницы). */
:root:root {
  --bg: #f3f6f8; --card: #ffffff; --text: #0d1b2a; --muted: #566577; --border: #d9e1e8;
  --accent: #0b7a75; --accent-soft: #dcefed; --accent-ink: #ffffff;
  --ok: #1f9d55; --warn: #b26f00; --danger: #c2412d; --new: #0b7a75; --sun: #f2b234;
  --font-body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Unbounded", "Onest", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --shadow: 0 1px 2px rgba(13, 27, 42, .04), 0 8px 24px -16px rgba(13, 27, 42, .25);
}
@media (prefers-color-scheme: dark) {
  :root:root:not([data-theme="light"]) {
    --bg: #0b1219; --card: #121c26; --text: #e7eef4; --muted: #93a3b4; --border: #223140;
    --accent: #3cc6bd; --accent-soft: #10302f; --accent-ink: #062321;
    --ok: #3ccf7b; --warn: #f0ac2b; --danger: #ff7a63; --new: #3cc6bd;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px -18px rgba(0, 0, 0, .7);
    color-scheme: dark;
  }
}
:root:root[data-theme="dark"] {
  --bg: #0b1219; --card: #121c26; --text: #e7eef4; --muted: #93a3b4; --border: #223140;
  --accent: #3cc6bd; --accent-soft: #10302f; --accent-ink: #062321;
  --ok: #3ccf7b; --warn: #f0ac2b; --danger: #ff7a63; --new: #3cc6bd;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px -18px rgba(0, 0, 0, .7);
  color-scheme: dark;
}

/* ---- шрифты ---- */
html body { font-family: var(--font-body); background: var(--bg); color: var(--text); }
h1, .page-title { font-family: var(--font-display); font-weight: 800; letter-spacing: -.015em; text-wrap: balance; }
h2 { letter-spacing: -.005em; }
.kpi .v, .plan .price, .an-big, .big-num { font-family: var(--font-display); letter-spacing: -.01em; }
.lot .price, td.num, .num, .sum, .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.lot .price { font-weight: 700; letter-spacing: -.02em; }

/* ---- логотип ---- */
header .logo, .brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 800;
  font-size: 17px; letter-spacing: .02em; color: var(--text); text-decoration: none; white-space: nowrap; }
header .logo b, .brand b { color: var(--accent); font-weight: 800; }
.brand-mark { width: 28px; height: 28px; border-radius: 8px; background: var(--accent); position: relative; flex: none; }
.brand-mark::before { content: ""; position: absolute; left: 7px; right: 7px; top: 8px; height: 3px; border-radius: 2px; background: var(--accent-ink); }
.brand-mark::after { content: ""; position: absolute; left: 12.5px; top: 8px; width: 3px; height: 13px; border-radius: 2px; background: var(--accent-ink); }
.brand-mark i { position: absolute; right: 4px; bottom: 4px; width: 6px; height: 6px; border-radius: 50%; background: var(--sun); }

/* ---- шапка ---- */
header { background: color-mix(in srgb, var(--card) 86%, transparent) !important; backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--border); }
.appnav a { font-weight: 500; }
.appnav a.on { box-shadow: inset 0 -2px 0 var(--accent); border-radius: 8px 8px 0 0; background: transparent !important; }

/* ---- кнопки и поля ---- */
.btn { border-radius: 10px; font-weight: 600; }
.btn:not(.ghost):not(.danger) { background: var(--accent); color: var(--accent-ink); }
.btn:not(.ghost):not(.danger):hover:not(:disabled) { filter: brightness(1.08); }
.btn.ghost { border-color: var(--border); }
.btn.ghost:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.theme-btn { border-radius: 10px; }
.theme-btn:hover, .theme-btn.active { border-color: var(--accent); color: var(--accent); }
.chip.on, .portal.active, .tab.on { color: var(--accent-ink) !important; }
.portal.active .cnt { color: var(--accent-ink); }
input, select, textarea { border-radius: 10px; }
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 0; border-color: var(--accent); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; }

/* ---- карточки ---- */
.card, .lot, .kpi, .plan, .box, .step, .feat { border-radius: 14px; }
.card, .lot, .kpi { box-shadow: var(--shadow); }
.lot { transition: border-color .15s, transform .15s; }
.lot:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.lot.unseen { border-left: 3px solid var(--accent); }
.lot h3 a { color: var(--text); }
.lot h3 a:hover { color: var(--accent); }
.tag { border-radius: 99px; }
.seg button.on, .stages .check:has(input:checked) { color: var(--accent); }
.note { border-radius: 12px; }

/* ---- светофор ---- */
.qbadge { border-radius: 12px; background: var(--card); }
.qbtn { border-radius: 99px; }

@media (prefers-reduced-motion: reduce) { .lot { transition: none; } }
