/* ──────────────────────────────────────────────────────────────────
   Иконки интерфейса из отдельных SVG-файлов (папка /icons).
   Гибридная схема:
     • .ico — одноцветный глиф через CSS-маску: красится по теме
       (background = currentColor), форму берёт из SVG-файла. Чтобы
       поменять вид — отредактируйте соответствующий файл в /icons,
       СОХРАНИВ ИМЯ (имя задаётся классом .ico--<имя> и в коде).
     • цветные/самостоятельные значки выводятся как <img src="/icons/…">
       (как иконки типов файлов вложений в /image).
   Реестр имён ниже — единственный источник правды: имя класса .ico--<имя>
   соответствует файлу /icons/<имя>.svg. В JS тот же значок даёт uiIcon("<имя>").
   ────────────────────────────────────────────────────────────────── */
.ico {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  vertical-align: -0.15em;
  pointer-events: none;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
/* Размерные модификаторы (по желанию можно задать и через style="") */
.ico--sm { width: 14px; height: 14px; }
.ico--lg { width: 20px; height: 20px; }

/* Реестр имён → файл. Один источник правды для имён иконок. */
.ico--inbox         { -webkit-mask-image: url("/icons/inbox.svg");         mask-image: url("/icons/inbox.svg"); }
.ico--outbox        { -webkit-mask-image: url("/icons/outbox.svg");        mask-image: url("/icons/outbox.svg"); }
.ico--sent          { -webkit-mask-image: url("/icons/sent.svg");          mask-image: url("/icons/sent.svg"); }
.ico--spam          { -webkit-mask-image: url("/icons/spam.svg");          mask-image: url("/icons/spam.svg"); }
.ico--drafts        { -webkit-mask-image: url("/icons/drafts.svg");        mask-image: url("/icons/drafts.svg"); }
.ico--folder        { -webkit-mask-image: url("/icons/folder.svg");        mask-image: url("/icons/folder.svg"); }
.ico--folder-locked { -webkit-mask-image: url("/icons/folder-locked.svg"); mask-image: url("/icons/folder-locked.svg"); }
.ico--user          { -webkit-mask-image: url("/icons/user.svg");          mask-image: url("/icons/user.svg"); }
.ico--group         { -webkit-mask-image: url("/icons/group.svg");         mask-image: url("/icons/group.svg"); }
.ico--pin           { -webkit-mask-image: url("/icons/pin.svg");           mask-image: url("/icons/pin.svg"); }
/* Навигация и общая «обвязка» интерфейса */
.ico--chevron-left  { -webkit-mask-image: url("/icons/chevron-left.svg");  mask-image: url("/icons/chevron-left.svg"); }
.ico--chevron-down  { -webkit-mask-image: url("/icons/chevron-down.svg");  mask-image: url("/icons/chevron-down.svg"); }
.ico--chevron-up    { -webkit-mask-image: url("/icons/chevron-up.svg");    mask-image: url("/icons/chevron-up.svg"); }
.ico--chevron-right { -webkit-mask-image: url("/icons/chevron-right.svg"); mask-image: url("/icons/chevron-right.svg"); }
.ico--bell          { -webkit-mask-image: url("/icons/bell.svg");          mask-image: url("/icons/bell.svg"); }
.ico--mail          { -webkit-mask-image: url("/icons/mail.svg");          mask-image: url("/icons/mail.svg"); }
.ico--chat          { -webkit-mask-image: url("/icons/chat.svg");          mask-image: url("/icons/chat.svg"); }
.ico--contacts      { -webkit-mask-image: url("/icons/contacts.svg");      mask-image: url("/icons/contacts.svg"); }
.ico--notes         { -webkit-mask-image: url("/icons/notes.svg");         mask-image: url("/icons/notes.svg"); }
.ico--projects      { -webkit-mask-image: url("/icons/projects.svg");      mask-image: url("/icons/projects.svg"); }
.ico--web           { -webkit-mask-image: url("/icons/web.svg");           mask-image: url("/icons/web.svg"); }
.ico--plus          { -webkit-mask-image: url("/icons/plus.svg");          mask-image: url("/icons/plus.svg"); }
.ico--settings      { -webkit-mask-image: url("/icons/settings.svg");      mask-image: url("/icons/settings.svg"); }
.ico--activity      { -webkit-mask-image: url("/icons/activity.svg");      mask-image: url("/icons/activity.svg"); }
.ico--trash         { -webkit-mask-image: url("/icons/trash.svg");         mask-image: url("/icons/trash.svg"); }
.ico--search        { -webkit-mask-image: url("/icons/search.svg");        mask-image: url("/icons/search.svg"); }
.ico--link          { -webkit-mask-image: url("/icons/link.svg");          mask-image: url("/icons/link.svg"); }
.ico--split         { -webkit-mask-image: url("/icons/split.svg");         mask-image: url("/icons/split.svg"); }
.ico--board-view    { -webkit-mask-image: url("/icons/board-view.svg");    mask-image: url("/icons/board-view.svg"); }
.ico--list          { -webkit-mask-image: url("/icons/list.svg");          mask-image: url("/icons/list.svg"); }
.ico--list-ol       { -webkit-mask-image: url("/icons/list-ol.svg");       mask-image: url("/icons/list-ol.svg"); }
.ico--clear-format  { -webkit-mask-image: url("/icons/clear-format.svg");  mask-image: url("/icons/clear-format.svg"); }
.ico--align-left    { -webkit-mask-image: url("/icons/align-left.svg");    mask-image: url("/icons/align-left.svg"); }
.ico--align-center  { -webkit-mask-image: url("/icons/align-center.svg");  mask-image: url("/icons/align-center.svg"); }
.ico--align-right   { -webkit-mask-image: url("/icons/align-right.svg");   mask-image: url("/icons/align-right.svg"); }
.ico--align-justify { -webkit-mask-image: url("/icons/align-justify.svg"); mask-image: url("/icons/align-justify.svg"); }
.ico--flag          { -webkit-mask-image: url("/icons/flag.svg");          mask-image: url("/icons/flag.svg"); }
.ico--check         { -webkit-mask-image: url("/icons/check.svg");         mask-image: url("/icons/check.svg"); }
.ico--eye           { -webkit-mask-image: url("/icons/eye.svg");           mask-image: url("/icons/eye.svg"); }
.ico--eye-off       { -webkit-mask-image: url("/icons/eye-off.svg");       mask-image: url("/icons/eye-off.svg"); }
.ico--download      { -webkit-mask-image: url("/icons/download.svg");      mask-image: url("/icons/download.svg"); }
.ico--reply         { -webkit-mask-image: url("/icons/reply.svg");         mask-image: url("/icons/reply.svg"); }
.ico--lock          { -webkit-mask-image: url("/icons/lock.svg");          mask-image: url("/icons/lock.svg"); }
.ico--close         { -webkit-mask-image: url("/icons/close.svg");         mask-image: url("/icons/close.svg"); }
.ico--report        { -webkit-mask-image: url("/icons/report.svg");        mask-image: url("/icons/report.svg"); }
.ico--mirror        { -webkit-mask-image: url("/icons/mirror.svg");        mask-image: url("/icons/mirror.svg"); }
.ico--refresh       { -webkit-mask-image: url("/icons/refresh.svg");       mask-image: url("/icons/refresh.svg"); }
.ico--external-link { -webkit-mask-image: url("/icons/external-link.svg"); mask-image: url("/icons/external-link.svg"); }
.ico--popout        { -webkit-mask-image: url("/icons/popout.svg");        mask-image: url("/icons/popout.svg"); }
.ico--calendar      { -webkit-mask-image: url("/icons/calendar.svg");      mask-image: url("/icons/calendar.svg"); }
.ico--canvas        { -webkit-mask-image: url("/icons/canvas.svg");        mask-image: url("/icons/canvas.svg"); }
.ico--edit          { -webkit-mask-image: url("/icons/edit.svg");          mask-image: url("/icons/edit.svg"); }
.ico--check-square  { -webkit-mask-image: url("/icons/check-square.svg");  mask-image: url("/icons/check-square.svg"); }
.ico--panel         { -webkit-mask-image: url("/icons/panel.svg");         mask-image: url("/icons/panel.svg"); }
.ico--more-vert     { -webkit-mask-image: url("/icons/more-vert.svg");     mask-image: url("/icons/more-vert.svg"); }
.ico--kanban        { -webkit-mask-image: url("/icons/kanban.svg");        mask-image: url("/icons/kanban.svg"); }
.ico--swimlanes     { -webkit-mask-image: url("/icons/swimlanes.svg");     mask-image: url("/icons/swimlanes.svg"); }
.ico--tag           { -webkit-mask-image: url("/icons/tag.svg");           mask-image: url("/icons/tag.svg"); }
.ico--copy          { -webkit-mask-image: url("/icons/copy.svg");          mask-image: url("/icons/copy.svg"); }
.ico--drag-dots     { -webkit-mask-image: url("/icons/drag-dots.svg");     mask-image: url("/icons/drag-dots.svg"); }
.ico--zoom-in       { -webkit-mask-image: url("/icons/zoom-in.svg");       mask-image: url("/icons/zoom-in.svg"); }
.ico--target        { -webkit-mask-image: url("/icons/target.svg");        mask-image: url("/icons/target.svg"); }
/* Контакты, админка, заметки, меню задач/колонок (перенос с эмодзи) */
.ico--phone         { -webkit-mask-image: url("/icons/phone.svg");         mask-image: url("/icons/phone.svg"); }
.ico--building      { -webkit-mask-image: url("/icons/building.svg");      mask-image: url("/icons/building.svg"); }
.ico--map-pin       { -webkit-mask-image: url("/icons/map-pin.svg");       mask-image: url("/icons/map-pin.svg"); }
.ico--warning       { -webkit-mask-image: url("/icons/warning.svg");       mask-image: url("/icons/warning.svg"); }
.ico--alert-circle  { -webkit-mask-image: url("/icons/alert-circle.svg");  mask-image: url("/icons/alert-circle.svg"); }
.ico--ban           { -webkit-mask-image: url("/icons/ban.svg");           mask-image: url("/icons/ban.svg"); }
.ico--clipboard     { -webkit-mask-image: url("/icons/clipboard.svg");     mask-image: url("/icons/clipboard.svg"); }
.ico--hard-drive    { -webkit-mask-image: url("/icons/hard-drive.svg");    mask-image: url("/icons/hard-drive.svg"); }
.ico--database      { -webkit-mask-image: url("/icons/database.svg");      mask-image: url("/icons/database.svg"); }
.ico--paperclip     { -webkit-mask-image: url("/icons/paperclip.svg");     mask-image: url("/icons/paperclip.svg"); }
.ico--send          { -webkit-mask-image: url("/icons/send.svg");          mask-image: url("/icons/send.svg"); }
.ico--palette       { -webkit-mask-image: url("/icons/palette.svg");       mask-image: url("/icons/palette.svg"); }
.ico--star          { -webkit-mask-image: url("/icons/star.svg");          mask-image: url("/icons/star.svg"); }
.ico--star-outline  { -webkit-mask-image: url("/icons/star-outline.svg");  mask-image: url("/icons/star-outline.svg"); }
.ico--sun           { -webkit-mask-image: url("/icons/sun.svg");           mask-image: url("/icons/sun.svg"); }
.ico--moon          { -webkit-mask-image: url("/icons/moon.svg");          mask-image: url("/icons/moon.svg"); }
.ico--square        { -webkit-mask-image: url("/icons/square.svg");        mask-image: url("/icons/square.svg"); }
.ico--unlock        { -webkit-mask-image: url("/icons/unlock.svg");        mask-image: url("/icons/unlock.svg"); }
.ico--unpin         { -webkit-mask-image: url("/icons/unpin.svg");         mask-image: url("/icons/unpin.svg"); }
.ico--sort          { -webkit-mask-image: url("/icons/sort.svg");          mask-image: url("/icons/sort.svg"); }
.ico--move          { -webkit-mask-image: url("/icons/move.svg");          mask-image: url("/icons/move.svg"); }
.ico--template      { -webkit-mask-image: url("/icons/template.svg");      mask-image: url("/icons/template.svg"); }
.ico--subtask       { -webkit-mask-image: url("/icons/subtask.svg");       mask-image: url("/icons/subtask.svg"); }
.ico--sticker       { -webkit-mask-image: url("/icons/sticker.svg");       mask-image: url("/icons/sticker.svg"); }
.ico--task-type     { -webkit-mask-image: url("/icons/task-type.svg");     mask-image: url("/icons/task-type.svg"); }
.ico--image         { -webkit-mask-image: url("/icons/image.svg");         mask-image: url("/icons/image.svg"); }
.ico--code          { -webkit-mask-image: url("/icons/code.svg");          mask-image: url("/icons/code.svg"); }
.ico--bookmark      { -webkit-mask-image: url("/icons/bookmark.svg");      mask-image: url("/icons/bookmark.svg"); }
