/* ---------- экран «Карта денег» (money_map.js): правила панели .mm-/.mm2- в токенах сайта ----------
   Отдельный файл: широкие таблицы карты (880–1050px) живут в своих рамках overflow-x: auto, а стражи
   телефона styles.css (≤ 375px) их бы не пустили — сверка рамок в test_money_map_web.py.
   Куски panel/renderer/styles.css по якорям css_blocks.PANEL['mm2'] и ['mm2_goal'], замены токенов — в
   service/tests/test_money_map_web.py. Телефон (360 px) — медиа-правила панели, своих правил сайта нет. */
.mm-stamp { margin: 0 0 8px; padding: 4px 9px; border: 1px solid var(--orange);
  border-radius: 7px; color: var(--orange); font-size: 11px; }
.mm-stamp.stale { border-color: #e08b8b; color: #e08b8b; }
.mm-horizon { margin-bottom: 16px; }
.mm-h-title { font-size: 12px; font-weight: 600; margin: 2px 0 7px; }
.mm-empty { padding: 10px 12px; border: 1px dashed var(--border); border-radius: 8px;
  color: var(--muted); font-size: 12px; }
.mm-loss { color: var(--red); font-weight: 600; }
.mm-ok { color: var(--green); }
.mm-unmeasured { color: var(--muted); font-style: italic; white-space: nowrap; }
.mm-state { display: inline-block; padding: 1px 8px; border-radius: 999px;
  border: 1px solid; font-size: 11px; font-weight: 600; white-space: nowrap; }
.mm-state.mm-button { color: var(--blue-600); border-color: var(--blue-600); }
.mm-state.mm-task { color: var(--orange); border-color: var(--orange); }
.mm-state.mm-unresolved { color: #e08b8b; border-color: #e08b8b;
  background: rgba(255, 84, 73, .08); }
.mm-state.mm-no_leak { color: var(--green); border-color: var(--green); }
table.mart.mart-money tr.clickable { cursor: pointer; }
table.mart.mart-money tr.open > td { background: rgba(76, 141, 255, .10); }
.mm-num { cursor: pointer;
  text-decoration: underline dotted rgba(16, 24, 40, .25);
  text-underline-offset: 3px; }
.mm-num:hover { color: var(--blue-600); }
.mm-detail > td { padding: 8px 10px 12px; background: rgba(0, 0, 0, .12); }
.mm-block { margin-bottom: 12px; }
.mm-block:last-child { margin-bottom: 0; }
.mm-block h4 { font-size: 10px; color: var(--muted); font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; margin-bottom: 5px; }
.mm-decision { margin-bottom: 2px; }
.mm-what { font-size: 12px; margin: 3px 0; }
.mm-meta { color: var(--muted); font-size: 11px; margin: 2px 0; }
.mm-missing { margin: 2px 0 0; padding-left: 18px; color: #e08b8b; font-size: 12px; }
.mm-obs { margin: 0; padding: 5px 10px 5px 14px; list-style: none;
  border-left: 3px dashed var(--muted); color: var(--muted); font-style: italic;
  font-size: 12px; background: rgba(16, 24, 40, .02); border-radius: 0 7px 7px 0; }
.mm-obs li { margin: 3px 0; }
.mm-comp-row { display: flex; gap: 12px; align-items: baseline; padding: 2px 0;
  font-size: 12px; }
.mm-comp-row.mm-strong .mm-comp-title { color: var(--text); font-weight: 600; }
.mm-comp-title { width: 220px; flex: 0 0 auto; color: var(--muted); }
.mm-comp-val { min-width: 96px; text-align: right;
  font-variant-numeric: tabular-nums; }
.mm-comp-reason { color: var(--muted); font-size: 11px; flex: 1; }
.mm-trace { border: 1px solid var(--blue-600); background: rgba(76, 141, 255, .07);
  border-radius: 8px; padding: 8px 12px; font-size: 12px; margin-bottom: 12px; }
.mm-trace .t-head { margin-bottom: 4px; }
.mm-trace .t-row { margin: 2px 0; }
.mm-trace .t-k { color: var(--muted); }
.mm-trace .t-in { white-space: nowrap; }
.mm-trace .t-per { color: var(--muted); font-size: 11px; }

/* ---------- Карта денег v2 (money_map_v2, T6) ---------- */
/* Цвета серий графика — слоты 1–3 категориальной палитры dataviz,
   отдельно выбранные под тёмную и светлую подложку панели (проверены
   валидатором: разделимость при дальтонизме и контраст к фону). */
:root {
  --mm2-s1: #3987e5;   /* заказы, столбцы */
  --mm2-s2: #d95926;   /* реклама Трафареты + ВВТ + Спецразмещение */
  --mm2-s3: #199e70;   /* ОЗЗ по дате заказа */
}
:root {
  --mm2-s1: #2a78d6; --mm2-s2: #eb6834; --mm2-s3: #1baf7a;
}
.mm2-sec { margin: 0 0 18px; }
.mm2-view-nav { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 14px; padding-bottom: 8px;
  border-bottom: 1px solid var(--border); }
.mm2-view-btn { appearance: none; background: transparent; color: var(--muted); border: 1px solid var(--border);
  border-radius: 8px; padding: 5px 12px; font: inherit; font-size: 12px; cursor: pointer; }
.mm2-view-btn:hover { color: var(--text); border-color: var(--blue-600); }
.mm2-view-btn.active { color: var(--text); border-color: var(--blue-600); background: rgba(76, 141, 255, .10); }
.mm2-data-alert { margin: 0 0 10px; padding: 8px 10px; border-left: 4px solid var(--orange);
  border-radius: 6px; background: rgba(230, 170, 30, .10); font-size: 12px; }
.mm2-link-btn { appearance: none; border: 0; background: transparent; color: var(--blue-600);
  padding: 0; font: inherit; font-size: 11px; cursor: pointer; text-decoration: underline; }
.mm2-data-alert .mm2-link-btn { margin-left: 8px; }
.mm2-period { margin: 0 0 10px; }
.mm2-period .mm2-h { margin-bottom: 0; }
.mm2-period-note { margin-top: 4px; color: var(--muted); font-size: 11px; }
.mm2-period-detail { margin-top: 7px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 8px; }
.mm2-owner-summary { margin-bottom: 12px; }
.mm2-cmp { margin: 0 0 14px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; }
.mm2-cmp-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-bottom: 8px; }
.mm2-cmp-head p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.mm2-cmp-head > span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.mm2-cmp-scroll { overflow-x: auto; }
.mm2-cmp-table { min-width: 980px; }
.mm2-cmp-table th:first-child { width: 155px; }
.mm2-cmp-table th:last-child { width: 245px; }
.mm2-cmp-table td { vertical-align: top; line-height: 1.35; }
.mm2-cmp-table td small { display: block; color: var(--muted); margin-top: 3px; }
.mm2-cmp-delta { display: inline-block; margin-left: 5px; font-size: 10px; }
.mm2-cmp-delta.good { color: var(--green); }
.mm2-cmp-delta.bad { color: var(--red); }
.mm2-cmp-delta.flat { color: var(--muted); }
.mm2-cmp-journal-wrap { margin-top: 10px; }
.mm2-cmp-journal-wrap > summary { cursor: pointer; color: var(--blue-600); font-size: 12px; }
.mm2-cmp-journal { min-width: 1050px; margin-top: 8px; }
.mm2-cmp-journal td { vertical-align: top; }
.mm2-overview-kpis { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 8px; margin: 8px 0; }
.mm2-overview-kpi { min-width: 0; border: 1px solid var(--border); border-radius: 9px; padding: 8px 10px; }
.mm2-overview-kpi.bad { border-color: var(--red); }
.mm2-overview-kpi.ok { border-color: var(--green); }
.mm2-overview-kpi.warn { border-color: var(--orange); }
.mm2-owner-grid { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.1fr);
  gap: 10px; margin-bottom: 14px; }
.mm2-owner-panel { border: 1px solid var(--border); border-radius: 9px; padding: 9px 11px; min-width: 0; }
.mm2-owner-panel .mm2-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mm2-owner-panel .mm2-card { min-width: 0; }
.mm2-action-title { font-size: 14px; font-weight: 700; margin-bottom: 5px; }
.mm2-action-meta { color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.mm2-action-meta .mm2-badge { margin-right: 5px; }
.mm2-action-forecast { margin: 7px 0; font-size: 12px; }
.mm2-owner-ok, .mm2-owner-signals { padding: 6px 9px; border-radius: 7px; font-size: 11px; }
.mm2-owner-ok { color: var(--green); background: rgba(52, 168, 83, .08); }
.mm2-owner-signals { color: var(--orange); background: rgba(230, 170, 30, .08); }
.mm2-h { font-size: 12px; font-weight: 700; margin: 0 0 7px; letter-spacing: .3px; }
.mm2-h4 { font-size: 11px; font-weight: 700; color: var(--muted); margin: 10px 0 4px; }
.mm2-sub { font-size: 12px; margin: 3px 0; }
.mm2-sub.warn { color: var(--orange); }
.mm2-kpis { display: flex; gap: 10px; flex-wrap: wrap; }
.mm2-kpi { border: 1px solid var(--border); border-radius: 10px; padding: 7px 12px; min-width: 150px; }
.mm2-order-kpis { margin: 5px 0 8px; }
.mm2-order-kpis .mm2-kpi { min-width: 220px; flex: 1 1 220px; }
.mm2-order-note { margin: 0 0 9px; padding: 7px 10px; border-radius: 7px;
  background: rgba(76, 141, 255, .07); color: var(--muted); font-size: 11px; }
.mm2-order-note b { color: var(--text); }
.mm2-kpi-t { font-size: 11px; color: var(--muted); }
.mm2-kpi-v { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }
.mm2-kpi-s { font-size: 11px; color: var(--muted); }
.mm2-badge { display: inline-block; padding: 1px 8px; border-radius: 999px;
  border: 1px solid var(--border); font-size: 11px; color: var(--muted); }
.mm2-badge.ok { color: var(--green); border-color: var(--green); }
.mm2-badge.warn { color: var(--orange); border-color: var(--orange); }
.mm2-badge.bad { color: var(--red); border-color: var(--red); }
.mm2-result { margin: 8px 0 5px; padding: 8px 10px; border-left: 4px solid var(--border);
  border-radius: 5px; background: rgba(128, 128, 128, .08); font-size: 12px; }
.mm2-result .mm2-badge { margin-right: 8px; }
.mm2-result.bad { border-left-color: var(--red); background: rgba(220, 70, 70, .10); }
.mm2-result.ok { border-left-color: var(--green); background: rgba(52, 168, 83, .10); }
.mm2-result.warn { border-left-color: var(--orange); background: rgba(230, 170, 30, .10); }
.mm2-question, .mm2-why { margin-bottom: 8px; }
.mm2-strip { border: 1px solid var(--border); border-radius: 10px; padding: 8px 12px; margin: 0 0 16px; }
.mm2-strip-head { display: flex; align-items: center; gap: 10px; }
.mm2-strip-row { font-size: 12px; display: flex; gap: 14px; flex-wrap: wrap; margin: 3px 0; }
.mm2-strip-row.dim { color: var(--muted); }
.mm2-switch { display: flex; gap: 4px; margin-left: auto; }
.mm2-sw { background: none; border: 1px solid var(--border); color: var(--muted);
  border-radius: 7px; padding: 2px 10px; font-size: 12px; cursor: pointer; }
.mm2-sw.active { color: var(--text); border-color: var(--blue-600); }
/* График: одна серия — один цвет, линии 2 px, сетка приглушена, без
   заливок и градиентов. Обе оси подписаны своими единицами, легенда
   называет серии словами — цвет не единственный признак. */
/* пропорции держит viewBox: без preserveAspectRatio="none" текст осей
   и штрихи не растягиваются по ширине панели */
.mm2-chart { width: 100%; height: auto; display: block; }
.mm2-grid { stroke: var(--border); stroke-width: 1; }
.mm2-bar { fill: var(--mm2-s1); }
.mm2-bar.s3 { fill: var(--mm2-s3); }
.mm2-line { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.mm2-line.s2 { stroke: var(--mm2-s2); }
.mm2-line.s3 { stroke: var(--mm2-s3); }
.mm2-dot.s2 { fill: var(--mm2-s2); }
.mm2-dot.s3 { fill: var(--mm2-s3); }
.mm2-evt { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 3 3; }
.mm2-evt-t { fill: var(--muted); font-size: 9px; }
.mm2-ax { fill: var(--muted); font-size: 9px; }
.mm2-hover { fill: transparent; pointer-events: all; cursor: crosshair;
  transition: fill .12s ease, stroke .12s ease; }
.mm2-hover:hover { fill: rgba(255, 193, 7, .18); stroke: var(--orange); stroke-width: 1.5; }
.mm2-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11px;
  color: var(--muted); margin-bottom: 4px; }
.mm2-leg::before { content: ''; display: inline-block; width: 10px; height: 10px;
  border-radius: 3px; margin-right: 5px; vertical-align: -1px; background: var(--muted); }
.mm2-leg.s1::before { background: var(--mm2-s1); }
.mm2-leg.s2::before { background: var(--mm2-s2); }
.mm2-leg.s3::before { background: var(--mm2-s3); }
.mm2-spark { width: 240px; height: 46px; vertical-align: middle; }
.mm2-cards { display: flex; gap: 10px; flex-wrap: wrap; }
.mm2-card { border: 1px solid var(--border); border-radius: 10px; padding: 8px 12px; min-width: 240px; }
.mm2-card-t { font-weight: 600; font-size: 12px; }
.mm2-card-v { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.mm2-card-s { font-size: 11px; }
table.mart.mart-mm2 { width: 100%; }
table.mart.mart-mm2 td, table.mart.mart-mm2 th { white-space: normal; }
table.mart.mart-mm2-sku tr.clickable { cursor: pointer; }
table.mart.mart-mm2 tr.open > td { background: rgba(76, 141, 255, .10); }
tr.mm2-subhead > td { color: var(--muted); font-size: 11px; }
.mm2-split-cell { line-height: 1.55; white-space: nowrap; }
tr.mm2-best > td { background: rgba(52, 168, 83, .10); }
table.mart.mart-mm2 th.mm2-hgrp { text-align: center; }
table.mart.mart-mm2 th.mm2-gsep, table.mart.mart-mm2 td.mm2-gsep { border-left: 1px solid var(--border); }
tr.mm2-nowrow > td { background: rgba(16, 24, 40, .05); }
.mm2-detail > td { padding: 8px 10px 12px; background: rgba(0, 0, 0, .12); }
.mm2-verdict { display: inline-block; padding: 1px 8px; border-radius: 999px;
  border: 1px solid var(--border); font-size: 11px; }
.mm2-verdict.v-profitable { color: var(--green); border-color: var(--green); }
.mm2-verdict.v-marginal { color: var(--orange); border-color: var(--orange); }
.mm2-verdict.v-loss { color: var(--red); border-color: var(--red); }
.mm2-verdict.v-no_stock, .mm2-verdict.v-no_spend { color: var(--muted); }
.mm2-check { display: inline-block; padding: 1px 8px; border-radius: 999px;
  border: 1px solid var(--border); font-size: 11px; color: var(--muted); }
.mm2-check.c-passed { color: var(--green); border-color: var(--green); }
.mm2-check.c-failed { color: var(--red); border-color: var(--red); }
.mm2-check.c-pending { color: var(--orange); border-color: var(--orange); }
.mm2-do-list { margin: 0; padding: 0; list-style: none; }
.mm2-do { border-left: 3px solid var(--border); padding: 4px 0 6px 10px; margin: 6px 0; }
.mm2-do-t { font-size: 12px; }
/* Главное действие: рамка и бейдж, чтобы его не искали глазами в списке. */
.mm2-do.mm2-primary { border-left-color: var(--green); background: rgba(52, 168, 83, .07); }
.mm2-badge.main { color: var(--green); border-color: var(--green); font-weight: 600; }
.mm2-primary-why { color: var(--green); }
.mm2-noclick { font-variant-numeric: tabular-nums; }
.mm2-list { margin: 0; padding-left: 18px; font-size: 12px; }
.mm2-fold summary { cursor: pointer; font-size: 12px; color: var(--muted); }
.mm2-num { cursor: pointer; }
.mm2-trace { margin-top: 8px; }

/* Управленческие экраны пяти вкладок прототипа. */
.mm2-owner-heading { display: flex; justify-content: space-between; gap: 16px; align-items: end;
  margin: 2px 0 12px; }
.mm2-owner-heading h2 { margin: 0 0 3px; font-size: 18px; }
.mm2-owner-heading p, .mm2-owner-heading > span { margin: 0; color: var(--muted); font-size: 11px; }
.mm2-owner-heading > span { white-space: nowrap; }
.mm2-owner-callout { margin: 0 0 12px; padding: 9px 12px; border-left: 4px solid var(--border);
  border-radius: 6px; background: rgba(128, 128, 128, .08); font-size: 12px; }
.mm2-owner-callout b { display: block; margin-bottom: 3px; }
.mm2-owner-callout.good { border-color: var(--green); background: rgba(52, 168, 83, .08); }
.mm2-owner-callout.bad { border-color: var(--red); background: rgba(220, 70, 70, .09); }
.mm2-owner-callout.warn { border-color: var(--orange); background: rgba(230, 170, 30, .09); }
.mm2-owner-table-wrap { overflow-x: auto; }
.mm2-owner-table { min-width: 880px; }
.mm2-owner-table td { vertical-align: top; }
.mm2-owner-table tr.mm2-priority > td { background: rgba(220, 70, 70, .07); }
.mm2-owner-pill { display: inline-block; padding: 1px 7px; border: 1px solid var(--border); border-radius: 999px; }
.mm2-owner-pill.good { color: var(--green); border-color: var(--green); }
.mm2-owner-pill.bad { color: var(--red); border-color: var(--red); }
.mm2-owner-pill.wait { color: var(--orange); border-color: var(--orange); }
.mm2-owner-focus-grid, .mm2-owner-audit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px; margin: 12px 0; }
.mm2-owner-focus-grid article, .mm2-owner-audit, .mm2-owner-two article,
.mm2-owner-rules article, .mm2-owner-audit-kpis article { border: 1px solid var(--border); border-radius: 9px;
  padding: 10px 12px; min-width: 0; }
.mm2-owner-focus-grid span, .mm2-owner-audit > span { font-size: 10px; font-weight: 700; }
.mm2-owner-focus-grid h3, .mm2-owner-audit h3, .mm2-owner-two h3 { margin: 5px 0; font-size: 13px; }
.mm2-owner-focus-grid p, .mm2-owner-audit p, .mm2-owner-two p, .mm2-owner-rules p { margin: 0; font-size: 11px; color: var(--muted); }
.mm2-owner-focus-grid .good span, .mm2-owner-audit.yes > span, .mm2-owner-audit-kpis .good { color: var(--green); }
.mm2-owner-focus-grid .bad span, .mm2-owner-audit.no > span, .mm2-owner-audit-kpis .bad { color: var(--red); }
.mm2-owner-focus-grid .wait span, .mm2-owner-audit.some > span, .mm2-owner-audit-kpis .wait { color: var(--orange); }
.mm2-owner-hero { display: grid; grid-template-columns: minmax(300px, 1.3fr) minmax(260px, .7fr);
  gap: 10px; margin-bottom: 12px; }
.mm2-owner-hero > article { border: 1px solid var(--border); border-radius: 10px; padding: 12px; }
.mm2-owner-hero > article:first-child { background: rgba(52, 168, 83, .06); }
.mm2-owner-hero h2 { font-size: 17px; margin: 5px 0; }
.mm2-owner-hero p { margin: 0; color: var(--muted); font-size: 11px; }
.mm2-owner-hero > article > span, .mm2-owner-periods small { color: var(--muted); font-size: 10px; }
.mm2-owner-periods { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mm2-owner-periods div { display: flex; flex-direction: column; gap: 4px; }
.mm2-owner-periods b { font-size: 14px; }
.mm2-owner-periods span { font-size: 11px; }
.mm2-owner-plan-list { display: grid; gap: 8px; margin: 0 0 12px; }
.mm2-owner-plan { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(230px, .45fr);
  gap: 14px; border: 1px solid var(--border); border-radius: 9px; padding: 10px 12px; }
.mm2-owner-plan.primary { border-color: var(--blue-600); background: rgba(76, 141, 255, .07); }
.mm2-owner-plan h3 { margin: 0 0 4px; font-size: 13px; }
.mm2-owner-plan p, .mm2-owner-plan span { display: block; margin: 0; color: var(--muted); font-size: 11px; }
.mm2-owner-plan > div:last-child b { display: block; margin-bottom: 4px; font-size: 11px; }
.mm2-owner-audit-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.mm2-owner-audit-kpis article { display: flex; flex-direction: column; gap: 4px; }
.mm2-owner-audit-kpis span, .mm2-owner-audit-kpis small { color: var(--muted); font-size: 10px; }
.mm2-owner-audit-kpis b { font-size: 25px; }
.mm2-owner-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
.mm2-owner-rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 14px; }
.mm2-owner-rules b { font-size: 12px; }
.mm2-owner-details { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 10px; }
.mm2-owner-details > summary { cursor: pointer; color: var(--blue-600); font-size: 12px; }
.mm2-owner-details-body { margin-top: 14px; }

@media (max-width: 900px) {
  .mm2-overview-kpis { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .mm2-owner-grid { grid-template-columns: 1fr; }
  .mm2-owner-focus-grid, .mm2-owner-audit-grid { grid-template-columns: 1fr; }
  .mm2-owner-audit-kpis { grid-template-columns: repeat(2, 1fr); }
  .mm2-owner-hero, .mm2-owner-plan, .mm2-owner-two { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .mm2-overview-kpis { grid-template-columns: 1fr; }
  .mm2-owner-panel .mm2-cards { grid-template-columns: 1fr; }
}
.mm2-goal-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 8px; }
.mm2-goal-card { min-width: 0; border: 1px solid var(--border); border-left-width: 4px; border-radius: 9px;
  padding: 8px 10px; font-size: 12px; overflow-wrap: anywhere; }
.mm2-goal-card.bad { border-left-color: var(--red); }
.mm2-goal-card.good { border-left-color: var(--green); }
.mm2-goal-card.wait { border-left-color: var(--orange); }
.mm2-goal-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 4px; }
.mm2-goal-main { margin: 2px 0; }
.mm2-goal-line { margin: 3px 0; }
.mm2-goal-line code { white-space: normal; overflow-wrap: anywhere; }
.mm2-goal-proposal, .mm2-goal-log { margin-top: 6px; padding: 6px 8px; border-radius: 7px; background: rgba(76, 141, 255, .08); }
.mm2-goal-causes { margin-top: 6px; }
.mm2-goal-causes > summary { cursor: pointer; color: var(--blue-600); font-size: 11px; }
.mm2-goal-causes ul { margin: 4px 0; padding-left: 16px; }
.mm2-goal-causes li > span:first-child { display: inline-block; min-width: 105px; }
.mm2-goal-delta.good { color: var(--green); }
.mm2-goal-delta.bad { color: var(--red); }
.mm2-goal-tile { margin: 8px 0; padding: 8px 10px; border: 1px solid var(--border); border-left-width: 4px;
  border-radius: 9px; font-size: 12px; overflow-wrap: anywhere; }
.mm2-goal-tile.bad { border-left-color: var(--red); }
.mm2-goal-tile.good { border-left-color: var(--green); }
.mm2-goal-tile.wait { border-left-color: var(--orange); }
.mm2-goal-tile .mm2-link-btn { margin-top: 4px; }

/* ---------- строка «Из базы / Из листа» над картой денег: своё правило сайта, не копия панели ---------- */
.mm2-sources { margin: 0 0 8px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
