@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-400-cyr.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-400-lat.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-500-cyr.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-500-lat.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-600-cyr.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-600-lat.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-700-cyr.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBMPlexSans';src:url('fonts/IBMPlexSans-700-lat.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root {
  color-scheme: light;
  --bg: #e9e7e2;
  --panel: #f6f5f2;
  --panel-2: #efeeea;
  --work: #fbfaf8;
  --card: #fdfcfa;
  --card-hover: #f3f1ec;
  --surface: #f2f1ec;
  --line: #e3e1da;
  --line-soft: #ebe9e3;
  --ink: #1f2024;
  --ink-2: #43424a;
  --muted: #5b5a62;
  --faint: #6a6972;
  --violet: #6d4aef;
  --magenta: #c246c4;
  --orange: #e2733a;
  --red: #d64a58;
  --green: #12946a;
  --blue: #3a7bd5;
  --r-sm: 11px;
  --r-md: 16px;
  --r-lg: 22px;
  --shadow: 0 18px 44px rgb(50 42 32 / 12%);
  --shadow-soft: 0 2px 6px rgb(50 42 32 / 5%);
  font-family: 'IBMPlexSans', Arial, sans-serif;
}

body, button, input, select, textarea { font-family: 'IBMPlexSans', Arial, sans-serif; }

/* Живые данные: новые элементы используют принятую тему без изменения базовых токенов. */
.example-note {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #5b4a12;
  background: rgba(250, 204, 21, .16);
  font-size: 14px;
  line-height: 1.35;
}
.section-example { margin: 0 0 20px; }
.negative-review-list { display: grid; gap: 8px; }
.negative-review-list a {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  color: inherit;
  background: rgba(255,255,255,.62);
  text-decoration: none;
}
.negative-review-list a span {
  overflow: hidden;
  color: var(--muted, #667085);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-more {
  width: calc(100% - 16px);
  margin: 8px;
  padding: 12px;
  border: 0;
  border-radius: 12px;
  color: #432c7a;
  background: rgba(139,92,246,.12);
  cursor: pointer;
}
.unmapped-note { display: grid; gap: 3px; margin: 10px 0 8px; padding: 10px 12px; border-radius: 12px; background: rgba(226,115,58,.11); font-size: 12px; }
.unmapped-note span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.live-range { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; }
.live-range label { display: grid; gap: 5px; color: var(--muted, #667085); font-size: 12.5px; }
.live-range input { min-width: 0; padding: 9px; border: 1px solid rgba(74,56,111,.16); border-radius: 10px; font: inherit; }
.live-range .button { grid-column: 1 / -1; }
.point-search { position: sticky; top: 0; z-index: 2; width: calc(100% - 16px); margin: 8px; padding: 10px 12px; border: 1px solid rgba(74,56,111,.16); border-radius: 10px; background: #fff; font: inherit; }
.point-select-menu [data-point-options] { display: grid; max-height: 330px; overflow: auto; }
.unavailable-report { display: grid; place-content: center; min-height: 320px; text-align: center; }
.unavailable-report p { max-width: 460px; color: var(--muted, #667085); }
.load-error { display: grid; min-height: 100vh; place-content: center; padding: 40px; text-align: center; }
.compare-report .compare-head,
.compare-report .compare-row { display: grid; grid-template-columns: minmax(220px,1fr) repeat(3,minmax(96px,132px)); align-items: center; gap: 18px; }
.compare-report .compare-head { padding: 0 14px 8px; }
.compare-report .compare-head span:first-child { text-align: left; }
.compare-report .compare-head span:not(:first-child) { text-align: right; }
.compare-report .compare-row { min-height: 56px; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.64); }
.compare-report .compare-row + .compare-row { margin-top: 6px; }
.compare-report .compare-row span { text-align: right; font-variant-numeric: tabular-nums; }
@media (min-width: 1700px) {
  .compare-report .compare-head,
  .compare-report .compare-row { grid-template-columns: minmax(300px,1fr) repeat(3,150px); gap: 24px; }
}

* { box-sizing: border-box; }
html, body { margin: 0; min-width: 1180px; height: 100%; background: var(--bg); color: var(--ink); }
body { overflow: hidden; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { outline: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  border-color: var(--violet) !important;
  box-shadow: 0 0 0 3px rgb(109 74 239 / 22%), 0 0 16px rgb(109 74 239 / 12%) !important;
}
a { color: inherit; text-decoration: none; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: #cbc8c0; background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }

.app { display: grid; grid-template-columns: 228px 370px minmax(0, 1fr); height: 100vh; padding: 12px; gap: 10px; }
.rail, .feed, .workspace { min-width: 0; border-radius: var(--r-lg); background: var(--panel); }
.rail { display: flex; flex-direction: column; padding: 16px 12px; border: 1px solid var(--line-soft); }
.brand { display: flex; align-items: center; gap: 10px; padding: 4px 6px 17px; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #1f2024; color: #fbfaf8; font-weight: 800; }
.brand-name { font-weight: 700; letter-spacing: -.02em; }
.demo { margin-left: auto; padding: 5px 8px; border-radius: 999px; background: #e5e3dd; color: #6c6b73; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.menu { display: grid; gap: 3px; }
.menu-item { display: grid; grid-template-columns: 31px 1fr auto; align-items: center; min-height: 39px; gap: 9px; padding: 4px 7px; border-radius: 12px; color: #55545d; font-size: 13px; cursor: pointer; }
.menu-item:hover { background: #edebe6; color: var(--ink); }
.menu-item.active { background: #fdfcfa; color: var(--ink); font-weight: 600; box-shadow: var(--shadow-soft); }
.menu-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgb(31 32 36 / 5%); font-size: 14px; }
.count { min-width: 21px; padding: 3px 6px; border-radius: 999px; background: #e8e6e0; color: #65646c; text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.menu-item.active .count { background: #e8e2fd; color: #5735d8; }
.groups { margin-top: auto; padding-top: 14px; }
.group-title { padding: 0 8px 8px; color: #8b8a92; font-size: 12px; }
.group-row { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 10px; padding: 7px 9px; color: #5f5e67; font-size: 12.5px; }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.dot.purple { background: var(--violet); }.dot.orange { background: var(--orange); }.dot.blue { background: var(--blue); }.dot.red { background: var(--red); }
.user { display: flex; align-items: center; gap: 9px; margin-top: 10px; padding: 10px 8px 0; color: #5f5e67; font-size: 12.5px; border-top: 1px solid var(--line-soft); }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #e2dff7; color: #4a35a8; font-weight: 700; font-size: 12.5px; }

.feed { display: flex; flex-direction: column; padding: 14px; overflow: hidden; border: 1px solid var(--line-soft); }
.feed-head { display: grid; grid-template-columns: 1fr 38px; gap: 8px; }
.search { width: 100%; height: 38px; border: 1px solid var(--line); border-radius: 12px; background: #fdfcfa; padding: 0 14px; color: var(--ink); font-size: 13px; }
.search::placeholder { color: #8d8c94; }
.primary-icon { border: 1px solid var(--line); border-radius: 12px; color: #4a4952; background: #fdfcfa; cursor: pointer; font-size: 18px; }
.primary-icon:hover { background: #f2f0ea; }
.segment { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 10px; padding: 4px; border-radius: 13px; background: #e8e6e0; }
.segment button { height: 31px; border: 0; border-radius: 10px; background: transparent; color: #6c6b73; font-size: 12px; cursor: pointer; }
.segment button:hover { color: var(--ink); }
.segment button.active { background: #fdfcfa; color: var(--ink); font-weight: 600; box-shadow: var(--shadow-soft); }
.filterline { display: flex; gap: 5px; margin-top: 8px; overflow: hidden; }
.filterline span { flex: 0 0 auto; padding: 6px 8px; border-radius: 9px; background: #edebe5; color: #6c6b73; font-size: 10px; }
.feed-title { display: flex; align-items: end; justify-content: space-between; padding: 16px 3px 10px; }
.feed-title h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.feed-title span { color: var(--faint); font-size: 12px; }
.cards { display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); flex: 1; gap: 7px; min-height: 0; }
.item { position: relative; padding: 13px; border: 1px solid var(--line-soft); border-radius: var(--r-md); background: var(--card); color: var(--ink-2); cursor: pointer; transition: background .12s ease, border-color .12s ease; }
.item:hover { background: var(--card-hover); border-color: var(--line); }
.item.selected { border-color: transparent; background: linear-gradient(135deg, #f0764f 0%, #c246c4 45%, #6d4aef 100%); color: white; box-shadow: 0 14px 30px rgb(109 74 239 / 20%); }
.item.selected:hover { background: linear-gradient(135deg, #f0764f 0%, #c246c4 45%, #6d4aef 100%); }
.item-top { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.item .avatar { width: 28px; height: 28px; background: #e8e5de; color: #55545d; }
.item.selected .avatar { background: rgb(255 255 255 / 26%); color: white; }
.item-name { min-width: 0; font-size: 13px; font-weight: 650; line-height: 1.25; color: var(--ink); }
.item.selected .item-name { color: white; }
.item-time { color: #83828b; font-size: 11px; font-variant-numeric: tabular-nums; }
.item.selected .item-time { color: rgb(255 255 255 / 80%); }
.preview { margin: 8px 0 10px; color: #64636c; font-size: 12px; line-height: 1.4; }
.item.selected .preview { color: rgb(255 255 255 / 86%); }
.draft { display: flex; align-items: center; min-height: 34px; padding: 7px 9px; border-radius: 10px; background: #f0eee8; color: #5b5a63; font-size: 11px; }
.item.selected .draft { background: rgb(255 255 255 / 20%); color: white; }
.pill { display: inline-flex; align-items: center; height: 19px; margin-right: 7px; padding: 0 7px; border-radius: 999px; background: #6d4aef; color: white; font-size: 10px; font-weight: 750; }
.item.selected .pill { background: rgb(255 255 255 / 92%); color: #4a2fb8; }
.pill.lime { background: #dfe9a4; color: #414a00; }
.item.selected .pill.lime { background: rgb(255 255 255 / 92%); color: #4a5600; }
.pill.red { background: #f7dbdd; color: #a92b39; }

.workspace { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; background: var(--work); border: 1px solid var(--line-soft); }
.workspace-main { display: flex; flex-direction: column; min-width: 0; height: 100%; padding: 22px 26px; overflow: auto; }
.top-actions { display: flex; justify-content: space-between; align-items: center; }
.crumb { color: var(--faint); font-size: 12.5px; }
.action-icons { display: flex; gap: 7px; }
.panel-button { min-height: 34px; border: 1px solid var(--line); border-radius: 11px; padding: 0 12px; background: #f6f5f1; color: #3f3e47; cursor: pointer; font-size: 12px; }
.panel-button:hover { background: #eeece6; }
.icon-btn { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 11px; background: #f6f5f1; color: #56555e; cursor: pointer; }
.icon-btn:hover { background: #eeece6; }
.hero { display: flex; align-items: end; justify-content: space-between; margin-top: 26px; }
.hero h1 { max-width: 610px; margin: 0; font-size: clamp(26px, 2.8vw, 42px); line-height: 1.06; letter-spacing: -.035em; font-weight: 550; color: #17181c; }
.hero-meta { color: var(--faint); text-align: right; font-size: 12px; line-height: 1.5; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(245px, .85fr); align-items: stretch; gap: 18px; margin-top: auto; margin-bottom: auto; padding-block: 28px 12px; }
.surface { display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line-soft); border-radius: var(--r-lg); background: var(--surface); }
.surface.flat { padding: 0; border: 0; background: transparent; }
.surface h3 { margin: 0 0 14px; font-size: 14px; font-weight: 650; color: var(--ink); }
.big-number { font-size: 46px; line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.delta { margin-left: 8px; color: var(--green); font-size: 12.5px; }
.muted { color: var(--muted); }.faint { color: var(--faint); }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 18px; }
.metric { padding: 13px; border: 1px solid var(--line-soft); border-radius: 14px; background: #fbfaf8; }
.metric strong { display: block; margin-top: 7px; font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; }
.metric span { color: var(--faint); font-size: 11px; }
.chart { margin-top: 16px; padding: 10px 10px 7px; border: 1px solid var(--line-soft); border-radius: 14px; background: #fbfaf8; }
.chart-plot { display: grid; grid-template-columns: repeat(7, 1fr); align-items: end; height: 126px; gap: 8px; }
.chart-col { display: grid; grid-template-rows: 18px 1fr 18px; align-items: end; height: 100%; text-align: center; }
.chart-col span { color: #4e4d56; font-size: 11px; font-variant-numeric: tabular-nums; }
.chart-col i { align-self: end; width: 100%; min-height: 8px; border-radius: 7px 7px 3px 3px; background: linear-gradient(180deg, #c246c4, #6d4aef); }
.chart-col small { align-self: end; color: var(--faint); font-size: 10px; }
.list { display: grid; gap: 6px; }
.row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line-soft); border-radius: 13px; background: #fbfaf8; font-size: 12.5px; }
.row small { display: block; margin-top: 4px; color: var(--faint); font-size: 11px; }
.row-value { color: #4e4d56; font-variant-numeric: tabular-nums; }
.problem-head, .problem-row { display: grid; grid-template-columns: minmax(92px, 1.4fr) repeat(4, minmax(38px, .65fr)); gap: 5px; align-items: center; }
.problem-head { padding: 0 8px 7px; color: #87868e; font-size: 10px; text-align: right; }
.problem-head span:first-child { text-align: left; }
.problem-table { display: grid; gap: 6px; }
.problem-row { padding: 10px 8px; border: 1px solid var(--line-soft); border-radius: 12px; background: #fbfaf8; color: #4e4d56; font-size: 11px; text-align: right; font-variant-numeric: tabular-nums; }
.problem-name { color: var(--ink); text-align: left; font-weight: 650; }
.section-gap { margin-top: 18px !important; }
.topic-list { display: grid; gap: 6px; }
.topic-list a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: 12px; background: #fbfaf8; color: #4e4d56; font-size: 12px; }
.topic-list a:hover { background: #f4f2ec; }
.topic-list a span { color: #6d4aef; }
.wide { grid-column: 1 / -1; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { padding: 6px 9px; border: 1px solid var(--line-soft); border-radius: 999px; background: #fbfaf8; color: #5b5a63; font-size: 11px; }
.tag.active { border-color: transparent; background: #1f2024; color: #fbfaf8; }
.quote { margin-top: 12px; color: #3b3a42; font-size: 14px; line-height: 1.55; }
.source { margin-top: 12px; color: var(--faint); font-size: 11px; }
.button { min-height: 38px; border: 0; border-radius: 12px; padding: 0 14px; background: #1f2024; color: #fbfaf8; font-weight: 700; font-size: 12.5px; cursor: pointer; }
.button:hover { background: #303138; }
.button.dark { background: #eae8e2; color: #3b3a42; }
.button.dark:hover { background: #e1dfd7; }
.button.accent { background: #6d4aef; color: white; }
.button.accent:hover { background: #5b3ae0; }
.field { display: grid; gap: 6px; }
.field label { color: var(--muted); font-size: 11px; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: #fbfaf8; color: var(--ink); padding: 0 12px; }
.field input, .field select { height: 38px; }.field textarea { min-height: 98px; padding: 11px 12px; resize: none; line-height: 1.5; }
.overlay { display: none; min-width: 0; margin: 12px 12px 12px 0; padding: 19px; overflow: auto; border: 1px solid var(--line-soft); border-radius: 20px; background: #ffffff; box-shadow: var(--shadow); }
.workspace.panel-open { grid-template-columns: minmax(0, 1fr) minmax(310px, 36%); gap: 10px; border-color: transparent; background: transparent; }
.workspace.panel-open .workspace-main { border: 1px solid var(--line-soft); border-radius: var(--r-lg); background: var(--work); }
.workspace.panel-open .overlay { display: block; }
.workspace.panel-open .detail-grid { grid-template-columns: minmax(0, 1fr); }
.workspace.panel-open .wide { grid-column: auto; }
.workspace.panel-open .hero { display: block; }
.workspace.panel-open .hero-meta { margin-top: 10px; text-align: left; }
.overlay-head { display: flex; align-items: center; justify-content: space-between; }
.overlay-head h3 { margin: 0; font-size: 14px; }
.overlay .quote { font-size: 12.5px; color: #4e4d56; }
.form-stack { display: grid; gap: 11px; margin-top: 17px; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.mini-table { width: 100%; border-collapse: separate; border-spacing: 0 6px; font-size: 12px; }
.mini-table th { padding: 0 9px 5px; color: var(--faint); text-align: left; font-weight: 500; }
.mini-table td { padding: 10px 9px; background: #fbfaf8; border-block: 1px solid var(--line-soft); color: #4e4d56; }
.mini-table td:first-child { border-left: 1px solid var(--line-soft); border-radius: 11px 0 0 11px; }
.mini-table td:last-child { border-right: 1px solid var(--line-soft); border-radius: 0 11px 11px 0; }
.qr { display: grid; grid-template-columns: repeat(5, 8px); gap: 3px; width: max-content; padding: 12px; border: 1px solid var(--line-soft); border-radius: 13px; background: #ffffff; }
.qr i { width: 8px; height: 8px; background: #1f2024; }.qr i:nth-child(3n) { background: transparent; }

@media (max-width: 1320px) {
  .app { grid-template-columns: 206px 338px minmax(0, 1fr); padding: 9px; gap: 8px; }
  .rail { padding-inline: 9px; }
  .menu-item { font-size: 12.5px; }
  .workspace-main { padding: 20px 21px; }
  .hero h1 { font-size: 32px; }
  .detail-grid { gap: 12px; margin-top: 22px; }
  .workspace.panel-open { grid-template-columns: minmax(0, 1fr) 320px; }
  .workspace.panel-open .workspace-main { padding-inline: 18px; }
}

/* Сбор отзывов */
.collection-feed{padding:15px 11px}.compact-title{padding-top:18px}.collection-nav,.collection-list{display:grid;gap:7px}.collection-nav button,.collection-row{width:100%;border:1px solid var(--line-soft);border-radius:14px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.collection-nav button{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:11px}.collection-nav button:hover,.collection-row:hover{background:var(--card-hover)}.collection-nav button.active,.collection-row.selected{border-color:#b7a8f1;background:#eeeafd}.collection-nav-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eae6fb;color:var(--violet)}.collection-nav-icon.warning{background:#f8e5dc;color:var(--orange)}.collection-nav svg,.collection-row svg,.button svg,.negative-route svg,.appeal-row svg{width:16px;height:16px;fill:currentColor}.collection-nav b,.collection-nav small,.collection-row b,.collection-row small{display:block}.collection-nav b{font-size:12px}.collection-nav small,.collection-row small{margin-top:4px;color:var(--faint);font-size:10px}.collection-list{min-height:0;overflow:auto}.collection-row{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:8px 9px}.collection-row b{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.collection-row>svg{color:var(--faint)}.collection-workspace .workspace-main{padding:20px 22px}.inline-controls{display:flex;align-items:center;gap:7px}.method-switch{display:flex;gap:4px;padding:4px;border-radius:12px;background:#e8e6e0}.method-switch button{height:30px;border:0;border-radius:9px;background:transparent;padding:0 10px;color:var(--muted);font-size:11px;cursor:pointer}.method-switch button.active{background:var(--card);color:var(--ink);font-weight:650;box-shadow:var(--shadow-soft)}.collection-hero{margin-top:22px}.collection-hero h1{font-size:34px}.collection-funnel{display:grid;gap:7px;margin-top:24px}.funnel-stage{display:grid;grid-template-columns:minmax(140px,1fr) 110px 110px;align-items:center;width:var(--stage-width);min-height:53px;border-radius:14px;padding:0 16px;background:linear-gradient(90deg,#f1e9fc,#e9e3fb);color:var(--ink)}.funnel-stage:nth-child(2){background:linear-gradient(90deg,#efe8fa,#e8e2f8)}.funnel-stage:nth-child(3){background:linear-gradient(90deg,#ece7f6,#e3def4)}.funnel-stage:nth-child(4){background:linear-gradient(90deg,#e8e4f2,#ddd8f0)}.funnel-stage span{font-size:12.5px;font-weight:600}.funnel-stage strong{font-size:21px;font-weight:550;font-variant-numeric:tabular-nums}.funnel-stage small{color:var(--muted);font-size:11px}.collection-bottom{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-top:18px}.surface-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.surface h2{margin:0;font-size:14px}.text-action{border:0;background:transparent;color:var(--violet);font-size:11px;cursor:pointer}.collection-copy{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.route-lines{display:grid;gap:10px;margin-top:2px}.route-lines>div{display:grid;grid-template-columns:10px 1fr;align-items:start;gap:9px}.route-dot{width:9px;height:9px;margin-top:3px;border-radius:50%}.route-dot.positive{background:var(--green)}.route-dot.negative{background:var(--red)}.route-lines b,.route-lines small{display:block}.route-lines b{font-size:12.5px}.route-lines small{margin-top:3px;color:var(--faint);font-size:11px}.qr-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;margin-top:23px}.qr-card{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:20px}.qr-card p{color:var(--muted);font-size:12px;line-height:1.5}.qr-card .button{display:inline-flex;align-items:center;gap:7px;margin-top:7px}.qr-large{display:grid;grid-template-columns:repeat(9,8px);gap:3px;width:max-content;padding:15px;border-radius:15px;background:white;box-shadow:inset 0 0 0 1px var(--line-soft)}.qr-large i{width:8px;height:8px;background:#1f2024}.qr-large i:nth-child(4n),.qr-large i:nth-child(7n){background:transparent}.platform-choice{display:flex;gap:7px}.platform-choice button{min-width:78px;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font-size:12px;cursor:pointer}.platform-choice button.active{border-color:#b7a8f1;background:#eeeafd;color:#5438b0}.negative-route{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px}.negative-route>svg{width:30px;height:30px;padding:7px;border-radius:10px;background:#f7dfe1;color:var(--red)}.negative-route b,.negative-route small{display:block}.negative-route b{font-size:12px}.negative-route small{margin-top:4px;color:var(--faint);font-size:10px}.kit-metrics{grid-template-columns:repeat(4,1fr);margin-top:12px}.appeals-table{margin-top:22px;border-radius:18px;background:var(--surface);padding:14px}.appeals-head,.appeal-row{display:grid;grid-template-columns:1fr 2fr 60px 1.15fr 28px;align-items:center;gap:10px}.appeals-head{padding:0 10px 8px;color:var(--faint);font-size:10px}.appeal-row{min-height:58px;margin-top:6px;border-radius:13px;background:var(--card);padding:9px 10px;color:var(--ink-2);font-size:12px}.appeal-row b,.appeal-row small{display:block}.appeal-row small{margin-top:3px;color:var(--faint);font-size:10px}.appeal-row strong{font-size:14px;font-variant-numeric:tabular-nums}.appeal-row a{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--panel-2);color:var(--violet)}.appeals-more{padding:12px 10px 1px;color:var(--faint);font-size:11px;text-align:center}
@media(max-width:1320px){.collection-workspace .workspace-main{padding:17px}.collection-hero h1{font-size:29px}.funnel-stage{grid-template-columns:minmax(120px,1fr) 80px 92px;min-height:49px}.collection-bottom{grid-template-columns:1fr}.collection-bottom .surface{padding:14px}.qr-card{grid-template-columns:112px 1fr;gap:13px}.qr-large{grid-template-columns:repeat(9,6px);gap:2px}.qr-large i{width:6px;height:6px}.appeals-head,.appeal-row{grid-template-columns:.9fr 1.6fr 45px 1fr 26px}.appeal-row{font-size:11px}}

/* Конкуренты */
.competitors-feed{padding:15px 11px}.competitors-feed .feed-head{grid-template-columns:1fr 38px;align-items:start}.competitors-feed .feed-title{padding:2px 3px 12px}.primary-icon svg{width:17px;height:17px;fill:currentColor}.competitor-list{display:grid;align-content:start;gap:7px;min-height:0;overflow:auto}.competitor-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:88px;border:1px solid var(--line-soft);border-radius:15px;background:var(--card);padding:10px;color:var(--ink);text-align:left;cursor:pointer}.competitor-row:hover{background:var(--card-hover)}.competitor-row.selected{border-color:transparent;background:linear-gradient(135deg,#f0764f 0%,#c246c4 45%,#6d4aef 100%);color:white;box-shadow:0 12px 25px rgb(109 74 239 / 18%)}.pair-avatars{position:relative;width:42px;height:36px}.pair-avatars i{position:absolute;display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--card);border-radius:50%;background:#e6e2f9;color:#553bb1;font-size:12px;font-style:normal;font-weight:700}.pair-avatars i+ i{right:0;bottom:0;background:#f7e3d8;color:#b65324}.competitor-row.selected .pair-avatars i{border-color:#bd50b3}.competitor-row b,.competitor-row small,.competitor-row em{display:block}.competitor-row b{font-size:12px}.competitor-row small{margin-top:3px;color:var(--faint);font-size:10px}.competitor-row em{margin-top:8px;color:var(--muted);font-size:11px;font-style:normal}.competitor-row.selected :is(small,em){color:rgb(255 255 255 / 78%)}.competitor-row>strong{font-size:14px;font-variant-numeric:tabular-nums}.competitor-row.selected>strong{color:white}.competitor-workspace{grid-template-columns:minmax(0,1fr)}.competitor-workspace .workspace-main{padding:20px 22px}.competitor-workspace.panel-open{grid-template-columns:minmax(0,1fr) minmax(300px,35%)}.competitor-panel{margin:12px 12px 12px 0;padding:18px;overflow:auto;border:1px solid var(--line-soft);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.competitor-panel .overlay-head h2{margin:0;font-size:14px}.competitor-panel .icon-btn svg{width:15px;height:15px;fill:currentColor}.competitor-hero{margin-top:22px}.competitor-hero h1{font-size:34px}.comparison-score{display:grid;grid-template-columns:1fr 120px 1fr;align-items:stretch;gap:10px;margin-top:24px}.comparison-score>div{display:flex;flex-direction:column;justify-content:center;min-height:116px;border-radius:18px;background:var(--surface);padding:16px}.comparison-score>div:last-child{text-align:right}.comparison-score span,.comparison-score small{color:var(--faint);font-size:11px}.comparison-score strong{margin:5px 0;font-size:36px;font-weight:550;font-variant-numeric:tabular-nums}.comparison-score .score-gap{align-items:center;background:#f7dfe1;text-align:center}.comparison-score .score-gap.positive{background:#dcf1e9}.comparison-score .score-gap strong{font-size:25px;color:var(--red)}.comparison-score .score-gap.positive strong{color:var(--green)}.topic-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.topic-buttons{display:grid;gap:7px;margin-top:13px}.topic-buttons button{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:8px;min-height:42px;border:0;border-radius:12px;background:#fbfaf8;padding:0 11px;color:var(--ink);font-size:12px;text-align:left;cursor:pointer}.topic-buttons button:hover{background:#f4f2ec}.topic-buttons strong{color:var(--violet)}.topic-buttons svg{width:15px;height:15px;fill:currentColor;color:var(--faint)}.topic-buttons.own strong{color:var(--green)}.trend-surface{margin-top:12px}.trend-surface .surface-heading>span{color:var(--faint);font-size:11px}.dual-trend{display:grid;grid-template-columns:1fr 1fr;gap:3px;height:74px;margin-top:15px}.dual-trend>div{display:flex;align-items:end;gap:4px}.dual-trend i{flex:1;border-radius:4px 4px 2px 2px;background:#6d4aef}.dual-trend>div+div i{background:#e2733a}.trend-legend{display:flex;gap:18px;margin-top:9px;color:var(--muted);font-size:10px}.trend-legend span{display:flex;align-items:center;gap:5px}.trend-legend i{width:7px;height:7px;border-radius:50%;background:#6d4aef}.trend-legend span+span i{background:#e2733a}.panel-note{margin:10px 0 16px;color:var(--faint);font-size:11px}.source-reviews{display:grid;gap:9px}.source-reviews article{border-radius:14px;background:var(--surface);padding:12px}.source-reviews article>div{display:flex;align-items:center;justify-content:space-between}.source-reviews span{color:#e49c21;font-weight:650;font-size:12.5px}.source-reviews small{color:var(--faint);font-size:10px}.source-reviews p{margin:9px 0 0;color:var(--ink-2);font-size:12px;line-height:1.45}.competitor-form{display:grid;gap:12px;margin-top:18px}.competitor-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;border:0}.competitor-form legend{grid-column:1/-1;margin-bottom:3px;color:var(--muted);font-size:11px}.choice-button{display:grid;gap:3px;min-height:48px;border:1px solid var(--line);border-radius:11px;background:var(--card);padding:7px 9px;color:var(--ink);font-size:11px;text-align:left;cursor:pointer}.choice-button small{color:var(--faint);font-size:10px}.choice-button.active{border-color:#9e8bea;background:#eeeafd}.competitor-form label{display:grid;gap:6px;color:var(--muted);font-size:11px}.competitor-form input{height:38px;border:1px solid var(--line);border-radius:11px;background:var(--card);padding:0 11px;color:var(--ink);font-size:12px}.competitor-form .button{margin-top:4px}
@media(max-width:1320px){.competitor-workspace .workspace-main{padding:17px}.competitor-hero h1{font-size:28px}.comparison-score{grid-template-columns:1fr 92px 1fr}.comparison-score>div{min-height:100px;padding:13px}.comparison-score strong{font-size:30px}.topic-columns{gap:9px}.competitor-workspace.panel-open{grid-template-columns:minmax(0,1fr) 300px}.competitor-workspace.panel-open .topic-columns{grid-template-columns:1fr}.competitor-workspace.panel-open .trend-surface{display:none}}
.competitor-preview{margin-top:12px}.competitor-preview p{margin:10px 0 0;border-radius:11px;background:var(--card);padding:9px 11px;color:var(--ink-2);font-size:11px;line-height:1.4}

/* Настройки */
.settings-feed{padding:15px 11px}.settings-feed>.feed-title{padding:2px 3px 12px}.settings-nav{display:grid;gap:7px}.settings-nav button{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;min-height:62px;border:1px solid var(--line-soft);border-radius:14px;background:var(--card);padding:9px;color:var(--ink);text-align:left;cursor:pointer}.settings-nav button:hover{background:var(--card-hover)}.settings-nav button.active{border-color:#b7a8f1;background:#eeeafd}.settings-nav i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8e5de;color:var(--violet)}.settings-nav svg{width:17px;height:17px;fill:currentColor}.settings-nav b,.settings-nav small{display:block}.settings-nav b{font-size:12px}.settings-nav small{margin-top:4px;color:var(--faint);font-size:10px}.portal-rights{margin-top:auto;border-radius:12px;background:var(--panel-2);padding:11px;color:var(--muted);font-size:11px}.settings-workspace{grid-template-columns:minmax(0,1fr)}.settings-workspace .workspace-main{padding:20px 22px}.settings-workspace.panel-open{grid-template-columns:minmax(0,1fr) minmax(300px,35%)}.settings-hero{margin-top:22px}.settings-hero h1{font-size:34px}.rights-note{color:var(--faint);font-size:11px}.settings-table{margin-top:22px;border-radius:18px;background:var(--surface);padding:13px}.settings-table-head,.settings-place-row{display:grid;grid-template-columns:1.05fr 1.2fr .72fr 168px;align-items:center;gap:9px}.settings-table-head{padding:0 10px 7px;color:var(--faint);font-size:10px}.settings-place-row{min-height:61px;margin-top:6px;border:1px solid transparent;border-radius:13px;background:var(--card);padding:8px 10px;color:var(--ink-2);font-size:11px}.settings-place-row.has-error{border-color:#efb4bb;background:#fff8f8}.settings-place-row b,.settings-place-row small{display:block}.settings-place-row b{color:var(--ink);font-size:12px}.settings-place-row small{margin-top:4px;color:var(--faint);font-size:10px}.platform-badge{display:inline-flex;align-items:center;gap:6px}.platform-badge i{width:7px;height:7px;border-radius:50%}.platform-badge.ok i{background:var(--green)}.platform-badge.error{color:var(--red)}.platform-badge.error i{background:var(--red)}.button.compact{min-height:30px;padding:0 9px;font-size:10px}.settings-row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.settings-place-row .icon-btn{width:30px;height:30px;margin-left:auto}.settings-place-row .icon-btn svg{width:15px;height:15px;fill:currentColor}.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.role-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;border-radius:18px;background:var(--surface);padding:16px}.role-head{grid-column:1/-1;display:flex;align-items:center;gap:10px}.role-head .avatar{width:38px;height:38px}.role-head b,.role-head small{display:block}.role-head b{font-size:12.5px}.role-head small{margin-top:4px;color:var(--faint);font-size:10px}.role-card .role-body{min-width:0}.role-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.role-card .panel-button{align-self:end}.role-card .role-metric{display:block;grid-column:1/-1;margin-top:10px;color:var(--faint);font-size:10.5px}.role-card .avatar.tint-0{color:#4a35a8;background:#e4e0fa}.role-card .avatar.tint-1{color:#8a3d7c;background:#f6dff1}.role-card .avatar.tint-2{color:#a2531f;background:#fbe4d4}.role-card .avatar.tint-3{color:#1d6a6b;background:#d9f0ee}.role-card .avatar.tint-4{color:#2c5f9e;background:#dde9fa}.settings-note{margin:14px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}.role-card .panel-button{min-width:116px;justify-self:end}.notification-list{margin-top:22px}.notification-head,.notification-row{display:grid;grid-template-columns:1.08fr 1.45fr 1.1fr 1.15fr 34px;align-items:center;gap:9px}.notification-head{padding:0 10px 7px;color:var(--faint);font-size:10px}.notification-row{min-height:116px;margin-top:7px;border-radius:16px;background:var(--surface);padding:12px}.notification-row b,.notification-row small{display:block}.notification-row b{font-size:12px}.notification-row small{margin-top:4px;color:var(--faint);font-size:10px}.choice-group{display:flex;flex-wrap:wrap;gap:4px}.choice-group button{border:1px solid var(--line);border-radius:999px;background:var(--card);padding:5px 7px;color:var(--muted);font-size:9px;cursor:pointer}.choice-group button.active{border-color:#a997ee;background:#eeeafd;color:#553bb1}.notification-row .switch{border:0;cursor:pointer}.settings-panel{display:flex;flex-direction:column}.scope-form{display:flex;flex:1;flex-direction:column}.scope-form fieldset{display:grid;gap:6px;margin:8px 0 0;padding:0;border:0}.scope-form legend{margin-bottom:7px;color:var(--muted);font-size:11px}.scope-form label{display:flex;align-items:center;gap:9px;border-radius:11px;background:var(--surface);padding:9px 10px;color:var(--ink);font-size:12px}.scope-form input{appearance:none;width:16px;height:16px;margin:0;border:1px solid #c9c6be;border-radius:5px;background:var(--card)}.scope-form input:checked{border-color:var(--violet);background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2 6.7 11 12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}.scope-form label span,.scope-form label small{display:block}.scope-form label small{margin-top:3px;color:var(--faint);font-size:10px}.scope-form .button{margin-top:auto}
@media(max-width:1320px){.settings-workspace .workspace-main{padding:17px}.settings-hero h1{font-size:29px}.settings-table-head,.settings-place-row{grid-template-columns:.95fr 1.05fr .7fr 150px}.settings-place-row{min-height:58px;padding:7px 8px}.roles-grid{gap:9px}.role-card{padding:14px}.notification-head,.notification-row{grid-template-columns:1fr 1.3fr 1fr 1fr 30px;gap:7px}.notification-row{padding:10px}.choice-group button{padding:4px 6px}.settings-workspace.panel-open{grid-template-columns:minmax(0,1fr) 300px}}

/* Кирилл 16.09: общий слой восьми разделов */
.rail{background:linear-gradient(165deg,#f8f6fb 0%,#f5f1f8 50%,#f9f2eb 100%)}
.feed{background:linear-gradient(160deg,#fbf9fc 0%,#f7f3fa 52%,#fcf7f1 100%)}
.workspace{background:linear-gradient(145deg,#fbfafc 0%,#f7f4fb 58%,#fdf7f1 100%)}
.brand{grid-template-columns:28px minmax(0,1fr) auto}.brand-logo{width:23px;height:28px;object-fit:contain}.brand-name{white-space:nowrap;font-size:13px}.user{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.user>svg{width:14px;height:14px;margin-left:auto;fill:currentColor;color:var(--faint)}
.group-row{width:100%;border:0;background:transparent;font:inherit;text-decoration:none;cursor:pointer}.group-row:hover{background:rgb(109 74 239 / 7%)}
.shell-drawer{position:fixed;z-index:80;left:222px;bottom:14px;width:390px;max-height:calc(100vh - 28px);overflow:auto;border:1px solid var(--line-soft);border-radius:20px;background:#fff;padding:18px;box-shadow:0 24px 70px rgb(46 35 70 / 22%)}.shell-drawer-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.shell-drawer-head h2,.shell-drawer-head p{margin:0}.shell-drawer-head h2{font-size:17px}.shell-drawer-head p{margin-top:4px;color:var(--faint);font-size:12px}.shell-drawer .icon-btn svg{width:16px;height:16px;fill:currentColor}.platform-location-list{display:grid;gap:6px;margin-top:18px}.platform-location-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;background:var(--surface);padding:10px 11px;color:var(--ink)}.platform-location-list b,.platform-location-list small{display:block}.platform-location-list b{font-size:12px}.platform-location-list small{margin-top:3px;color:var(--faint);font-size:10px}.platform-location-list em{color:var(--green);font-size:10px;font-style:normal}.platform-location-list em.offline{color:var(--red)}.profile-form{display:grid;gap:12px;margin-top:18px}.profile-form label{display:grid;gap:6px;color:var(--muted);font-size:11px}.profile-form input{height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 11px;font:inherit;color:var(--ink)}.profile-form>div{display:grid;gap:4px;border-radius:12px;background:var(--surface);padding:11px}.profile-form span{color:var(--faint);font-size:10px}.profile-form b{font-size:12px}.shell-toast{position:fixed;z-index:100;left:30px;bottom:24px}
.custom-select{position:relative;display:grid;gap:5px;min-width:118px}.custom-select-label{color:var(--faint);font-size:10px}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:9px;height:36px;border:1px solid var(--line);border-radius:11px;background:rgb(255 255 255 / 80%);padding:0 10px;color:var(--ink);font-size:11px;cursor:pointer}.custom-select-trigger svg{width:14px;height:14px;fill:currentColor;color:var(--faint)}.custom-select-menu{position:absolute;z-index:60;top:calc(100% + 5px);left:0;min-width:100%;max-height:260px;overflow:auto;border:1px solid var(--line-soft);border-radius:13px;background:#fff;padding:5px;box-shadow:0 18px 50px rgb(44 33 70 / 18%)}.custom-select-menu .custom-select-search{position:sticky;top:0;display:block;width:100%;height:30px;margin:0 0 5px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:0 9px;color:var(--ink);font:inherit;font-size:11px}.custom-select-menu .custom-select-search::placeholder{color:var(--faint)}.custom-select-menu [data-select-options]{display:grid;gap:1px}.custom-select-menu button{display:block;width:100%;border:0;border-radius:9px;background:transparent;padding:8px 9px;color:var(--ink);font:inherit;font-size:11px;text-align:left;white-space:nowrap;cursor:pointer}.custom-select-menu button:hover,.custom-select-menu button[aria-selected="true"]{background:#eeeafd;color:#5438b0}.custom-native-select{position:relative;display:inline-block;min-width:128px}.custom-native-select>.custom-select-trigger{width:100%}.custom-native-select>.custom-select-menu{display:block}.custom-native-select>.custom-select-menu[hidden]{display:none}
.period-picker{position:relative}.period-trigger{display:flex;align-items:center;gap:8px;height:38px;border:1px solid var(--line);border-radius:11px;background:rgb(255 255 255 / 82%);padding:0 10px;color:var(--ink);font-size:11px;cursor:pointer}.period-trigger svg{width:14px;height:14px;fill:currentColor}.period-trigger svg:last-child{color:var(--faint)}.period-popover{position:absolute;z-index:70;top:44px;right:0;width:292px;border:1px solid var(--line-soft);border-radius:16px;background:#fff;padding:12px;box-shadow:0 20px 60px rgb(45 34 70 / 20%)}.period-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.period-quick button{border:0;border-radius:9px;background:var(--surface);padding:8px 4px;color:var(--muted);font-size:10px;cursor:pointer}.period-quick button.active{background:#eeeafd;color:#5438b0}.calendar-range{margin-top:12px}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head b{font-size:12px}.calendar-head span{color:var(--faint);font-size:10px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.weekdays{margin-top:10px}.weekdays span{padding:4px;color:var(--faint);font-size:9px;text-align:center}.calendar-days button{height:27px;border:0;background:transparent;color:var(--ink);font-size:10px;cursor:pointer}.calendar-days button.in-range{background:#eeeafd}.calendar-days button.range-start{border-radius:8px 0 0 8px;background:#6d4aef;color:#fff}.calendar-days button.range-end{border-radius:0 8px 8px 0;background:#6d4aef;color:#fff}.apply-range{width:100%;margin-top:10px}
.platform-summary{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px}.platform-summary>div{border-radius:14px;background:rgb(255 255 255 / 68%);padding:14px}.platform-summary span,.platform-summary strong,.platform-summary small{display:block}.platform-summary strong{margin-top:5px;font-size:27px;font-weight:550}.platform-summary small{margin-top:3px;color:var(--faint);font-size:10px}.platform-name{font-size:11px;font-weight:650}.purple-text{color:#6448bd}.orange-text{color:#d86e36}.all-locations-section{margin-top:13px}.overview-location-head,.overview-location-row{display:grid;grid-template-columns:minmax(170px,1fr) 80px 80px;align-items:center;gap:10px}.overview-location-head{padding:0 12px 6px;color:var(--faint);font-size:10px}.overview-location-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.overview-location-row{border-radius:12px;background:rgb(255 255 255 / 72%);padding:9px 11px;color:var(--ink)}.overview-location-row b,.overview-location-row small,.overview-location-row em,.overview-location-row strong{display:block}.overview-location-row b{font-size:12px}.overview-location-row small,.overview-location-row em{margin-top:3px;color:var(--faint);font-size:9px}.overview-location-row strong{margin-top:2px;font-size:13px;font-style:normal}
.review-rating{color:#d58620;font-size:12px;font-weight:650}.review-rating.large{margin-top:10px;font-size:14px}.template-menu{display:grid;gap:5px;margin:10px 0;border-radius:14px;background:#f7f4fb;padding:10px}.template-menu>b{padding:2px 4px 5px;font-size:11px}.template-menu button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:10px;background:#fff;padding:9px 10px;color:var(--ink);font-size:11px;text-align:left;cursor:pointer}.template-menu small{color:var(--faint);font-size:10px}.complaint-wrap{display:grid;gap:3px}.complaint-wrap small{color:var(--faint);font-size:10px}.modal-head p{margin:4px 0 0;color:var(--faint);font-size:11px}.modal-head .icon-btn svg{width:15px;height:15px;fill:currentColor}.ai-context{margin:8px 3px 12px;color:var(--muted);font-size:11px;line-height:1.45}
.section-intro{margin:3px 0 0;max-width:780px;color:var(--muted);font-size:12px;line-height:1.45}.analytics-filters{flex-wrap:wrap;justify-content:flex-end}.point-picker{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:540px}.point-picker button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:5px 8px;color:var(--muted);font-size:9px;cursor:pointer}.point-picker button.active{border-color:#a997ee;background:#eeeafd;color:#5438b0}.compare-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.compare-cards article{border-radius:15px;background:#fff;padding:13px}.compare-cards h3{margin:0;font-size:12.5px}.platform-ratings{display:flex;gap:12px;margin-top:9px;color:var(--faint);font-size:10px}.platform-ratings b{margin-left:3px;color:var(--ink);font-size:12.5px}.mini-line{width:100%;height:55px;margin-top:8px;fill:none;stroke:#7658c9;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.compare-cards dl{display:grid;gap:5px;margin:8px 0 0}.compare-cards dl div{display:flex;justify-content:space-between;gap:8px}.compare-cards dt,.compare-cards dd{margin:0;font-size:10px}.compare-cards dt{color:var(--faint)}.topic-report b small{display:block;margin-top:3px;color:var(--faint);font-size:9px;font-weight:400}.topic-spark{display:flex;align-items:end;gap:3px;height:32px}.topic-spark i{flex:1;height:auto;border-radius:3px;background:#c7b9ed}.topics-expanded .topic-report{grid-template-columns:1fr 1fr;gap:6px}.topics-expanded .topic-report a{grid-template-columns:minmax(100px,1fr) 90px 30px 75px}
.competitor-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.competitor-kpis>div{border-radius:13px;background:rgb(255 255 255 / 70%);padding:10px}.competitor-kpis span,.competitor-kpis b,.competitor-kpis small{display:block}.competitor-kpis span{color:var(--faint);font-size:10px}.competitor-kpis b{margin-top:5px;font-size:12.5px}.competitor-kpis small{margin-top:3px;color:var(--muted);font-size:10px}.rating-lines{width:100%;height:95px;margin-top:10px;fill:none}.rating-lines .grid-line{stroke:#ded9e8;stroke-width:1}.rating-lines polyline{stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.rating-lines .our-line{stroke:#6d4aef}.rating-lines .their-line{stroke:#e2733a}.wide-topics{width:100%}.topic-share{grid-template-columns:1fr 1fr}.topic-share button{display:grid}.competitor-preview p b{margin-right:4px;color:#d58620;font-size:10px}.admin-card{display:grid;grid-template-columns:minmax(220px,.8fr) 1.5fr auto;align-items:center;gap:18px;margin-top:22px;border-radius:18px;background:linear-gradient(135deg,#eeeafd,#fbf3ea);padding:16px}.admin-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:0;border-color:#8c73dc!important;box-shadow:0 0 0 4px rgb(109 74 239 / 13%)}
@media(max-width:1320px){.shell-drawer{left:202px;width:360px}.overview-location-list{grid-template-columns:1fr}.platform-summary{grid-template-columns:1fr 1fr 1fr}.point-picker{max-width:430px}.compare-cards{gap:7px}.topics-expanded .topic-report{grid-template-columns:1fr}.admin-card{grid-template-columns:1fr auto}.admin-card p{grid-row:2;grid-column:1/-1}}

/* Аналитика */
.analytics-feed { padding: 14px 10px 10px; }
.analytics-feed .feed-title { padding-top: 3px; }
.analytics-list { display: grid; align-content: start; gap: 7px; }
.analytics-list button { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; min-height: 64px; border: 1px solid var(--line-soft); border-radius: 14px; background: var(--card); padding: 9px 11px; color: var(--ink); text-align: left; cursor: pointer; }
.analytics-list button:hover { background: var(--card-hover); }
.analytics-list button.active { border-color: #b7a8f1; background: #eeeafd; }
.analytics-list i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #e8e5de; color: #5e47b8; font-size: 14px; font-style: normal; }
.analytics-list b, .analytics-list small { display: block; }
.analytics-list b { font-size: 12.5px; }
.analytics-list small { margin-top: 4px; color: var(--faint); font-size: 10px; }
.analytics-filters { display: flex; align-items: center; gap: 7px; }
.analytics-filters select { height: 38px; border: 1px solid var(--line); border-radius: 11px; background-color: var(--card); padding: 0 32px 0 10px; color: var(--ink-2); font-size: 12px; }
.analytics-workspace .hero { align-items: center; }
.analytics-report { display: flex; flex: 0 0 auto; flex-direction: column; justify-content: flex-start; margin-top: 26px; border-radius: 20px; background: var(--surface); padding: 24px; }
.analytics-report .chart-plot { height: 260px; }
.report-number { display: flex; align-items: end; gap: 10px; }
.report-number strong { font-size: 46px; line-height: 1; font-weight: 500; letter-spacing: -.04em; }
.report-number span { padding-bottom: 5px; color: var(--green); font-size: 12px; }
.report-note { margin: 13px 0 0; color: var(--faint); font-size: 11px; }
.distribution-bars { display: grid; gap: 11px; }
.distribution-bars > div { display: grid; grid-template-columns: 34px minmax(0,1fr) 42px 36px; align-items: center; gap: 10px; }
.distribution-bars b, .distribution-bars strong, .distribution-bars small { font-size: 12px; }
.distribution-bars i, .topic-report i { height: 10px; overflow: hidden; border-radius: 99px; background: #ddd9d0; }
.distribution-bars i span, .topic-report i span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--magenta),var(--violet)); }
.distribution-bars small { color: var(--faint); }
.response-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.response-summary > div { border-radius: 14px; background: var(--card); padding: 15px; }
.response-summary span, .response-summary strong { display: block; }
.response-summary span { color: var(--faint); font-size: 11px; }
.response-summary strong { margin-top: 8px; font-size: 23px; }
.response-scale { display: grid; grid-template-columns: repeat(4,1fr); align-items: end; height: 116px; gap: 8px; margin-top: 16px; }
.response-scale i { border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg,#f0764f,#c246c4); }
.response-scale i:nth-child(1){height:38%}.response-scale i:nth-child(2){height:74%}.response-scale i:nth-child(3){height:52%}.response-scale i:nth-child(4){height:28%}
.scale-labels { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 5px; color: var(--faint); font-size: 10px; text-align: center; }
.compare-head, .compare-table a { display: grid; grid-template-columns: minmax(130px,1.4fr) repeat(3,minmax(70px,.65fr)); align-items: center; gap: 8px; }
.compare-head { padding: 0 11px 7px; color: var(--faint); font-size: 10px; text-align: right; }
.compare-head span { text-align: left; }
.compare-head button { border: 0; background: transparent; padding: 0; color: inherit; font-size: inherit; text-align: right; cursor: pointer; }
.compare-table { display: grid; gap: 6px; }
.compare-table a { min-height: 42px; border-radius: 11px; background: var(--card); padding: 8px 11px; color: var(--ink-2); font-size: 11px; text-align: right; }
.compare-table a:hover { background: #f4f1ff; }
.compare-table b { color: var(--ink); text-align: left; }
.topic-report { display: grid; gap: 9px; }
.topic-report a { display: grid; grid-template-columns: minmax(110px,1fr) minmax(180px,2fr) 45px 50px; align-items: center; gap: 12px; min-height: 42px; border-radius: 11px; background: var(--card); padding: 8px 11px; }
.topic-report b { font-size: 12px; }
.topic-report strong { font-size: 12.5px; text-align: right; }
.topic-report small { color: var(--violet); font-size: 11px; text-align: right; }
@media (max-width: 1320px) {
.analytics-filters .period-switch button { min-width: 58px; }
  .analytics-report { margin-top: 20px; padding: 15px; }
}
.add-point-button { width: 34px; height: 34px; border: 1px solid #a997ee; border-radius: 10px; background: #eeeafd; color: #5438b0; font-size: 19px; line-height: 1; cursor: pointer; }
.point-trend-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.point-trend-grid .trend-surface { margin: 0; }
.point-trend-grid h3 { margin: 0 0 7px; font-size: 12px; font-weight: 600; }

/* Локации */
.locations-feed { padding: 14px 10px 10px; }
.location-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; }
.location-filters :is(select,button) { min-width: 0; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 0 28px 0 9px; color: var(--ink-2); font-size: 11px; }
.location-filters button { padding: 0 8px; cursor: pointer; }
.location-filters button.active { border-color: #b7a8f1; background: #eeeafd; color: #553bb1; font-weight: 650; }
.location-card-tools { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: flex-end; gap: 10px; }
.location-card-tools .crumb { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.location-card-tools .period-picker { flex: 0 0 auto; }
.location-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; }
.location-list-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 58px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--card); padding: 9px 11px; color: var(--ink); text-align: left; cursor: pointer; }
.location-list-row:hover { background: var(--card-hover); }
.location-list-row.selected { border-color: #b7a8f1; background: #eeeafd; }
.location-list-row > span:last-child { text-align: right; }
.location-list-row b, .location-list-row strong, .location-list-row small { display: block; }
.location-list-row b { font-size: 12.5px; }
.location-list-row strong { font-size: 14px; }
.location-list-row small { margin-top: 4px; color: var(--faint); font-size: 10px; }
.location-table-section { margin-top: 24px; }
.data-head.location-head, .data-row.location-row { grid-template-columns: minmax(105px,1.35fr) 55px 52px 45px 70px minmax(110px,1.2fr) 52px; }
.location-row { width: 100%; font-family: inherit; cursor: pointer; }
.location-card-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 18px; }
.location-card-head h1 { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.03em; }
.location-card-head p { margin: 5px 0 0; color: var(--faint); font-size: 12px; }
.location-card-head label { display: grid; gap: 5px; color: var(--faint); font-size: 10px; }
.location-card-head select { height: 34px; border: 1px solid var(--line); border-radius: 10px; background-color: var(--card); padding: 0 32px 0 10px; color: var(--ink); font-size: 12px; }
.connection-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; border-radius: 16px; background: #f8e4e6; padding: 13px 15px; }
.connection-card.checked { background: #eeeafd; }
.connection-card h2, .location-detail-grid h2 { margin: 0; font-size: 14px; }
.connection-card p { margin: 4px 0 0; color: #80545b; font-size: 11px; }
.location-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10px; margin-top: 14px; padding-bottom: 8px; }
.location-detail-grid .surface { padding: 14px; }
.location-detail-grid h2 { margin-bottom: 11px; }
.location-reviews { display: grid; gap: 6px; }
.location-reviews a { display: grid; gap: 4px; border-radius: 11px; background: var(--card); padding: 9px 10px; }
.location-reviews b { color: #b47d16; font-size: 11px; }
.location-reviews span { overflow: hidden; color: var(--ink-2); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.location-reviews time { color: #5d477f; font-size: 10.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.rating-bars { display: grid; grid-template-columns: repeat(4,1fr); align-items: end; height: 112px; gap: 8px; }
.rating-bars > div { display: grid; grid-template-rows: 1fr auto auto; align-items: end; height: 100%; gap: 3px; text-align: center; }
.rating-bars i { width: 100%; border-radius: 7px 7px 3px 3px; background: linear-gradient(180deg,#c246c4,#6d4aef); }
.rating-bars span { font-size: 11px; }
.rating-bars small { color: var(--faint); font-size: 10px; }
.overview-topics.compact a { min-height: 38px; padding-block: 7px; }
.qr-section { display: grid; grid-template-columns: auto 1fr; gap: 24px; }
.compare-list { display: grid; gap: 7px; }
.compare-list span { display: flex; justify-content: space-between; gap: 14px; border-radius: 10px; background: var(--card); padding: 8px 9px; color: var(--muted); font-size: 11px; }
.compare-list b { color: var(--ink); }
@media (max-width: 1320px) {
  .data-head.location-head, .data-row.location-row { grid-template-columns: minmax(90px,1.2fr) 50px 45px 42px 64px minmax(90px,1fr) 45px; gap: 5px; padding-inline: 8px; font-size: 10px; }
  .location-detail-grid { gap: 8px; }
}

/* плотность ленты и рабочей области */
.cards{grid-template-rows:none;grid-auto-rows:min-content;align-content:start;flex:1;overflow-y:auto}
.detail-grid{margin-top:22px;margin-bottom:0;padding-block:0 12px;align-items:start}
.hero{margin-top:18px}
.menu-icon svg{width:15px;height:15px;fill:var(--c)}
.menu-item.active .menu-icon{background:color-mix(in srgb, var(--c) 16%, transparent)}
.menu-item:hover .menu-icon{background:color-mix(in srgb, var(--c) 12%, transparent)}

h1,h2,h3,.page-title,.hero h1{font-family:'IBMPlexSans', Arial, sans-serif}
.cards-empty { padding: 22px 13px; border: 1px dashed var(--line); border-radius: var(--r-md); color: var(--muted); font-size: 12.5px; text-align: center; }
.review-empty p { margin: 0; line-height: 1.5; }
.review-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 13px; }

/* правки после просмотра кадров */
.top-actions { gap: 14px; }
.crumb { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.panel-button, .action-icons { flex: 0 0 auto; white-space: nowrap; }
.hero-meta { white-space: pre-line; }
.field input, .field select, .field textarea { font-size: 12.5px; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #7e7d86 50%), linear-gradient(135deg, #7e7d86 50%, transparent 50%); background-position: calc(100% - 15px) 17px, calc(100% - 11px) 17px; background-size: 4px 4px; background-repeat: no-repeat; }
.field textarea { min-height: 124px; }
.overlay { display: none; flex-direction: column; }
.workspace.panel-open .overlay { display: flex; }
.form-actions { margin-top: auto; padding-top: 18px; }
.problem-head, .problem-row { grid-template-columns: minmax(84px, 1.5fr) repeat(4, minmax(34px, .62fr)); }
.problem-head { font-size: 9px; line-height: 1.25; }

/* Раздел «Отзывы» */
.reviews-feed { padding: 14px 10px 10px; }
.reviews-title { padding: 2px 5px 10px; }
.review-filterbar { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 4px 10px; }
.review-filterbar > button, .review-filterbar > select { height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink-2); padding: 0 10px; font-size: 12px; }
.filter-button { cursor: pointer; text-align: left; }
.filter-button b:not(:empty) { float: right; min-width: 17px; border-radius: 99px; background: var(--violet); color: white; text-align: center; }
.filter-popover { position: absolute; z-index: 20; top: 40px; left: 4px; right: 4px; display: grid; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); }
.filter-popover[hidden] { display: none; }
.filter-popover label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.filter-popover select { width: 100%; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 0 9px; color: var(--ink); font-size: 12px; }
.filter-quick { display: flex; flex-wrap: wrap; gap: 5px; }
.filter-quick button { border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); padding: 5px 8px; color: var(--ink-2); font-size: 11px; cursor: pointer; }
.review-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; padding: 0 4px 4px; }
.review-row { display: grid; gap: 4px; width: 100%; border: 1px solid var(--line-soft); border-radius: 14px; background: var(--card); padding: 10px 11px; color: var(--ink-2); text-align: left; cursor: pointer; }
.review-row:hover { background: var(--card-hover); }
.review-row.selected { border-color: transparent; background: linear-gradient(135deg, #f0764f 0%, #c246c4 45%, #6d4aef 100%); color: white; box-shadow: 0 10px 22px rgb(109 74 239 / 16%); }
.review-row-head, .review-row-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.review-row-head b { font-size: 12.5px; }
.review-row-head time { display: grid; justify-items: end; gap: 1px; }
.review-row-head time b { color: var(--ink-2); font-size: 10.5px; font-variant-numeric: tabular-nums; }
.review-row-head time small { color: var(--faint); font-size: 9px; }
.review-row-head time, .review-place, .review-row-foot { color: var(--faint); font-size: 10px; }
.review-row.selected :is(time, .review-place, .review-row-foot) { color: rgb(255 255 255 / 78%); }
.review-stars { color: #e49c21; font-size: 12px; letter-spacing: .08em; }
.review-row.selected .review-stars { color: #fff2aa; }
.review-snippet { overflow: hidden; color: inherit; font-size: 11px; line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.review-row-foot i { padding: 3px 6px; border-radius: 99px; background: var(--panel-2); color: var(--ink-2); font-style: normal; }
.review-row.selected .review-row-foot i { background: rgb(255 255 255 / 20%); color: white; }
.review-row-foot em { font-style: normal; }

.review-main { padding: 18px 22px; }
.review-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px; margin-top: 17px; }
.review-author { display: flex; align-items: center; gap: 11px; }
.review-author h1 { margin: 0 0 3px; font-size: 24px; line-height: 1.05; font-weight: 600; }
.review-author span { color: var(--faint); font-size: 12px; }
.review-location-link { color: var(--violet); text-decoration: underline; text-decoration-color: rgb(109 74 239 / 32%); text-underline-offset: 2px; }
.action-icons .source { border-radius: 9px; background: #eeeafd; padding: 7px 10px; color: #4e3898; font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; }
.review-stars.large { margin: 10px 0 0 43px; font-size: 14px; }
.review-state { display: flex; align-items: end; gap: 8px; }
.review-state label, .review-controls label { display: grid; gap: 5px; color: var(--faint); font-size: 10px; }
.review-state select, .review-controls select { height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 0 28px 0 9px; color: var(--ink); font-size: 12px; }
.tone { align-self: end; display: inline-flex; align-items: center; height: 34px; border-radius: 10px; background: #eceae4; padding: 0 10px; color: var(--ink-2); font-size: 11px; }
.tone.negative { background: #f9e3e5; color: #a72c3a; }
.tone.positive { background: #dcf1e9; color: #087653; }
.review-copy { margin: 17px 0 11px; max-width: 760px; color: #333239; font-size: 14px; line-height: 1.5; }
.tag-editor { display: flex; flex-wrap: wrap; gap: 5px; }
.tag-editor button { border: 1px dashed #c8c5bc; border-radius: 999px; background: transparent; padding: 5px 9px; color: var(--muted); font-size: 11px; cursor: pointer; }
.review-controls { display: flex; align-items: end; justify-content: space-between; margin-top: 12px; }
.due-field { position: relative; display: grid; gap: 5px; color: var(--faint); font-size: 10px; }
.due-trigger { min-width: 174px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 0 10px; color: var(--ink); font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.due-popover { position: absolute; z-index: 30; right: 0; top: 44px; display: grid; grid-template-columns: repeat(2, minmax(82px,1fr)); gap: 8px; width: 260px; border: 1px solid var(--line); border-radius: 14px; background: white; padding: 12px; box-shadow: var(--shadow); }
.due-popover[hidden] { display: none; }
.due-popover label { display: grid; gap: 4px; }
.due-popover select { height: 32px; border: 1px solid var(--line); border-radius: 9px; background: var(--card); color: var(--ink); padding: 0 8px; }
.due-popover .button { grid-column: 1 / -1; }
.reply-editor { margin-top: 14px; padding: 15px; border-radius: 18px; background: var(--surface); }
.reply-head, .reply-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reply-head h2, .decision-history h2 { margin: 0; font-size: 14px; }
.reply-head > div { display: flex; gap: 6px; }
.reply-tools { align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.reply-tools > span { display: inline-flex; align-items: center; }
.draft-variant-count { color: var(--faint); font-size: 10px; white-space: nowrap; }
.draft-variants { display: inline-flex; align-items: center; gap: 4px; }
.draft-variants button { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: var(--muted); font-size: 10px; cursor: pointer; }
.draft-variants button.active { border-color: #a997ee; background: #eeeafd; color: #553bb1; font-weight: 700; }
.draft-variants span { color: var(--faint); font-size: 9px; }
.reply-editor textarea { width: 100%; min-height: 84px; margin-top: 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); padding: 11px 12px; color: var(--ink); font-size: 12.5px; line-height: 1.45; resize: vertical; }
.draft-reason { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; margin-top: 8px; padding: 9px 10px; border-radius: 11px; background: #eae6fb; color: #4a3f70; font-size: 11px; }
.draft-reason[hidden] { display: none; }
.template-menu[hidden] { display: none; }
.draft-reason small { grid-column: 2; color: #716a86; }
.reply-actions { margin-top: 9px; }
.complaint-wrap { display: grid; gap: 3px; margin-right: auto !important; }
.complaint-wrap small { color: var(--faint); font-size: 10px; }
.reply-actions > span { margin-left: auto; color: var(--faint); font-size: 11px; }
.button:disabled { cursor: not-allowed; opacity: .42; }
.danger-quiet { margin-right: auto; background: #f4e7e7; color: #a23642; }
.danger-quiet:hover { background: #efdcdc; }
.decision-history { margin-top: 13px; }
.decision-history > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.decision-history > div > div { display: grid; grid-template-columns: 8px 1fr; gap: 7px; padding: 9px 10px; border-radius: 11px; background: var(--panel-2); }
.decision-history i { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: var(--violet); }
.decision-history b, .decision-history small { display: block; font-size: 11px; }
.decision-history small { margin-top: 3px; color: var(--faint); }
.modal { width: min(520px, calc(100vw - 40px)); border: 0; border-radius: 20px; padding: 0; background: white; box-shadow: var(--shadow); }
.modal::backdrop { background: rgb(31 32 36 / 42%); backdrop-filter: blur(2px); }
.modal form { padding: 19px; }
.modal-head { display: flex; align-items: center; justify-content: space-between; }
.modal-head h2 { margin: 0; font-size: 17px; }
.modal fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 16px 0 10px; padding: 0; border: 0; }
.modal legend { grid-column: 1 / -1; margin-bottom: 8px; color: var(--muted); font-size: 12px; }
.modal fieldset label { display: flex; align-items: center; gap: 8px; min-height: 42px; border-radius: 11px; background: var(--surface); padding: 8px 10px; font-size: 12px; }
.modal textarea { width: 100%; min-height: 78px; border: 1px solid var(--line); border-radius: 12px; padding: 10px; resize: none; }
.toast { position: absolute; right: 20px; bottom: 18px; z-index: 30; border-radius: 12px; background: #1f2024; padding: 10px 13px; color: white; font-size: 12px; box-shadow: var(--shadow); }
.toast[hidden] { display: none; }

@media (max-width: 1320px) {
  .review-card-head { gap: 10px; }
  .review-author h1 { font-size: 21px; }
  .review-state { max-width: 270px; }
  .review-state select { width: 172px; }
  .review-main { padding: 16px 17px; }
  .reply-editor { padding: 13px; }
  .decision-history > div { grid-template-columns: 1fr; }
}

/* Раздел «Автоответы и ИИ» */
.ai-feed { padding: 10px; }
.ai-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 13px; background: #e8e6e0; }
.ai-tabs button { min-height: 31px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
.ai-tabs button.active { background: var(--card); color: var(--ink); font-weight: 650; box-shadow: var(--shadow-soft); }
.ai-list { display: grid; align-content: start; gap: 6px; min-height: 0; overflow: auto; }
.ai-list-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; width: 100%; min-height: 58px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--card); padding: 9px 10px; color: var(--ink-2); text-align: left; cursor: pointer; }
.ai-list-row:hover { background: var(--card-hover); }
.ai-list-row.selected { border-color: #b7a8f1; background: #eeeafd; }
.ai-list-row.saved { border-color: #73c7a8; background: #e7f5ef; }
.ai-list-row.static { cursor: default; }
.ai-list-row span:first-child { min-width: 0; }
.ai-list-row .ai-row-name { flex: 1 1 auto; }
.ai-list-row b, .ai-list-row small { display: block; }
.ai-list-row b { overflow: hidden; color: var(--ink); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.ai-list-row small { margin-top: 4px; color: var(--faint); font-size: 10px; line-height: 1.3; }
.ai-list-row > span:last-child { display: grid; justify-items: end; gap: 5px; flex: 0 0 auto; }
.ai-list-row em { color: var(--muted); font-size: 10px; font-style: normal; text-align: right; }
.switch { position: relative; display: inline-block; width: 30px; height: 17px; border-radius: 99px; background: #c9c7c1; vertical-align: middle; }
.switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 11px; height: 11px; border-radius: 50%; background: white; transition: transform .15s ease; }
.switch.on { background: var(--violet); }
.switch.on::after { transform: translateX(13px); }
.queue-age { border-radius: 99px; background: #f7dfe1; padding: 5px 7px; color: #aa3440 !important; }
.ai-main { padding: 19px 22px; }
.ai-hero { margin-top: 22px; }
.ai-hero h1 { max-width: 540px; font-size: 34px; }
.ai-summary-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; margin-top: 22px; }
.coverage-bar { height: 7px; margin-top: 18px; overflow: hidden; border-radius: 99px; background: #ddd9d0; }
.coverage-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--magenta), var(--violet)); }
.signature { margin: 17px 0 0; color: var(--ink); font-size: 13px; font-weight: 650; }
.summary-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.summary-row h3 { margin-bottom: 5px; }
.summary-row p { margin: 0; color: var(--muted); font-size: 12px; }
.rule-overview { padding-bottom: 11px; }
.rule-overview .mini-table { margin-top: -3px; }
.rule-overview .mini-table td { padding-block: 8px; }

.rule-main, .template-main { padding: 18px 22px; }
.rule-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-top: 18px; }
.rule-heading h1 { margin: 0; font-size: 26px; font-weight: 600; letter-spacing: -.025em; }
.rule-heading p { margin: 5px 0 0; color: var(--faint); font-size: 12px; }
.switch-label { display: flex; align-items: center; gap: 8px; color: var(--ink-2); font-size: 12px; }
.switch-label > input { position: absolute; opacity: 0; pointer-events: none; }
.rule-form { display: grid; gap: 8px; margin-top: 16px; padding-bottom: 64px; }
.rule-form details { border-radius: 14px; background: var(--surface); }
.rule-form summary { padding: 11px 13px; color: var(--ink); font-size: 12.5px; font-weight: 650; cursor: pointer; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 0 13px 13px; }
.form-grid > label, .template-form > label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.form-grid :is(input, select), .template-form :is(input, select, textarea) { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font-size: 12px; }
.form-grid :is(input, select), .template-form :is(input, select) { height: 34px; padding: 0 9px; }
.form-grid fieldset, .delivery-choice { display: flex; align-items: center; gap: 14px; grid-column: 1 / -1; margin: 0; border: 0; padding: 0; }
.form-grid legend, .delivery-choice legend { width: 100%; margin-bottom: 7px; color: var(--muted); font-size: 11px; }
.form-grid fieldset label, .delivery-choice label { display: flex; align-items: center; gap: 6px; border-radius: 10px; background: var(--card); padding: 8px 10px; color: var(--ink-2); font-size: 12px; }
.delivery-choice { padding: 0 13px 13px; }
.sticky-actions { position: sticky; bottom: -1px; z-index: 5; display: flex; align-items: center; justify-content: flex-end; gap: 7px; margin-top: 3px; padding: 10px; border-radius: 14px; background: rgb(251 250 248 / 94%); box-shadow: 0 -8px 20px rgb(50 42 32 / 6%); backdrop-filter: blur(8px); }
.sticky-actions > span { margin-right: auto; color: var(--green); font-size: 11px; }
.template-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 22px; }
.template-form > label:last-of-type, .template-form > div, .template-form .sticky-actions { grid-column: 1 / -1; }
.template-form textarea { min-height: 180px; padding: 12px; line-height: 1.55; resize: vertical; }
.check-row { display: flex !important; align-items: center; align-self: end; min-height: 34px; color: var(--ink-2) !important; }
.field-caption { display: block; margin-bottom: 7px; color: var(--muted); font-size: 11px; }
.variable-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.variable-chips button { border: 1px solid #cfc8ed; border-radius: 999px; background: #eeeafd; padding: 6px 9px; color: #553bb1; font-size: 11px; cursor: pointer; }

@media (max-width: 1320px) {
  .ai-main, .rule-main, .template-main { padding: 16px 17px; }
  .ai-hero h1 { font-size: 29px; }
  .ai-summary-grid { grid-template-columns: 1fr; }
  .ai-summary-grid .wide { grid-column: auto; }
  .rule-heading h1 { font-size: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid fieldset { grid-column: auto; }
}

/* приемка головы 16.09: единые списки и флажки вместо системных */
.workspace select, .feed select, .overlay select { appearance: none; -webkit-appearance: none; padding-right: 30px !important; background-image: linear-gradient(45deg, transparent 50%, #7e7d86 50%), linear-gradient(135deg, #7e7d86 50%, transparent 50%) !important; background-position: calc(100% - 16px) 50%, calc(100% - 12px) 50% !important; background-size: 4px 4px !important; background-repeat: no-repeat !important; }
.check-row { gap: 9px; justify-content: flex-start; }
.check-row input[type="checkbox"], .rule-form input[type="checkbox"]:not([data-rule-enabled]) { appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 16px !important; height: 16px !important; min-height: 0 !important; margin: 0; padding: 0 !important; border: 1px solid #c9c6be; border-radius: 5px; background: var(--card); cursor: pointer; }
.check-row input[type="checkbox"]:checked { border-color: #6d4aef; background: #6d4aef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2 6.7 11 12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
input[type="radio"] { accent-color: #6d4aef; }
a.ai-list-row { color: inherit; text-decoration: none; }

/* Обзор сети */
.overview-feed { padding: 18px 14px; }
.overview-feed .feed-title:first-child { padding-top: 1px; }
.risk-card { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 16px; border-radius: 17px; background: linear-gradient(135deg, #f0764f 0%, #c246c4 45%, #6d4aef 100%); color: white; box-shadow: 0 14px 30px rgb(109 74 239 / 16%); }
.risk-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: rgb(255 255 255 / 22%); font-size: 15px; font-weight: 700; }
.risk-card b, .risk-card small, .risk-card em { display: block; }
.risk-card b { font-size: 14px; }
.risk-card small { margin-top: 4px; color: rgb(255 255 255 / 78%); font-size: 11px; }
.risk-card em { margin-top: 12px; font-size: 12px; font-style: normal; font-weight: 650; }
.overview-topics { display: grid; gap: 7px; }
.overview-topics a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--card); padding: 10px 12px; }
.overview-topics a:hover { background: var(--card-hover); }
.overview-topics b { font-size: 12.5px; }
.overview-topics span { color: var(--violet); font-size: 11px; }
.signal-list { display: grid; gap: 7px; }
.signal-list a { display: grid; gap: 4px; min-height: 53px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--card); padding: 10px 12px; }
.signal-list a:hover { background: var(--card-hover); }
.signal-list b { font-size: 12.5px; }
.signal-list span { color: var(--faint); font-size: 11px; }
.period-switch { display: flex; gap: 4px; padding: 4px; border-radius: 12px; background: #e8e6e0; }
.period-switch button { min-width: 70px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: 12px; cursor: pointer; }
.period-switch button.active { background: var(--card); color: var(--ink); font-weight: 650; box-shadow: var(--shadow-soft); }
.overview-workspace .workspace-main { padding-bottom: 18px; }
.network-summary { margin-top: 22px; }
.network-summary h2, .table-section h2 { margin: 0; font-size: 14px; }
.metric-row.four { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 10px; }
.metric-row.four .metric { background: var(--surface); }
.table-section { margin-top: 22px; }
.overview-topic-section { margin-top: 22px; padding-bottom: 4px; }
.overview-topic-section .section-heading { margin-bottom: 10px; }
.overview-topics.horizontal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.overview-topics.horizontal a { min-height: 44px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.section-heading span { color: var(--faint); font-size: 11px; }
.data-head, .data-row { display: grid; grid-template-columns: minmax(130px, 1.6fr) repeat(4, minmax(58px, .7fr)); align-items: center; gap: 8px; }
.data-head { margin-top: 12px; padding: 0 12px 6px; color: var(--faint); font-size: 10px; text-align: right; }
.data-head span:first-child { text-align: left; }
.data-table { display: grid; gap: 7px; }
.data-row { min-height: 48px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--card); padding: 8px 12px; color: var(--ink-2); font-size: 12px; text-align: right; }
.data-row:hover { border-color: #cbc5ea; background: #f4f1ff; }
.data-row b { color: var(--ink); text-align: left; }
.negative-number { color: #b53745; }
.positive-number { color: var(--green); }
@media (max-width: 1320px) {
  .metric-row.four .metric { padding: 11px; }
  .metric-row.four .metric strong { font-size: 18px; }
  .data-head, .data-row { grid-template-columns: minmax(110px, 1.4fr) repeat(4, minmax(50px, .6fr)); }
}

.overview-topic-section h2 { margin: 0; font-size: 14px; }
.analytics-list i svg { width: 16px; height: 16px; fill: currentColor; }

/* Финальный баланс после просмотра полных кадров */
.analytics-report .chart-plot { height: 430px; }
.topic-columns > .wide-topics { grid-column: 1 / -1; }
.topic-share { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1320px) {
  .analytics-report .chart-plot { height: 400px; }
  .topic-share { grid-template-columns: repeat(3, 1fr); }
}

/* приемка головы 16.09 */
.group-row { font-size: 12.5px; text-align: left; }
.review-row.selected .review-rating { color: #fff; }
.review-rating { letter-spacing: .08em; }
.review-rating.rating-critical, .recent-rating.rating-critical, .location-reviews b.rating-critical { border-radius: 7px; background: #fbe4e5; padding: 3px 6px; color: #a93342; }
.review-rating.rating-warning, .recent-rating.rating-warning, .location-reviews b.rating-warning { border-radius: 7px; background: #fff1ee; padding: 3px 6px; color: #b85a4f; }
.review-rating.rating-neutral, .recent-rating.rating-neutral, .location-reviews b.rating-neutral { color: #b47d16; }
.review-row.selected .review-rating.rating-critical, .review-row.selected .review-rating.rating-warning { background: rgb(255 255 255 / 88%); color: #a93342; }
.overview-location-head { display: none; }
.wide-topics .surface-heading span { color: var(--muted); font-size: 12px; font-weight: 500; }
.admin-card button { justify-self: end; width: auto; }
.analytics-workspace .top-actions { flex-direction: column; align-items: stretch; gap: 10px; }
.analytics-workspace .analytics-filters { justify-content: flex-start; width: 100%; }
.analytics-workspace .point-picker { justify-content: flex-start; max-width: none; }
.point-picker button { font-size: 11px; padding: 5px 10px; }
.all-locations-section .section-heading span { display: none; }
.summary-queue span { font-size: 11px; font-weight: 650; color: var(--muted); }
.platform-summary span { text-transform: none; }

/* Вторая приемка Кирилла: спокойные заголовки, стабильные фильтры и компактные поповеры */
:root {
  --dropdown-open-dur: 250ms;
  --dropdown-close-dur: 150ms;
  --dropdown-pre-scale: 0.97;
  --dropdown-closing-scale: 0.99;
  --dropdown-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-dropdown {
  transform-origin: top left;
  transform: scale(var(--dropdown-pre-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-open-dur) var(--dropdown-ease),
    opacity   var(--dropdown-open-dur) var(--dropdown-ease);
  will-change: transform, opacity;
}
.t-dropdown[data-origin="top-right"]     { transform-origin: top right; }
.t-dropdown[data-origin="top-center"]    { transform-origin: top center; }
.t-dropdown[data-origin="bottom-left"]   { transform-origin: bottom left; }
.t-dropdown[data-origin="bottom-center"] { transform-origin: bottom center; }
.t-dropdown[data-origin="bottom-right"]  { transform-origin: bottom right; }

.t-dropdown.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.t-dropdown.is-closing {
  transform: scale(var(--dropdown-closing-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-close-dur) var(--dropdown-ease),
    opacity   var(--dropdown-close-dur) var(--dropdown-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-dropdown { transition: none !important; }
}

.hero h1,
.collection-hero h1,
.competitor-hero h1,
.settings-hero h1,
.ai-hero h1 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.1;
}
.location-card-head h1 { font-size: 26px; font-weight: 500; }
.rule-heading h1 { font-size: 24px; font-weight: 500; }
.review-author h1 { font-size: 22px; font-weight: 500; }

.analytics-workspace .top-actions.analytics-toolbar {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) auto;
  align-items: center;
  gap: 14px;
  height: 40px;
}
.analytics-filterbar { display: flex; align-items: center; justify-content: flex-end; gap: 7px; height: 38px; }
.analytics-filterbar > * { flex: 0 0 auto; }
.point-select { position: relative; min-width: 138px; max-width: 230px; }
.point-select .custom-select { width: 100%; }
.point-select .custom-select-trigger { width: 100%; max-width: 230px; }
.point-select .custom-select-trigger > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.point-select .custom-select-menu { min-width: 260px; right: 0; left: auto; }
.point-select-menu {
  position: absolute;
  z-index: 75;
  top: calc(100% + 5px);
  right: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  width: 300px;
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  background: #fff;
  padding: 7px;
  box-shadow: 0 18px 50px rgb(44 33 70 / 18%);
}
.point-select-menu[hidden] { display: none; }
.point-select-menu button {
  display: grid;
  gap: 3px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--surface);
  padding: 8px 9px;
  color: var(--ink);
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}
.point-select-menu button small { color: var(--faint); font-size: 10px; }
.point-select-menu button[aria-selected="true"] { border-color: #b7a8f1; background: #eeeafd; color: #553bb1; }
.point-select-menu .point-select-all { grid-column: 1 / -1; display: block; text-align: center; }
.compare-cards { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); }

.shell-drawer {
  left: 248px;
  top: var(--drawer-top, 14px);
  bottom: auto;
  width: 342px;
  max-height: calc(100vh - 28px);
  border-radius: 18px;
  padding: 14px;
  overflow: auto;
}
.shell-drawer-head { align-items: center; }
.shell-drawer-head > div { display: flex; align-items: center; gap: 10px; }
.platform-mark { width: 10px; height: 10px; border-radius: 50%; }
.platform-mark.purple { background: var(--violet); }
.platform-mark.orange { background: var(--orange); }
.platform-location-list { gap: 5px; margin-top: 12px; }
.platform-location-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 8px;
  min-height: 49px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--surface);
  padding: 7px 9px;
}
.platform-location-row.has-error { border-color: #efb4bb; background: #fff7f7; }
.platform-location-row > a { min-width: 0; padding: 0; background: transparent; }
.platform-location-row > a:hover { background: transparent; }
.platform-location-row b,
.platform-location-row small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.connection-state { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: 10px; white-space: nowrap; }
.connection-state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.connection-state.offline { color: var(--red); font-weight: 600; }
.reconnect-action { grid-column: 2; border: 0; background: transparent; padding: 0; color: var(--violet); font-size: 10px; cursor: pointer; }
.profile-identity { min-width: 0; }
.profile-avatar { width: 40px; height: 40px; }
.profile-form { gap: 14px; margin-top: 15px; }
.profile-form > div.profile-points { padding: 0; background: transparent; }
.profile-points p { display: flex; flex-wrap: wrap; gap: 5px; margin: 7px 0 0; }
.profile-points i { border-radius: 999px; background: #eeeafd; padding: 6px 8px; color: #553bb1; font-size: 10px; font-style: normal; }
.profile-form .profile-save { justify-self: start; width: auto; }

@media (max-width: 1320px) {
  .hero h1,
  .collection-hero h1,
  .competitor-hero h1,
  .settings-hero h1,
  .ai-hero h1 { font-size: 27px; }
  .shell-drawer { left: 224px; width: 328px; }
  .analytics-filterbar { gap: 5px; }
  .point-select { width: 108px; }
}

/* приемка головы: живые данные */
.example-note { margin: 0 0 12px; border-radius: 10px; background: #f6efd9; padding: 8px 11px; color: #7a5b16; font-size: 12px; line-height: 1.4; }
.negative-review-list a { display: grid; gap: 3px; border-radius: 11px; background: var(--card); padding: 9px 11px; color: var(--ink); text-decoration: none; }
.negative-review-list a:hover { background: var(--card-hover); }
.negative-review-list b { font-size: 12px; font-weight: 650; }
.negative-review-list span { overflow: hidden; color: var(--ink-2); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.review-controls > span { color: var(--ink-2); font-size: 12.5px; }
.locations-feed .search { flex: 0 0 38px; min-height: 38px; }

/* Рабочий цикл ответа */
.user > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; text-align: left; }
.user b { overflow: hidden; font-size: 12px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.user small { color: var(--faint); font-size: 10px; }
.review-context { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 4px 10px; color: #553bb1; font-size: 11px; }
.review-back-link { color: #553bb1; font-weight: 650; text-decoration: none; }
.review-context-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; background: #eeeafd; padding: 6px 7px 6px 10px; }
.review-context button { display: grid; place-items: center; flex: 0 0 auto; width: 18px; height: 18px; border: 0; border-radius: 50%; background: rgb(85 56 177 / 10%); padding: 0; color: inherit; font-size: 15px; line-height: 1; cursor: pointer; }
.review-row.overdue:not(.selected) .review-row-foot em { font-weight: 650; }
.review-controls { gap: 12px; }
.review-controls > .custom-select { flex: 1 1 240px; }
.due-field { display: grid; flex: 0 1 230px; gap: 4px; color: var(--faint); font-size: 10px; }
.due-field input { height: 35px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 0 9px; color: var(--ink); }
.due-field small { color: var(--ink-2); font-size: 10px; }
.publication-state { max-width: 330px; margin-right: auto !important; color: var(--faint) !important; line-height: 1.35; }
.publication-state.success { color: var(--green) !important; font-weight: 650; }
.publication-state.error { color: var(--red) !important; }
.platform-summary > a { display: block; border-radius: 14px; background: rgb(255 255 255 / 68%); padding: 14px; }
.platform-summary > a:hover { background: var(--card-hover); }
.empty-feed { justify-content: center; }
.empty-feed > p { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.empty-workspace { justify-content: center; }
.empty-product-state { display: grid; max-width: 560px; gap: 8px; margin-top: 34px; border-radius: 20px; background: var(--surface); padding: 28px; }
.empty-product-state h2, .empty-product-state p { margin: 0; }
.empty-product-state h2 { font-size: 18px; font-weight: 550; }
.empty-product-state p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.profile-form select { height: 40px; border: 1px solid var(--line); border-radius: 11px; background: #fff; padding: 0 11px; color: var(--ink); }
.analytics-report .report-number { color: inherit; text-decoration: none; }
.analytics-report .report-number:hover span { color: var(--purple); }

/* Обзор по выбранному референсу Javad Mohmed */
.app.overview-app { grid-template-columns: 228px minmax(0, 1fr); }
.overview-dashboard { padding: 20px 24px 24px; }
.overview-welcome { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-radius: 15px; background: rgb(255 255 255 / 62%); padding: 12px 16px; }
.overview-welcome h1, .overview-welcome p { margin: 0; }
.overview-welcome h1 { font-size: 22px; font-weight: 500; letter-spacing: -.025em; }
.overview-welcome p { margin-top: 3px; color: var(--faint); font-size: 11px; }
.overview-updated { display: flex; align-items: center; gap: 12px; color: var(--faint); font-size: 12px; }
.overview-top-grid { display: grid; grid-template-columns: minmax(290px, 350px) minmax(380px, 1fr) minmax(260px, 300px); gap: 14px; margin-top: 14px; }
.overview-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.overview-metric { position: relative; display: flex; flex-direction: column; min-height: 142px; border-radius: 18px; padding: 14px 15px; overflow: hidden; color: var(--ink); box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
.overview-metric > span { max-width: 100%; padding-right: 50px; font-size: 13px; font-weight: 600; line-height: 1.2; }
.overview-metric svg { position: absolute; top: 13px; right: 13px; width: 37px; height: 37px; fill: currentColor; opacity: .16; }
.overview-metric strong { margin-top: auto; font-size: 36px; font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.overview-metric small { margin-top: 5px; color: currentColor; font-size: 10px; opacity: .68; }
.metric-reviews { background: #eeeafd; color: #3e2b85; }
.metric-rating { background: linear-gradient(145deg, #8b6ef2, #6d4aef); color: #fff; }
.metric-negative { background: linear-gradient(145deg, #f6b2b7, #eb7f8b); color: #6f1d2a; }
.metric-attention { border: 1px solid var(--line-soft); background: #fff; }
.overview-metric:focus-visible { box-shadow: 0 0 0 3px rgb(109 74 239 / 22%), 0 10px 25px rgb(48 38 75 / 7%); }
.overview-map-card { min-width: 0; border-radius: 19px; background: #fff; padding: 14px; box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
.overview-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.overview-card-head h2 { margin: 0; font-size: 14px; font-weight: 600; }
.overview-card-head > span { border-radius: 999px; background: #eeeafd; padding: 6px 9px; color: #563bb0; font-size: 10px; }
.network-map { position: relative; height: 264px; border-radius: 14px; overflow: hidden; background: #edf0eb; }
.overview-map-tiles { position: absolute; inset: 0; }
.overview-map-tiles img { position: absolute; filter: saturate(.28) contrast(.84) brightness(1.08); }
.network-marker { position: absolute; z-index: 2; left: var(--left); top: var(--top); transform: translate(-50%, -50%); }
.network-marker > i { display: block; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: #6d4aef; box-shadow: 0 2px 7px rgb(45 34 70 / 28%); }
.network-marker.watch > i { background: var(--orange); }
.network-marker.problem > i { background: #d9495a; box-shadow: 0 0 0 8px rgb(217 73 90 / 13%), 0 2px 7px rgb(45 34 70 / 28%); }
.map-tooltip { position: absolute; z-index: 5; left: 14px; bottom: 14px; display: none; width: 190px; border-radius: 12px; background: rgb(255 255 255 / 96%); padding: 10px; color: var(--ink); box-shadow: 0 12px 30px rgb(45 34 70 / 18%); pointer-events: none; }
.network-marker:hover, .network-marker:focus-visible { z-index: 6; }
.network-marker.tooltip-left .map-tooltip { left: auto; right: 14px; }
.network-marker.tooltip-below .map-tooltip { bottom: auto; top: 14px; }
.network-marker:hover .map-tooltip, .network-marker:focus-visible .map-tooltip { display: grid; gap: 3px; }
.map-tooltip b { font-size: 12px; }
.map-tooltip em, .map-tooltip small { color: var(--faint); font-size: 10px; font-style: normal; line-height: 1.35; }
.map-attribution { position: absolute; right: 5px; bottom: 4px; border-radius: 5px; background: rgb(255 255 255 / 86%); padding: 2px 4px; color: #73727a; font-size: 8px; }
.overview-chart-card { display: flex; flex-direction: column; min-width: 0; border-radius: 19px; background: #fff; padding: 14px; box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 10px; margin: 5px 0 12px; color: var(--faint); font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 4px; }
.chart-legend i { width: 7px; height: 7px; border-radius: 2px; }
.chart-legend .five, .review-day-bar .five { background: #6d4aef; }
.chart-legend .four, .review-day-bar .four { background: #e69a43; }
.chart-legend .low, .review-day-bar .low { background: #e76576; }
.review-days { display: flex; align-items: stretch; justify-content: space-between; flex: 1; min-height: 205px; gap: 3px; }
.review-day { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: end; align-items: center; gap: 5px; }
.review-day-bar { display: flex; width: min(18px, 72%); height: 190px; flex-direction: column-reverse; justify-content: flex-start; border-radius: 6px 6px 3px 3px; overflow: hidden; background: #f1f0ec; }
.review-day-bar i { display: block; flex: 0 0 auto; width: 100%; min-height: 0; }
.review-day > span { min-height: 10px; color: var(--faint); font-size: 8px; white-space: nowrap; }
.overview-bottom-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 300px); gap: 14px; margin-top: 14px; }
.recent-reviews-card { min-width: 0; border-radius: 19px; background: #fff; padding: 14px; box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
.recent-reviews-card .overview-card-head > a { color: var(--violet); font-size: 10px; font-weight: 600; }
.recent-review-head, .recent-review-row { display: grid; grid-template-columns: 78px minmax(100px, .9fr) minmax(110px, 1fr) 64px 72px minmax(110px, .9fr) 78px; align-items: center; gap: 9px; }
.recent-review-head { padding: 2px 11px 7px; color: var(--faint); font-size: 9px; }
.recent-review-list { display: grid; gap: 5px; max-height: 296px; overflow-y: auto; overscroll-behavior: contain; padding-right: 3px; scrollbar-gutter: stable; }
.recent-review-row { min-height: 43px; border: 1px solid var(--line-soft); border-radius: 11px; background: #fbfaf8; padding: 7px 11px; color: var(--ink-2); font-size: 10px; }
.recent-review-row:hover { border-color: #cfc8ed; background: #f6f3ff; }
.recent-review-row > * { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.recent-review-row b { color: var(--ink); font-size: 11px; }
.recent-review-row time { color: var(--faint); font-variant-numeric: tabular-nums; }
.recent-review-row .recent-rating { color: #c67b22; font-weight: 650; }
.recent-review-row em { font-style: normal; font-weight: 650; }
.recent-review-row em.new { color: #d65f35; }
.recent-review-row em.working { color: #6d4aef; }
.recent-review-row em.answered { color: #278456; }
.attention-card { min-width: 0; border-radius: 19px; background: #fff; padding: 14px; box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
.attention-card .overview-card-head > span { padding: 0; background: transparent; color: var(--faint); }
.attention-list { display: grid; gap: 5px; }
.attention-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 43px; border-radius: 11px; background: #fbfaf8; padding: 6px 8px; }
.attention-row:hover { background: #fff2f3; }
.attention-row > i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: #f8dade; color: #b63445; font-size: 12.5px; font-style: normal; font-weight: 700; }
.attention-row > i.yandex { background: #fde6d4; color: #d26832; }
.attention-row > span { min-width: 0; }
.attention-row b, .attention-row small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.attention-row b { font-size: 11px; }
.attention-row small { margin-top: 2px; color: var(--faint); font-size: 9px; font-weight: 400; }
.attention-row > strong { color: #b63445; font-size: 16px; text-align: right; }
.attention-row > strong small { max-width: 63px; white-space: normal; }
.overview-notices { display: grid; gap: 5px; max-height: 230px; margin-top: 10px; overflow-y: auto; overscroll-behavior: contain; padding-right: 2px; scrollbar-gutter: stable; }
.overview-notices-title { position: sticky; top: 0; z-index: 1; background: var(--surface); padding: 2px 2px 4px; color: var(--ink); font-size: 10px; font-weight: 700; }
.overview-notice { position: relative; display: grid; gap: 2px; border: 1px solid #ead8dd; border-radius: 12px; background: #fff8f8; padding: 8px 9px; }
.overview-notice:hover { border-color: #e8aeb8; background: #fff1f2; }
.overview-notice span { color: #b63445; font-size: 10px; font-weight: 650; }
.overview-notice.neutral { border-color: var(--line-soft); background: #f8f7f3; }
.overview-notice.neutral:hover { border-color: #c8c4ba; background: #f1efe9; }
.overview-notice.neutral span { color: var(--ink-2); }
.overview-notice b { overflow: hidden; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.overview-notice small { justify-self: end; color: var(--violet); font-size: 9px; font-weight: 650; }

/* 21.09: выбранный отзыв заметен спокойно, без градиентной заливки */
.review-row.selected {
  border-color: #bdb0ee;
  background: #f2effc;
  color: var(--ink-2);
  box-shadow: inset 3px 0 0 #8068d9, 0 7px 18px rgb(74 56 111 / 8%);
}
.review-row.selected:hover { background: #eeeafd; }
.review-row.selected :is(time, .review-place, .review-row-foot) { color: var(--faint); }
.review-row.selected .review-stars,
.review-row.selected .review-rating { color: #7b5bc8; }
.review-row.selected .review-row-foot i { background: #e5e0f6; color: #4f4380; }
.review-row.review-low-critical,
.recent-review-row.review-low-critical {
  border-color: #e9adb5;
  background: #fff0f2;
  box-shadow: inset 3px 0 0 #cf5262;
}
.review-row.review-low-warning,
.recent-review-row.review-low-warning {
  border-color: #efd0d4;
  background: #fff7f7;
  box-shadow: inset 3px 0 0 #de8993;
}
.review-row.review-low-critical:hover,
.recent-review-row.review-low-critical:hover { background: #ffe8eb; }
.review-row.review-low-warning:hover,
.recent-review-row.review-low-warning:hover { background: #fff1f2; }
.review-row.selected.review-low-critical {
  border-color: #dc7b87;
  background: #ffe9ec;
  box-shadow: inset 3px 0 0 #c94455, 0 7px 18px rgb(150 53 67 / 9%);
}
.review-row.selected.review-low-warning {
  border-color: #e6aeb5;
  background: #fff1f2;
  box-shadow: inset 3px 0 0 #d97984, 0 7px 18px rgb(150 53 67 / 7%);
}

.example-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; border-radius: 999px; background: #f6efd9; padding: 0 9px; color: #765814; font-size: 11px; font-weight: 600; }
.top-actions > .example-badge { margin-right: auto; }
.top-actions > .example-badge + .crumb { margin-left: 10px; }
.loading-feed { display: grid; align-content: start; gap: 14px; padding: 24px; }
.loading-workspace .workspace-main { justify-content: center; }
.loading-line, .loading-grid > div { position: relative; overflow: hidden; border-radius: 12px; background: #eceae5; }
.loading-line::after, .loading-grid > div::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 68%), transparent); content: ''; transform: translateX(-100%); animation: loading-shimmer 1.1s ease-in-out infinite; }
.loading-line { width: 72%; height: 16px; }
.loading-line.wide { width: 100%; height: 38px; }
.loading-line.title { width: 42%; height: 42px; }
.loading-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.loading-grid > div { min-height: 180px; }
.loading-status { margin: 18px 0 0; color: var(--faint); font-size: 12.5px; }
@keyframes loading-shimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .loading-line::after, .loading-grid > div::after { animation: none; } }

@media (min-width: 1600px) and (min-height: 1000px) {
  .overview-dashboard { padding: 20px 26px 24px; }
  .overview-welcome { min-height: 72px; padding: 15px 18px; }
  .overview-welcome h1 { font-size: 27px; }
  .overview-welcome p { margin-top: 5px; font-size: 12.5px; }
  .overview-updated { gap: 14px; font-size: 12.5px; }
  .overview-top-grid { grid-template-columns: minmax(360px, 390px) minmax(500px, 1fr) minmax(300px, 330px); gap: 16px; margin-top: 16px; }
  .overview-metrics { gap: 12px; }
  .overview-metric { min-height: 181px; border-radius: 20px; padding: 18px; }
  .overview-metric > span { max-width: 100%; padding-right: 58px; font-size: 14px; }
  .overview-metric svg { top: 16px; right: 16px; width: 44px; height: 44px; }
  .overview-metric strong { font-size: 44px; }
  .overview-metric small { margin-top: 7px; font-size: 11px; }
  .overview-map-card, .overview-chart-card, .recent-reviews-card, .attention-card { border-radius: 21px; padding: 18px; }
  .overview-card-head { margin-bottom: 13px; }
  .overview-card-head h2 { font-size: 17px; }
  .overview-card-head > span { padding: 7px 10px; font-size: 11px; }
  .network-map { height: 324px; border-radius: 15px; }
  .chart-legend { gap: 12px; margin: 6px 0 15px; font-size: 11px; }
  .chart-legend i { width: 8px; height: 8px; }
  .review-days { min-height: 254px; gap: 4px; }
  .review-day-bar { width: min(22px, 72%); height: 236px; }
  .review-day > span { min-height: 12px; font-size: 9px; }
  .overview-bottom-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 330px); gap: 16px; margin-top: 16px; }
  .recent-reviews-card .overview-card-head > a { font-size: 12px; }
  .recent-review-head, .recent-review-row { grid-template-columns: 92px minmax(120px, .9fr) minmax(135px, 1fr) 74px 84px minmax(125px, .9fr) 90px; gap: 11px; }
  .recent-review-head { padding: 3px 13px 9px; font-size: 11px; }
  .recent-review-list, .attention-list { gap: 7px; }
  .recent-review-row { min-height: 61px; border-radius: 13px; padding: 10px 13px; font-size: 12px; }
  .recent-review-row b { font-size: 12.5px; }
  .attention-card .overview-card-head > span { padding: 0; }
  .attention-row { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 11px; min-height: 61px; border-radius: 13px; padding: 9px 11px; }
  .attention-row > i { width: 38px; height: 38px; border-radius: 11px; font-size: 14px; }
  .attention-row b { font-size: 12.5px; }
  .attention-row small { margin-top: 3px; font-size: 10px; }
  .attention-row > strong { font-size: 19px; }
  .attention-row > strong small { max-width: 72px; }
}

/* 18.09: аналитика, замок, сбор */
.menu-item .count.lock { display: inline-grid; place-items: center; background: transparent; }
.menu-lock { width: 14px; height: 14px; fill: #9a98a3; }
.locked-workspace { grid-column: 2 / -1; display: grid; place-items: center; }
.locked-card { max-width: 460px; border-radius: 22px; background: rgb(255 255 255 / 78%); padding: 34px 32px; text-align: center; box-shadow: 0 12px 30px rgb(48 38 75 / 7%); }
.locked-card h1 { margin: 14px 0 10px; font-size: 26px; font-weight: 600; }
.locked-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.locked-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: #eeeafd; }
.locked-icon svg { width: 26px; height: 26px; fill: #6d4aef; }
.report-lead { max-width: 760px; margin: 10px 0 18px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.report-example { margin-left: 4px; border-radius: 999px; background: #f6efd9; padding: 1px 6px; color: #765814; font-size: 10px; font-style: normal; font-weight: 600; }
.line-report { margin-top: 14px; border-radius: 16px; background: #fbfaf8; padding: 10px 12px; }
.rating-line-chart { display: block; width: 100%; height: auto; fill: none; }
.rating-line-chart .grid-line { stroke: #e6e1ee; stroke-width: 1; }
.rating-line-chart .our-line { stroke: #6d4aef; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.rating-line-chart circle { fill: #fff; stroke: #6d4aef; stroke-width: 2.5; }
.rating-line-chart text { fill: var(--muted); font-size: 11px; font-family: 'IBMPlexSans', Arial, sans-serif; }
.rating-line-chart text.value { fill: var(--ink); font-weight: 600; }
.compare-row b small { display: block; margin-top: 2px; color: var(--faint); font-size: 11px; font-weight: 400; }
.compare-add { margin-top: 12px; }
.topic-live-list { display: grid; gap: 8px; }
.topic-live-row { display: grid; grid-template-columns: minmax(150px, .8fr) 2fr 48px 80px; align-items: center; gap: 14px; border-radius: 14px; background: #fff; padding: 12px 14px; color: inherit; text-decoration: none; box-shadow: 0 4px 12px rgb(48 38 75 / 5%); }
.topic-live-row:hover { background: #f7f4ff; }
.topic-live-row b { display: block; font-size: 14px; }
.topic-live-row small, .topic-live-row span { color: var(--faint); font-size: 11.5px; }
.topic-live-row p { margin: 0; color: var(--ink-2); font-size: 12.5px; line-height: 1.45; }
.topic-live-row strong { font-size: 20px; text-align: right; }
.example-report .collection-funnel { margin-top: 0; }
.owner-static { display: grid; gap: 3px; min-width: 0; border-radius: 12px; background: rgb(255 255 255 / 70%); padding: 9px 12px; }
.owner-static span, .owner-static small { color: var(--faint); font-size: 11px; }
.owner-static b { font-size: 13px; font-weight: 600; }
.owner-meta { display: flex; align-items: center; gap: 9px; }
.owner-meta .text-action { font-size: 11px; }
.answer-state { margin-top: 14px; border-radius: 14px; padding: 12px 14px; font-size: 13px; }
.answer-state.none { background: #fff4e8; color: #8a5315; font-weight: 600; }
.answer-state.done { display: grid; gap: 8px; background: #eaf7ef; color: #1d6b3d; }
.answer-state.done div { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.answer-state.done span { color: #3f7d57; font-size: 12px; }
.answer-state.done p { margin: 0; color: var(--ink-2); line-height: 1.5; }
.answer-state .text-action { justify-self: start; }
.decision-history summary { cursor: pointer; font-size: 14px; font-weight: 600; list-style: none; }
.decision-history summary::before { content: '›'; display: inline-block; margin-right: 8px; transition: transform .15s; }
.decision-history[open] summary::before { transform: rotate(90deg); }
.decision-history[open] [data-history] { margin-top: 10px; }
.review-row.answered { opacity: .82; padding-top: 9px; padding-bottom: 9px; }
.answered-chip { color: #1d6b3d; font-size: 11.5px; font-weight: 600; }
.review-row.selected .answered-chip { color: #fff; }
.simple-rules { display: grid; gap: 12px; margin-top: 6px; }
.simple-rule { border-radius: 18px; background: #fff; padding: 16px 18px; box-shadow: 0 6px 16px rgb(48 38 75 / 6%); }
.simple-rule { border-left: 3px solid #e4e0fa; }
.simple-rule.tint-0 { border-left-color: #c9c0f4; }
.simple-rule.tint-1 { border-left-color: #eec2e3; }
.simple-rule.tint-2 { border-left-color: #f2c9a8; }
.simple-rule.tint-3 { border-left-color: #a9dcd8; }
.simple-rule.tint-4 { border-left-color: #b7d1f2; }
.simple-rule.off { opacity: .6; }
.simple-rule-head { display: flex; align-items: center; gap: 10px; }
.simple-rule-summary { display: flex; align-items: center; flex: 1 1 auto; gap: 10px; border: 0; background: transparent; padding: 0; color: inherit; text-align: left; cursor: pointer; }
.simple-rule-summary > span { min-width: 0; }
.simple-rule-summary small { display: block; margin-top: 3px; color: var(--faint); font-size: 10px; font-weight: 400; }
.simple-rule-head .switch { flex: 0 0 auto; }
.simple-rule-head h2 { margin: 0; font-size: 15px; font-weight: 600; }
.simple-rule-line, .simple-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0; color: var(--ink-2); font-size: 13.5px; }
.simple-preview { border-radius: 14px; background: #f3effd; padding: 12px 14px; }
.rule-arrow { color: #8b7fd9; font-weight: 700; }
.simple-rule-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.simple-rule-foot small { color: var(--faint); font-size: 12px; }
.simple-rule-details { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); gap: 14px; margin-top: 14px; border-radius: 14px; background: var(--surface); padding: 14px; }
.simple-rule-details dl { display: grid; gap: 9px; margin: 0; }
.simple-rule-details dl > div { display: grid; grid-template-columns: 130px 1fr; gap: 10px; }
.simple-rule-details dt { color: var(--faint); font-size: 10.5px; }
.simple-rule-details dd { margin: 0; color: var(--ink-2); font-size: 12px; line-height: 1.4; }
.simple-rule-example { border-radius: 12px; background: #fff; padding: 11px 12px; }
.simple-rule-example b { font-size: 11px; }
.simple-rule-example p { margin: 7px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.45; }
.simple-rule-form { display: grid; gap: 16px; max-width: 760px; }
.simple-field { display: grid; gap: 8px; }
.simple-field > span { font-size: 13px; font-weight: 600; }
.simple-field input, .simple-field select { min-height: 38px; border: 1px solid var(--line-soft, #e5e1ea); border-radius: 12px; background: #fff; padding: 0 12px; font-size: 13px; }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.choice-chip { min-height: 34px; border: 1px solid #e2ddeb; border-radius: 999px; background: #fff; padding: 0 14px; color: var(--ink-2); font-size: 13px; cursor: pointer; }
.choice-chip.active { border-color: #6d4aef; background: #eeeafd; color: #4b2fc4; font-weight: 600; }
.choice-chip:disabled { opacity: .45; cursor: not-allowed; }
.simple-note { color: #8a5315; font-size: 12px; }
button.switch { border: 0; cursor: pointer; }

/* Аналитика · динамика рейтинга: два рейтинга карточек рядом с живой линией */
.platform-rating-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.platform-rating-row > div { display: grid; gap: 3px; border-radius: 16px; background: #fbfaf8; padding: 12px 14px; }
.platform-rating-row span { color: var(--faint); font-size: 11px; }
.platform-rating-row strong { font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.platform-rating-row small { color: var(--faint); font-size: 10.5px; }

/* Карта сети: приближение 2–3 шагами от начального вида */
.map-zoom { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; gap: 4px; }
.map-zoom button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgb(255 255 255 / 92%); color: var(--ink); font-size: 16px; line-height: 1; cursor: pointer; box-shadow: 0 4px 12px rgb(48 38 75 / 8%); }
.map-zoom button:hover:not(:disabled) { background: #fff; border-color: #cfc8ed; }
.map-zoom button:disabled { opacity: .4; cursor: default; }

/* Одна цветовая система приложения: оттенок выводится из названия, без радуги и светофора */
.row-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #4a35a8;
  background: #e2dff7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.row-avatar.tint-0 { color: #4a35a8; background: #e4e0fa; }
.row-avatar.tint-1 { color: #8a3d7c; background: #f6dff1; }
.row-avatar.tint-2 { color: #a2531f; background: #fbe4d4; }
.row-avatar.tint-3 { color: #1d6a6b; background: #d9f0ee; }
.row-avatar.tint-4 { color: #2c5f9e; background: #dde9fa; }

.location-row-name, .ai-row-name { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; }
.location-row-name .row-avatar, .ai-row-name .row-avatar { width: 26px; height: 26px; font-size: 10px; }
.locations-feed, .location-list, .location-list-row, .ai-feed, .ai-list, .ai-list-row { min-width: 0; }
.location-list { overflow-x: hidden; }
.location-list-row, .ai-list-row { overflow: hidden; }
.location-row-name > span, .ai-row-name > span { min-width: 0; }
.location-list-row b, .location-list-row small, .ai-list-row b, .ai-list-row small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.location-list-row .location-row-score { flex: 0 1 auto; min-width: 0; max-width: 50%; }
.location-list-row .location-row-score small, .location-list-row .location-row-score strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Карточка локации: блоки 1–7 по рамке Продуктового отдела 2026-09-18 */
.location-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.location-metric { border-radius: 14px; background: var(--card); padding: 12px 13px; }
.location-metric span { display: block; color: var(--faint); font-size: 10.5px; }
.location-title { display: inline-flex !important; align-items: center; gap: 7px; }
.location-title-icon { display: inline-grid !important; place-items: center; flex: 0 0 auto; width: 18px; height: 18px; border-radius: 6px; background: #eeeafd; color: var(--violet); }
.location-title-icon svg { width: 13px; height: 13px; fill: currentColor; }
.location-title-icon.network svg { fill: none; stroke: currentColor; stroke-width: 1.4; }
.location-title-icon.two-gis { background: #e0f3e8; color: #16834f; }
.location-title-icon.yandex { background: #fff0d6; color: #e34235; }
.brand-mark.yandex circle { fill: #f5bd22; }
.location-metric strong { display: block; margin-top: 6px; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.location-metric small { display: block; margin-top: 4px; color: var(--faint); font-size: 10px; }
.theme-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.theme-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; background: #f4f1ff; padding: 6px 11px; color: #553bb1; font-size: 11.5px; text-decoration: none; }
.theme-chip b { font-weight: 600; }
.theme-chip span { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 999px; background: #fff; font-size: 10.5px; font-variant-numeric: tabular-nums; }
.theme-chip:hover { background: #ebe5ff; }
.platform-rows { display: grid; gap: 7px; }
.platform-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 10px; border-radius: 11px; background: var(--card); padding: 9px 10px; }
.platform-row b, .platform-row small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.platform-row b { color: var(--ink); font-size: 12px; }
.platform-row small { margin-top: 3px; color: var(--faint); font-size: 10px; }
.platform-row > div:last-child { text-align: right; }
.platform-state.ok { color: var(--green); }
.platform-state.fresh { color: var(--violet); }
.platform-state.offline { color: var(--red); }
.owner-line { margin: 0; color: var(--ink-2); font-size: 12.5px; line-height: 1.45; }
.card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.card-actions .button { text-decoration: none; }
.compare-link { display: flex; justify-content: space-between; gap: 14px; border-radius: 10px; background: var(--card); padding: 8px 9px; color: var(--ink-2); font-size: 11px; text-decoration: none; }
.compare-link:hover { background: var(--card-hover); }
.compare-link b { color: var(--ink); }
.review-reply { display: block; margin-top: 4px; border-left: 2px solid #c9c0f4; padding-left: 8px; color: var(--ink-2); font-size: 10.5px; font-style: normal; line-height: 1.4; }
.review-reply.none { border-left-color: var(--line); color: var(--faint); }
.location-detail-grid { grid-template-columns: 1fr 1fr; }
.location-detail-grid > .surface.wide { grid-column: 1 / -1; }
@media (max-width: 1500px) { .location-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Темы жалоб: чипы строкой, глубина раскрывается на месте */
.theme-chip-row { display: flex; flex-wrap: wrap; gap: 7px; }
.theme-chip { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line-soft); border-radius: 999px; background: #fff; padding: 8px 13px; color: var(--ink); font: inherit; font-size: 12.5px; cursor: pointer; }
.theme-chip b { font-weight: 600; }
.theme-chip span { display: grid; place-items: center; min-width: 22px; height: 22px; border-radius: 999px; background: var(--panel-2); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.theme-chip.open { border-color: #b7a8f1; background: #eeeafd; color: #553bb1; }
.theme-chip.open span { background: #fff; }
.theme-trend { padding: 2px 7px; border-radius: 999px; font-size: 10.5px; font-style: normal; }
.theme-trend.up { background: #fbe4d4; color: #a2531f; }
.theme-trend.down { background: #d9f0ee; color: #1d6a6b; }
.theme-trend.flat { background: var(--panel-2); color: var(--muted); }
.theme-detail { display: grid; gap: 12px; margin-top: 12px; border-radius: 16px; background: var(--surface); padding: 14px; }
.theme-verdict { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.5; }
.theme-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.theme-point { display: grid; gap: 3px; border-radius: 12px; background: #fff; padding: 10px 11px; color: var(--ink); text-decoration: none; }
.theme-point:hover { background: #f7f4ff; }
.theme-point span { font-size: 12.5px; font-weight: 600; }
.theme-point b { font-size: 19px; font-variant-numeric: tabular-nums; }
.theme-point small { color: var(--faint); font-size: 10px; }
.theme-quotes { display: grid; gap: 8px; }
.theme-quote { display: grid; gap: 4px; border-radius: 12px; background: #fff; padding: 11px 12px; color: inherit; text-decoration: none; }
.theme-quote:hover { background: #f7f4ff; }
.theme-quote span { color: var(--faint); font-size: 10.5px; }
.theme-quote p { margin: 0; color: var(--ink-2); font-size: 12.5px; line-height: 1.45; }

.location-list-row.tint-0, .ai-list-row.tint-0 { border-left: 3px solid #c9c0f4; }
.location-list-row.tint-1, .ai-list-row.tint-1 { border-left: 3px solid #eec2e3; }
.location-list-row.tint-2, .ai-list-row.tint-2 { border-left: 3px solid #f2c9a8; }
.location-list-row.tint-3, .ai-list-row.tint-3 { border-left: 3px solid #a9dcd8; }
.location-list-row.tint-4, .ai-list-row.tint-4 { border-left: 3px solid #b7d1f2; }

/* Очередь отзывов: тот же цветовой прием, что в Локациях и Автоответах.
   Оттенок идет по точке тонкой полосой слева, красная рамка просрочки остается заметнее. */
.review-row.tint-0 { border-left: 3px solid #c9c0f4; }
.review-row.tint-1 { border-left: 3px solid #eec2e3; }
.review-row.tint-2 { border-left: 3px solid #f2c9a8; }
.review-row.tint-3 { border-left: 3px solid #a9dcd8; }
.review-row.tint-4 { border-left: 3px solid #b7d1f2; }
.review-row-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.review-row-name .row-avatar { width: 24px; height: 24px; font-size: 10px; }
.review-row-foot em { font-size: 10px; }
.review-row-name b { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.review-row.selected .review-row-name .row-avatar { background: rgb(255 255 255 / 26%); color: #fff; }
.ai-list-row-open { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; padding: 0; color: inherit; text-align: left; cursor: pointer; }
.mobile-unanswered { display: none; }

/* Телефон: отдельный список и полноэкранная деталь, desktop от 1180px не меняется. */
@media (max-width: 899px) {
  html, body { min-width: 0; width: 100%; height: auto; overflow-x: hidden; }
  body { overflow-y: auto; background: var(--work); }
  .app, .app.overview-app { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; min-height: 100dvh; height: auto; gap: 0; padding: 8px 8px 82px; }
  .rail { position: fixed; z-index: 100; inset: auto 6px 6px; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 2px; min-width: 0; height: 68px; padding: 5px; border: 1px solid rgb(227 225 218 / 88%); border-radius: 20px; background: rgb(253 252 250 / 94%); box-shadow: 0 12px 34px rgb(50 42 32 / 18%); backdrop-filter: blur(16px); }
  .rail .brand, .rail .groups, .rail .overview-notices { display: none; }
  .rail .menu { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2px; height: 100%; }
  .rail .menu-item { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 56px; gap: 2px; padding: 3px 1px; border-radius: 14px; font-size: 9px; line-height: 1.05; text-align: center; }
  .rail .menu-item > span:nth-child(2) { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rail .menu-item.active { background: #eeeafd; color: #553bb1; box-shadow: none; }
  .rail .menu-icon { width: 29px; height: 29px; border-radius: 9px; }
  .rail .menu-icon svg { width: 18px; height: 18px; }
  .rail .count { display: none; }
  .rail .user { display: grid; place-items: center; width: 44px; height: 56px; margin: 0; padding: 0; border: 0; }
  .rail .user > span:not(.avatar), .rail .user > svg { display: none; }
  .rail .user .avatar { width: 34px; height: 34px; }
  .shell-drawer { position: fixed; inset: auto 8px 82px; width: auto; max-height: calc(100dvh - 100px); overflow: auto; }
  .feed, .workspace { width: 100%; min-width: 0; border-radius: 18px; }
  .feed { min-height: calc(100dvh - 98px); padding: 14px 12px; overflow: visible; }
  .workspace { display: block; min-height: calc(100dvh - 98px); height: auto; overflow: visible; }
  .workspace-main { height: auto; min-height: calc(100dvh - 98px); padding: 15px 13px 24px; overflow: visible; }
  .app:not(.overview-app):not(.mobile-detail) > .workspace { display: none; }
  .app.mobile-detail > .feed { display: none; }
  .overview-app > .workspace { display: block !important; }
  .mobile-back { display: inline-flex; align-items: center; min-height: 44px; margin: -5px 0 8px; border: 0; background: transparent; color: #553bb1; font-size: 14px; font-weight: 650; }
  .top-actions { align-items: flex-start; gap: 8px; }
  .top-actions .crumb { display: none; }
  .top-actions .action-icons { flex-wrap: wrap; justify-content: flex-end; width: 100%; }
  .hero, .review-card-head, .location-card-head, .rule-heading, .overview-welcome { align-items: flex-start; gap: 10px; margin-top: 12px; }
  .hero { display: block; }
  .hero h1, .collection-hero h1, .competitor-hero h1, .settings-hero h1, .ai-hero h1 { font-size: 25px; line-height: 1.12; }
  .hero-meta { margin-top: 7px; text-align: left; }
  .detail-grid, .location-detail-grid, .analytics-grid, .overview-bottom-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 14px; padding: 0; }
  .surface { padding: 14px; border-radius: 16px; }
  .metric-row, .metric-row.four, .platform-ratings, .roles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .metric { min-width: 0; padding: 11px; }
  .metric strong { font-size: 19px; }
  .chart { overflow-x: auto; }
  .chart-plot { min-width: 320px; gap: 5px; }
  .period-trigger, .custom-select-trigger, .panel-button, .button, .icon-btn, .primary-icon, .location-filters button, .review-filterbar > button, .review-filterbar > select, .review-state select, .review-controls select, .due-trigger, .switch-label, .choice-chip, .simple-rule button, .settings-nav button, .map-zoom button { min-height: 44px; }
  .period-picker, .custom-select, .custom-native-select { min-width: 0; max-width: 100%; }
  .period-popover, .custom-select-menu, .filter-popover { position: fixed; z-index: 120; inset: auto 8px 82px; width: auto; max-height: 70dvh; overflow: auto; }
  .modal { width: calc(100vw - 16px); max-width: none; max-height: calc(100dvh - 20px); margin: auto; border-radius: 18px; }
  .modal-body, .modal form { max-height: calc(100dvh - 80px); overflow: auto; }
  .toast, .shell-toast { position: fixed; right: 10px; bottom: 84px; left: 10px; }
  .reviews-feed, .locations-feed, .analytics-feed, .ai-feed, .settings-feed { min-height: calc(100dvh - 98px); }
  body[data-screen="analytics"] .app:not(.mobile-detail),
  body[data-screen="ai"] .app:not(.mobile-detail),
  body[data-screen="settings"] .app:not(.mobile-detail) { min-height: 0; }
  .app:not(.mobile-detail) > :is(.analytics-feed, .ai-feed, .settings-feed) {
    align-self: start;
    min-height: 0;
    height: max-content;
  }
  .review-list, .location-list, .ai-list { overflow: visible; }
  .review-row, .location-list-row, .ai-list-row { min-height: 68px; padding: 12px; }
  .review-row { font-size: 12px; }
  .review-filterbar, .location-filters, .analytics-filterbar { display: flex; flex-wrap: wrap; gap: 7px; }
  .review-filterbar > *, .location-filters > *, .analytics-filterbar > * { flex: 1 1 130px; }
  .review-card-head, .review-controls, .reply-actions, .sticky-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .review-card-head > *, .review-controls > *, .reply-actions > * { min-width: 0; }
  .review-copy { font-size: 14px; line-height: 1.55; }
  .reply-editor textarea { min-height: 130px; font-size: 14px; }
  .draft-variants button { width: 44px; height: 44px; }
  .form-actions { flex-wrap: wrap; }
  .form-actions .button { flex: 1 1 140px; }
  .overview-dashboard { padding: 7px 5px 18px; }
  .mobile-unanswered { display: block; margin-top: 10px; border-radius: 17px; background: #fff; padding: 12px; box-shadow: 0 10px 25px rgb(48 38 75 / 7%); }
  .mobile-unanswered > div:last-child { display: grid; gap: 7px; }
  .mobile-unanswered a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; min-height: 52px; border-radius: 12px; background: var(--surface); padding: 9px 10px; font-size: 12px; }
  .mobile-unanswered a span { grid-column: 1; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
  .mobile-unanswered a small { grid-column: 2; grid-row: 1; color: var(--faint); }
  .overview-welcome { display: grid; grid-template-columns: minmax(0, 1fr); padding: 13px; }
  .overview-updated { align-items: flex-start; flex-wrap: wrap; }
  .overview-top-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 10px; }
  .overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .overview-metric { min-height: 124px; padding: 13px; }
  .overview-metric > span { padding-right: 34px; font-size: 12px; }
  .overview-metric svg { width: 30px; height: 30px; }
  .overview-metric strong { font-size: 31px; }
  .overview-map-card, .overview-chart-card, .recent-reviews-card, .attention-card { min-width: 0; padding: 12px; border-radius: 17px; }
  .network-map { width: 100%; height: 270px; }
  .map-zoom button { width: 44px; height: 44px; }
  .review-days { min-width: 320px; }
  .overview-chart-card { overflow-x: auto; }
  .recent-review-head { display: none; }
  .recent-review-row { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; min-height: 86px; padding: 11px; }
  .recent-review-row > * { min-width: 0; text-align: left; }
  .recent-review-row time, .recent-review-row em { text-align: right; }
  .recent-review-row > span:nth-of-type(2), .recent-review-row > span:nth-of-type(3) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .location-card-head { display: grid; }
  .locations-workspace [data-locations-back] { display: none; }
  .location-card-head .custom-select { width: 100%; }
  .connection-card { align-items: flex-start; flex-direction: column; }
  .location-detail-grid .surface { padding: 13px; }
  .rating-bars { min-height: 180px; }
  .location-table-section { overflow-x: auto; }
  .analytics-workspace .top-actions.analytics-toolbar { height: auto; }
  .analytics-workspace .analytics-filterbar { height: auto; }
  .analytics-workspace .hero { margin-top: 10px; }
  .analytics-workspace .chart-col small, .analytics-workspace .review-day span, .analytics-workspace .chart-legend { font-size: 11px; }
  .analytics-report { min-width: 0; overflow-x: auto; }
  .analytics-report .chart { min-width: 0; }
  .compare-report .compare-head { display: none; }
  .compare-report .compare-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; min-width: 0; padding: 12px; }
  .compare-report .compare-row b { grid-column: 1 / -1; }
  .compare-report .compare-row span { text-align: left; }
  .analytics-filterbar .point-select { width: auto; }
  .simple-rules, .simple-rule-form, .template-form, .rule-form { min-width: 0; }
  button.switch { position: relative; width: 44px; height: 44px; background: transparent; }
  button.switch::before { content: ''; position: absolute; top: 13px; left: 7px; width: 30px; height: 18px; border-radius: 99px; background: #c9c7c1; }
  button.switch.on::before { background: var(--violet); }
  button.switch::after { top: 16px; left: 10px; width: 12px; height: 12px; }
  button.switch.on::after { transform: translateX(12px); }
  .simple-rule-form input, .simple-rule-form select, .template-form input, .template-form select, .template-form textarea { min-height: 44px; }
  .simple-rule { padding: 13px; }
  .simple-rule-head, .simple-rule-foot { align-items: flex-start; gap: 8px; }
  .simple-rule-summary { min-width: 0; }
  .chip-row { gap: 7px; }
  .choice-chip { padding-inline: 12px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .settings-table-head, .notification-head { display: none; }
  .settings-table, .notification-list { display: grid; gap: 9px; }
  .settings-place-row, .notification-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; min-width: 0; padding: 13px; border-radius: 15px; background: var(--surface); }
  .settings-place-row > span:first-child, .notification-row > span:first-child { grid-column: 1 / -1; }
  .settings-place-row > *, .notification-row > * { min-width: 0; }
  .settings-workspace.panel-open { display: block; }
  .settings-panel, .competitor-panel { position: fixed; z-index: 110; inset: 8px 8px 82px; width: auto; overflow: auto; border-radius: 18px; }
  .surface h3, .row, .field input, .field select, .field textarea, .settings-note, .report-lead, .report-note, .simple-rule-line, .platform-badge, .choice-chip { font-size: max(12px, 1em); }
}

@media (max-width: 370px) {
  .app, .app.overview-app { padding-inline: 5px; }
  .rail { inset-inline: 4px; }
  .rail .menu-item { font-size: 8px; }
  .overview-metric { min-height: 116px; padding: 11px; }
  .overview-metric strong { font-size: 28px; }
  .workspace-main { padding-inline: 10px; }
}

/* Телефон: тумблер остается тумблером, график читается с прокруткой внутри блока */
@media (max-width: 899px) {
  button.switch.on { background: transparent; }
  *:has(> svg.rating-line-chart) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  svg.rating-line-chart { width: 620px; max-width: none; height: auto; }
}

/* Кнопка «назад» к списку нужна только на телефоне */
@media (min-width: 900px) { .mobile-back { display: none !important; } }
