/* Значки служебных страниц — монохромные Lucide (ISC, см.
   /static/img/LUCIDE_ICONS_LICENSE.txt), нарисованные маской.

   27.09: здесь был PNG-спрайт на 1,2 МБ с глянцевыми фиолетовыми 3D-
   значками и рваной прозрачностью по краям — он спорил с Kimi-стилем
   главного интерфейса (монохромные значки Lucide) и грузился на каждой
   служебной странице. Маска берёт цвет текста (currentColor), поэтому
   значок сам подстраивается под светлую и тёмную тему страницы; классы
   .service-icon--* прежние, разметку страниц менять не пришлось.

   Размеры: плитка (hero, small, inline, toolbar) — значок в мягкой
   нейтральной подложке; tiny — голый значок в строке текста. */
.service-icon {
  --si-inset: 24%;
  position: relative;
  display: inline-block;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 12px;
  background: color-mix(in srgb, currentColor 7%, transparent);
  vertical-align: middle;
}
.service-icon::before {
  content: "";
  position: absolute;
  inset: var(--si-inset);
  background: currentColor;
  -webkit-mask: var(--si) center / contain no-repeat;
          mask: var(--si) center / contain no-repeat;
}
.service-icon--report { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/><path d='M14 2v4a2 2 0 0 0 2 2h4'/><path d='M8 18v-2'/><path d='M12 18v-4'/><path d='M16 18v-6'/></svg>"); }
.service-icon--calendar { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M8 2v3'/><path d='M16 2v3'/><rect x='3' y='3' width='18' height='18' rx='2'/><path d='M3 9h18'/><path d='M8 13h.01'/><path d='M12 13h.01'/><path d='M16 13h.01'/><path d='M8 17h.01'/><path d='M12 17h.01'/><path d='M16 17h.01'/></svg>"); }
.service-icon--form { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><rect width='8' height='4' x='8' y='2' rx='1'/><path d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/><path d='M12 11h4'/><path d='M12 16h4'/><path d='M8 11h.01'/><path d='M8 16h.01'/></svg>"); }
.service-icon--deadline { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/><path d='M12 8v4'/><path d='M12 16h.01'/></svg>"); }
.service-icon--route { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/><path d='M15 5.764v15'/><path d='M9 3.236v15'/></svg>"); }
.service-icon--stats { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M13 17V9'/><path d='M18 17V5'/><path d='M3 3v16a2 2 0 0 0 2 2h16'/><path d='M8 17v-3'/></svg>"); }
.service-icon--diary { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M12 7v14'/><path d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/></svg>"); }
.service-icon--privacy { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/><path d='m9 12 2 2 4-4'/></svg>"); }
.service-icon--agent { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><rect x='16' y='16' width='6' height='6' rx='1'/><rect x='2' y='16' width='6' height='6' rx='1'/><rect x='9' y='2' width='6' height='6' rx='1'/><path d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'/><path d='M12 12V8'/></svg>"); }
.service-icon--chat { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/><path d='M8 12h.01'/><path d='M12 12h.01'/><path d='M16 12h.01'/></svg>"); }
.service-icon--analytics { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3v16a2 2 0 0 0 2 2h16'/><path d='m19 9-5 5-4-4-3 3'/></svg>"); }
.service-icon--admin { --si: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M10 5H3'/><path d='M12 19H3'/><path d='M14 3v4'/><path d='M16 17v4'/><path d='M21 12h-9'/><path d='M21 19h-5'/><path d='M21 5h-7'/><path d='M8 10v4'/><path d='M8 12H3'/></svg>"); }

.service-icon--hero { display: block; width: 56px; height: 56px; flex-basis: 56px; border-radius: 16px; margin: 0 0 18px; }
.service-icon--small { display: block; width: 42px; height: 42px; flex-basis: 42px; margin: 0 0 10px; }
.service-icon--inline { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; margin-right: 10px; }
.service-icon--toolbar { width: 30px; height: 30px; flex-basis: 30px; border-radius: 9px; margin-right: 10px; }
.service-icon--tiny { --si-inset: 0; width: 18px; height: 18px; flex-basis: 18px; border-radius: 0; background: transparent; margin-right: 8px; vertical-align: -3px; }

.service-heading { display: flex; align-items: center; gap: 8px; }
.service-heading h2 { margin: 0; }
.entry .service-icon { width: 42px; height: 42px; flex-basis: 42px; }
.detail-card h3 .service-icon { width: 18px; height: 18px; flex-basis: 18px; }
