/* Тема v2 (дизайн, 05.11.2026): та же стилистика — тёмно-зелёное меню, светлые карточки, зелёный акцент, —
   но шрифт Inter, линейные иконки Lucide, мягче карточки, больше воздуха, ровные цифры.
   Подключается после styles.css и только уточняет его: откатить — убрать <link> на этот файл. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-feature-settings: 'cv11', 'ss03';
  --radius: 16px;
  --line: #e7e9e3;
  --shadow: 0 1px 2px rgba(16, 24, 16, .04), 0 8px 24px -12px rgba(16, 24, 16, .10);
  --shadow-hover: 0 2px 4px rgba(16, 24, 16, .05), 0 14px 32px -14px rgba(16, 24, 16, .18);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --line: #262b26; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.5); --shadow-hover: 0 2px 4px rgba(0,0,0,.45), 0 14px 32px -14px rgba(0,0,0,.6); } }
:root[data-theme="dark"] { --line: #262b26; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.5); --shadow-hover: 0 2px 4px rgba(0,0,0,.45), 0 14px 32px -14px rgba(0,0,0,.6); }
body { letter-spacing: -0.006em; }

/* цифры — одинаковой ширины: столбцы и плитки ровные */
.num, .tnum, .kpi .value, .hm-big, .hm-mini b, .bignum, td.num, .gcell { font-variant-numeric: tabular-nums; }

/* иконки Lucide: линейные, цвет — от текста */
svg.ico { width: 16px; height: 16px; fill: none; stroke: currentColor; flex: none; vertical-align: -3px; }
.nav button svg.ico { width: 18px; height: 18px; stroke-width: 1.8; opacity: .85; }
.nav button.active svg.ico, .nav button:hover svg.ico { opacity: 1; }
.src svg.ico { width: 12px; height: 12px; margin-right: 3px; vertical-align: -2px; opacity: .8; }
.hm-pin svg.ico, .dev-rbtn svg.ico { width: 14px; height: 14px; margin-right: 2px; }

/* карточки: мягче, больше воздуха, тень вместо жёсткой рамки */
.card { border-color: var(--line); box-shadow: var(--shadow); }
.card-head { padding-top: 18px; }
.card-head h3 { font-size: 15px; font-weight: 650; letter-spacing: -0.01em; }
.card-head .sub { color: var(--muted); }
.grid { gap: 16px; }

/* плитки KPI: крупная цифра, спокойная подпись */
.kpi { padding: 18px 20px; gap: 6px; transition: box-shadow .15s ease, transform .15s ease; }
.kpi .label { font-size: 12.5px; font-weight: 500; color: var(--ink-2); }
.kpi .value { font-size: 30px; font-weight: 650; letter-spacing: -0.025em; line-height: 1.1; }
.kpi .value small { font-size: 14px; font-weight: 500; letter-spacing: 0; }
.kpi .foot { font-size: 12px; line-height: 1.45; }
.kpi:hover { box-shadow: var(--shadow-hover); }
.hm-kpis .kpi:hover { box-shadow: none; }

/* таблицы: тихие заголовки, лёгкое выделение строки */
.t th { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; color: var(--muted); background: var(--surface); }
.t td { border-bottom-color: var(--line); }
.t tbody tr:hover td { background: var(--surface-2); }

/* ссылки «Открыть →» — аккуратные текстовые кнопки вместо подчёркнутых ссылок */
.hm-more { text-decoration: none; color: var(--accent-text); font-weight: 600; font-size: 12.5px; padding: 5px 10px; border-radius: 8px; background: var(--accent-soft); }
.hm-more:hover { filter: brightness(.97); }

/* фишки и переключатели: активная — с подложкой акцента */
.chip { border-radius: 999px; transition: background .12s ease, border-color .12s ease; }
.chip.active { background: var(--accent-soft); border-color: transparent; color: var(--accent-text); font-weight: 600; }
.seg button.active { background: var(--surface); box-shadow: 0 1px 2px rgba(0,0,0,.08); color: var(--ink); font-weight: 600; }

/* кнопки */
.btn { border-radius: 10px; font-weight: 550; transition: background .12s ease, box-shadow .12s ease; }
.btn.primary { box-shadow: 0 1px 2px rgba(18, 138, 62, .25); }

/* меню слева */
.nav button { gap: 11px; font-weight: 500; }
.nav button.active { box-shadow: inset 3px 0 0 #2bc25a; }

/* загрузка: «скелет» по форме блока вместо надписи */
.skel { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.skel i { display: block; height: 118px; border-radius: var(--radius); background: linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 50%, var(--surface-3) 100%); background-size: 200% 100%; animation: skel 1.2s ease-in-out infinite; }
.skel i.wide { grid-column: 1 / -1; height: 260px; }
@keyframes skel { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

/* полоски прогресса — скруглённые */
.rm-prog, .hm-progress, .pbar, .track { border-radius: 999px; }
.rm-prog i, .hm-progress i, .pbar span, .track .fill { border-radius: 999px; }

@media (prefers-reduced-motion: reduce) { .skel i { animation: none; } .kpi, .chip, .btn { transition: none; } }

/* дополнительные слоты палитры (эталон dataviz: 5 — пурпурный, 7 — фиолетовый; светлый шаг синего) — светлая / тёмная */
:root { --s5: #e87ba4; --s7: #6250d6; --s1-light: #86b6ef; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --s5: #d55181; --s7: #9085e9; --s1-light: #5598e7; } }
:root[data-theme="dark"] { --s5: #d55181; --s7: #9085e9; --s1-light: #5598e7; }

/* переписка по обращению — как чат: школа слева, ответы поддержки справа, заметки для своих — жёлтые, события — тихой строкой */
.tk-thread { display: flex; flex-direction: column; gap: 8px; }
.tk-thread .tl-item { border-left: 0; border-radius: 14px; padding: 9px 13px; max-width: 86%; background: var(--surface-2); border: 1px solid var(--line); }
.tk-thread .tl-call { align-self: flex-start; border-top-left-radius: 4px; }
.tk-thread .tl-comment { align-self: flex-end; background: var(--accent-soft); border-color: transparent; border-top-right-radius: 4px; }
.tk-thread .tl-assign { align-self: flex-end; background: var(--warn-soft); border-color: transparent; opacity: 1; border-top-right-radius: 4px; }
.tk-thread .tl-head { font-size: 11.5px; color: var(--muted); }
.tk-thread .tl-head b { color: var(--ink-2); font-weight: 600; }
.tk-thread .tl-text { font-size: 13.5px; color: var(--ink); }
.tk-thread > .muted { align-self: center; font-size: 11.5px !important; background: var(--surface-3); border-radius: 999px; padding: 2px 10px; margin: 2px 0 !important; }
/* история изменений — тот же вид, что журнал: время слева, событие справа */
.tk-hist { padding: 0; }
.tk-hist > summary { padding: 14px 18px; cursor: pointer; list-style: none; }
.tk-hist > summary::-webkit-details-marker { display: none; }
.tk-hist > summary::before { content: '›'; display: inline-block; margin-right: 8px; transition: transform .15s ease; color: var(--muted); }
.tk-hist[open] > summary::before { transform: rotate(90deg); }
.tk-hist > :not(summary) { padding: 0 18px; }
.tk-log { border-bottom: 1px solid var(--line); padding: 7px 0; }
/* история по школе в обзвоне — тот же журнал: цветная метка слева вместо толстой полосы */
.tl-item { border-left-width: 2px; padding-left: 12px; }
/* формы: одинаковые отступы и подписи */
.form .fgroup h4, .fgroup > h4 { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 8px; }
.form textarea, .drawer textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; padding: 10px 12px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13.5px; }

/* поиск обращения по номеру в шапке; приоритет в карточке */
.tk-find { width: 128px; height: 38px; }
.tk-prio { height: 26px; font-size: 12px; padding: 0 24px 0 8px; border-radius: 8px; background-position: right 6px center; }
.tk-num { display: inline-block; font-size: 11px; font-weight: 600; color: var(--ink-2); background: var(--surface-3); border-radius: 6px; padding: 0 6px; font-variant-numeric: tabular-nums; }
.tk-findbox { display: flex; gap: 6px; align-items: center; }
.tk-findbox .btn { height: 38px; }
.rg-types { font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.55; }
.rg-types b { font-size: 17px; font-weight: 650; display: inline-block; min-width: 48px; }
.rg-types span { color: var(--ink-2); }
.rg-filters { display: flex; flex-direction: column; gap: 10px; padding: 14px 18px !important; }
.sla { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.sla .tag { font-size: 11px; white-space: nowrap; }
