/* ===========================================================================
   icons.css — GENERATED FILE, do not edit by hand
   ===========================================================================
   Icon source and instructions for adding one: tools/build-icons.mjs
   Regenerate with:  node tools/build-icons.mjs

   Usage in HTML:
     <span class="ico ico--telefon" aria-hidden="true"></span>

   The icon is a MASK, so it takes its color from `currentColor` — it adapts
   itself to the theme and to the color of the adjacent text. Always use
   `aria-hidden="true"`: icons are decorative, the text carries the meaning.
   =========================================================================== */

.ico {
  display: inline-block;
  flex-shrink: 0;
  width: var(--ico-size, 24px);
  height: var(--ico-size, 24px);
  background-color: currentcolor;
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
}

/* Sizes used across the site. */
.ico--sm { --ico-size: 18px; }
.ico--lg { --ico-size: 32px; }

/* Icon in a square frame — used in cards as a topic marker.
   The frame gives the icon "weight" without enlarging the drawing itself. */
.ico-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-accent-border);
  border-radius: var(--radius-sm);
  background-color: var(--color-accent-quiet);
  color: var(--color-accent-text);
  flex-shrink: 0;
}

.ico-tile .ico {
  --ico-size: 22px;
}

/* ---------------------------------------------------------------------------
   Icon set
--------------------------------------------------------------------------- */

/* telephone handset */
.ico--telefon {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.5 4-2 1.5a11 11 0 0 0 6 6l1.5-2 4 1.5v3a2 2 0 0 1-2.2 2A16.5 16.5 0 0 1 4.5 5.7 2 2 0 0 1 6.5 3.5Z'/%3E%3C/svg%3E");
}

/* browser window with a form */
.ico--formularz {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 8.5h18M7 12.5h10M7 16h6'/%3E%3C/svg%3E");
}

/* QR code — corners and modules */
.ico--qr {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V5.5A1.5 1.5 0 0 1 5.5 4H9M15 4h3.5A1.5 1.5 0 0 1 20 5.5V9M20 15v3.5a1.5 1.5 0 0 1-1.5 1.5H15M9 20H5.5A1.5 1.5 0 0 1 4 18.5V15'/%3E%3Cpath d='M8 8h2.5v2.5H8zM13.5 13.5H16V16h-2.5z'/%3E%3Cpath d='M13.5 8H16M8 13.5v2.5'/%3E%3C/svg%3E");
}

/* waves emitted from a tag */
.ico--nfc {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='8' height='14' rx='2'/%3E%3Cpath d='M14.5 8.5a5 5 0 0 1 0 7M18 6a9 9 0 0 1 0 12'/%3E%3C/svg%3E");
}

/* building — management view */
.ico--zarzad {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V6.5L12 3l8 3.5V20'/%3E%3Cpath d='M4 20h16M9 20v-5h6v5M8.5 10h2M13.5 10h2'/%3E%3C/svg%3E");
}

/* door with a handle — resident view */
.ico--mieszkaniec {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20V5.5A1.5 1.5 0 0 1 7.5 4h9A1.5 1.5 0 0 1 18 5.5V20'/%3E%3Cpath d='M4.5 20h15M14.5 12.5h.01'/%3E%3C/svg%3E");
}

/* adjustable wrench — technician view */
.ico--technik {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a3.5 3.5 0 1 0 4 4L21 8V4.5L17.5 4l-3 2.5Z'/%3E%3Cpath d='M13 12 5 20l-1.5-1.5L11.5 10.5'/%3E%3C/svg%3E");
}

/* clock — uninterrupted availability */
.ico--zegar {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
}

/* document with written-down rules */
.ico--dokument {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h8l4 4V20a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4.5a1 1 0 0 1 1-1Z'/%3E%3Cpath d='M14 3.5V8h4M9 12.5h6M9 16h4'/%3E%3C/svg%3E");
}

/* structured record — named fields */
.ico--rekord {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='14' rx='2'/%3E%3Cpath d='M7 9h4M14 9h3M7 12.5h4M14 12.5h3M7 16h4M14 16h3'/%3E%3C/svg%3E");
}

/* shield — boundaries and security */
.ico--granica {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 5 6v6c0 4 3 7.3 7 8.5 4-1.2 7-4.5 7-8.5V6l-7-2.5Z'/%3E%3Cpath d='M9.5 12l1.8 1.8L15 10'/%3E%3C/svg%3E");
}

/* eye — human oversight */
.ico--nadzor {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 6.5 12 6.5 21.5 12 21.5 12 18 17.5 12 17.5 2.5 12 2.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.75'/%3E%3C/svg%3E");
}

/* two interlocking links — system integration */
.ico--integracja {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 7H7a5 5 0 0 0 0 10h2.5M14.5 7H17a5 5 0 0 1 0 10h-2.5'/%3E%3Cpath d='M8.5 12h7'/%3E%3C/svg%3E");
}

/* handset with an up arrow — outbound call */
.ico--wychodzace {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 4h3l1.4 3.7-1.9 1.4a10.5 10.5 0 0 0 5.6 5.6l1.4-1.9 3.7 1.4v3a1.9 1.9 0 0 1-2.1 1.9A15.8 15.8 0 0 1 3.6 6.1 1.9 1.9 0 0 1 5.5 4Z'/%3E%3Cpath d='M15.5 8.5 21 3M21 3h-4M21 3v4'/%3E%3C/svg%3E");
}

/* list with timestamps — audit trail */
.ico--dziennik {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6.5h3M4.5 12h3M4.5 17.5h3'/%3E%3Cpath d='M11 6.5h8.5M11 12h8.5M11 17.5h5.5'/%3E%3C/svg%3E");
}

/* scales — regulatory compliance */
.ico--waga {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10'/%3E%3Cpath d='M4 8h16M4 8l-1.5 4.5a3.2 3.2 0 0 0 6 0L7 8M17 8l-1.5 4.5a3.2 3.2 0 0 0 6 0L20 8'/%3E%3C/svg%3E");
}

/* shield — protection that is part of the build */
.ico--tarcza {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2 19 6v5.4c0 4.2-2.8 7.5-7 9.4-4.2-1.9-7-5.2-7-9.4V6Z'/%3E%3C/svg%3E");
}

/* stacked server units — where the data is processed */
.ico--serwer {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='6' rx='1.6'/%3E%3Crect x='3.5' y='13.5' width='17' height='6' rx='1.6'/%3E%3Cpath d='M7 7.5h.01M7 16.5h.01'/%3E%3C/svg%3E");
}

/* arrow curving back — a change that can be reverted */
.ico--cofnij {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h9a5.5 5.5 0 0 1 0 11h-3'/%3E%3Cpath d='M7.5 5.5 4 9l3.5 3.5'/%3E%3C/svg%3E");
}

/* eye — who is allowed to see the contents */
.ico--oko {
  --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.8 12 5.8 21.5 12 21.5 12 18 18.2 12 18.2 2.5 12 2.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3C/svg%3E");
}
