/* Send&Sale: авторские иконки потока. Источники — icons/ui/*.svg.
   Новый UI: design_system/icon.html; legacy-классы ниже сохраняют JS-контракты.
   SVG 24×24 / stroke 1.75. Цвет берётся только из currentColor. */
.sns-icon {
  display:inline-block; flex:0 0 auto; width:var(--sns-icon-size,24px); height:var(--sns-icon-size,24px);
  vertical-align:middle; background-color:currentColor;
  -webkit-mask:var(--sns-icon) center/contain no-repeat; mask:var(--sns-icon) center/contain no-repeat;
}
.sns-nav-link .sns-icon { --sns-icon-size:20px; }

/* Только известные glyphs: порты icon-move_run/icon-move_end не затрагиваются. */
:is(.icon-view-dashboard,.fa-home,.icon-home,.icon-account,.icon-user,.icon-account-multiple,.icon-group,.icon-users,.icon-filter,.icon-web,.icon-comment,.icon-chat,.icon-send,.fa-send,.icon-paper-plane,.icon-file-document,.icon-doc,.icon-chart-bar,.icon-vector-polyline,.icon-message-text,.icon-reply,.icon-link,.icon-cart,.icon-basket,.icon-clipboard-text,.icon-credit-card,.icon-currency-usd,.icon-account-settings,.icon-settings,.icon-cog,.icon-menu,.icon-magnify,.icon-search,.icon-plus,.icon-plus-circled-1,.icon-minus,.icon-minus-circled-1,.icon-close,.icon-cancel,.fa-close,.fa-remove,.icon-close-circle,.icon-cancel-circle,.icon-checkbox-marked-circle,.icon-ok-circle,.icon-ok,.icon-border-color,.icon-pencil,.fa-pencil,.icon-delete,.icon-trash,.icon-trash-empty,.fa-trash-o,.icon-dots-vertical,.icon-help-circle-outline,.icon-help,.icon-calendar-blank,.icon-calendar,.icon-calendar-check,.icon-clock,.icon-chevron-down,.icon-down-open-1,.icon-chevron-up,.icon-chevron-left,.fa-chevron-left,.icon-chevron-right,.fa-chevron-right,.fa-refresh,.icon-arrows-cw,.icon-star,.icon-heart,.icon-thumbs-up-alt,.icon-thumbs-up-1,.icon-thumbs-down-alt,.icon-thumbs-down-1,.fa-file-archive-o,.icon-cube-outline,.icon-sort,.icon-circle)::before {
  content:""!important; display:inline-block; width:1em; height:1em; margin:0; vertical-align:-.125em;
  background:currentColor; -webkit-mask:var(--sns-icon) center/contain no-repeat; mask:var(--sns-icon) center/contain no-repeat;
}

/* Геометрия и цвет оболочки блоков сохраняются в main.css. */
.tree-editor :is(.node-item_icon,.node-main_icon) i[class*="svg-icon-"] {
  background-image:none!important; background-color:currentColor; color:#fff;
  -webkit-mask:var(--sns-icon) center/contain no-repeat; mask:var(--sns-icon) center/contain no-repeat;
}

.sns-icon--home,.icon-view-dashboard,.fa-home,.icon-home { --sns-icon:url("icons/ui/home.svg"); }

.sns-icon--subscriber,.icon-account,.icon-user { --sns-icon:url("icons/ui/subscriber.svg"); }

.sns-icon--audience,.icon-account-multiple,.icon-group,.icon-users { --sns-icon:url("icons/ui/audience.svg"); }

.sns-icon--segments,.icon-filter { --sns-icon:url("icons/ui/segments.svg"); }

.sns-icon--converter,.icon-web { --sns-icon:url("icons/ui/converter.svg"); }

.sns-icon--dialogs,.icon-comment,.icon-chat,.svg-icon-26 { --sns-icon:url("icons/ui/dialogs.svg"); }

.sns-icon--send,.icon-send,.fa-send,.icon-paper-plane,.svg-icon-13 { --sns-icon:url("icons/ui/send.svg"); }

.sns-icon--template,.icon-file-document,.icon-doc { --sns-icon:url("icons/ui/template.svg"); }

.sns-icon--poll,.icon-chart-bar,.svg-icon-17 { --sns-icon:url("icons/ui/poll.svg"); }

.sns-icon--automation,.icon-vector-polyline { --sns-icon:url("icons/ui/automation.svg"); }

.sns-icon--flow-message,.icon-message-text { --sns-icon:url("icons/ui/flow-message.svg"); }

.sns-icon--reply,.icon-reply { --sns-icon:url("icons/ui/reply.svg"); }

.sns-icon--connections { --sns-icon:url("icons/ui/connections.svg"); }

.sns-icon--link,.icon-link { --sns-icon:url("icons/ui/link.svg"); }

.sns-icon--product,.icon-cart,.icon-basket { --sns-icon:url("icons/ui/product.svg"); }

.sns-icon--orders,.icon-clipboard-text { --sns-icon:url("icons/ui/orders.svg"); }

.sns-icon--billing,.icon-credit-card,.icon-currency-usd { --sns-icon:url("icons/ui/billing.svg"); }

.sns-icon--profile,.icon-account-settings { --sns-icon:url("icons/ui/profile.svg"); }

.sns-icon--settings,.icon-settings,.icon-cog { --sns-icon:url("icons/ui/settings.svg"); }

.sns-icon--menu,.icon-menu { --sns-icon:url("icons/ui/menu.svg"); }

.sns-icon--search,.icon-magnify,.icon-search { --sns-icon:url("icons/ui/search.svg"); }

.sns-icon--add,.icon-plus,.icon-plus-circled-1 { --sns-icon:url("icons/ui/add.svg"); }

.sns-icon--minus,.icon-minus,.icon-minus-circled-1 { --sns-icon:url("icons/ui/minus.svg"); }

.sns-icon--close,.icon-close,.icon-cancel,.fa-close,.fa-remove { --sns-icon:url("icons/ui/close.svg"); }

.sns-icon--remove,.icon-close-circle,.icon-cancel-circle { --sns-icon:url("icons/ui/remove.svg"); }

.sns-icon--check,.icon-checkbox-marked-circle,.icon-ok-circle,.icon-ok { --sns-icon:url("icons/ui/check.svg"); }

.sns-icon--edit,.icon-border-color,.icon-pencil,.fa-pencil { --sns-icon:url("icons/ui/edit.svg"); }

.sns-icon--delete,.icon-delete,.icon-trash,.icon-trash-empty,.fa-trash-o { --sns-icon:url("icons/ui/delete.svg"); }

.sns-icon--more,.icon-dots-vertical { --sns-icon:url("icons/ui/more.svg"); }

.sns-icon--help,.icon-help-circle-outline,.icon-help { --sns-icon:url("icons/ui/help.svg"); }

.sns-icon--calendar,.icon-calendar-blank,.icon-calendar { --sns-icon:url("icons/ui/calendar.svg"); }

.sns-icon--calendar-check,.icon-calendar-check { --sns-icon:url("icons/ui/calendar-check.svg"); }

.sns-icon--clock,.icon-clock,.svg-icon-19 { --sns-icon:url("icons/ui/clock.svg"); }

.sns-icon--chevron-down,.icon-chevron-down,.icon-down-open-1 { --sns-icon:url("icons/ui/chevron-down.svg"); }

.sns-icon--chevron-up,.icon-chevron-up { --sns-icon:url("icons/ui/chevron-up.svg"); }

.sns-icon--chevron-left,.icon-chevron-left,.fa-chevron-left { --sns-icon:url("icons/ui/chevron-left.svg"); }

.sns-icon--chevron-right,.icon-chevron-right,.fa-chevron-right { --sns-icon:url("icons/ui/chevron-right.svg"); }

.sns-icon--refresh,.fa-refresh,.icon-arrows-cw { --sns-icon:url("icons/ui/refresh.svg"); }

.sns-icon--copy,.svg-icon-1,.svg-icon-20 { --sns-icon:url("icons/ui/copy.svg"); }

.sns-icon--move,.svg-icon-9,.svg-icon-10 { --sns-icon:url("icons/ui/move.svg"); }

.sns-icon--tag,.svg-icon-4,.svg-icon-22,.svg-icon-25 { --sns-icon:url("icons/ui/tag.svg"); }

.sns-icon--read,.svg-icon-3 { --sns-icon:url("icons/ui/read.svg"); }

.sns-icon--subscribed,.svg-icon-11 { --sns-icon:url("icons/ui/subscribed.svg"); }

.sns-icon--unsubscribed,.svg-icon-15 { --sns-icon:url("icons/ui/unsubscribed.svg"); }

.sns-icon--invite,.svg-icon-5 { --sns-icon:url("icons/ui/invite.svg"); }

.sns-icon--webhook,.svg-icon-8 { --sns-icon:url("icons/ui/webhook.svg"); }

.sns-icon--page,.svg-icon-6 { --sns-icon:url("icons/ui/page.svg"); }

.sns-icon--landing,.svg-icon-7 { --sns-icon:url("icons/ui/landing.svg"); }

.sns-icon--decision,.svg-icon-18 { --sns-icon:url("icons/ui/decision.svg"); }

.sns-icon--star,.icon-star,.svg-icon-12 { --sns-icon:url("icons/ui/star.svg"); }

.sns-icon--heart,.icon-heart { --sns-icon:url("icons/ui/heart.svg"); }

.sns-icon--like,.icon-thumbs-up-alt,.icon-thumbs-up-1,.svg-icon-21 { --sns-icon:url("icons/ui/like.svg"); }

.sns-icon--dislike,.icon-thumbs-down-alt,.icon-thumbs-down-1 { --sns-icon:url("icons/ui/dislike.svg"); }

.sns-icon--count,.svg-icon-27 { --sns-icon:url("icons/ui/count.svg"); }

.sns-icon--audience-remove,.svg-icon-28 { --sns-icon:url("icons/ui/audience-remove.svg"); }

.sns-icon--contact-remove,.svg-icon-29 { --sns-icon:url("icons/ui/contact-remove.svg"); }

.sns-icon--archive,.fa-file-archive-o { --sns-icon:url("icons/ui/archive.svg"); }

.sns-icon--collection,.icon-cube-outline { --sns-icon:url("icons/ui/collection.svg"); }

.sns-icon--sort,.icon-sort { --sns-icon:url("icons/ui/sort.svg"); }

.sns-icon--sort-up { --sns-icon:url("icons/ui/sort-up.svg"); }

.sns-icon--sort-down { --sns-icon:url("icons/ui/sort-down.svg"); }

.sns-icon--external { --sns-icon:url("icons/ui/external.svg"); }

.sns-icon--tracking,.svg-icon-23 { --sns-icon:url("icons/ui/tracking.svg"); }

.sns-icon--bold { --sns-icon:url("icons/ui/bold.svg"); }

.sns-icon--italic { --sns-icon:url("icons/ui/italic.svg"); }

.sns-icon--underline { --sns-icon:url("icons/ui/underline.svg"); }

.sns-icon--strike { --sns-icon:url("icons/ui/strike.svg"); }

.sns-icon--undo { --sns-icon:url("icons/ui/undo.svg"); }

.sns-icon--redo { --sns-icon:url("icons/ui/redo.svg"); }

.sns-icon--unlink { --sns-icon:url("icons/ui/unlink.svg"); }

.sns-icon--anchor { --sns-icon:url("icons/ui/anchor.svg"); }

.sns-icon--image { --sns-icon:url("icons/ui/image.svg"); }

.sns-icon--table { --sns-icon:url("icons/ui/table.svg"); }

.sns-icon--text-color { --sns-icon:url("icons/ui/text-color.svg"); }

.sns-icon--highlight { --sns-icon:url("icons/ui/highlight.svg"); }

.sns-icon--smile { --sns-icon:url("icons/ui/smile.svg"); }

.sns-icon--special-character { --sns-icon:url("icons/ui/special-character.svg"); }

.sns-icon--spellcheck { --sns-icon:url("icons/ui/spellcheck.svg"); }

.sns-icon--flash { --sns-icon:url("icons/ui/flash.svg"); }

.sns-icon--status,.icon-circle { --sns-icon:url("icons/ui/status.svg"); }

.tree-editor [data-node-type="payment"] i[class*="svg-icon-"],.tree-editor [data-type="payment"] i[class*="svg-icon-"] { --sns-icon:url("icons/ui/billing.svg"); }

.tree-editor [data-node-type="getToLink"] i[class*="svg-icon-"],.tree-editor [data-type="getToLink"] i[class*="svg-icon-"] { --sns-icon:url("icons/ui/link.svg"); }

.tree-editor [data-node-type="receivedWebhook"] i[class*="svg-icon-"],.tree-editor [data-type="receivedWebhook"] i[class*="svg-icon-"] { --sns-icon:url("icons/ui/webhook.svg"); }

.tree-editor [data-node-type="sendWebhook"] i[class*="svg-icon-"],.tree-editor [data-type="sendWebhook"] i[class*="svg-icon-"] { --sns-icon:url("icons/ui/webhook.svg"); }

.sns-office[data-sns-route^="audience:"] .icon-cube-outline { --sns-icon:url("icons/ui/audience.svg"); }

.sns-office[data-sns-route^="converters:"] .icon-cube-outline { --sns-icon:url("icons/ui/converter.svg"); }

.sns-office[data-sns-route^="mess:"] .icon-cube-outline { --sns-icon:url("icons/ui/send.svg"); }

.sns-office[data-sns-route^="polls:"] .icon-cube-outline { --sns-icon:url("icons/ui/poll.svg"); }

.sns-office[data-sns-route^="auto_answers:"] .icon-cube-outline { --sns-icon:url("icons/ui/reply.svg"); }

.sns-office[data-sns-route^="tree:"] .icon-cube-outline { --sns-icon:url("icons/ui/automation.svg"); }

.sns-office[data-sns-route^="product:"] .icon-cube-outline { --sns-icon:url("icons/ui/product.svg"); }

.sns-office[data-sns-route^="settings:"] .icon-cube-outline { --sns-icon:url("icons/ui/settings.svg"); }

.sns-office[data-sns-route^="chat:"] .icon-cube-outline { --sns-icon:url("icons/ui/dialogs.svg"); }

.sns-office[data-sns-route="audience:subscribers"] .icon-cube-outline { --sns-icon:url("icons/ui/subscriber.svg"); }

.sns-office[data-sns-route="audience:subscriber"] .icon-cube-outline { --sns-icon:url("icons/ui/subscriber.svg"); }

.sns-office[data-sns-route="audience:segments"] .icon-cube-outline { --sns-icon:url("icons/ui/segments.svg"); }

.sns-office[data-sns-route="audience:create_segment"] .icon-cube-outline { --sns-icon:url("icons/ui/segments.svg"); }

.sns-office[data-sns-route="audience:segments_subscribers"] .icon-cube-outline { --sns-icon:url("icons/ui/segments.svg"); }

.sns-office[data-sns-route="mess:template"] .icon-cube-outline { --sns-icon:url("icons/ui/template.svg"); }

.sns-office[data-sns-route="mess:create_mess"] .icon-cube-outline { --sns-icon:url("icons/ui/template.svg"); }

.sns-office[data-sns-route="settings:counter_code"] .icon-cube-outline { --sns-icon:url("icons/ui/tracking.svg"); }

/* CKEditor Full: только рисунок; labels/focus/disabled сохранены. */
:is(.cke_button__bold_icon,.cke_button__italic_icon,.cke_button__underline_icon,.cke_button__strike_icon,.cke_button__undo_icon,.cke_button__redo_icon,.cke_button__link_icon,.cke_button__unlink_icon,.cke_button__anchor_icon,.cke_button__image_icon,.cke_button__flash_icon,.cke_button__table_icon,.cke_button__horizontalrule_icon,.cke_button__textcolor_icon,.cke_button__bgcolor_icon,.cke_button__smiley_icon,.cke_button__specialchar_icon,.cke_button__source_icon,.cke_button__scayt_icon,.cke_button__spellchecker_icon) {
  background:currentColor!important; color:inherit;
  -webkit-mask:var(--sns-icon) center/contain no-repeat; mask:var(--sns-icon) center/contain no-repeat;
}
.cke_button__bold_icon { --sns-icon:url("icons/ui/bold.svg"); }
.cke_button__italic_icon { --sns-icon:url("icons/ui/italic.svg"); }
.cke_button__underline_icon { --sns-icon:url("icons/ui/underline.svg"); }
.cke_button__strike_icon { --sns-icon:url("icons/ui/strike.svg"); }
.cke_button__undo_icon { --sns-icon:url("icons/ui/undo.svg"); }
.cke_button__redo_icon { --sns-icon:url("icons/ui/redo.svg"); }
.cke_button__link_icon { --sns-icon:url("icons/ui/link.svg"); }
.cke_button__unlink_icon { --sns-icon:url("icons/ui/unlink.svg"); }
.cke_button__anchor_icon { --sns-icon:url("icons/ui/anchor.svg"); }
.cke_button__image_icon { --sns-icon:url("icons/ui/image.svg"); }
.cke_button__flash_icon { --sns-icon:url("icons/ui/flash.svg"); }
.cke_button__table_icon { --sns-icon:url("icons/ui/table.svg"); }
.cke_button__horizontalrule_icon { --sns-icon:url("icons/ui/minus.svg"); }
.cke_button__textcolor_icon { --sns-icon:url("icons/ui/text-color.svg"); }
.cke_button__bgcolor_icon { --sns-icon:url("icons/ui/highlight.svg"); }
.cke_button__smiley_icon { --sns-icon:url("icons/ui/smile.svg"); }
.cke_button__specialchar_icon { --sns-icon:url("icons/ui/special-character.svg"); }
.cke_button__source_icon { --sns-icon:url("icons/ui/tracking.svg"); }
.cke_button__scayt_icon { --sns-icon:url("icons/ui/spellcheck.svg"); }
.cke_button__spellchecker_icon { --sns-icon:url("icons/ui/spellcheck.svg"); }

/* Сортировка и раскрытие: не добавляем ни шага, ни нового элемента. */
.sns-table [data-sort-link]::after,.dropdown-toggle::after,.sns-overview-stats .sns-card::after {
  content:""; display:inline-block; width:1em; height:1em; vertical-align:-.125em;
  background:currentColor; -webkit-mask:var(--sns-icon) center/contain no-repeat; mask:var(--sns-icon) center/contain no-repeat;
}
.sns-table [data-sort-link]::after { --sns-icon:url("icons/ui/sort.svg"); margin-left:6px; }
.sns-table [aria-sort=ascending] [data-sort-link]::after { --sns-icon:url("icons/ui/sort-up.svg"); content:""; }
.sns-table [aria-sort=descending] [data-sort-link]::after { --sns-icon:url("icons/ui/sort-down.svg"); content:""; }
.dropdown-toggle::after { --sns-icon:url("icons/ui/chevron-down.svg"); }
.sns-overview-stats .sns-card::after { --sns-icon:url("icons/ui/external.svg"); }
/* Маски остаются видны в forced-colors; currentColor выбран системой. */
@media (forced-colors:active) {
  .sns-icon { forced-color-adjust:none; }
}
