/* ─────────────────────────────────────────────────────────────────────────────
   Field Link Missions — icon set
   Hand-drawn line icons on a 24-unit grid, 1.8 stroke, round caps. Each icon is
   an SVG mask painted with the current text colour, so the same glyph works in
   brass on the website, in ivory on the kiosk and in whatever a theme sets.

   Use:   <i class="ic ic-mail" aria-hidden="true"></i>
   Size:  follows font-size (1em); add .ic-lg / .ic-xl or set width/height.
   Colour: color: … on the element or any ancestor.

   The same file is shipped by both images: nginx/client/icons.css for the app
   pages and site/client/icons.css for the website and docs. Keep the two in step.
   ───────────────────────────────────────────────────────────────────────────── */

.ic {
  display: inline-block;
  width: 1em; height: 1em;
  flex-shrink: 0;
  vertical-align: -0.16em;
  background-color: currentColor;
  -webkit-mask: var(--i) center / contain no-repeat;
          mask: var(--i) center / contain no-repeat;
}
.ic-lg { width: 1.35em; height: 1.35em; vertical-align: -0.3em; }
.ic-xl { width: 2em; height: 2em; vertical-align: -0.5em; }

/* People and places */
.ic-user     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4.5 20.5c.8-3.8 3.8-6 7.5-6s6.7 2.2 7.5 6'/></svg>"); }
.ic-users    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8.5' r='3.5'/><path d='M2.5 20c.6-3.4 3.2-5.5 6.5-5.5s5.9 2.1 6.5 5.5'/><path d='M16 5.5a3.2 3.2 0 0 1 0 6.2'/><path d='M17.5 14.6c2.3.5 3.7 2.3 4 5.4'/></svg>"); }
.ic-family   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='7' cy='6.5' r='2.8'/><circle cx='17' cy='6.5' r='2.8'/><circle cx='12' cy='13' r='2.2'/><path d='M1.8 19.5c.5-3 2.6-4.8 5.2-4.8 1 0 1.9.2 2.6.7'/><path d='M22.2 19.5c-.5-3-2.6-4.8-5.2-4.8-1 0-1.9.2-2.6.7'/><path d='M8.5 21.5c.4-2.2 1.8-3.5 3.5-3.5s3.1 1.3 3.5 3.5'/></svg>"); }
.ic-church   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2.5v4M10 4.5h4'/><path d='M7 21.5V12l5-4.5 5 4.5v9.5'/><path d='M2.5 21.5V15l4.5-3'/><path d='M21.5 21.5V15L17 12'/><path d='M10.2 21.5v-4a1.8 1.8 0 0 1 3.6 0v4'/></svg>"); }
.ic-building { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21.5V5.5a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16'/><path d='M15 10h4a1 1 0 0 1 1 1v10.5'/><path d='M2.5 21.5h19'/><path d='M7.5 8h1.5M10.5 8H12M7.5 11.5h1.5M10.5 11.5H12M7.5 15h1.5M10.5 15H12M17 13.5h1M17 17h1'/></svg>"); }
.ic-home     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 11 12 3.5l8.5 7.5'/><path d='M5.5 9.5v11h13v-11'/><path d='M10 20.5v-5.5h4v5.5'/></svg>"); }
.ic-cross    { --i: 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='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18M6 8.5h12'/></svg>"); }
.ic-heart    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20.5s-7.5-4.6-7.5-10A4.2 4.2 0 0 1 12 8a4.2 4.2 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z'/></svg>"); }

/* Places and the map */
.ic-pin      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21.5s6.5-6.3 6.5-11.5a6.5 6.5 0 0 0-13 0c0 5.2 6.5 11.5 6.5 11.5z'/><circle cx='12' cy='10' r='2.4'/></svg>"); }
.ic-globe    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><ellipse cx='12' cy='12' rx='4' ry='9'/><path d='M3.5 9h17M3.5 15h17'/></svg>"); }
.ic-map      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6.5 9 4l6 2.5 6-2.5v13L15 19.5 9 17l-6 2.5z'/><path d='M9 4v13M15 6.5v13'/></svg>"); }
.ic-compass  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m15.5 8.5-2 5-5 2 2-5z'/></svg>"); }
.ic-plane    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10.5 13.5 4 11l1.5-1.5 7 1 5-5a1.6 1.6 0 0 1 2.3 2.3l-5 5 1 7L14.3 21l-2.5-6.5'/><path d='M10.5 13.5 7.5 16.5'/><path d='M4.5 19.5l2-2'/></svg>"); }
.ic-flag     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 21.5v-18'/><path d='M5 4.5c2.5-1.5 5-1.5 7.5 0s5 1.5 7.5 0v9c-2.5 1.5-5 1.5-7.5 0s-5-1.5-7.5 0'/></svg>"); }

/* Letters, media, files */
.ic-mail     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5.5' width='18' height='13' rx='2'/><path d='m3.5 7 8.5 6 8.5-6'/></svg>"); }
.ic-send     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20.5 3.5 3.5 10l7 2.5 2.5 7z'/><path d='M20.5 3.5 10.5 12.5'/></svg>"); }
.ic-inbox    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 13.5 5.5 5h13L21 13.5v5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.5z'/><path d='M3 13.5h5l1.5 2.5h5l1.5-2.5h5'/></svg>"); }
.ic-letter   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2.5h8l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-17a1 1 0 0 1 1-1z'/><path d='M14 2.5v5h5'/><path d='M8.5 12h7M8.5 15.5h7M8.5 19h4'/></svg>"); }
.ic-pdf      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2.5h8l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-17a1 1 0 0 1 1-1z'/><path d='M14 2.5v5h5'/><path d='M8 18v-6h1.8a1.5 1.5 0 0 1 0 3H8'/><path d='M13 18v-6h1.3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2z'/></svg>"); }
.ic-video    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='6.5' width='13' height='11' rx='2'/><path d='m16 10.5 5-2.5v8l-5-2.5'/></svg>"); }
.ic-play     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m10 8.5 5.5 3.5-5.5 3.5z'/></svg>"); }
.ic-camera   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8.5a1.5 1.5 0 0 1 1.5-1.5H8l1.5-2.5h5L16 7h3.5A1.5 1.5 0 0 1 21 8.5V18a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18z'/><circle cx='12' cy='13' r='3.5'/></svg>"); }
.ic-photos   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4.5' width='18' height='15' rx='2'/><circle cx='8.5' cy='9.5' r='1.8'/><path d='m3.5 17 5-4.5 3.5 3 3-2.5 5.5 4.5'/></svg>"); }
.ic-folder   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6.5A1.5 1.5 0 0 1 4.5 5H9l2 2.5h8.5A1.5 1.5 0 0 1 21 9v9a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18z'/></svg>"); }
.ic-archive  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='5' rx='1'/><path d='M4.5 9v9.5A1.5 1.5 0 0 0 6 20h12a1.5 1.5 0 0 0 1.5-1.5V9'/><path d='M10 13h4'/></svg>"); }
.ic-list     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8.5 6.5H20M8.5 12H20M8.5 17.5H20'/><path d='M4 6.5h.5M4 12h.5M4 17.5h.5'/></svg>"); }
.ic-clipboard{ --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='4.5' width='14' height='17' rx='1.5'/><path d='M9 4.5V3h6v1.5'/><path d='M9 10.5h6M9 14h6M9 17.5h3'/></svg>"); }
.ic-book     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 6.5c-1.6-1.5-4.3-2-8-1.5v13.5c3.7-.5 6.4 0 8 1.5 1.6-1.5 4.3-2 8-1.5V5c-3.7-.5-6.4 0-8 1.5z'/><path d='M12 6.5V20'/></svg>"); }
.ic-receipt  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 3.5h14v17l-2.3-1.5-2.3 1.5-2.4-1.5-2.3 1.5-2.4-1.5L5 20.5z'/><path d='M8.5 8.5h7M8.5 12h7M8.5 15.5h4'/></svg>"); }
.ic-print    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 9V3.5h10V9'/><rect x='3' y='9' width='18' height='8.5' rx='1.5'/><path d='M7 14h10v6.5H7z'/></svg>"); }
.ic-paperclip{ --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='m19.5 11.5-7.8 7.8a4.5 4.5 0 0 1-6.4-6.4l8.5-8.5a3 3 0 0 1 4.2 4.2l-8.5 8.5a1.5 1.5 0 0 1-2.1-2.1L15 7.4'/></svg>"); }

/* Devices and the kiosk */
.ic-screen   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='4.5' width='19' height='12.5' rx='2'/><path d='M8.5 20.5h7M12 17v3.5'/></svg>"); }
.ic-phone    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='6.5' y='2.5' width='11' height='19' rx='2'/><path d='M10.5 18.5h3'/></svg>"); }
.ic-call     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5.5 3.5h3l1.8 4.5-2.2 1.5a11 11 0 0 0 6.4 6.4l1.5-2.2 4.5 1.8v3a2 2 0 0 1-2 2A16.5 16.5 0 0 1 3.5 5.5a2 2 0 0 1 2-2z'/></svg>"); }
.ic-qr       { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='3.5' width='6.5' height='6.5' rx='1'/><rect x='14' y='3.5' width='6.5' height='6.5' rx='1'/><rect x='3.5' y='14' width='6.5' height='6.5' rx='1'/><path d='M6.75 6.75h.01M17.25 6.75h.01M6.75 17.25h.01'/><path d='M14 14h2.5v2.5H14zM18 14h2.5M20.5 17v3.5h-3.5M14 20.5h1.5'/></svg>"); }
.ic-board    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='5' width='14' height='14' rx='2'/><rect x='9' y='9' width='6' height='6' rx='1'/><path d='M9 2.5V5M12 2.5V5M15 2.5V5M9 19v2.5M12 19v2.5M15 19v2.5M2.5 9H5M2.5 12H5M2.5 15H5M19 9h2.5M19 12h2.5M19 15h2.5'/></svg>"); }
.ic-wifi     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 9a14 14 0 0 1 19 0'/><path d='M6 12.5a9 9 0 0 1 12 0'/><path d='M9.5 16a4 4 0 0 1 5 0'/><path d='M12 19.5h.01'/></svg>"); }
.ic-cloud    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 18.5a4 4 0 0 1-.5-8 5.5 5.5 0 0 1 10.7 1.2A3.4 3.4 0 0 1 17.5 18.5z'/></svg>"); }
.ic-database { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='5.5' rx='7.5' ry='3'/><path d='M4.5 5.5v13c0 1.7 3.4 3 7.5 3s7.5-1.3 7.5-3v-13'/><path d='M4.5 12c0 1.7 3.4 3 7.5 3s7.5-1.3 7.5-3'/></svg>"); }
.ic-save     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5.5A1.5 1.5 0 0 1 5.5 4h10L20 8.5v10a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 18.5z'/><path d='M8 4v5h7V4'/><path d='M7.5 20v-6h9v6'/></svg>"); }
.ic-download { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3.5v11'/><path d='m7.5 10 4.5 4.5 4.5-4.5'/><path d='M4 16.5v2.5A1.5 1.5 0 0 0 5.5 20.5h13a1.5 1.5 0 0 0 1.5-1.5v-2.5'/></svg>"); }
.ic-upload   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 14.5v-11'/><path d='m7.5 8 4.5-4.5L16.5 8'/><path d='M4 16.5v2.5A1.5 1.5 0 0 0 5.5 20.5h13a1.5 1.5 0 0 0 1.5-1.5v-2.5'/></svg>"); }
.ic-embed    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='m8 8-5 4 5 4M16 8l5 4-5 4'/><path d='m13.5 5-3 14'/></svg>"); }
.ic-link     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1.2 1.2'/><path d='M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1.2-1.2'/></svg>"); }

/* Security and accounts */
.ic-lock     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4.5' y='10.5' width='15' height='10' rx='2'/><path d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/><path d='M12 14.5v2.5'/></svg>"); }
.ic-unlock   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4.5' y='10.5' width='15' height='10' rx='2'/><path d='M8 10.5V7.5a4 4 0 0 1 7.7-1.5'/><path d='M12 14.5v2.5'/></svg>"); }
.ic-key      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='15.5' r='4.5'/><path d='m11.2 12.3 8.3-8.3'/><path d='m16.5 7 2.5 2.5M14 9.5l2 2'/></svg>"); }
.ic-shield   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2.5 4.5 5.5v6c0 4.5 3.2 7.8 7.5 9.5 4.3-1.7 7.5-5 7.5-9.5v-6z'/><path d='m8.8 12 2.2 2.2 4.2-4.2'/></svg>"); }
.ic-eye      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 12s3.5-6.5 9.5-6.5 9.5 6.5 9.5 6.5-3.5 6.5-9.5 6.5S2.5 12 2.5 12z'/><circle cx='12' cy='12' r='3'/></svg>"); }
.ic-eye-off  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4l16 16'/><path d='M9.9 6c.7-.2 1.4-.3 2.1-.3 6 0 9.5 6.3 9.5 6.3s-1 1.8-2.8 3.5'/><path d='M6.2 7.8C3.7 9.7 2.5 12 2.5 12s3.5 6.3 9.5 6.3c1.5 0 2.8-.4 4-.9'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>"); }
.ic-door     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 20.5H5.5a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1H10'/><path d='m15 7.5 4.5 4.5-4.5 4.5'/><path d='M19.5 12H9.5'/></svg>"); }
.ic-card     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='5.5' width='19' height='13' rx='2'/><path d='M2.5 10h19'/><path d='M6.5 14.5h4'/></svg>"); }
.ic-coins    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v10'/><path d='M14.8 9.3c-.4-1-1.5-1.5-2.8-1.5-1.6 0-2.8.8-2.8 2 0 2.6 5.6 1.4 5.6 4.1 0 1.3-1.2 2.1-2.8 2.1-1.4 0-2.5-.6-2.9-1.6'/></svg>"); }
.ic-ticket   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8.5v-2A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v2a3.5 3.5 0 0 0 0 7v2a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 17.5v-2a3.5 3.5 0 0 0 0-7z'/><path d='M14.5 5v2M14.5 10.5v3M14.5 17v2'/></svg>"); }
.ic-rings    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='12' r='5.5'/><circle cx='15' cy='12' r='5.5'/></svg>"); }
.ic-megaphone{ --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 10v4a1 1 0 0 0 1 1H8l8 4.5v-15L8 9H4.5a1 1 0 0 0-1 1z'/><path d='M8 15v4.5h3V15'/><path d='M19 9.5a3.5 3.5 0 0 1 0 5'/></svg>"); }
.ic-bell     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 16.5V11a6 6 0 0 1 12 0v5.5l1.5 2h-15z'/><path d='M10 20.5a2 2 0 0 0 4 0'/></svg>"); }
.ic-bulb     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 17.5c0-2.3-3.5-3.5-3.5-7.5a6.5 6.5 0 0 1 13 0c0 4-3.5 5.2-3.5 7.5'/><path d='M9 20.5h6M10 17.5h4'/></svg>"); }

/* Actions and status */
.ic-check    { --i: 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='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m4.5 12.5 5 5 10-11'/></svg>"); }
.ic-check-circle { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m8 12.5 2.8 2.8L16.5 9.5'/></svg>"); }
.ic-pencil   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='m4 20 .9-4.2L15.7 5a1.8 1.8 0 0 1 2.6 0l.7.7a1.8 1.8 0 0 1 0 2.6L8.2 19.1z'/><path d='m13.8 6.9 3.3 3.3'/></svg>"); }
.ic-trash    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 6.5h15'/><path d='M9 6.5V4.5h6v2'/><path d='M6.5 6.5 7.3 20h9.4l.8-13.5'/><path d='M10 10.5v6M14 10.5v6'/></svg>"); }
.ic-search   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='10.5' cy='10.5' r='6.5'/><path d='m15.5 15.5 5 5'/></svg>"); }
.ic-gear     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M5.3 18.7l2.1-2.1M16.6 7.4l2.1-2.1'/><circle cx='12' cy='12' r='7'/></svg>"); }
.ic-tools    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M14.5 6.5a4 4 0 0 1 5-5l-3 3 .5 2.5 2.5.5 3-3a4 4 0 0 1-5 5L8 19a2 2 0 0 1-3-3z'/></svg>"); }
.ic-refresh  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12a8 8 0 0 1-14.5 4.6'/><path d='M4 12a8 8 0 0 1 14.5-4.6'/><path d='M18.5 3.5v4h-4M5.5 20.5v-4h4'/></svg>"); }
.ic-repeat   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 9.5A2.5 2.5 0 0 1 6.5 7H19'/><path d='m16 4 3 3-3 3'/><path d='M20 14.5a2.5 2.5 0 0 1-2.5 2.5H5'/><path d='m8 20-3-3 3-3'/></svg>"); }
.ic-undo     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 7H4.5v-3.5'/><path d='M4.8 7.2A8 8 0 1 1 4 12'/></svg>"); }
.ic-clock    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3.5 2'/></svg>"); }
.ic-calendar { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15.5' rx='2'/><path d='M3.5 9.5h17M8 3v4M16 3v4'/></svg>"); }
.ic-chart    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 20.5h17'/><path d='M6.5 20.5v-7M11 20.5v-11M15.5 20.5v-5M20 20.5v-14'/></svg>"); }
.ic-trend    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 17.5 9 11l4 3.5 7-8'/><path d='M15.5 6.5H20V11'/></svg>"); }
.ic-warning  { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3.5 2.5 20h19z'/><path d='M12 10v4.5M12 17.5h.01'/></svg>"); }
.ic-info     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 11v5.5M12 7.5h.01'/></svg>"); }
.ic-help     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.7.3-1 .9-1 1.7'/><path d='M12 17h.01'/></svg>"); }
.ic-ban      { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m5.6 5.6 12.8 12.8'/></svg>"); }
.ic-star     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='m12 3.5 2.6 5.4 5.9.8-4.3 4.1 1.1 5.9L12 16.9l-5.3 2.8 1.1-5.9-4.3-4.1 5.9-.8z'/></svg>"); }
.ic-spark    { --i: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2.5c.6 5 2.5 8.9 9.5 9.5-7 .6-8.9 4.5-9.5 9.5-.6-5-2.5-8.9-9.5-9.5 7-.6 8.9-4.5 9.5-9.5z'/></svg>"); }
.ic-menu     { --i: 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='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16M4 12h16M4 17h16'/></svg>"); }
.ic-chevron-down{ --i: 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='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>"); }
.ic-copy     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='8.5' y='8.5' width='12' height='12' rx='1.5'/><path d='M5.5 15.5h-1a1 1 0 0 1-1-1v-10a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/></svg>"); }
.ic-cart     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 4h2.5l2.4 11h11l2-7.5H6.2'/><circle cx='9.5' cy='19.5' r='1.3'/><circle cx='17' cy='19.5' r='1.3'/></svg>"); }
.ic-hourglass{ --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6.5 3.5h11'/><path d='M6.5 20.5h11'/><path d='M8 3.5v3c0 2.5 4 4 4 5.5s-4 3-4 5.5v3'/><path d='M16 3.5v3c0 2.5-4 4-4 5.5s4 3 4 5.5v3'/></svg>"); }
.ic-truck    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 6h12v10h-12z'/><path d='M14.5 10h4l3 3v3h-7'/><circle cx='6.5' cy='17.5' r='1.8'/><circle cx='17.5' cy='17.5' r='1.8'/></svg>"); }
.ic-broom    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='m19.5 4.5-8 8'/><path d='M11.5 12.5 7 11l-3.5 7 4 2.5 6-5z'/><path d='m6 15.5 3 2'/></svg>"); }
.ic-flask    { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9.5 3.5h5M10 3.5v6l-5.5 9a1.5 1.5 0 0 0 1.3 2.3h12.4a1.5 1.5 0 0 0 1.3-2.3L14 9.5v-6'/><path d='M7.5 15.5h9'/></svg>"); }
.ic-bucket   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='6.5' rx='8' ry='2.5'/><path d='m4 6.5 1.8 13c.1.8 2.8 1.5 6.2 1.5s6.1-.7 6.2-1.5l1.8-13'/></svg>"); }
.ic-trophy   { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 4h10v5a5 5 0 0 1-10 0z'/><path d='M7 6H4v1.5A3.5 3.5 0 0 0 7.5 11M17 6h3v1.5a3.5 3.5 0 0 1-3.5 3.5'/><path d='M12 14v3.5M8.5 20.5h7M9.5 17.5h5'/></svg>"); }
.ic-pause    { --i: 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='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 5.5v13M15 5.5v13'/></svg>"); }
.ic-stop     { --i: 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.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5.5' y='5.5' width='13' height='13' rx='2'/></svg>"); }
.ic-circle   { --i: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><circle cx='12' cy='12' r='5'/></svg>"); }
