/*
 * Спокойный стиль — финальный слой, подключается последним.
 * Убирает декоративный шум: свечения, сетки и узоры, градиенты, постоянные анимации,
 * подъём карточек при наведении. Структура и функции экранов не меняются.
 * Цвет используется по делу: бренд — для главного действия, цвета статусов — для статусов.
 */

:root {
  --shadow: 0 1px 2px rgba(42, 16, 18, .05);
  --shadow-hover: 0 1px 2px rgba(42, 16, 18, .05);
}
:root[data-theme=dark] {
  --shadow: 0 1px 2px rgba(0, 0, 0, .35);
  --shadow-hover: 0 1px 2px rgba(0, 0, 0, .35);
}

/* ---------- Движение: только короткие переходы, без постоянной анимации ---------- */
.view-enter *,
.bell.has-alert svg,
.login-art *,
.login-hero *,
.rpin * {
  animation: none !important;
}
/* Индикаторы загрузки оставляем — они сообщают о процессе */
.view-enter .im-spin, .map-ctl.busy svg { animation: spin .8s linear infinite !important; }
.view-enter .sk, .sk { animation: shimmer 1.4s infinite linear !important; }
.view-enter { animation-duration: .18s; }
.kpi:hover, .nav-cta:hover, .report-card:hover, .card:hover { transform: none !important; }

/* ---------- Боковое меню (компьютер): ровный тёмный фон без свечения ---------- */
@media (min-width: 901px) {
  .sidebar { background: #2a1012; }
  :root[data-theme=dark] .sidebar { background: #120b0c; box-shadow: inset -1px 0 0 var(--line); }
  .sidebar::before, .sidebar::after { display: none; }
  .nav-link.active { background: rgba(255, 255, 255, .08); box-shadow: none; }
  .nav-link.active::before { background: var(--brand); box-shadow: none; }
  .nav-link.active svg { color: #fff; }
  .nav-cta { background: var(--brand); box-shadow: none; }
  .nav-cta::after { display: none; }
  .nav-cta:hover { background: var(--brand-600); filter: none; box-shadow: none; }
}
/* Нижняя панель на телефоне — непрозрачная, без стекла */
@media (max-width: 900px) {
  .sidebar { background: var(--card); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 -1px 0 var(--line); }
  .nav-link.active::before { box-shadow: none; }
}

/* ---------- Кнопки ---------- */
.btn-primary, .btn-primary:hover { background: var(--brand); box-shadow: none; filter: none; }
.btn-primary:hover { background: var(--brand-600); }
.btn-primary:focus-visible { box-shadow: var(--focus-ring); }

/* Переключатель темы — только в меню пользователя, шапка короче */
.topbar-actions > .theme-switch, .topbar .theme-switch:not(.wide) { display: none; }

/* ---------- Показатели ---------- */
.kpi { background: var(--card); box-shadow: var(--shadow); }
.kpi.accent { background: var(--card); color: inherit; }
.kpi .kpi-label { color: var(--ink-2); }
.kpi .kpi-label .dot { box-shadow: none; width: 8px; height: 8px; }
.kpi-ending .kpi-value { color: var(--brand-ink); }
.kpi.active { box-shadow: 0 0 0 1px var(--tone, var(--brand)); }
.dash-kpis .kpi { min-height: 0; }

/* ---------- Карта ---------- */
.rpin-pulse { display: none; }
.pop-hero:not(.has-photo) {
  height: 52px; background: var(--hover); color: var(--ink);
}
.pop-hero:not(.has-photo)::after, .pop-hero-ph { display: none; }
.pop-hero:not(.has-photo) .pop-num { color: var(--ink); text-shadow: none; font-size: 20px; }

/* ---------- Карточка места без фото: обычная шапка вместо тёмной обложки ---------- */
.pl-hero.no-photo {
  background: var(--card); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow);
  min-height: 0;
}
.pl-hero.no-photo .pl-hero-art, .pl-hero.no-photo .pl-hero-shade { display: none; }
.pl-hero.no-photo .pl-hero-eyebrow { color: var(--muted); }
.pl-hero.no-photo h1 { color: var(--ink); text-shadow: none; font-size: 34px; }
.pl-hero.no-photo .pl-hero-addr { color: var(--ink-2); }
.pl-hero.no-photo .pl-hero-dist { color: var(--muted); }
.pl-hero.no-photo .pl-hero-tag {
  color: var(--ink-2); background: var(--hover); border-color: var(--line);
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.pl-hero.no-photo .pl-hero-st i { box-shadow: none; }
.pl-hero.no-photo .pl-hero-warn { color: var(--brand-ink); background: var(--brand-50); border-color: var(--brand-100); }
.pl-hero.no-photo .pl-glass-btn {
  color: var(--ink); background: var(--card); border-color: var(--line-2);
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.pl-hero.no-photo .pl-glass-btn:hover { background: var(--hover); border-color: var(--muted); }
.pl-hero.no-photo .pl-glass-danger { color: var(--brand-ink); }
.pl-hero.no-photo .pl-glass-danger:hover { background: var(--brand-50); }
.pl-hero .btn-primary { box-shadow: none; }
.pl-hero.has-photo:hover .pl-hero-media img { transform: none; }
.pl-term--crit .pl-term-chip { animation: none; }

/* ---------- Мастер: шапка как у остальных страниц ---------- */
.wz-head { background: none; color: var(--ink); box-shadow: none; padding: 0 0 4px; border-radius: 0; }
.wz-head::before, .wz-head::after { display: none; }
.wz-head h1 { color: var(--ink); }
.wz-head-num { color: var(--muted); }
.wz-head p { color: var(--muted); }
.wz-eyebrow { color: var(--brand-ink); }
.wz-head .wz-cancel { color: var(--ink); background: var(--card); border-color: var(--line-2); }
.wz-sum-hero { background: var(--hover); color: var(--ink); border: 1px solid var(--line); }
.wz-sum-hero::after { display: none; }
.wz-sum-main h3 { color: var(--ink); }
.wz-sum-main p { color: var(--ink-2); }

/* ---------- Аналитика и отчёты ---------- */
.an-col-fill, .an-col.is-next .an-col-fill, .an-col:hover .an-col-fill { background: var(--pg-col-soft); box-shadow: none; }
.an-col.is-next .an-col-fill, .an-col:hover .an-col-fill { background: var(--brand); }
.an-rank-bar i, .an-rank-row:not(.is-top) .an-rank-bar i { background: var(--pg-col-soft); }
.an-rank-row.is-top-1 .an-rank-bar i { background: var(--brand); }
.is-top-1 .an-rank-pos, .is-top-2 .an-rank-pos, .is-top-3 .an-rank-pos {
  background: var(--surface-2); color: var(--ink); border: 1px solid var(--line); box-shadow: none;
}
.rp-format, .rp-format.excel, .rp-format.pdf {
  background: var(--card); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.rp-format::before { display: none; }
.rp-format small { color: var(--muted); opacity: 1; }

/* ---------- Вход: один фирменный акцент без узоров и движения ---------- */
.login-hero::before, .login-panel::before { display: none; }
.login-hero { background: var(--brand); }
:root[data-theme=dark] .login-hero { background: #5e0d1b; }
.login-hero .eyebrow { background: none; border: 0; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.login-hero .eyebrow i { display: none; }
.login-legend { background: none; border: 0; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.login-art { opacity: .55; }
.login-art .route { stroke-dasharray: none; }

/* ---------- Доводка ---------- */
/* Список мест на главной: без цветной полосы и сдвига; статус — пин и подпись справа */
.dash-map .result::before { display: none; }
.dash-map .result:hover { transform: none; box-shadow: none; }
.dash-map .result.active { box-shadow: none; }
/* Карточка места без фото: факты идут обычным блоком под шапкой */
.pl-hero.no-photo + .pl-facts { margin: 14px 0 20px; }
.pl-fact-ico { background: none !important; }
/* Вход: без полупрозрачной иллюстрации и легенды */
.login-art, .login-legend { display: none; }
.pl-hero.no-photo .pl-hero-in { padding: 24px 28px; }
.pl-hero.no-photo { border-radius: var(--radius); }
