  :root {
    color-scheme: light dark;
    --bg: var(--tg-theme-bg-color, #0f1720);
    --fg: var(--tg-theme-text-color, #f2f7fb);
    --hint: #a9bbce;
    --accent: var(--tg-theme-button-color, #65a9ed);
    --accent-fg: var(--tg-theme-button-text-color, #07111d);
    --surface: var(--tg-theme-secondary-bg-color, #182331);
    --surface-2: #203044;
    --surface-glass: rgba(255, 255, 255, 0.07);
    --surface-muted: rgba(255, 255, 255, 0.045);
    --text-soft: #d8e6f3;
    --ink-panel: #111b26;
    --ink-panel-2: #17283a;
    --glow-blue: rgba(89, 156, 255, 0.22);
    --glow-green: rgba(53, 225, 136, 0.18);
    --line: rgba(190, 214, 235, 0.22);
    --soft-line: rgba(190, 214, 235, 0.13);
    --good: #35e188;
    --warn: #ffc85a;
    --danger: #ff6171;
    --shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
    --nav-h: 62px;
    --viewport-h: 100vh;
  }
  * { box-sizing: border-box; }
  html { background: var(--bg); }
  body {
    margin: 0;
    min-height: 100vh;
    background:
      radial-gradient(780px 360px at 0% -12%, rgba(101, 169, 237, 0.28), transparent 62%),
      radial-gradient(620px 300px at 100% -10%, rgba(53, 225, 136, 0.17), transparent 64%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 240px),
      var(--bg);
    color: var(--fg);
    font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    letter-spacing: 0;
    padding-bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
  }
  body.theme-light {
    --bg: var(--tg-theme-bg-color, #f5f7fa);
    --fg: var(--tg-theme-text-color, #15202b);
    --hint: var(--tg-theme-hint-color, #687789);
    --surface: var(--tg-theme-secondary-bg-color, #ffffff);
    --surface-2: #eef3f7;
    --surface-glass: rgba(20, 34, 48, 0.045);
    --surface-muted: rgba(20, 34, 48, 0.025);
    --text-soft: #405366;
    --ink-panel: #ffffff;
    --glow-blue: rgba(64, 128, 218, 0.15);
    --glow-green: rgba(16, 155, 91, 0.12);
    --line: rgba(20, 34, 48, 0.14);
    --soft-line: rgba(20, 34, 48, 0.08);
    --shadow: 0 18px 42px rgba(25, 42, 64, 0.11);
  }
  button, input, select, textarea { font: inherit; }
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  .app { width: min(100%, 900px); margin: 0 auto; padding: 14px 12px 34px; }
  .route,
  .route-brief,
  .monitor-list,
  .monitor {
    max-width: 100%;
    min-width: 0;
  }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0 12px;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(190, 214, 235, 0.08);
    background: rgba(15, 23, 32, 0.72);
  }
  .brand { min-width: 0; }
  h1 { margin: 0; font-size: 26px; line-height: 1.05; letter-spacing: 0; }
  .subtle { color: var(--hint); font-size: 13px; }
  .tier {
    min-width: 58px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 7px 9px;
    text-align: center;
    font-weight: 800;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.03));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
  body.theme-light .tier,
  body.theme-light .topbar {
    background: rgba(255, 255, 255, 0.72);
  }

  /* ===== Operational briefs ===== */
  .home-brief,
  .route-brief {
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.12), rgba(53, 225, 136, 0.07) 54%, transparent),
      var(--surface);
    box-shadow: var(--shadow);
    padding: 14px;
    margin: 2px 0 12px;
    animation: rise 260ms ease both;
    max-width: 100%;
    overflow: hidden;
  }
  .home-brief {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, 0.8fr);
    gap: 12px;
    align-items: stretch;
  }
  .home-command {
    position: relative;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 0.82fr);
    padding: 0;
    border-color: rgba(101, 169, 237, 0.30);
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.25), transparent 44%),
      linear-gradient(225deg, rgba(53, 225, 136, 0.16), transparent 54%),
      var(--ink-panel);
  }
  .home-command::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--accent), var(--good));
  }
  .home-command-main,
  .home-command-queue,
  .home-facts,
  .home-command-actions {
    position: relative;
    z-index: 1;
    min-width: 0;
  }
  .home-command-main {
    padding: 16px 16px 0;
  }
  .home-command-main h2 {
    margin: 8px 0 6px;
    color: #fff;
    font-size: 24px;
    line-height: 1.08;
  }
  .home-command-main p {
    margin: 0;
    color: var(--text-soft);
    overflow-wrap: anywhere;
  }
  .home-command-score {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: 6px;
  }
  .home-command-score b {
    color: #fff;
    font-size: 50px;
    line-height: 0.9;
    text-shadow: 0 8px 26px rgba(101, 169, 237, 0.28);
  }
  .home-command-score span {
    padding-bottom: 5px;
    color: var(--text-soft);
    font-weight: 900;
  }
  .home-command-queue {
    display: grid;
    gap: 8px;
    padding: 16px 16px 0 0;
  }
  .queue-item {
    appearance: none;
    border: 1px solid rgba(190, 214, 235, 0.17);
    border-radius: 8px;
    background: rgba(10, 20, 31, 0.55);
    color: var(--fg);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
    min-width: 0;
    padding: 10px 11px;
    text-align: left;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  }
  .queue-item span,
  .queue-item small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .queue-item span {
    color: var(--text-soft);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
  }
  .queue-item b {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    color: #fff;
    font-size: 18px;
  }
  .queue-item small {
    color: var(--hint);
    font-size: 12px;
  }
  .queue-item.hot { border-color: rgba(53, 225, 136, 0.32); background: rgba(53, 225, 136, 0.08); }
  .queue-item.warn { border-color: rgba(255, 200, 90, 0.34); background: rgba(255, 200, 90, 0.08); }
  .home-facts {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 16px;
  }
  .home-command .brief-facts div {
    background: rgba(255, 255, 255, 0.055);
  }
  .home-command-actions {
    padding: 0 16px 16px;
  }
  .home-brief.attention {
    border-color: rgba(255, 200, 90, 0.38);
    background:
      linear-gradient(135deg, rgba(255, 200, 90, 0.11), rgba(101, 169, 237, 0.08) 56%, transparent),
      var(--surface);
  }
  .home-brief.hot {
    border-color: rgba(53, 225, 136, 0.34);
  }
  .home-brief.start {
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.12), rgba(101, 169, 237, 0.10) 56%, transparent),
      var(--surface);
  }
  .home-brief-main h2,
  .route-brief-copy h2 {
    margin: 4px 0 6px;
    font-size: 22px;
    line-height: 1.12;
    overflow-wrap: anywhere;
  }
  .home-brief-main p,
  .route-brief-copy p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  .home-brief-main,
  .route-brief-copy {
    min-width: 0;
  }
  .brief-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .brief-facts.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .brief-facts div,
  .capacity-meter {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: var(--surface-muted);
    min-width: 0;
  }
  .brief-facts b,
  .capacity-meter b {
    display: block;
    color: var(--fg);
    font-size: 18px;
    line-height: 1.05;
    overflow-wrap: anywhere;
  }
  .brief-facts span,
  .capacity-meter span {
    display: block;
    color: var(--hint);
    font-size: 11px;
    margin-top: 4px;
  }
  .brief-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .calm-brief,
  .calm-route {
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.10), rgba(255, 255, 255, 0.02) 58%, transparent),
      var(--surface);
  }
  .home-facts-simple {
    grid-column: 1 / -1;
  }
  .brief-focus small {
    display: block;
    margin-top: 5px;
    color: var(--hint);
    font-size: 12px;
    line-height: 1.35;
  }
  .route-brief {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(148px, 0.36fr) auto;
    gap: 12px;
    align-items: center;
  }
  .route-brief-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    min-width: 124px;
  }
  .capacity-meter .quota-track { margin-top: 9px; }
  .capacity-meter .quota-fill { width: var(--capacity, 0%); }
  .mini-source-strip {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
    gap: 7px;
  }
  .source-alert {
    appearance: none;
    border: 1px solid rgba(255, 200, 90, 0.35);
    border-radius: 8px;
    background: rgba(255, 200, 90, 0.07);
    color: var(--fg);
    padding: 8px 10px;
    text-align: left;
    cursor: pointer;
  }
  .source-alert b,
  .source-alert span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .source-alert span {
    color: var(--hint);
    font-size: 12px;
    margin-top: 2px;
  }

  .monitors-command {
    position: relative;
    grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.75fr) minmax(126px, 0.36fr);
    padding: 0;
    overflow: hidden;
    border-color: rgba(101, 169, 237, 0.34);
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.34), transparent 42%),
      linear-gradient(225deg, rgba(53, 225, 136, 0.23), transparent 52%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 45%),
      var(--ink-panel);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
  .monitors-command::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--good), var(--accent));
  }
  .command-primary,
  .command-stack,
  .command-actions {
    position: relative;
    z-index: 1;
    padding: 16px;
    min-width: 0;
  }
  .command-primary h2 {
    margin: 8px 0 6px;
    font-size: 24px;
    line-height: 1.08;
    color: #fff;
  }
  .command-number {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: 6px;
  }
  .command-number b {
    font-size: 54px;
    line-height: 0.9;
    color: #fff;
    text-shadow: 0 8px 26px rgba(101, 169, 237, 0.28);
  }
  .command-number span {
    color: var(--text-soft);
    font-weight: 900;
    padding-bottom: 5px;
  }
  .monitors-command .command-primary p {
    color: var(--text-soft);
    overflow-wrap: anywhere;
  }
  .command-stack {
    display: grid;
    gap: 9px;
  }
  .command-card {
    border: 1px solid rgba(190, 214, 235, 0.18);
    border-radius: 8px;
    background: rgba(10, 20, 31, 0.58);
    padding: 11px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    min-width: 0;
  }
  .command-next b,
  .command-next span,
  .command-next small {
    display: block;
  }
  .command-next span {
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
  }
  .command-next b {
    margin-top: 4px;
    font-size: 16px;
  }
  .command-next small {
    margin-top: 3px;
    color: var(--text-soft);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .command-sources {
    grid-column: 1 / -1;
    display: flex;
    gap: 7px;
    padding: 0 16px 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .command-sources::-webkit-scrollbar { display: none; }
  .command-source {
    appearance: none;
    border: 1px solid rgba(190, 214, 235, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.075);
    color: var(--fg);
    min-height: 38px;
    padding: 8px 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    cursor: pointer;
    font-weight: 800;
  }
  .command-source b {
    color: var(--accent);
    font-size: 13px;
  }
  .monitors-command .mini-source-strip {
    grid-column: 1 / -1;
    display: flex;
    gap: 7px;
    padding: 0 16px 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .monitors-command .mini-source-strip::-webkit-scrollbar { display: none; }
  .monitors-command .source-alert {
    min-width: 154px;
    padding: 7px 9px;
    background: rgba(255, 200, 90, 0.10);
  }

  /* ===== Routes (с transition animation) ===== */
  .route { display: none; }
  .route.active {
    display: block;
    animation: routeFade 220ms ease both;
  }
  @keyframes routeFade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* ===== Bulk actions / filter presets / notif center (Wave 24) ===== */
  .monitor.selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent);
  }
  .monitor-checkbox {
    width: 22px; height: 22px;
    border: 2px solid var(--soft-line);
    border-radius: 5px;
    background: rgba(255,255,255,0.04);
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    font-weight: 900;
    font-size: 14px;
    transition: 80ms ease;
  }
  .monitor-checkbox.checked {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg);
  }
  .bulk-bar {
    position: fixed;
    left: 12px; right: 12px;
    bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px) + 24px);
    z-index: 35;
    max-width: 560px;
    margin: 0 auto;
    background: rgba(18,27,39,0.97);
    border: 1px solid var(--accent);
    border-radius: 10px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 6px;
    align-items: center;
    box-shadow: var(--shadow);
    transform: translateY(calc(100% + var(--nav-h) + 48px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 200ms ease;
  }
  .bulk-bar.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .bulk-bar .count { font-weight: 800; font-size: 14px; }
  .bulk-bar .feed-mini { padding: 6px 10px; }
  body.bulk-active .bottom-nav .badge {
    opacity: 0;
    transform: translateY(4px) scale(0.92);
    pointer-events: none;
  }

  .filter-presets {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    margin-top: 6px;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .filter-presets::-webkit-scrollbar { display: none; }
  .preset-chip {
    flex-shrink: 0;
    padding: 5px 9px;
    border: 1px dashed var(--soft-line);
    border-radius: 6px;
    background: transparent;
    color: var(--hint);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
  }
  .preset-chip .remove {
    margin-left: 4px;
    color: var(--danger);
    font-weight: 900;
  }

  .notif-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    margin-bottom: 6px;
    align-items: center;
  }
  .notif-row .notif-icon { font-size: 22px; }
  .notif-row .notif-title { font-weight: 700; font-size: 13px; }
  .notif-row .notif-meta { color: var(--hint); font-size: 11px; margin-top: 2px; }
  .notif-row .notif-time { color: var(--hint); font-size: 11px; white-space: nowrap; }

  /* ===== Tooltip + shortcuts hints (Wave 23) ===== */
  .tooltip-q {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px; height: 14px;
    margin-left: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: var(--hint);
    font-size: 10px;
    font-weight: 800;
    cursor: help;
    user-select: none;
  }
  .tooltip-q:hover { background: var(--accent); color: var(--accent-fg); }
  .shortcuts-hint {
    position: fixed;
    bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px) + 90px);
    right: 12px;
    background: rgba(18,27,39,0.96);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12px;
    color: var(--hint);
    z-index: 25;
    max-width: 240px;
    transform: translateY(20px);
    opacity: 0;
    transition: 200ms ease;
    pointer-events: none;
  }
  .shortcuts-hint.show { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .shortcuts-hint kbd {
    display: inline-block;
    padding: 1px 5px;
    border: 1px solid var(--soft-line);
    border-radius: 4px;
    background: rgba(255,255,255,0.06);
    color: var(--fg);
    font-family: monospace;
    font-size: 11px;
  }

  /* ===== Sparkline на alert (Wave 22) ===== */
  .feed-spark {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 6px 0 0;
    padding: 6px 8px;
    border-radius: 6px;
    background: rgba(255,255,255,0.025);
  }
  .feed-spark svg { flex-shrink: 0; }
  .feed-spark .label { color: var(--hint); font-size: 11px; }

  /* ===== Drag-reorder + unread badge (Wave 21) ===== */
  .monitor.dragging { opacity: 0.55; transform: scale(0.98); }
  .monitor.drag-over { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent); }
  .monitor-handle {
    cursor: grab;
    color: var(--hint);
    font-size: 18px;
    padding: 4px 8px;
    user-select: none;
    flex-shrink: 0;
  }
  .monitor-handle:active { cursor: grabbing; }
  .monitor-head { position: relative; }
  .unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    margin-left: 6px;
    background: var(--danger);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    border-radius: 11px;
    line-height: 1;
  }

  /* ===== Streak / quick edit (Wave 18) ===== */
  .streak-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: linear-gradient(135deg, rgba(255,200,90,0.18), rgba(255,97,113,0.10));
    border: 1px solid rgba(255,200,90,0.35);
    color: var(--warn);
    border-radius: 14px;
    font-weight: 800;
    font-size: 12px;
    margin-bottom: 12px;
  }
  .streak-pill .max { color: var(--hint); font-weight: 600; margin-left: 4px; }

  .achievement-toast {
    position: fixed;
    inset: 50% 12px auto 12px;
    transform: translateY(-50%) scale(0.9);
    z-index: 50;
    max-width: 360px;
    margin: 0 auto;
    padding: 24px 18px;
    text-align: center;
    background: linear-gradient(135deg, rgba(255,200,90,0.25), rgba(255,97,113,0.15)), var(--surface);
    border: 1px solid var(--warn);
    border-radius: 14px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.6);
    opacity: 0;
    transition: 280ms ease;
    pointer-events: none;
  }
  .achievement-toast.show { transform: translateY(-50%) scale(1); opacity: 1; pointer-events: auto; }
  .achievement-toast .ach-icon { font-size: 56px; margin-bottom: 8px; }
  .achievement-toast h3 { margin: 0 0 6px; font-size: 22px; }
  .achievement-toast p { margin: 0 0 14px; color: var(--hint); }

  /* ===== Onboarding tour (Wave 17) ===== */
  .tour-backdrop {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(0,0,0,0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: fadeIn 200ms ease;
  }
  /* WAVE 17 fix: HTML hidden атрибут не работает на flex-контейнере без
     явного перебивания. Без этого правила closeTour() прячет hidden=true,
     но CSS display:flex остаётся и модалка визуально не уходит. */
  .tour-backdrop[hidden] { display: none !important; }
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
  .tour-card {
    position: relative;
    background: var(--surface);
    border: 1px solid var(--accent);
    border-radius: 14px;
    padding: 24px 20px;
    max-width: 360px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    text-align: center;
    animation: rise 280ms ease both;
  }
  .tour-card .tour-close {
    position: absolute;
    top: 8px; right: 8px;
    width: 32px; height: 32px;
    background: transparent;
    border: 0;
    color: var(--hint);
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
  }
  .tour-card .tour-close:hover { color: var(--fg); }
  .tour-card .tour-icon { font-size: 56px; margin-bottom: 14px; }
  .tour-card h2 { margin: 0 0 8px; font-size: 20px; }
  .tour-card p { color: var(--hint); margin: 0 0 16px; line-height: 1.5; }
  .tour-card .tour-progress {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 14px;
  }
  .tour-card .tour-progress span {
    width: 7px; height: 7px;
    background: var(--soft-line);
    border-radius: 50%;
  }
  .tour-card .tour-progress span.active { background: var(--accent); }
  .tour-card .tour-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  /* ===== AI insight banner (Wave 16) ===== */
  .ai-insight {
    border: 1px solid rgba(101, 169, 237, 0.4);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(101, 169, 237, 0.10), transparent 60%), var(--surface);
    padding: 10px 12px;
    margin-bottom: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    animation: rise 380ms ease both;
  }
  .ai-insight .ai-icon { font-size: 20px; flex-shrink: 0; }
  .ai-insight .ai-text {
    min-width: 0;
    color: var(--fg);
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  .ai-insight .ai-text small { display: block; color: var(--hint); font-size: 11px; margin-top: 2px; }

  /* Compare delta badges (analytics) */
  .delta-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 800;
    margin-left: 6px;
  }
  .delta-badge.up { color: var(--good); background: rgba(53,225,136,0.12); }
  .delta-badge.down { color: var(--danger); background: rgba(255,97,113,0.12); }
  .delta-badge.flat { color: var(--hint); background: rgba(255,255,255,0.06); }

  /* ===== Hero deal of the week (главная 2.0) ===== */
  .hero-deal {
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(53,225,136,0.06), transparent), var(--surface);
    box-shadow: var(--shadow);
    margin-bottom: 14px;
    cursor: pointer;
    animation: rise 380ms ease both;
  }
  .hero-deal-img {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: rgba(0,0,0,0.3);
  }
  .hero-deal-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .hero-deal-img .overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 14px;
    background: linear-gradient(0deg, rgba(15,23,32,0.92) 0%, rgba(15,23,32,0.55) 60%, transparent 100%);
  }
  .hero-deal-img .ribbon {
    position: absolute;
    top: 12px; left: 12px;
    background: var(--good);
    color: #07111d;
    font-weight: 900;
    font-size: 18px;
    padding: 6px 12px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    animation: pulse 2.4s ease-in-out infinite;
  }
  @keyframes pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
  }
  .hero-deal-img .price-tag {
    color: var(--fg);
    font-size: 22px;
    font-weight: 900;
  }
  .hero-deal-img .price-tag .market { color: var(--hint); font-size: 14px; font-weight: 700; }
  .hero-deal-img .deal-title {
    color: var(--text-soft);
    font-size: 14px;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .hero-deal-noimg {
    padding: 22px 16px;
  }
  .hero-deal-noimg .ribbon {
    display: inline-block;
    background: var(--good);
    color: #07111d;
    font-weight: 900;
    font-size: 18px;
    padding: 4px 10px;
    border-radius: 6px;
    margin-bottom: 8px;
  }

  /* ===== Activity stat strip ===== */
  .activity-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 14px;
  }
  .stat-pill {
    border: 1px solid var(--soft-line);
    border-radius: 10px;
    background: var(--surface);
    padding: 10px 8px;
    text-align: center;
  }
  .stat-pill b {
    display: block;
    font-size: 18px;
    line-height: 1.1;
    color: var(--fg);
  }
  .stat-pill span { color: var(--hint); font-size: 11px; display: block; margin-top: 3px; }
  @media (max-width: 360px) {
    .activity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* ===== Tips (action items на главной) ===== */
  .tip {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255,200,90,0.08), transparent 40%), var(--surface);
    padding: 12px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: transform 100ms ease, border-color 120ms ease;
  }
  .tip:active { transform: scale(0.99); }
  .tip:hover { border-color: var(--accent); }
  .tip .tip-icon { font-size: 24px; }
  .tip .tip-text { min-width: 0; }
  .tip .tip-text b { display: block; font-size: 14px; }
  .tip .tip-text span { color: var(--hint); font-size: 12px; display: block; margin-top: 2px; }
  .tip .tip-cta { color: var(--accent); font-weight: 800; font-size: 12px; white-space: nowrap; }

  /* ===== Pull-to-refresh (Wave 15) ===== */
  .ptr-indicator {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 60px;
    z-index: 35;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 22px;
    transform: translateY(-60px);
    transition: transform 200ms ease, opacity 200ms ease;
    opacity: 0;
  }
  .ptr-indicator.show { opacity: 1; transform: translateY(0); }
  .ptr-indicator.spinning .icon { animation: spin 800ms linear infinite; }
  @keyframes spin { to { transform: rotate(360deg); } }

  /* Search input в alerts toolbar */
  .alerts-search {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--fg);
    padding: 0 12px;
    outline: none;
    margin-bottom: 8px;
    font-size: 13px;
  }
  .alerts-search::placeholder { color: var(--hint); }

  /* Load-more sentinel + spinner */
  .load-more-sentinel {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hint);
    font-size: 13px;
  }
  .load-more-sentinel .icon {
    display: inline-block;
    margin-right: 6px;
    animation: spin 1s linear infinite;
  }

  /* ===== Bottom-nav badge для unread alerts ===== */
  .nav-btn { position: relative; }
  .nav-btn .badge {
    position: absolute;
    top: 4px;
    right: calc(50% - 22px);
    background: var(--danger);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  /* ===== Bottom navigation ===== */
  .bottom-nav {
    position: fixed;
    left: max(8px, calc((100vw - 900px) / 2 + 8px));
    right: max(8px, calc((100vw - 900px) / 2 + 8px));
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: rgba(11, 18, 27, 0.88);
    backdrop-filter: blur(20px);
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    height: var(--nav-h);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
  }
  body.theme-light .bottom-nav {
    background: rgba(255, 255, 255, 0.90);
  }
  .nav-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--hint);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 6px;
    cursor: pointer;
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
    transition: color 120ms ease, background 120ms ease;
  }
  .nav-btn .icon { font-size: 22px; line-height: 1; }
  .nav-btn span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .nav-btn.active {
    color: var(--fg);
    background:
      linear-gradient(180deg, rgba(101, 169, 237, 0.24), rgba(101, 169, 237, 0.10));
  }
  .nav-btn:active .icon { transform: scale(0.92); }

  /* ===== Hero / metrics ===== */
  .hero {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.12), transparent 42%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02)),
      var(--surface);
    box-shadow: var(--shadow);
    animation: rise 360ms ease both;
  }
  .hero-main { padding: 16px; }
  .hero-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
  .score { font-size: 42px; line-height: 0.98; font-weight: 900; color: var(--good); letter-spacing: 0; }
  .score small { display: block; margin-top: 5px; color: var(--hint); font-size: 12px; font-weight: 700; }
  .health { text-align: right; min-width: 112px; }
  .health strong { display: block; font-size: 22px; }
  .health span { color: var(--hint); font-size: 12px; }
  .metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--soft-line);
  }
  .metric { padding: 12px 14px; border-right: 1px solid var(--soft-line); min-width: 0; }
  .metric:last-child { border-right: 0; }
  .metric b { display: block; font-size: 20px; line-height: 1.05; }
  .metric span { display: block; margin-top: 5px; color: var(--hint); font-size: 12px; }

  /* ===== First monitor onboarding ===== */
  .quick-start-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(120px, 0.65fr);
    gap: 14px;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    margin: 2px 0 12px;
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.11), rgba(101, 169, 237, 0.11) 52%, rgba(255, 255, 255, 0.025)),
      var(--surface);
    box-shadow: var(--shadow);
  }
  .quick-start-copy h2 {
    margin: 4px 0 7px;
    font-size: 22px;
    line-height: 1.12;
  }
  .quick-start-copy p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
  }
  .quick-start-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
  }
  .quick-start-steps {
    display: grid;
    gap: 8px;
  }
  .quick-start-steps div {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,0.03);
  }
  .quick-start-steps b {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 12px;
    margin-right: 6px;
  }
  .quick-start-steps span {
    color: var(--fg);
    font-size: 12px;
    font-weight: 800;
  }
  .quick-examples {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .quick-example {
    appearance: none;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.03);
    color: var(--fg);
    padding: 10px;
    text-align: left;
    cursor: pointer;
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease;
  }
  .quick-example:hover {
    transform: translateY(-1px);
    border-color: rgba(101, 169, 237, 0.44);
    background: rgba(255,255,255,0.045);
  }
  .quick-example b {
    display: block;
    font-size: 13px;
    margin-bottom: 3px;
  }
  .quick-example span {
    display: block;
    color: var(--hint);
    font-size: 12px;
    line-height: 1.25;
  }
  .quick-example.compact {
    min-height: 0;
    padding: 8px 9px;
  }

  /* ===== Section headers ===== */
  .section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 20px 0 9px;
  }
  .section h2 { margin: 0; color: var(--hint); font-size: 13px; text-transform: uppercase; letter-spacing: 0; }
  .ghost {
    appearance: none;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--fg);
    min-height: 34px;
    padding: 7px 10px;
    font-weight: 800;
    cursor: pointer;
  }

  /* ===== Creator ===== */
  .creator {
    margin: 15px 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.12), transparent 48%),
      var(--surface);
    padding: 12px;
  }
  .creator-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
  .creator-title b { font-size: 16px; }
  .creator-title span {
    display: block;
    color: var(--hint);
    font-size: 12px;
    margin-top: 2px;
    line-height: 1.35;
  }
  .creator-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
  }
  .creator textarea {
    width: 100%;
    min-height: 82px;
    resize: vertical;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--fg);
    padding: 10px 12px;
    outline: none;
  }
  .input-hint {
    color: var(--hint);
    font-size: 12px;
    margin-top: 6px;
  }
  .form-grid {
    display: grid;
    grid-template-columns: 1fr 90px;
    gap: 8px;
    margin-top: 8px;
  }
  .field {
    width: 100%;
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--fg);
    padding: 0 10px;
    outline: none;
  }
  .discount-field {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 3px;
  }
  .discount-field span {
    color: var(--hint);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
  }
  .discount-field .field {
    min-height: 28px;
    text-align: center;
  }
  .wide-action {
    width: 100%;
    margin-top: 8px;
    min-height: 44px;
  }

  /* ===== Deal cards (с фото) ===== */
  .deals { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .deal-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(32, 48, 68, 0.82);
    animation: rise 420ms ease both;
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 0;
    cursor: pointer;
  }
  .deal-card.no-photo { grid-template-columns: 1fr; padding: 12px; }
  .deal-card.no-photo::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--good);
    opacity: 0.9;
  }
  .deal-photo {
    position: relative;
    background: rgba(0, 0, 0, 0.25);
    aspect-ratio: 1;
    overflow: hidden;
  }
  .deal-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .deal-photo .photo-fallback {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; opacity: 0.4;
  }
  .deal-photo .deal-discount-badge {
    position: absolute;
    top: 6px; left: 6px;
    background: var(--good);
    color: #07111d;
    font-weight: 900;
    font-size: 13px;
    padding: 3px 7px;
    border-radius: 6px;
  }
  .deal-content { padding: 10px 12px; min-width: 0; }
  .deal-top { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .discount { color: var(--good); font-size: 22px; font-weight: 900; }
  .price { font-weight: 800; font-size: 16px; }
  .deal-subject {
    margin: 5px 0 0;
    color: var(--text-soft);
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .deal-meta { color: var(--hint); font-size: 12px; margin-top: 4px; }

  /* ===== Toolbar / chips ===== */
  .toolbar {
    position: sticky;
    top: 58px;
    z-index: 4;
    margin: 15px 0 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(15, 23, 32, 0.86);
    backdrop-filter: blur(16px);
  }
  .search {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--fg);
    padding: 0 12px;
    outline: none;
  }
  .search::placeholder { color: var(--hint); }
  .chips {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding-top: 9px;
    scrollbar-width: none;
  }
  .chips::-webkit-scrollbar { display: none; }
  .chip {
    appearance: none;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    color: var(--hint);
    padding: 8px 10px;
    white-space: nowrap;
    font-weight: 800;
    cursor: pointer;
  }
  .chip.active { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); }

  /* ===== Audit workspace ===== */
  .audit-board { display: grid; gap: 10px; }
  .audit-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
  }
  .audit-summary .metric { border-right: 1px solid var(--soft-line); }
  .audit-summary .metric:last-child { border-right: 0; }
  .audit-issue {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.018)), var(--surface);
    padding: 13px;
    animation: rise 360ms ease both;
  }
  .audit-issue.high { border-color: rgba(255, 97, 113, 0.5); }
  .audit-issue.medium { border-color: rgba(255, 200, 90, 0.46); }
  .audit-issue.low { border-color: rgba(101, 169, 237, 0.42); }
  .audit-issue .issue-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
  }
  .audit-issue h3 { margin: 0; font-size: 16px; }
  .audit-issue .help { color: var(--hint); font-size: 13px; line-height: 1.45; }
  .issue-type {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 4px 8px;
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
  }
  .issue-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 10px;
  }
  .audit-link {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--accent);
    padding: 0;
    font-weight: 900;
    cursor: pointer;
  }

  /* ===== Monitor cards ===== */
  .monitor-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .monitor {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)), var(--surface);
    overflow: hidden;
    animation: rise 460ms ease both;
  }
  .monitor-v2 {
    position: relative;
    display: grid;
    grid-template-columns: 6px minmax(0, 1fr);
    border-color: rgba(190, 214, 235, 0.24);
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.14), rgba(255, 255, 255, 0.025) 54%, rgba(53, 225, 136, 0.055)),
      var(--surface);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
  }
  .monitor-v2 .monitor-main,
  .monitor-v2 .actions,
  .monitor-v2 .tune,
  .monitor-v2 .settings {
    grid-column: 2;
    min-width: 0;
  }
  .monitor-status-rail {
    grid-row: 1 / span 5;
    background: var(--good);
  }
  .monitor-v2.warn .monitor-status-rail { background: var(--warn); }
  .monitor-v2.bad .monitor-status-rail { background: var(--danger); }
  .monitor-v2.pause .monitor-status-rail { background: var(--hint); }
  .monitor-main { padding: 15px; cursor: pointer; }
  .bundle-card .monitor-main { cursor: default; }
  .monitor-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; min-width: 0; }
  .monitor-title { min-width: 0; display: flex; align-items: flex-start; gap: 7px; }
  .monitor-head-v2 { align-items: center; }
  .monitor-title-copy { min-width: 0; }
  .monitor-eyebrow {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    color: var(--text-soft);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
  }
  .monitor-source-badge {
    color: var(--accent-fg);
    background: var(--accent);
    border-radius: 8px;
    padding: 3px 7px;
    text-transform: none;
    box-shadow: 0 6px 16px rgba(101, 169, 237, 0.22);
  }
  .bundle-title {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .bundle-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    flex: 0 0 auto;
  }
  .monitor-title strong { display: block; font-size: 18px; overflow-wrap: anywhere; }
  .monitor-title > div > span { display: block; margin-top: 4px; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
  .monitor-title strong .unread-badge {
    display: inline-flex;
    margin-top: 0;
    color: #fff;
    font-size: 11px;
    overflow-wrap: normal;
    vertical-align: 2px;
  }
  .status {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
  }
  .status.on { color: var(--good); background: rgba(53, 225, 136, 0.08); border-color: rgba(53, 225, 136, 0.30); }
  .status.pause { color: var(--warn); background: rgba(255, 200, 90, 0.08); }
  .status.warn { color: var(--warn); background: rgba(255, 200, 90, 0.08); border-color: rgba(255, 200, 90, 0.46); }
  .status.bad { color: var(--danger); background: rgba(255, 97, 113, 0.08); border-color: rgba(255, 97, 113, 0.55); }
  .health-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 3px 7px;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 900;
    color: var(--text-soft);
    background: rgba(255, 255, 255, 0.035);
    vertical-align: 2px;
  }
  .health-chip.ok { color: var(--good); }
  .health-chip.warning,
  .health-chip.paused { color: var(--warn); }
  .health-chip.broken { color: var(--danger); }
  .monitor-decision {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-top: 13px;
    padding: 12px;
    border: 1px solid rgba(190, 214, 235, 0.17);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.13), rgba(53, 225, 136, 0.07)),
      rgba(10, 20, 31, 0.38);
  }
  .decision-copy {
    min-width: 0;
  }
  .decision-copy span,
  .decision-copy small {
    display: block;
    color: var(--text-soft);
    font-size: 12px;
  }
  .decision-copy b {
    display: block;
    margin: 2px 0;
    font-size: 16px;
    line-height: 1.18;
    color: #fff;
    overflow-wrap: anywhere;
  }
  .score-orb {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(53, 225, 136, 0.36);
    background:
      radial-gradient(circle at 50% 36%, rgba(53, 225, 136, 0.31), transparent 64%),
      rgba(255, 255, 255, 0.035);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
  }
  .score-orb b,
  .score-orb span {
    display: block;
    text-align: center;
    line-height: 1;
  }
  .score-orb b { font-size: 19px; }
  .score-orb span {
    color: var(--hint);
    font-size: 10px;
    margin-top: 4px;
  }
  .score-orb.warning,
  .score-orb.paused { border-color: rgba(255, 200, 90, 0.46); }
  .score-orb.broken { border-color: rgba(255, 97, 113, 0.55); }
  .monitor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin: 13px 0;
  }
  .fact {
    border: 1px solid rgba(190, 214, 235, 0.14);
    border-radius: 8px;
    padding: 9px;
    min-height: 58px;
    color: var(--text-soft);
    font-size: 12px;
  }
  .fact b { display: block; margin-top: 2px; color: var(--fg); font-size: 16px; }
  .monitor-grid-v2 .fact {
    background: rgba(255, 255, 255, 0.045);
  }
  .good-value { color: var(--good) !important; }
  .bad-value { color: var(--danger) !important; }
  .url {
    color: var(--text-soft);
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  .keywords { color: var(--hint); margin-bottom: 3px; }
  .monitor-query {
    padding: 10px 11px;
    border-radius: 8px;
    background: rgba(7, 14, 22, 0.36);
    border: 1px solid rgba(190, 214, 235, 0.13);
  }
  .bundle-sources {
    display: grid;
    gap: 6px;
    margin-top: 4px;
  }
  .bundle-source-row {
    appearance: none;
    width: 100%;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
    color: var(--fg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    text-align: left;
    cursor: pointer;
  }
  .bundle-source-row span {
    min-width: 0;
    color: var(--hint);
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  .bundle-source-row span:first-child { color: var(--fg); }
  .actions {
    display: grid;
    grid-template-columns: 1.1fr 1fr 0.9fr;
    gap: 7px;
    padding: 0 14px 14px;
  }
  .action {
    appearance: none;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    color: var(--fg);
    min-height: 42px;
    padding: 8px;
    font-weight: 900;
    cursor: pointer;
  }
  .primary { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); }
  .danger { color: var(--danger); border-color: rgba(255, 97, 113, 0.55); }
  .tune {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 10px 14px 13px;
    border-top: 1px solid var(--soft-line);
    background: rgba(255, 255, 255, 0.018);
  }
  .tune span { color: var(--hint); font-size: 12px; }
  .range { width: 100%; accent-color: var(--accent); }
  details.settings {
    border-top: 1px solid var(--soft-line);
    padding: 0 14px 13px;
  }
  details.settings summary {
    cursor: pointer;
    color: var(--hint);
    font-weight: 800;
    padding: 12px 0 0;
    list-style: none;
  }
  details.settings summary::-webkit-details-marker { display: none; }
  .settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
  }
  .settings-grid .full { grid-column: 1 / -1; }
  .label { display: block; color: var(--hint); font-size: 12px; margin-bottom: 4px; }
  .save-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }

  /* ===== Empty / error / skeleton ===== */
  .empty, .error {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    padding: 24px 14px;
    text-align: center;
    color: var(--hint);
  }
  .empty .icon { font-size: 32px; margin-bottom: 10px; opacity: 0.7; }
  .empty .title { color: var(--fg); font-weight: 800; margin-bottom: 4px; }
  .empty .cta { margin-top: 12px; }
  .error { color: var(--danger); }

  .skeleton {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: linear-gradient(90deg,
      rgba(255,255,255,0.04) 0%,
      rgba(255,255,255,0.10) 50%,
      rgba(255,255,255,0.04) 100%);
    background-size: 200% 100%;
    animation: shimmer 1.4s ease-in-out infinite;
  }
  .skeleton-card { height: 140px; margin-bottom: 10px; }
  .skeleton-row { height: 56px; margin-bottom: 8px; }
  @keyframes shimmer {
    0%   { background-position: 100% 0; }
    100% { background-position: -100% 0; }
  }

  /* ===== Toast ===== */
  .toast {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px) + 12px);
    z-index: 40;
    max-width: 560px;
    margin: 0 auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(18, 27, 39, 0.96);
    color: var(--fg);
    padding: 12px 14px;
    box-shadow: var(--shadow);
    transform: translateY(120%);
    opacity: 0;
    transition: 180ms ease;
  }
  .toast.show { transform: translateY(0); opacity: 1; }

  @keyframes rise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @media (min-width: 720px) {
    .deals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .monitor-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .alerts-command {
      grid-template-columns: minmax(0, 1fr) minmax(160px, 0.48fr) minmax(220px, 0.62fr) minmax(126px, 0.34fr);
      gap: 12px;
    }
    .alerts-command-main {
      padding: 16px;
    }
    .alerts-command .alerts-decision {
      margin: 16px 0;
    }
    .alerts-command .alerts-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: 16px 0;
    }
    .alerts-command .route-brief-actions {
      grid-template-columns: 1fr;
      padding: 16px 16px 16px 0;
    }
  }
  @media (max-width: 420px) {
    .app { padding: 12px 10px 24px; }
    .score { font-size: 34px; }
    .metrics, .monitor-grid, .audit-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .monitor-decision { grid-template-columns: 1fr; }
    .score-orb {
      width: 54px;
      height: 54px;
      justify-self: start;
    }
    .actions { grid-template-columns: 1fr; }
    .toolbar { top: 54px; }
    .nav-btn { font-size: 10px; padding: 5px 2px; }
    .nav-btn .icon { font-size: 20px; }
    .monitor-head-v2 {
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: flex-start;
    }
    .monitor-head-v2 .monitor-title {
      flex: 1 1 100%;
    }
    .monitor-head-v2 .status {
      margin-left: 29px;
      margin-top: 8px;
    }
  }

  /* ===== Profile/placeholder pages ===== */
  .stub {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    padding: 28px 18px;
    text-align: center;
    color: var(--hint);
    margin-top: 12px;
  }
  .stub h3 { margin: 0 0 8px; color: var(--fg); }

  /* ===== Monitor detail page (Wave 2) ===== */
  .detail-header {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)), var(--surface);
    padding: 14px;
    margin-top: 4px;
  }
  .detail-header h2 { margin: 0; font-size: 20px; overflow-wrap: anywhere; }
  .detail-header .sub { margin-top: 4px; color: var(--hint); font-size: 13px; }
  .detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 12px;
  }
  .check-result {
    margin-top: 12px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 12px;
    background: rgba(255,255,255,0.03);
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
  }
  .check-result b { color: var(--good); }
  .check-result.bad b { color: var(--warn); }
  .monitor-health-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    margin-top: 10px;
    background: rgba(255,255,255,0.025);
  }
  .health-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }
  .health-line strong { font-size: 16px; }
  .health-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }
  .health-facts .fact { margin: 0; }
  .source-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
    gap: 7px;
    margin: 10px 0 2px;
  }
  .source-pill {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 8px;
    color: var(--hint);
    font-size: 12px;
  }
  .source-pill b { display: block; color: var(--fg); }
  .source-pill.cooldown b,
  .source-pill.degraded b { color: var(--warn); }
  .monitor-readiness {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    margin-top: 10px;
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.11), rgba(255,255,255,0.025)),
      var(--surface);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    animation: rise 180ms ease both;
  }
  .monitor-readiness.cold {
    grid-template-columns: minmax(0, 1fr) minmax(135px, 0.65fr);
  }
  .monitor-readiness.warm {
    border-color: rgba(255, 200, 90, 0.35);
    background:
      linear-gradient(135deg, rgba(255, 200, 90, 0.10), rgba(101,169,237,0.07)),
      var(--surface);
  }
  .monitor-readiness.ready {
    border-color: rgba(53, 225, 136, 0.30);
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.09), rgba(101,169,237,0.07)),
      var(--surface);
  }
  .monitor-readiness h3 {
    margin: 3px 0 5px;
    font-size: 18px;
    line-height: 1.16;
  }
  .monitor-readiness p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
  }
  .monitor-help-panel {
    margin-top: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }
  .monitor-help-panel h3 {
    margin: 3px 0 5px;
    font-size: 17px;
    line-height: 1.18;
  }
  .monitor-help-panel p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
  }
  .readiness-steps {
    display: grid;
    gap: 7px;
  }
  .readiness-steps div {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 8px;
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .readiness-steps b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 12px;
    flex-shrink: 0;
  }
  .readiness-steps span {
    font-size: 12px;
    font-weight: 800;
  }
  .readiness-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    min-width: 148px;
  }
  .monitor-readiness.cold .readiness-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .alert-row, .ad-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    margin-bottom: 6px;
    cursor: pointer;
    transition: transform 80ms ease;
    align-items: center;
  }
  .alert-row.no-photo, .ad-row.no-photo { grid-template-columns: 1fr auto; }
  .alert-row:active, .ad-row:active { transform: scale(0.99); }
  .row-thumb {
    width: 56px; height: 56px;
    border-radius: 6px;
    background: rgba(0,0,0,0.25);
    overflow: hidden;
    flex-shrink: 0;
  }
  .row-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .alert-row .info, .ad-row .info { min-width: 0; }
  .alert-row .info .subj, .ad-row .info .subj { font-weight: 700; overflow-wrap: anywhere; line-height: 1.3; }
  .alert-row .info .meta, .ad-row .info .meta { color: var(--hint); font-size: 12px; margin-top: 3px; }
  .alert-row .badge { color: var(--good); font-weight: 900; align-self: center; white-space: nowrap; }
  .ad-row .badge { color: var(--fg); font-weight: 800; align-self: center; white-space: nowrap; }

  /* ===== Presets (Wave 7) ===== */
  .preset-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .preset-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(101,169,237,0.08), transparent 50%), var(--surface);
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
  }
  .preset-card .info { min-width: 0; }
  .preset-card .label { font-weight: 800; font-size: 15px; }
  .preset-card .meta { color: var(--hint); font-size: 12px; margin-top: 2px; }
  .preset-card .desc { color: var(--text-soft); font-size: 12px; margin-top: 4px; }
  .preset-card .add-btn {
    appearance: none;
    border: 1px solid var(--accent);
    border-radius: 8px;
    background: var(--accent);
    color: var(--accent-fg);
    padding: 8px 14px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
  }
  .preset-card .add-btn:disabled {
    background: rgba(255,255,255,0.06);
    color: var(--hint);
    border-color: var(--soft-line);
    cursor: not-allowed;
  }
  @media (min-width: 720px) {
    .preset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* ===== Blocked sellers / Seller modal (Wave 6) ===== */
  .blocked-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    margin-bottom: 6px;
    align-items: center;
  }
  .blocked-row .id { font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
  .blocked-row .meta { color: var(--hint); font-size: 12px; }
  .modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 50;
    background: rgba(0,0,0,0.55);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .modal-backdrop[hidden] { display: none; }
  .modal {
    width: 100%;
    max-width: 560px;
    max-height: 86vh;
    overflow-y: auto;
    background: var(--bg);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    padding: 16px;
    box-shadow: var(--shadow);
    animation: slideUp 200ms ease;
  }
  @keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  .modal h3 { margin: 0 0 4px; font-size: 18px; }
  .modal .close {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--hint);
    font-size: 22px;
    cursor: pointer;
    float: right;
    line-height: 1;
    padding: 0;
  }
  .seller-type {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid var(--line);
    font-size: 12px;
    font-weight: 800;
    margin-top: 8px;
  }
  .seller-type.dealer_like { color: var(--warn); border-color: rgba(255,200,90,0.4); background: rgba(255,200,90,0.08); }
  .seller-type.private_like { color: var(--good); border-color: rgba(53,225,136,0.4); background: rgba(53,225,136,0.08); }
  .seller-type.unknown { color: var(--hint); }
  .seller-head {
    padding-right: 34px;
    margin-bottom: 12px;
  }
  .seller-verdict {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    margin-bottom: 10px;
  }
  .seller-verdict.good { border-color: rgba(53,225,136,0.35); background: rgba(53,225,136,0.06); }
  .seller-verdict.warn { border-color: rgba(255,200,90,0.35); background: rgba(255,200,90,0.07); }
  .seller-verdict.danger { border-color: rgba(255,92,122,0.35); background: rgba(255,92,122,0.07); }
  .seller-verdict-mark {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
  }
  .seller-verdict h3 {
    margin: 2px 0 5px;
    line-height: 1.15;
  }
  .seller-verdict p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
    line-height: 1.4;
  }
  .seller-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
  }
  .seller-flags span {
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border: 1px solid var(--soft-line);
    border-radius: 999px;
    color: var(--text-soft);
    font-size: 11px;
    font-weight: 800;
  }
  .seller-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 10px 0;
  }
  .seller-stat-grid div {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 9px;
    min-width: 0;
  }
  .seller-stat-grid span {
    display: block;
    color: var(--hint);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
  }
  .seller-stat-grid b {
    display: block;
    margin-top: 3px;
    font-size: 14px;
    overflow-wrap: anywhere;
  }
  .seller-note {
    color: var(--hint);
    font-size: 12px;
    margin: 4px 0 10px;
  }
  .seller-checklist {
    border-left: 3px solid var(--accent);
    padding: 2px 0 2px 10px;
    margin: 12px 0;
    display: grid;
    gap: 5px;
    color: var(--hint);
    font-size: 12px;
  }
  .seller-checklist b { color: var(--fg); font-size: 13px; }
  .seller-actions { margin-top: 14px; }
  .wizard-head {
    border-bottom: 1px solid var(--soft-line);
    padding: 0 34px 12px 0;
    margin-bottom: 12px;
  }
  .wizard-head h3 {
    margin-top: 4px;
  }
  .wizard-head p {
    margin: 6px 0 0;
    color: var(--hint);
    font-size: 13px;
  }
  .wizard-input {
    min-height: 104px;
    padding: 10px;
  }
  .wizard-examples {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 10px;
  }
  .wizard-preview {
    margin-top: 10px;
    background: rgba(255,255,255,0.025);
  }

  /* ===== Settings (Wave 5) ===== */
  .settings-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    padding: 14px;
    margin-bottom: 12px;
  }
  .settings-card h3 {
    margin: 0 0 4px;
    font-size: 16px;
  }
  .settings-card .help {
    color: var(--hint);
    font-size: 12px;
    margin-bottom: 10px;
  }
  .help-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    margin-top: 12px;
  }
  .help-topic {
    display: grid;
    gap: 10px;
    align-content: start;
  }
  .help-topic h3 {
    margin: 0;
    font-size: 16px;
  }
  .seg {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 4px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 4px;
  }
  .seg button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--hint);
    padding: 8px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
  }
  .seg button.active {
    background: var(--accent);
    color: var(--accent-fg);
  }
  .toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    gap: 10px;
  }
  .toggle-row span { color: var(--fg); }
  .switch {
    position: relative;
    width: 44px;
    height: 24px;
    background: rgba(255,255,255,0.08);
    border: 1px solid var(--soft-line);
    border-radius: 24px;
    cursor: pointer;
    transition: background 120ms ease;
    flex-shrink: 0;
  }
  .switch::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    background: var(--fg);
    border-radius: 50%;
    transition: left 120ms ease;
  }
  .switch.on { background: var(--accent); border-color: var(--accent); }
  .switch.on::after { left: 22px; background: var(--accent-fg); }
  .time-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 6px;
  }
  .settings-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 0 12px;
  }
  .settings-hero h1 {
    margin: 2px 0 4px;
    font-size: 24px;
    line-height: 1.1;
  }
  .settings-hero p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
    line-height: 1.45;
  }
  .settings-eyebrow {
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
  }
  .settings-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
  }
  .settings-fact {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,0.025);
    min-width: 0;
  }
  .settings-fact span {
    display: block;
    color: var(--hint);
    font-size: 11px;
    margin-bottom: 4px;
  }
  .settings-fact b {
    display: block;
    color: var(--fg);
    font-size: 13px;
    overflow-wrap: anywhere;
  }
  .settings-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .settings-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    padding: 14px;
    min-width: 0;
  }
  .settings-section-head {
    margin-bottom: 12px;
  }
  .settings-section-head h3 {
    margin: 0 0 4px;
    font-size: 16px;
  }
  .settings-section-head span,
  .setting-copy {
    color: var(--hint);
    font-size: 12px;
    line-height: 1.4;
  }
  .setting-block {
    padding: 10px 0;
    border-top: 1px solid var(--soft-line);
  }
  .settings-section-head + .setting-block,
  .settings-section-head + .setting-line {
    border-top: 0;
    padding-top: 0;
  }
  .setting-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid var(--soft-line);
  }
  .setting-line > div:first-child {
    min-width: 0;
  }
  .setting-title {
    color: var(--fg);
    font-weight: 850;
    margin-bottom: 3px;
  }
  .settings-number {
    max-width: 96px;
    text-align: center;
    flex: 0 0 96px;
  }
  .seg.seg-wrap {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  }
  .settings-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--soft-line);
  }
  .settings-time-grid {
    padding: 10px 0;
    border-top: 1px solid var(--soft-line);
  }

  /* ===== Profile / subscription (Wave 4) ===== */
  .profile-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 156px;
    gap: 14px;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    margin: 4px 0 10px;
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.10), rgba(101, 169, 237, 0.10) 48%, rgba(255, 200, 90, 0.08)),
      var(--surface);
    box-shadow: var(--shadow);
  }
  .profile-hero.power {
    background:
      linear-gradient(135deg, rgba(255, 200, 90, 0.12), rgba(101, 169, 237, 0.08) 58%, rgba(53, 225, 136, 0.06)),
      var(--surface);
  }
  .profile-hero.expired {
    background:
      linear-gradient(135deg, rgba(255, 97, 113, 0.12), rgba(255, 255, 255, 0.025)),
      var(--surface);
  }
  .profile-kicker {
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
  }
  .profile-hero h2 {
    margin: 4px 0 7px;
    font-size: 22px;
    line-height: 1.12;
  }
  .profile-hero p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
  }
  .profile-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
  }
  .profile-status {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 12px;
    background: rgba(255,255,255,0.035);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
  }
  .profile-status span,
  .profile-status small {
    color: var(--hint);
    font-size: 12px;
  }
  .profile-status b {
    font-size: 18px;
    line-height: 1.1;
    margin: 5px 0;
    overflow-wrap: anywhere;
  }
  .tier-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.14), transparent 50%),
      var(--surface);
    padding: 16px;
    margin-top: 4px;
    box-shadow: var(--shadow);
  }
  .tier-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
  }
  .tier-label {
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
  }
  .tier-card .tier-name { font-size: 26px; font-weight: 900; }
  .tier-card .tier-meta { color: var(--hint); font-size: 13px; margin-top: 4px; }
  .tier-card .tier-grace { color: var(--warn); margin-top: 6px; font-weight: 700; }
  .limits-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }
  .limit-fact {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    color: var(--hint);
    font-size: 12px;
  }
  .limit-fact b { display: block; color: var(--fg); font-size: 16px; margin-top: 3px; }
  .quota-meter {
    margin-top: 10px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,0.025);
  }
  .quota-meter .quota-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: var(--hint);
    font-size: 12px;
  }
  .quota-meter .quota-row b { color: var(--fg); }
  .quota-track {
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,0.08);
    margin-top: 8px;
  }
  .quota-fill {
    height: 100%;
    width: var(--quota-pct, 0%);
    background: var(--accent);
    transition: width 180ms ease;
  }
  .quota-meter.warn .quota-fill { background: var(--warn); }
  .quota-meter.danger .quota-fill { background: var(--danger); }
  .upgrade-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 10px;
    background: linear-gradient(135deg, rgba(101,169,237,0.14), rgba(255,255,255,0.03));
  }
  .upgrade-panel.trial { border-color: rgba(53, 225, 136, 0.35); }
  .upgrade-panel.warn { border-color: rgba(255, 200, 90, 0.42); }
  .upgrade-panel.danger { border-color: rgba(255, 97, 113, 0.45); }
  .upgrade-panel.power { border-color: rgba(255, 200, 90, 0.38); background: linear-gradient(135deg, rgba(255,200,90,0.10), rgba(101,169,237,0.08)); }
  .upgrade-kicker {
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
  }
  .upgrade-panel h2 {
    margin: 4px 0 6px;
    font-size: 20px;
    line-height: 1.18;
  }
  .upgrade-panel p {
    margin: 0;
    color: var(--hint);
    font-size: 13px;
  }
  .upgrade-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
  }
  .tier-compare {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
  }
  .compare-plan {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,0.025);
  }
  .compare-plan.tier-power { border-color: rgba(255, 200, 90, 0.36); }
  .compare-title {
    font-weight: 900;
    margin-bottom: 2px;
  }
  .compare-caption {
    color: var(--hint);
    font-size: 11px;
    margin-bottom: 8px;
  }
  .compare-metric {
    color: var(--hint);
    font-size: 11px;
    margin-top: 5px;
  }
  .compare-metric b {
    display: block;
    color: var(--fg);
    font-size: 15px;
  }
  .compare-chip {
    display: inline-flex;
    margin-top: 8px;
    padding: 3px 6px;
    border-radius: 5px;
    color: var(--warn);
    background: rgba(255, 200, 90, 0.10);
    font-size: 11px;
    font-weight: 800;
  }
  .paywall-lead {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    margin: 8px 0 12px;
    color: var(--hint);
    background: rgba(255,255,255,0.025);
    font-size: 13px;
  }
  .paywall-lead b { color: var(--fg); }
  .plan-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,255,255,0.03);
    padding: 12px;
    margin-bottom: 8px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease;
  }
  .plan-card.tier-power { border-color: rgba(255, 200, 90, 0.4); background: linear-gradient(135deg, rgba(255, 200, 90, 0.08), transparent 60%), var(--surface); }
  .plan-card--interactive { cursor: pointer; }
  .plan-card--interactive:hover {
    transform: translateY(-1px);
    border-color: rgba(101, 169, 237, 0.42);
    background: rgba(255,255,255,0.045);
  }
  .plan-card--interactive:active { transform: translateY(0); }
  .plan-card.compact { margin-bottom: 7px; }
  .plan-main { min-width: 0; }
  .plan-label-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }
  .plan-card .plan-label { font-weight: 900; overflow-wrap: anywhere; }
  .plan-card .plan-meta { color: var(--hint); font-size: 12px; margin-top: 3px; }
  .plan-benefit { color: var(--hint); font-size: 12px; margin-top: 5px; }
  .plan-intent {
    color: var(--fg);
    opacity: 0.78;
    font-size: 12px;
    margin-top: 4px;
  }
  .plan-tag {
    display: inline-flex;
    padding: 2px 6px;
    border-radius: 5px;
    background: rgba(101, 169, 237, 0.13);
    color: var(--accent);
    font-size: 11px;
    font-weight: 900;
  }
  .plan-badge {
    display: inline-flex;
    margin-left: 5px;
    padding: 2px 5px;
    border-radius: 5px;
    background: rgba(53, 225, 136, 0.13);
    color: var(--good);
    font-size: 11px;
    font-weight: 800;
  }
  .plan-card .plan-price { text-align: right; min-width: 96px; }
  .plan-card .plan-price b { display: block; font-size: 18px; }
  .plan-card .plan-price span { color: var(--hint); font-size: 12px; }
  .plan-action {
    margin-top: 7px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
  }
  .payment-modal-hero {
    border-bottom: 1px solid var(--soft-line);
    padding: 0 34px 12px 0;
    margin-bottom: 12px;
  }
  .payment-modal-hero.compact { margin-bottom: 4px; }
  .payment-modal-hero h3 { margin-top: 4px; }
  .payment-modal-hero p {
    margin: 6px 0 0;
    color: var(--hint);
    font-size: 13px;
  }
  .payment-modal-hero b { color: var(--fg); }
  .payment-plan-group { margin-top: 12px; }
  .payment-plan-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
  }
  .payment-plan-head b { display: block; font-size: 15px; }
  .payment-plan-head span { display: block; color: var(--hint); font-size: 12px; margin-top: 1px; }
  .payment-trust {
    margin-top: 10px;
    border: 1px solid rgba(53, 225, 136, 0.22);
    border-radius: 8px;
    padding: 9px 10px;
    color: var(--hint);
    background: rgba(53, 225, 136, 0.06);
    font-size: 12px;
  }
  .payment-provider-card {
    background: rgba(255,255,255,0.025);
  }
  .invoice-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.02);
    margin-bottom: 6px;
    color: var(--hint);
    font-size: 13px;
  }
  .invoice-row .right b { color: var(--fg); }
  .invoice-row .status-paid { color: var(--good); }
  .invoice-row .status-refunded { color: var(--warn); }
  .invoice-row .status-pending { color: var(--hint); }

  @media (max-width: 640px) {
    .home-brief,
    .route-brief {
      grid-template-columns: 1fr;
    }
    .home-command,
    .alerts-command {
      grid-template-columns: 1fr;
      gap: 0;
    }
    .home-command-main {
      padding: 16px 16px 10px;
    }
    .home-command-main h2,
    .alerts-command-main h2 {
      font-size: 21px;
    }
    .home-command-score b {
      font-size: 50px;
    }
    .home-command-queue {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      padding: 0 16px 12px;
    }
    .queue-item {
      grid-template-columns: 1fr;
      gap: 3px;
      padding: 9px;
    }
    .queue-item b {
      grid-row: auto;
      grid-column: auto;
      font-size: 17px;
    }
    .home-facts {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      padding: 0 16px 12px;
    }
    .home-command-actions {
      padding: 0 16px 14px;
    }
    .alerts-command-main {
      padding: 16px 16px 10px;
    }
    .alerts-command .alerts-decision {
      margin: 0 16px 10px;
    }
    .alerts-command .alerts-facts {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      padding: 0 16px 12px;
    }
    .alerts-command .route-brief-actions {
      padding: 0 16px 14px;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
    .monitors-command {
      grid-template-columns: 1fr;
      gap: 0;
    }
    .command-primary,
    .command-stack,
    .command-actions {
      padding: 14px;
    }
    .command-primary {
      padding: 16px 16px 9px;
    }
    .command-primary h2 {
      font-size: 21px;
    }
    .command-number b {
      font-size: 50px;
    }
    .command-stack {
      grid-template-columns: minmax(0, 0.56fr) minmax(0, 1fr);
      padding: 0 16px 10px;
    }
    .command-card {
      min-height: 100%;
    }
    .command-card.capacity-meter {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .command-actions {
      padding: 0 16px 12px;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
    .command-sources {
      padding: 0 16px 12px;
    }
    .monitors-command .mini-source-strip {
      padding: 0 16px 12px;
    }
    .brief-actions,
    .route-brief-actions {
      grid-template-columns: 1fr;
      min-width: 0;
    }
    .route-brief-actions.command-actions {
      grid-template-columns: 1fr 1fr;
    }
    .brief-facts.compact {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .creator-title {
      display: grid;
      grid-template-columns: 1fr;
    }
    .creator-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
    .monitor-decision {
      grid-template-columns: 1fr;
    }
    .score-orb {
      justify-self: start;
    }
    .monitor-head-v2 {
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: flex-start;
    }
    .monitor-head-v2 .monitor-title {
      flex: 1 1 100%;
    }
    .monitor-head-v2 .status {
      margin-left: 29px;
      margin-top: 8px;
    }
  }

  @media (max-width: 430px) {
    .home-command-queue,
    .home-facts,
    .alerts-command .alerts-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .quick-start-panel { grid-template-columns: 1fr; }
    .quick-examples { grid-template-columns: 1fr; }
    .quick-start-actions { display: grid; grid-template-columns: 1fr; }
    .monitor-readiness,
    .monitor-readiness.cold,
    .monitor-help-panel {
      grid-template-columns: 1fr;
    }
    .audit-summary,
    .health-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .readiness-actions,
    .monitor-readiness.cold .readiness-actions {
      grid-template-columns: 1fr;
      min-width: 0;
    }
    .profile-hero { grid-template-columns: 1fr; }
    .profile-status { align-items: flex-start; }
    .profile-hero-actions { display: grid; grid-template-columns: 1fr; }
    .upgrade-actions { grid-template-columns: 1fr; }
    .tier-compare { grid-template-columns: 1fr; }
    .plan-card { grid-template-columns: 1fr; align-items: start; }
    .plan-card .plan-price { text-align: left; min-width: 0; }
    .settings-hero {
      align-items: stretch;
      flex-direction: column;
    }
    .settings-summary,
    .settings-layout,
    .settings-actions {
      grid-template-columns: 1fr;
    }
    .setting-line {
      align-items: stretch;
      flex-direction: column;
    }
    .setting-line .switch {
      align-self: flex-start;
    }
    .settings-number {
      max-width: none;
      width: 100%;
      flex: 0 0 auto;
    }
    .seller-stat-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .seller-verdict {
      grid-template-columns: 1fr;
    }
    .seller-verdict-mark {
      width: 30px;
      height: 30px;
    }
  }

  /* ===== Alerts feed (Wave 3) ===== */
  .alerts-toolbar {
    position: sticky;
    top: 58px;
    z-index: 4;
    margin: 12px 0 10px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(15, 23, 32, 0.86);
    backdrop-filter: blur(16px);
  }
  .alerts-toolbar .group {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .alerts-toolbar .group::-webkit-scrollbar { display: none; }
  .alerts-toolbar .group + .group { margin-top: 6px; }
  /* Compact chip для overflow-x скролла — меньше padding и шрифт. */
  .alerts-toolbar .chip {
    flex-shrink: 0;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
  }
  .alerts-toolbar .chip .count {
    display: inline-block;
    margin-left: 6px;
    padding: 0 6px;
    background: rgba(255,255,255,0.10);
    color: var(--fg);
    border-radius: 10px;
    font-size: 11px;
    font-weight: 800;
    min-width: 20px;
    text-align: center;
  }
  .alerts-toolbar .chip.active .count {
    background: rgba(0,0,0,0.18);
    color: var(--accent-fg);
  }
  .alerts-toolbar .chip.unread-filter {
    border-color: rgba(43, 213, 118, 0.45);
    color: var(--good);
  }
  .alerts-command {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    border-color: rgba(53, 225, 136, 0.28);
    background:
      linear-gradient(135deg, rgba(53, 225, 136, 0.18), transparent 46%),
      linear-gradient(225deg, rgba(101, 169, 237, 0.22), transparent 56%),
      var(--ink-panel);
  }
  .alerts-command-main,
  .alerts-command .alerts-decision,
  .alerts-command .alerts-facts,
  .alerts-command .route-brief-actions {
    position: relative;
    z-index: 1;
    min-width: 0;
  }
  .alerts-command-main {
    padding: 16px 16px 10px;
  }
  .alerts-command-main h2 {
    color: #fff;
  }
  .alerts-command-main p {
    color: var(--text-soft);
  }
  .alerts-command .alerts-decision {
    align-self: stretch;
    margin: 0 16px 10px;
  }
  .alerts-command .alerts-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 16px 12px;
  }
  .alerts-command .route-brief-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 16px 14px;
  }
  .feed-card {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)), var(--surface);
    margin-bottom: 10px;
    animation: rise 360ms ease both;
    overflow: hidden;
  }
  .feed-card.unread {
    border-color: rgba(43, 213, 118, 0.45);
    box-shadow: inset 3px 0 0 var(--good);
  }
  .feed-new {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(43, 213, 118, 0.14);
    color: var(--good);
    font-size: 11px;
    font-weight: 900;
  }
  .feed-priority {
    display: inline-flex;
    align-items: center;
    height: 20px;
    border: 1px solid rgba(190, 214, 235, 0.14);
    border-radius: 999px;
    color: var(--text);
    font-size: 11px;
    font-weight: 800;
    padding: 0 7px;
    background: rgba(255, 255, 255, 0.035);
  }
  .feed-priority.urgent,
  .feed-priority.high {
    border-color: rgba(245, 120, 80, .45);
    color: #ffd0bd;
  }
  .feed-priority.medium {
    border-color: rgba(245, 195, 80, .38);
    color: #ffe3a3;
  }
  .feed-card .feed-body { padding: 12px; }
  .feed-card.has-photo .feed-body { padding: 10px 12px 12px; }
  .feed-v2 {
    position: relative;
    border-color: rgba(190, 214, 235, 0.20);
    background:
      linear-gradient(135deg, rgba(101, 169, 237, 0.10), rgba(255, 255, 255, 0.02) 52%, rgba(53, 225, 136, 0.05)),
      var(--surface);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
  }
  .feed-v2::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--accent);
  }
  .feed-v2.buy::before { background: var(--good); }
  .feed-v2.check::before { background: var(--warn); }
  .feed-v2.drop::before { background: var(--accent); }
  .feed-decision {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin-bottom: 10px;
    padding: 9px;
    border: 1px solid rgba(190, 214, 235, 0.14);
    border-radius: 8px;
    background: rgba(7, 14, 22, 0.30);
  }
  .decision-mark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(101, 169, 237, 0.16);
    color: var(--accent);
    font-weight: 900;
  }
  .feed-v2.buy .decision-mark {
    background: rgba(53, 225, 136, 0.16);
    color: var(--good);
  }
  .feed-v2.check .decision-mark {
    background: rgba(255, 200, 90, 0.16);
    color: var(--warn);
  }
  .feed-decision b,
  .feed-decision small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .feed-decision b {
    color: #fff;
    font-size: 14px;
  }
  .feed-decision small {
    color: var(--text-soft);
    font-size: 12px;
  }
  .feed-photo {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
  }
  .feed-photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 200ms ease;
  }
  .feed-photo:active img { transform: scale(0.99); }
  .feed-photo.hidden { display: none; }
  .feed-photo-discount {
    position: absolute;
    top: 8px; left: 8px;
    background: var(--good);
    color: #07111d;
    font-weight: 900;
    font-size: 14px;
    padding: 4px 9px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  }
  .feed-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
  .feed-discount { color: var(--good); font-size: 22px; font-weight: 900; }
  .feed-price { font-weight: 800; font-size: 15px; }
  .feed-meta {
    color: var(--hint);
    font-size: 12px;
    margin: 5px 0;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    align-items: center;
  }
  .feed-meta > span:not(.feed-new):not(.feed-priority) {
    border: 1px solid rgba(190, 214, 235, 0.10);
    border-radius: 999px;
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.025);
  }
  .feed-subj { color: var(--text-soft); overflow-wrap: anywhere; line-height: 1.35; margin-bottom: 10px; }
  .feed-signal {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 9px;
    margin-bottom: 9px;
  }
  .signal-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .signal-fact {
    min-width: 0;
    padding: 7px;
    border-radius: 7px;
    background: rgba(255,255,255,0.03);
  }
  .signal-fact span {
    display: block;
    color: var(--hint);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
  }
  .signal-fact b {
    display: block;
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
  .signal-fact.good b { color: var(--good); }
  .signal-fact.low b { color: var(--warn); }
  .signal-fact.watch b { color: #ffcf70; }
  .signal-fact.muted b { color: var(--hint); }
  .signal-context {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    color: var(--hint);
    font-size: 12px;
  }
  .signal-context strong {
    color: var(--text-soft);
    overflow-wrap: anywhere;
    text-align: right;
  }
  .feed-tags, .feed-riskline, .feed-secondary-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
  }
  .feed-tags { margin-top: 8px; }
  .feed-tag, .feed-riskline span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid var(--soft-line);
    border-radius: 999px;
    color: var(--hint);
    font-size: 11px;
    font-weight: 800;
  }
  .feed-tag.event { color: var(--accent); border-color: rgba(101,169,237,0.35); }
  .feed-tag.high { color: var(--good); border-color: rgba(53,225,136,0.35); }
  .feed-tag.watch, .feed-tag.low { color: var(--warn); border-color: rgba(255,200,90,0.35); }
  .feed-riskline {
    margin: -2px 0 9px;
  }
  .feed-riskline span {
    color: var(--warn);
    background: rgba(255,200,90,0.07);
    border-color: rgba(255,200,90,0.28);
  }
  .feed-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 6px;
    align-items: center;
  }
  .feed-actions.primary-actions {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }
  .feed-mini {
    appearance: none;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: transparent;
    color: var(--hint);
    height: 36px;
    padding: 0 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }
  .feed-mini.primary { color: var(--accent-fg); background: var(--accent); border-color: var(--accent); }
  .feed-more {
    margin-top: 8px;
  }
  .feed-more summary {
    list-style: none;
    cursor: pointer;
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
    width: max-content;
    max-width: 100%;
    padding: 6px 0;
  }
  .feed-more summary::-webkit-details-marker { display: none; }
  .feed-more summary::after {
    content: " +";
    color: var(--accent);
  }
  .feed-more[open] summary::after {
    content: " −";
  }
  .feed-secondary-actions { margin-top: 4px; }
  .explain-box {
    margin-top: 10px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 12px;
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
    color: var(--text-soft);
  }
  .ai-modal-head {
    padding-right: 34px;
    margin-bottom: 12px;
  }
  .ai-loading {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 12px;
  }
  .ai-loading .skeleton {
    width: 74px;
    height: 74px;
  }
  .ai-loading b,
  .ai-loading span {
    display: block;
  }
  .ai-loading span,
  .ai-hint,
  .ai-paywall p {
    color: var(--hint);
    font-size: 13px;
  }
  .ai-result {
    border: 1px solid rgba(101,169,237,0.34);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(101,169,237,0.10), rgba(53,225,136,0.06)),
      rgba(255,255,255,0.025);
    overflow: hidden;
  }
  .ai-result-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    padding: 9px 11px;
    border-bottom: 1px solid var(--soft-line);
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
  }
  .ai-result-top b {
    color: var(--good);
    font-size: 11px;
    text-transform: uppercase;
  }
  .ai-result-text {
    padding: 12px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: var(--text-soft);
    font-size: 14px;
    line-height: 1.5;
  }
  .ai-hint {
    margin-top: 9px;
  }
  .ai-paywall {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    border: 1px solid rgba(101,169,237,0.34);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 13px;
  }
  .ai-paywall-mark {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: rgba(101,169,237,0.16);
  }
  .ai-paywall b {
    display: block;
    margin-bottom: 4px;
  }
  .ai-paywall p {
    margin: 0;
  }
  .ai-paywall-bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
  }
  .ai-paywall-bullets span {
    border: 1px solid var(--soft-line);
    border-radius: 999px;
    padding: 5px 8px;
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
  }
  .ai-actions {
    grid-template-columns: minmax(0, 1fr) minmax(110px, 0.55fr);
  }
  @media (max-width: 430px) {
    .signal-facts { grid-template-columns: 1fr 1fr; }
    .signal-fact:last-child { grid-column: 1 / -1; }
    .signal-context {
      align-items: flex-start;
      flex-direction: column;
      gap: 3px;
    }
    .signal-context strong { text-align: left; }
    .feed-actions.primary-actions {
      grid-template-columns: 44px 44px 1fr;
    }
    .feed-actions.primary-actions .feed-mini.primary {
      grid-column: 1 / -1;
    }
    .feed-actions.primary-actions .feed-mini:not(.primary) {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .ai-actions {
      grid-template-columns: 1fr;
    }
    .ai-loading {
      grid-template-columns: 1fr;
    }
  }

  /* Sparkline для market history */
  .spark-wrap {
    margin-top: 10px;
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: rgba(255,255,255,0.025);
    padding: 12px;
  }
  .spark-wrap .summary {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
  }
  .spark-wrap .summary b { font-size: 18px; }
  .spark-wrap .summary .delta.up { color: var(--danger); }
  .spark-wrap .summary .delta.down { color: var(--good); }
  .spark-wrap .summary .delta.flat { color: var(--hint); }
  .spark { display: block; width: 100%; height: 60px; }
  .spark path { fill: none; stroke: var(--accent); stroke-width: 2; }
  .spark .area { fill: var(--accent); opacity: 0.12; stroke: none; }

  .admin-chart {
    display: grid;
    gap: 8px;
  }
  .admin-chart-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
  }
  .admin-chart-head h3 {
    margin: 0;
    font-size: 14px;
  }
  .admin-chart-head span {
    color: var(--hint);
    font-size: 11px;
    font-weight: 800;
  }
  .admin-chart svg {
    width: 100%;
    height: 126px;
    display: block;
  }
  .admin-chart path {
    fill: none;
    stroke-width: 2.4;
    vector-effect: non-scaling-stroke;
  }
  .admin-chart .axis {
    stroke: var(--soft-line);
    stroke-width: 1;
  }
  .admin-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--hint);
    font-size: 12px;
    font-weight: 800;
  }
  .admin-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }
  .admin-chart-legend i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    display: inline-block;
  }
  .admin-bars {
    display: grid;
    gap: 8px;
  }
  .admin-bars h3 {
    margin: 0 0 2px;
    font-size: 14px;
  }
  .admin-bar-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    position: relative;
    padding-bottom: 8px;
    overflow: hidden;
  }
  .admin-bar-row span,
  .admin-bar-row b {
    position: relative;
    z-index: 1;
  }
  .admin-bar-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-bar-row i {
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--accent);
    opacity: 0.75;
  }

  .sub-section {
    margin: 18px 0 8px;
    color: var(--hint);
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.2px;
  }

  /* Product market */
  .market-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.45fr);
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
  }
  .market-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    background: var(--surface);
    overflow: hidden;
    margin-bottom: 12px;
  }
  .market-products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .market-product {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(101,169,237,0.075), transparent 56%), var(--surface);
    padding: 12px;
    cursor: pointer;
    transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  }
  .market-product:hover { border-color: rgba(101,169,237,0.45); background-color: rgba(255,255,255,0.035); }
  .market-product:active { transform: scale(0.99); }
  .market-product-head,
  .market-detail-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
  }
  .market-product h3,
  .market-detail h2 {
    margin: 0;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }
  .market-product h3 { font-size: 15px; }
  .market-detail h2 { font-size: 21px; }
  .market-price-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin-top: 10px;
  }
  .market-price-row b { font-size: 20px; }
  .market-price-row span { color: var(--hint); font-size: 12px; text-align: right; }
  .market-range {
    position: relative;
    height: 8px;
    margin: 12px 0 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    overflow: hidden;
  }
  .market-range span {
    position: absolute;
    top: 0; bottom: 0;
    border-radius: 999px;
    background: var(--accent);
    opacity: 0.7;
  }
  .market-range i {
    position: absolute;
    top: -3px;
    width: 3px;
    height: 14px;
    border-radius: 2px;
    background: var(--fg);
    transform: translateX(-50%);
  }
  .market-product-foot {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    color: var(--hint);
    font-size: 11px;
  }
  .market-product-foot span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .market-product-foot span:nth-child(2) { text-align: center; color: var(--good); font-weight: 800; }
  .market-product-foot span:nth-child(3) { text-align: right; }
  .market-detail {
    border: 1px solid rgba(101,169,237,0.38);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(101,169,237,0.12), rgba(53,225,136,0.055)), var(--surface);
    padding: 14px;
    margin: 12px 0;
  }
  .market-facts,
  .market-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-top: 12px;
  }
  .market-band {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .market-band div {
    border: 1px solid var(--soft-line);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255,255,255,0.025);
    min-width: 0;
  }
  .market-band span {
    display: block;
    color: var(--hint);
    font-size: 11px;
  }
  .market-band b {
    display: block;
    margin-top: 4px;
    overflow-wrap: anywhere;
  }
  .market-meta { margin-top: 10px; margin-bottom: 0; }
  .market-meta .toggle-row span:last-child {
    text-align: right;
    color: var(--hint);
    font-size: 12px;
  }
  @media (max-width: 560px) {
    .market-toolbar { grid-template-columns: 1fr; }
    .market-overview,
    .market-facts,
    .market-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .market-band div:last-child { grid-column: 1 / -1; }
  }
