/* ============================================================================
   ICONS — EHR
   ASSETS.md §1: the Figma layer name IS the file path.
   §6 rule 1: reference the file, never inline SVG. Applied as a CSS mask so the
   paint is always currentColor and the parent sets it from a semantic token.
   Paths resolve from this file: apps/ehr/src/styles → four levels up is root.
   ========================================================================== */

.icon {
  display: inline-block;
  flex: none;
  /* TODO(tokens): size is not built — DESIGN.md §12.4. Literal px until it is. */
  inline-size: 20px;
  block-size: 20px;
  background-color: currentColor;
  -webkit-mask: var(--icon-src) center / contain no-repeat;
  mask: var(--icon-src) center / contain no-repeat;
}
.icon--12 { inline-size: 12px; block-size: 12px; }
.icon--16 { inline-size: 16px; block-size: 16px; }
.icon--24 { inline-size: 24px; block-size: 24px; }
.icon--32 { inline-size: 32px; block-size: 32px; }

/* Left column is the Figma layer name under e/icon/. */
.icon--search      { --icon-src: url("../../../../assets/icons/e/icon/file/search_2_line.svg"); }
.icon--user-search { --icon-src: url("../../../../assets/icons/e/icon/user/user_search_line.svg"); }
.icon--user        { --icon-src: url("../../../../assets/icons/e/icon/user/user_1_line.svg"); }
.icon--user-add    { --icon-src: url("../../../../assets/icons/e/icon/user/user_follow_line.svg"); }
.icon--user-question { --icon-src: url("../../../../assets/icons/e/icon/user/user_question_line.svg"); }
.icon--id          { --icon-src: url("../../../../assets/icons/e/icon/user/IDcard_line.svg"); }
.icon--filter      { --icon-src: url("../../../../assets/icons/e/icon/business/filter_line.svg"); }
.icon--calendar    { --icon-src: url("../../../../assets/icons/e/icon/business/calendar_line.svg"); }
.icon--flag        { --icon-src: url("../../../../assets/icons/e/icon/business/flag_2_line.svg"); }
.icon--flag-fill   { --icon-src: url("../../../../assets/icons/e/icon/business/flag_2_fill.svg"); }
.icon--close       { --icon-src: url("../../../../assets/icons/e/icon/system/close_line.svg"); }
.icon--check       { --icon-src: url("../../../../assets/icons/e/icon/system/check_line.svg"); }
.icon--check-circle{ --icon-src: url("../../../../assets/icons/e/icon/system/check_circle_fill.svg"); }
.icon--warning     { --icon-src: url("../../../../assets/icons/e/icon/system/warning_line.svg"); }
.icon--warning-fill{ --icon-src: url("../../../../assets/icons/e/icon/system/warning_fill.svg"); }
.icon--alert-fill  { --icon-src: url("../../../../assets/icons/e/icon/system/alert_fill.svg"); }
.icon--info        { --icon-src: url("../../../../assets/icons/e/icon/system/information_line.svg"); }
.icon--history     { --icon-src: url("../../../../assets/icons/e/icon/system/history_line.svg"); }
.icon--refresh     { --icon-src: url("../../../../assets/icons/e/icon/system/refresh_2_line.svg"); }
.icon--time        { --icon-src: url("../../../../assets/icons/e/icon/system/time_line.svg"); }
.icon--eye         { --icon-src: url("../../../../assets/icons/e/icon/system/eye_line.svg"); }
.icon--more        { --icon-src: url("../../../../assets/icons/e/icon/system/dots_vertical_line.svg"); }
.icon--chevron-down{ --icon-src: url("../../../../assets/icons/e/icon/arrows/down_small_line.svg"); }
.icon--chevron-right{ --icon-src: url("../../../../assets/icons/e/icon/arrows/right_small_line.svg"); }
.icon--back        { --icon-src: url("../../../../assets/icons/e/icon/arrows/arrow_left_line.svg"); }
.icon--pdf         { --icon-src: url("../../../../assets/icons/e/icon/file/pdf_line.svg"); }
.icon--doc         { --icon-src: url("../../../../assets/icons/e/icon/file/document_line.svg"); }
.icon--file-warning{ --icon-src: url("../../../../assets/icons/e/icon/file/file_warning_line.svg"); }
.icon--inbox       { --icon-src: url("../../../../assets/icons/e/icon/file/inbox_line.svg"); }
.icon--download    { --icon-src: url("../../../../assets/icons/e/icon/file/download_line.svg"); }
.icon--link        { --icon-src: url("../../../../assets/icons/e/icon/file/link_line.svg"); }
.icon--lab         { --icon-src: url("../../../../assets/icons/e/icon/file/clipboard_line.svg"); }
.icon--sort        { --icon-src: url("../../../../assets/icons/e/icon/editor/sort_descending_line.svg"); }
.icon--menu        { --icon-src: url("../../../../assets/icons/e/icon/editor/menu_line.svg"); }

/* --- Sidebar, from the EHR Portal `Sidebar` component (node 31475:285338).
   Layer names read straight off the Figma frame. ------------------------- */
.icon--layout-left { --icon-src: url("../../../../assets/icons/e/icon/design/layout_left_line.svg"); }
.icon--mosaic      { --icon-src: url("../../../../assets/icons/e/icon/design/mosaic_fill.svg"); }
.icon--group       { --icon-src: url("../../../../assets/icons/e/icon/user/group_fill.svg"); }
.icon--first-aid   { --icon-src: url("../../../../assets/icons/e/icon/other/first_aid_kit_line.svg"); }
.icon--phone-call  { --icon-src: url("../../../../assets/icons/e/icon/contact/phone_call_line.svg"); }
.icon--up          { --icon-src: url("../../../../assets/icons/e/icon/arrows/up_line.svg"); }
.icon--down        { --icon-src: url("../../../../assets/icons/e/icon/arrows/down_line.svg"); }
.icon--right       { --icon-src: url("../../../../assets/icons/e/icon/arrows/right_line.svg"); }
