/* PMEF.u4m.ru — фирменные стили */
:root {
  --pmef-primary: #003a70;       /* тёмно-синий ПМЭФ */
  --pmef-accent:  #00a5ff;       /* акцентный голубой */
  --pmef-warm:    #c79452;       /* тёплое золотое */
  --pmef-soft:    #f4f6f9;
  --pmef-border:  #e3e8ee;
  --pmef-muted:   #6c757d;
}
[data-bs-theme="dark"] {
  --pmef-soft:   #1a1f2b;
  --pmef-border: #2a3142;
  --pmef-primary: #4ea3ff;
}

* { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }

.brand-mark {
  background: linear-gradient(135deg, var(--pmef-primary), var(--pmef-accent));
  color: #fff;
  padding: .2rem .55rem;
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 1rem;
}

.session-card {
  border: 1px solid var(--bs-border-color);
  border-radius: 12px;
  transition: all .15s ease;
  background: var(--bs-body-bg);
}
.session-card:hover {
  border-color: var(--pmef-primary);
  box-shadow: 0 6px 24px rgba(0,58,112,.08);
  transform: translateY(-1px);
}
.session-time {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--pmef-primary);
}
[data-bs-theme="dark"] .session-time { color: var(--pmef-accent); }

.tag-pill {
  display: inline-block;
  padding: .15rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  background: var(--pmef-soft);
  color: var(--pmef-primary);
  border: 1px solid var(--bs-border-color);
  white-space: nowrap;
}
[data-bs-theme="dark"] .tag-pill { color: var(--pmef-accent); }
.tag-pill.tag-метрика     { background: #fff3e0; color: #c84610; border-color: #ffe0b2; }
.tag-pill.tag-прогноз     { background: #f3e5f5; color: #731d7c; border-color: #e1bee7; }
.tag-pill.tag-тренд       { background: #e1f4fb; color: #1b6b93; border-color: #b3e0f0; }
.tag-pill.tag-проблема    { background: #fdebed; color: #c91a33; border-color: #f5c6cb; }
.tag-pill.tag-видение     { background: #e8f3ec; color: #3a5a40; border-color: #c1d8c5; }
.tag-pill.tag-кейс        { background: #e7eff8; color: #2c4a6b; border-color: #bcd2ea; }
.tag-pill.tag-инициатива  { background: #e3f2fd; color: #0d538c; border-color: #b8def5; }
.tag-pill.tag-программа   { background: #ecf6e8; color: #2a6a16; border-color: #c5e6b8; }
.tag-pill.tag-достижение  { background: #e0f7f0; color: #066a52; border-color: #a8e1ce; }
.tag-pill.tag-актор       { background: #ecf0f9; color: #335599; border-color: #c5d3ea; }
.tag-pill.tag-чиновник    { background: #eaeaef; color: #333366; border-color: #c6c6d3; }
.tag-pill.tag-барьер      { background: #fceee9; color: #9a362b; border-color: #f0c6b9; }
.tag-pill.tag-внедрение   { background: #e2f4ed; color: #0e704c; border-color: #b3dec9; }
.tag-pill.tag-импортозамещение { background: #e1f0e3; color: #186a3b; border-color: #b3d6b8; }
.tag-pill.tag-цитата      { background: var(--pmef-soft); color: var(--pmef-muted); }

[data-bs-theme="dark"] .tag-pill { background: rgba(255,255,255,.08); color: #cfe5ff; border-color: rgba(255,255,255,.1); }
[data-bs-theme="dark"] .tag-pill.tag-метрика     { background: rgba(255,180,80,.15); color: #ffb964; }
[data-bs-theme="dark"] .tag-pill.tag-прогноз     { background: rgba(200,120,220,.15); color: #d090e0; }
[data-bs-theme="dark"] .tag-pill.tag-тренд       { background: rgba(80,170,220,.15); color: #6dc0e8; }
[data-bs-theme="dark"] .tag-pill.tag-проблема    { background: rgba(220,90,110,.15); color: #ee8a96; }

.quote-card {
  border-left: 3px solid var(--pmef-primary);
  background: var(--bs-tertiary-bg);
  padding: 1rem 1.1rem;
  margin-bottom: .75rem;
  border-radius: 8px;
}
.quote-body { font-size: 1.02rem; line-height: 1.55; }
.quote-meta { font-size: .85rem; color: var(--pmef-muted); margin-top: .5rem; }

.timecode-btn {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: .82rem;
  padding: .1rem .45rem;
  border-radius: 4px;
  background: var(--pmef-soft);
  border: 1px solid var(--bs-border-color);
  color: var(--pmef-primary);
  text-decoration: none;
  cursor: pointer;
}
.timecode-btn:hover { background: var(--pmef-primary); color: #fff; border-color: var(--pmef-primary); }

.speaker-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--pmef-soft);
}
.speaker-avatar-lg {
  width: 200px; height: 200px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--pmef-soft);
}
.speaker-avatar-sm {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--pmef-soft);
  border: 2px solid var(--bs-body-bg);
}

.transcript-line {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px dashed var(--bs-border-color);
}
.transcript-line:last-child { border-bottom: none; }
.transcript-time {
  font-variant-numeric: tabular-nums;
  font-size: .82rem;
  color: var(--pmef-muted);
  font-weight: 500;
}
.transcript-speaker {
  font-weight: 600;
  color: var(--pmef-primary);
  margin-bottom: .15rem;
  font-size: .9rem;
}
[data-bs-theme="dark"] .transcript-speaker { color: var(--pmef-accent); }
.transcript-text { line-height: 1.55; }

#hls-video {
  width: 100%;
  max-height: 60vh;
  background: #000;
  border-radius: 8px;
}

.stat-tile {
  background: var(--pmef-soft);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  text-align: center;
}
.stat-tile .stat-value { font-size: 2rem; font-weight: 700; color: var(--pmef-primary); line-height: 1; }
.stat-tile .stat-label { font-size: .82rem; color: var(--pmef-muted); text-transform: uppercase; letter-spacing: .04em; margin-top: .35rem; }
[data-bs-theme="dark"] .stat-tile .stat-value { color: var(--pmef-accent); }

.day-header {
  position: sticky;
  top: 64px;
  z-index: 10;
  background: var(--bs-body-bg);
  padding: 1rem 0 .75rem;
  margin-top: 1.5rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.day-header h2 { margin: 0; font-size: 1.5rem; font-weight: 700; }
.day-header .day-sub { font-size: .9rem; color: var(--pmef-muted); }

.login-shell {
  max-width: 420px;
  margin: 6vh auto 0;
  padding: 2rem;
}
.login-brand {
  text-align: center;
  margin-bottom: 2rem;
}
.login-brand .mark {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--pmef-primary), var(--pmef-accent));
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 8px;
  letter-spacing: .04em;
}

.bg-pmef-soft { background: var(--pmef-soft); }
.text-pmef    { color: var(--pmef-primary); }
[data-bs-theme="dark"] .text-pmef { color: var(--pmef-accent); }

.btn-pmef {
  background: var(--pmef-primary); color: #fff; border: none;
}
.btn-pmef:hover { background: #002a55; color: #fff; }
[data-bs-theme="dark"] .btn-pmef { background: var(--pmef-accent); color: #001a30; }
[data-bs-theme="dark"] .btn-pmef:hover { background: #4ec0ff; }

a.session-link { color: inherit; text-decoration: none; }
a.session-link:hover { color: var(--pmef-primary); }
