/* ═══ CSS-переменные ════════════════════════════════════════════════════════ */
:root,
[data-theme="light"] {
  --green:    #3D7A5F;
  --mint:     #E8F5EE;
  --bg:       #F9F9F8;
  --surface:  #FFFFFF;
  --surface2: #F4F4F3;
  --ink:      #1A1A1A;
  --muted:    #6B7280;
  --border:   #E5E7EB;
  --mono:     'JetBrains Mono', monospace;
  color-scheme: light;
}

[data-theme="dark"] {
  --green:    #4A9B77;
  --mint:     #1A2E25;
  --bg:       #111110;
  --surface:  #1C1C1B;
  --surface2: #242423;
  --ink:      #EDEDED;
  --muted:    #71717A;
  --border:   #2E2E2C;
  --mono:     'JetBrains Mono', monospace;
  color-scheme: dark;
}

/* ═══ Сброс ══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

/* ═══ Страница ════════════════════════════════════════════════════════════════ */
.t-page { max-width: 1080px; width: 100%; margin: 0 auto; padding: 28px 24px; flex: 1; }

/* ═══ Заголовок раздела ═══════════════════════════════════════════════════════ */
.t-section-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 14px;
  margin-top: 32px;
}
.t-section-title-inline { margin: 0; }

/* ═══ Шапка страницы (PH) ════════════════════════════════════════════════════ */
.t-ph { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; }
.t-ph-title { font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.t-ph-week { font-size: 12px; color: var(--muted); font-family: var(--mono); }
.t-ph-right { margin-left: auto; display: flex; gap: 8px; }
.t-ph-name-row { display: flex; align-items: center; gap: 8px; }

/* ═══ Утилиты ════════════════════════════════════════════════════════════════ */
.min-w-0 { min-width: 0; }
.truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.text-muted { color: var(--muted); }
.text-green { color: var(--green); }
.t-link { color: var(--green); text-decoration: none; }
.t-link:hover { text-decoration: underline; }
.mono { font-family: var(--mono); }
.fw-bold { font-weight: 700; }
.fw-semi { font-weight: 600; }
.fs-small { font-size: 11.5px; }
.hidden { display: none !important; }
.t-muted { color: var(--muted); font-size: 13px; margin-left: 6px; }

/* Layout-помощники */
.row-center { display: flex; align-items: center; }
.row-gap-8  { display: flex; align-items: center; gap: 8px; }
.row-gap-6  { display: flex; align-items: center; gap: 6px; }
.row-wrap   { display: flex; flex-wrap: wrap; gap: 4px; }
.col-gap-6  { display: flex; flex-direction: column; gap: 6px; }
.ml-auto    { margin-left: auto; }

/* ═══ Empty state ════════════════════════════════════════════════════════════ */
.t-empty {
  text-align: center;
  padding: 64px 0;
  color: var(--muted);
}
.t-empty-icon { font-size: 40px; margin-bottom: 14px; }
.t-empty p { font-size: 13px; margin-bottom: 14px; }

/* ═══ Разделитель ════════════════════════════════════════════════════════════ */
.t-divider { border: none; border-top: 1px solid var(--border); margin: 16px 0; }

/* ═══ Футер ══════════════════════════════════════════════════════════════════ */
.t-footer {
  max-width: 1080px;
  width: 100%;
  margin: 40px auto 24px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
}
.t-footer-sep { opacity: .4; }
.t-footer-link { color: var(--muted); text-decoration: none; }
.t-footer-link:hover { color: var(--ink); }
.t-footer-brand {
  font-weight: 800;
  font-size: 13px;
  letter-spacing: -.04em;
  color: var(--ink);
  display: flex;
  align-items: center;
  line-height: 1;
  text-decoration: none;
}
.t-footer-brand .t-brand-lo {
  font-size: 12px;
  padding: 1px 4px 2px;
}
