/*
 * Новый дизайн. Включается атрибутом data-design="modern" на <html>
 * (кнопка в сайдбаре или ?design=modern / ?design=classic).
 * Все правила ограничены этим атрибутом — классическая тема из app.css не затрагивается.
 */
@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap");

html[data-design="modern"] {
  /* базовый размер: все rem в теме масштабируются от него */
  font-size: 106.25%;
  color-scheme: light;
  --bg: #f5f5f6;
  --bg-main: #f5f5f6;
  --sidebar: #f5f5f6;
  --sidebar-active: #ffffff;
  --card: #ffffff;
  --ink: #0c0c0f;
  --muted: #71717a;
  --line: #e7e7ea;
  --sage: #3f3f46;
  --sage-deep: #27272a;
  --online: #16a34a;
  --offline: #dc2626;
  --warn: #b45309;
  --warn-bg: #fef3c7;
  --surface: #ffffff;
  --surface-soft: #fafafa;
  --surface-panel: #ffffff;
  --surface-muted: #f4f4f5;
  --surface-tint: #f6f6f8;
  --nav-hover: rgba(12, 12, 15, 0.045);
  --chip-bg: #ffffff;
  --chip-line: #e7e7ea;
  --row-bg: #fafafa;
  --flash-bg: #f0fdf4;
  --flash-ink: #166534;
  --flash-line: #bbf7d0;
  --toast-bg: #ffffff;
  --toast-ink: #0c0c0f;
  --btn-bg: var(--sage);
  --btn-fg: #fafafa;
  --disabled-bg: #e4e4e7;
  --disabled-ink: #a1a1aa;
  --page-glow: color-mix(in srgb, var(--sage) 10%, transparent);
  --module-line: #e7e7ea;
  --focus-ring: color-mix(in srgb, var(--sage) 22%, transparent);
  --radius: 18px;
  --gap: 0.875rem;
  --font-display: "Geist", "Inter", system-ui, sans-serif;
  --font-body: "Geist", "Inter", system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "Cascadia Mono", monospace;
  --shadow: 0 1px 2px rgba(12, 12, 15, 0.04);
  --shadow-hover: var(--shadow);
  --shadow-pop: 0 12px 32px -8px rgba(12, 12, 15, 0.18), 0 2px 6px rgba(12, 12, 15, 0.06);
}

html[data-design="modern"][data-theme="dark"] {
  color-scheme: dark;
  --bg: #09090b;
  --bg-main: #09090b;
  --sidebar: #09090b;
  --sidebar-active: rgba(255, 255, 255, 0.07);
  --card: #111113;
  --ink: #ededef;
  --muted: #8b8b94;
  --line: #232327;
  --sage: #d4d4d8;
  --sage-deep: #e4e4e7;
  --online: #34d399;
  --offline: #f87171;
  --warn: #fbbf24;
  --warn-bg: #2a2110;
  --surface: #0c0c0e;
  --surface-soft: #0c0c0e;
  --surface-panel: #111113;
  --surface-muted: #18181b;
  --surface-tint: #17171a;
  --nav-hover: rgba(255, 255, 255, 0.045);
  --chip-bg: #111113;
  --chip-line: #232327;
  --row-bg: #0c0c0e;
  --flash-bg: #0f2a1c;
  --flash-ink: #86efac;
  --flash-line: #1c4430;
  --toast-bg: #18181b;
  --toast-ink: #ededef;
  --btn-bg: var(--sage);
  --btn-fg: #0c0c0f;
  --disabled-bg: #232327;
  --disabled-ink: #6b6b73;
  --page-glow: color-mix(in srgb, var(--sage) 9%, transparent);
  --module-line: #1f1f23;
  --focus-ring: color-mix(in srgb, var(--sage) 30%, transparent);
  --shadow: none;
  --shadow-hover: none;
  --shadow-pop: 0 16px 40px -8px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.06);
}

/* ---------- База ---------- */
html[data-design="modern"] body {
  font-size: 0.9375rem;
  line-height: 1.5;
  font-feature-settings: "ss01", "cv11";
  text-rendering: optimizeLegibility;
}

html[data-design="modern"] h1,
html[data-design="modern"] h2,
html[data-design="modern"] .brand,
html[data-design="modern"] .page-title {
  font-weight: 600;
  letter-spacing: -0.025em;
}

html[data-design="modern"] ::selection {
  background: var(--focus-ring);
}

/* ---------- Кнопки ---------- */
html[data-design="modern"] button,
html[data-design="modern"] .button {
  padding: 0.56rem 0.95rem;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  transition: opacity 140ms ease, background 140ms ease, color 140ms ease,
    border-color 140ms ease, box-shadow 140ms ease;
}

/* Наведение/нажатие — как в классической теме (инверсия из app.css), здесь не переопределяем */
html[data-design="modern"] button.secondary,
html[data-design="modern"] .button.secondary {
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
}

/* ---------- Поля ---------- */
html[data-design="modern"] label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--muted);
}

html[data-design="modern"] .check {
  color: var(--ink);
  font-size: 0.875rem;
}

html[data-design="modern"] input[type="text"],
html[data-design="modern"] input[type="password"],
html[data-design="modern"] input[type="number"],
html[data-design="modern"] input[type="url"],
html[data-design="modern"] input[type="search"],
html[data-design="modern"] select {
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font-size: 0.875rem;
}

html[data-design="modern"] input:focus,
html[data-design="modern"] select:focus,
html[data-design="modern"] .cashback-search-form input[type="search"]:focus {
  outline: none;
  border-color: var(--sage);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

html[data-design="modern"] input::placeholder {
  color: var(--muted);
  opacity: 0.7;
}

/* ---------- Тосты ---------- */
html[data-design="modern"] .page-toast {
  top: 1.1rem;
  padding: 0.65rem 1rem 0.65rem 2.1rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--toast-bg);
  color: var(--toast-ink);
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
  box-shadow: var(--shadow-pop);
  transform: translate(-50%, -12px) scale(0.98);
  transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1.2);
}

html[data-design="modern"] .page-toast::before {
  content: "";
  position: absolute;
  left: 0.95rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: -0.25rem;
  border-radius: 50%;
  background: var(--online);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--online) 22%, transparent);
}

html[data-design="modern"] .page-toast.is-visible {
  transform: translate(-50%, 0) scale(1);
}

html[data-design="modern"] .taxi-toast {
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--toast-bg);
  color: var(--toast-ink);
  font-weight: 500;
  box-shadow: var(--shadow-pop);
}

html[data-design="modern"] .flash {
  border-radius: 12px;
  font-size: 0.875rem;
}

/* ---------- Каркас ---------- */
html[data-design="modern"] .app {
  grid-template-columns: 236px 1fr;
}

html[data-design="modern"] .sidebar {
  background: var(--sidebar);
  border-right: 1px solid var(--line);
  padding: 1.1rem 0.75rem 0.9rem;
  gap: 1.5rem;
}

html[data-design="modern"] .brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.125rem;
  font-weight: 650;
  letter-spacing: -0.03em;
  padding: 0.3rem 0.6rem;
}

html[data-design="modern"] .brand-logo {
  width: 1.5rem;
  height: 1.5rem;
}

html[data-design="modern"] .nav {
  gap: 0.125rem;
}

html[data-design="modern"] .nav a {
  padding: 0.5rem 0.65rem;
  border-radius: 9px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted);
  border: 1px solid transparent;
}

html[data-design="modern"] .nav a.active {
  background: var(--sidebar-active);
  color: var(--ink);
  border-color: var(--line);
  box-shadow: var(--shadow);
}

html[data-design="modern"][data-theme="dark"] .nav a.active {
  border-color: transparent;
}

html[data-design="modern"] .sidebar-foot {
  gap: 0.25rem;
}

html[data-design="modern"] .theme-toggle.secondary {
  padding: 0.5rem 0.65rem;
  border-radius: 9px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 0.875rem;
}

html[data-design="modern"] .theme-toggle.secondary:hover:not(:disabled),
html[data-design="modern"] .theme-toggle.secondary:active:not(:disabled) {
  background: var(--ink);
  color: var(--card);
  box-shadow: none;
}

html[data-design="modern"] .user-chip {
  margin-top: 0.5rem;
  padding: 0.6rem 0.65rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
}

html[data-design="modern"] .user-chip strong {
  font-weight: 600;
  font-size: 0.875rem;
}

html[data-design="modern"] .user-chip .muted {
  font-size: 0.75rem;
}

html[data-design="modern"] .sidebar-foot form button.secondary {
  font-size: 0.8125rem;
  padding: 0.45rem 0.65rem;
}

html[data-design="modern"] .main {
  background:
    radial-gradient(60rem 22rem at 70% -8rem, var(--page-glow), transparent 70%),
    var(--bg-main);
  padding: 2rem 2rem 3rem;
}

html[data-design="modern"] .page-header {
  margin-bottom: 1.5rem;
}

html[data-design="modern"] .page-title {
  font-size: clamp(1.5rem, 2.2vw, 1.875rem);
  font-weight: 600;
  letter-spacing: -0.035em;
}

html[data-design="modern"] .page-header .muted {
  margin-top: 0.3rem;
  font-size: 0.875rem;
}

html[data-design="modern"] #updated-at,
html[data-design="modern"] #refresh-countdown {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  color: var(--ink);
}

html[data-design="modern"] .content {
  align-content: start;
}

/* ---------- Карточки модулей ---------- */
html[data-design="modern"] .module {
  --accent-tint: color-mix(in srgb, var(--accent) 11%, var(--card));
  border: 1px solid var(--module-line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.15rem 1.25rem 1.1rem;
  transition: border-color 180ms ease, box-shadow 220ms ease;
}

html[data-design="modern"][data-theme="dark"] .module {
  --accent-tint: color-mix(in srgb, var(--accent) 16%, var(--card));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.022), transparent 40%), var(--card);
}

html[data-design="modern"] .module::before {
  display: none;
}

html[data-design="modern"] .module:hover {
  box-shadow: var(--shadow-hover);
}

/* Цвета модулей — общие, из --mod-* в app.css; тут только графики */
html[data-design="modern"] .module--tf2 { --chart-cloudtf2: #b7791f; --chart-clover: #059669; --chart-steam: #2563eb; }
html[data-design="modern"][data-theme="dark"] .module--tf2 { --chart-cloudtf2: #f5b83d; --chart-clover: #34d399; --chart-steam: #60a5fa; }

html[data-design="modern"] .module-head {
  gap: 0.65rem;
  margin-bottom: 1rem;
}

html[data-design="modern"] .module-icon {
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 650;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
}


html[data-design="modern"] .module-head h2 {
  font-size: 0.975rem;
  font-weight: 600;
  letter-spacing: -0.015em;
}

html[data-design="modern"] .module-foot {
  padding-top: 0.9rem;
}

html[data-design="modern"] .module-foot a {
  color: var(--muted);
  font-size: 0.8125rem;
  font-weight: 500;
}

html[data-design="modern"] .module-foot a:hover {
  color: var(--ink);
  opacity: 1;
}

html[data-design="modern"] .hint,
html[data-design="modern"] .more-hint {
  font-size: 0.8125rem;
}

html[data-design="modern"] .dot {
  width: 0.45rem;
  height: 0.45rem;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--offline) 18%, transparent);
}

html[data-design="modern"] .dot.on {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--online) 20%, transparent);
}

/* Лог-строки */
html[data-design="modern"] .log li {
  gap: 0.85rem;
  padding: 0.45rem 0;
  font-size: 0.875rem;
  border-top-color: color-mix(in srgb, var(--line) 70%, transparent);
}

html[data-design="modern"] .log li:first-child {
  padding-top: 0;
}

html[data-design="modern"] .log li > .muted {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1.75;
}

/* TF2 */
html[data-design="modern"] .mono-price .big {
  font-family: var(--font-body);
  font-size: 2.25rem;
  font-weight: 600;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}

html[data-design="modern"] .mono-price .big-sub {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

html[data-design="modern"] .metrics {
  gap: 0.35rem;
  font-size: 0.8125rem;
}

html[data-design="modern"] .metrics > span {
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background: var(--surface-muted);
  font-variant-numeric: tabular-nums;
}

/* Выделенная метрика — плашка как у соседних, отличается только цветом текста (акцент) */
html[data-design="modern"] .metrics .metric-strong {
  color: var(--sage);
  font-weight: inherit;
}

/* Steam / Ozon / ASF */
html[data-design="modern"] .items li {
  gap: 0.85rem;
  padding: 0.5rem 0;
  font-size: 0.875rem;
  border-top-color: color-mix(in srgb, var(--line) 70%, transparent);
}

html[data-design="modern"] .items li:first-child {
  padding-top: 0;
}

html[data-design="modern"] .item-vals {
  font-size: 0.8125rem;
}

html[data-design="modern"] .item-vals strong {
  font-size: 0.875rem;
  color: var(--ink);
}

/* ---------- Кэшбэк ---------- */
html[data-design="modern"] .cashback-search-form {
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

html[data-design="modern"] .cashback-search-form input[type="search"] {
  padding: 0 0.85rem;
  border-radius: 11px;
  background: var(--surface);
}

html[data-design="modern"] .cashback-search-form button {
  border-radius: 11px;
  padding: 0 1.15rem;
  font-weight: 600;
}

html[data-design="modern"] .cashback-msg {
  font-size: 0.8125rem;
}

html[data-design="modern"] .cashback-table-wrap {
  border-radius: 12px;
  border-color: var(--line);
}

html[data-design="modern"] .cashback-table {
  font-size: 0.8125rem;
}

html[data-design="modern"] .cashback-table th,
html[data-design="modern"] .cashback-table td {
  padding: 0.55rem 0.6rem;
  border-bottom-color: color-mix(in srgb, var(--line) 75%, transparent);
}

html[data-design="modern"] .cashback-table th {
  background: var(--surface-muted);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

html[data-design="modern"] .cashback-table tbody tr {
  transition: background 120ms ease;
}

html[data-design="modern"] .cashback-table tbody tr:hover {
  background: var(--surface-tint);
}

html[data-design="modern"] .cashback-benefit {
  color: var(--ink);
  font-weight: 600;
}

/* ---------- Такси ---------- */
html[data-design="modern"] .taxi-track {
  gap: 0.4rem;
}

html[data-design="modern"] .taxi-track select,
html[data-design="modern"] .taxi-track-threshold,
html[data-design="modern"] .taxi-track-btn {
  height: 2.25rem;
  border-radius: 10px;
  font-size: 0.875rem;
}

html[data-design="modern"] .taxi-track-btn {
  font-weight: 600;
}

html[data-design="modern"] .taxi-track-btn:disabled,
html[data-design="modern"] .taxi-track-btn.is-disabled {
  background: var(--disabled-bg);
  color: var(--disabled-ink);
  opacity: 1;
}

html[data-design="modern"] .taxi-track-clear.is-active:hover:not(:disabled) {
  background: color-mix(in srgb, var(--offline) 12%, transparent);
  color: var(--offline);
  opacity: 1;
}

html[data-design="modern"] .taxi-stats {
  margin: 0.35rem 0 0.6rem;
  padding: 0.9rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface-tint);
}

html[data-design="modern"] .taxi-stats-now {
  font-size: 1.35rem;
  font-weight: 650;
  letter-spacing: -0.03em;
}

html[data-design="modern"] .taxi-forecast-label {
  font-weight: 500;
  letter-spacing: 0.02em;
}

html[data-design="modern"] .taxi-delta.is-down {
  color: var(--online);
}

html[data-design="modern"] .taxi-delta.is-up {
  color: var(--offline);
}

html[data-design="modern"] .taxi-table {
  font-size: 0.8125rem;
}

html[data-design="modern"] .taxi-table th {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

html[data-design="modern"] .taxi-table th,
html[data-design="modern"] .taxi-table td {
  border-bottom-color: color-mix(in srgb, var(--line) 75%, transparent);
}

html[data-design="modern"] .taxi-table .taxi-when {
  font-family: var(--font-mono);
  font-size: 0.75rem;
}

html[data-design="modern"] .empty-state {
  min-height: 100px;
  border: 1px dashed var(--line);
  border-radius: 12px;
  font-size: 0.875rem;
}

/* ---------- Лог модуля / график ---------- */
html[data-design="modern"] .chart-range {
  gap: 0;
  padding: 3px;
  border-radius: 10px;
  background: var(--surface-muted);
  border: 1px solid var(--line);
}

html[data-design="modern"] .chart-range a {
  padding: 0.28rem 0.7rem;
  border: 0;
  border-radius: 7px;
  font-size: 0.8125rem;
  font-weight: 500;
}

html[data-design="modern"] .chart-range a.active {
  background: var(--card);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--line);
}

html[data-design="modern"] .asf-tabs a {
  border-radius: 8px;
  font-weight: 500;
  font-size: 0.875rem;
}

html[data-design="modern"] .asf-tabs a.active {
  background: var(--card);
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--line);
}

html[data-design="modern"] .asf-tabs a.asf-tabs-back {
  box-shadow: none;
}

html[data-design="modern"] .chart-meta {
  font-size: 0.8125rem;
}

html[data-design="modern"] .pager {
  font-size: 0.875rem;
}

html[data-design="modern"] .pager a {
  color: var(--ink);
  font-weight: 500;
}

/* ---------- Настройки ---------- */
html[data-design="modern"] .settings-section input[type="text"],
html[data-design="modern"] .settings-section input[type="password"],
html[data-design="modern"] .settings-section input[type="number"],
html[data-design="modern"] .settings-section input[type="url"] {
  padding: 0.5rem 0.65rem;
  border-radius: 9px;
}

html[data-design="modern"] .settings-section button[type="submit"] {
  padding: 0.52rem 1rem;
  border-radius: 10px;
  font-weight: 600;
}

html[data-design="modern"] .row-list {
  gap: 0.5rem;
}

html[data-design="modern"] .row-card {
  border-radius: 12px;
  padding: 0.75rem 0.8rem;
  background: var(--row-bg);
  border-color: var(--line);
}

html[data-design="modern"] .row-card--new {
  background: transparent;
}

html[data-design="modern"] .row-card-title {
  font-size: 0.8125rem;
}

html[data-design="modern"] .settings-subhead {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

html[data-design="modern"] .eda-benefit-controls select {
  border-radius: 9px;
}

html[data-design="modern"] button.row-delete:hover:not(:disabled),
html[data-design="modern"] button.row-delete-yes:hover:not(:disabled) {
  background: color-mix(in srgb, var(--offline) 12%, transparent);
  color: var(--offline);
  opacity: 1;
}

html[data-design="modern"] button.row-delete-no:hover:not(:disabled) {
  background: var(--surface-muted);
  color: var(--ink);
  opacity: 1;
}

/* ---------- Вход и публичные страницы ---------- */
html[data-design="modern"] .login-body,
html[data-design="modern"] .scripts-body {
  background:
    radial-gradient(40rem 26rem at 50% -6rem, var(--page-glow), transparent 70%),
    var(--bg);
}

html[data-design="modern"] .login-form,
html[data-design="modern"] .scripts-panel {
  border-radius: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-pop);
}

html[data-design="modern"] .login-form {
  width: min(360px, 92vw);
  gap: 0.85rem;
  padding: 1.75rem 1.5rem 1.5rem;
}

html[data-design="modern"] .login-form h1 {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.5rem;
  letter-spacing: -0.035em;
}

html[data-design="modern"] .login-form .brand-logo {
  width: 1.75rem;
  height: 1.75rem;
}

html[data-design="modern"] .login-form .muted {
  font-size: 0.875rem;
}

html[data-design="modern"] .login-form input {
  padding: 0.62rem 0.8rem;
}

html[data-design="modern"] .login-form button[type="submit"] {
  margin-top: 0.35rem;
  padding: 0.65rem 1rem;
  font-weight: 600;
}

html[data-design="modern"] .scripts-header h1 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  letter-spacing: -0.035em;
}

html[data-design="modern"] .scripts-kicker {
  color: var(--sage);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

html[data-design="modern"] .scripts-panel .muted {
  font-size: 0.875rem;
}

html[data-design="modern"] .script-card {
  border-radius: 14px;
  background: var(--surface-soft);
  transition: border-color 160ms ease;
}

html[data-design="modern"] .script-card:hover {
  border-color: color-mix(in srgb, var(--ink) 16%, var(--line));
}

html[data-design="modern"] .script-card h2 {
  font-size: 1rem;
}

html[data-design="modern"] .script-install {
  padding: 0.55rem 0.95rem;
  border-radius: 10px;
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: 0.875rem;
  opacity: 1;
}

html[data-design="modern"] .script-install:hover:not(:disabled) {
  background: var(--btn-fg);
  color: var(--btn-bg);
  box-shadow: inset 0 0 0 2px var(--btn-bg);
}

html[data-design="modern"] .script-install-secondary {
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
}

html[data-design="modern"] .script-install-secondary:hover:not(:disabled) {
  background: var(--ink);
  color: var(--card);
  box-shadow: none;
}

html[data-design="modern"] .scripts-steps code,
html[data-design="modern"] .scripts-note code {
  font-family: var(--font-mono);
  padding: 0.05rem 0.3rem;
  border-radius: 5px;
  background: var(--surface-muted);
}

html[data-design="modern"] .scripts-note a {
  color: var(--sage);
}

/* ---------- Мобильная вёрстка ---------- */
@media (max-width: 860px) {
  html[data-design="modern"] .app {
    grid-template-columns: 1fr;
  }

  html[data-design="modern"] .sidebar {
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 40;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    background: color-mix(in srgb, var(--bg) 82%, transparent);
    backdrop-filter: saturate(1.4) blur(14px);
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
  }

  html[data-design="modern"] .nav {
    grid-auto-flow: column;
    margin-right: auto;
  }

  html[data-design="modern"] .sidebar-foot {
    margin-top: 0;
    display: flex;
    align-items: center;
  }

  html[data-design="modern"] .theme-toggle {
    width: auto;
  }

  html[data-design="modern"] .theme-toggle-label,
  html[data-design="modern"] .user-chip {
    display: none;
  }

  html[data-design="modern"] .main {
    padding: 1.25rem 1rem 2rem;
  }

  html[data-design="modern"] .module-head {
    flex-direction: row;
    align-items: center;
  }
}

/* Кэшбэк на обзоре: без лишних зазоров пустого блока результатов */
html[data-design="modern"] .content > .module--cashback {
  display: flex;
  gap: 0;
}

/* Кнопки модулей — цвет акцента темы, а не модуля (.module — перебить .module--taxi.settings-section из app.css) */
html[data-design="modern"] .cashback-search-form button,
html[data-design="modern"] .taxi-track-btn,
html[data-design="modern"] .module.settings-section button[type="submit"] {
  --btn-fill: var(--btn-bg);
  --btn-label: var(--btn-fg);
  --btn-text: var(--btn-fg);
}

/* Наведение — инверсия: у такси app.css красит текст в --btn-text, он сливается с фоном.
   Двойной класс — перебить `.module--taxi button:hover:not(...)` из app.css. */
html[data-design="modern"] .module--taxi .taxi-track-btn.taxi-track-btn:hover:not(:disabled):not(.is-disabled),
html[data-design="modern"] .module--taxi .taxi-track-btn.taxi-track-btn:active:not(:disabled):not(.is-disabled),
html[data-design="modern"] .module--taxi.module--taxi form.htmx-request button[type="submit"],
html[data-design="modern"] .settings-section.module--taxi.module--taxi button[type="submit"]:hover:not(:disabled),
html[data-design="modern"] .settings-section.module--taxi.module--taxi button[type="submit"]:active:not(:disabled) {
  color: var(--btn-fill);
}

/* Переключатель дизайна — сегменты */
html[data-design="modern"] .design-switch {
  gap: 0;
  padding: 3px;
  border-radius: 10px;
  background: var(--surface-muted);
  border: 1px solid var(--line);
}

html[data-design="modern"] .design-switch button.secondary {
  padding: 0.3rem 0.2rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-size: 0.75rem;
}

html[data-design="modern"] .design-switch button.secondary[aria-pressed="true"] {
  background: var(--card);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--line);
}

/* Маленькие кнопки удаления/подтверждения: общий padding кнопок темы их раздувал */
html[data-design="modern"] button.row-delete,
html[data-design="modern"] button.taxi-track-clear {
  padding: 0;
}

html[data-design="modern"] button.row-delete {
  font-size: 1.05rem;
}

html[data-design="modern"] button.row-delete-yes,
html[data-design="modern"] button.row-delete-no {
  padding: 0.15rem 0.45rem;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 650;
}

html[data-design="modern"] .tf2-site .mono-price .big {
  font-size: 1.55rem;
}
