/* ============================================================
   Heroicons — SVG mask system (inherits CSS color like FA)
   ============================================================ */

.hi {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  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;
  flex-shrink: 0;
}

.hi-academic-cap { -webkit-mask-image: url("../assets/icons/heroicons/academic-cap.svg"); mask-image: url("../assets/icons/heroicons/academic-cap.svg"); }
.hi-adjustments-horizontal { -webkit-mask-image: url("../assets/icons/heroicons/adjustments-horizontal.svg"); mask-image: url("../assets/icons/heroicons/adjustments-horizontal.svg"); }
.hi-arrow-path { -webkit-mask-image: url("../assets/icons/heroicons/arrow-path.svg"); mask-image: url("../assets/icons/heroicons/arrow-path.svg"); }
.hi-arrow-right { -webkit-mask-image: url("../assets/icons/heroicons/arrow-right.svg"); mask-image: url("../assets/icons/heroicons/arrow-right.svg"); }

.hi-arrow-uturn-left { -webkit-mask-image: url("../assets/icons/heroicons/arrow-uturn-left.svg"); mask-image: url("../assets/icons/heroicons/arrow-uturn-left.svg"); }
.hi-arrows-right-left { -webkit-mask-image: url("../assets/icons/heroicons/arrows-right-left.svg"); mask-image: url("../assets/icons/heroicons/arrows-right-left.svg"); }
.hi-bell { -webkit-mask-image: url("../assets/icons/heroicons/bell.svg"); mask-image: url("../assets/icons/heroicons/bell.svg"); }
.hi-bolt { -webkit-mask-image: url("../assets/icons/heroicons/bolt.svg"); mask-image: url("../assets/icons/heroicons/bolt.svg"); }
.hi-briefcase { -webkit-mask-image: url("../assets/icons/heroicons/briefcase.svg"); mask-image: url("../assets/icons/heroicons/briefcase.svg"); }
.hi-bug-ant { -webkit-mask-image: url("../assets/icons/heroicons/bug-ant.svg"); mask-image: url("../assets/icons/heroicons/bug-ant.svg"); }
.hi-building-office { -webkit-mask-image: url("../assets/icons/heroicons/building-office.svg"); mask-image: url("../assets/icons/heroicons/building-office.svg"); }
.hi-building-office-2 { -webkit-mask-image: url("../assets/icons/heroicons/building-office-2.svg"); mask-image: url("../assets/icons/heroicons/building-office-2.svg"); }
.hi-calendar { -webkit-mask-image: url("../assets/icons/heroicons/calendar.svg"); mask-image: url("../assets/icons/heroicons/calendar.svg"); }
.hi-calendar-days { -webkit-mask-image: url("../assets/icons/heroicons/calendar-days.svg"); mask-image: url("../assets/icons/heroicons/calendar-days.svg"); }
.hi-chart-bar { -webkit-mask-image: url("../assets/icons/heroicons/chart-bar.svg"); mask-image: url("../assets/icons/heroicons/chart-bar.svg"); }
.hi-chart-bar-square { -webkit-mask-image: url("../assets/icons/heroicons/chart-bar-square.svg"); mask-image: url("../assets/icons/heroicons/chart-bar-square.svg"); }
.hi-chart-pie { -webkit-mask-image: url("../assets/icons/heroicons/chart-pie.svg"); mask-image: url("../assets/icons/heroicons/chart-pie.svg"); }
.hi-check { -webkit-mask-image: url("../assets/icons/heroicons/check.svg"); mask-image: url("../assets/icons/heroicons/check.svg"); }
.hi-chevron-down { -webkit-mask-image: url("../assets/icons/heroicons/chevron-down.svg"); mask-image: url("../assets/icons/heroicons/chevron-down.svg"); }
.hi-circle-stack { -webkit-mask-image: url("../assets/icons/heroicons/circle-stack.svg"); mask-image: url("../assets/icons/heroicons/circle-stack.svg"); }
.hi-clock { -webkit-mask-image: url("../assets/icons/heroicons/clock.svg"); mask-image: url("../assets/icons/heroicons/clock.svg"); }
.hi-cloud { -webkit-mask-image: url("../assets/icons/heroicons/cloud.svg"); mask-image: url("../assets/icons/heroicons/cloud.svg"); }
.hi-code-bracket { -webkit-mask-image: url("../assets/icons/heroicons/code-bracket.svg"); mask-image: url("../assets/icons/heroicons/code-bracket.svg"); }
.hi-command-line { -webkit-mask-image: url("../assets/icons/heroicons/command-line.svg"); mask-image: url("../assets/icons/heroicons/command-line.svg"); }
.hi-computer-desktop { -webkit-mask-image: url("../assets/icons/heroicons/computer-desktop.svg"); mask-image: url("../assets/icons/heroicons/computer-desktop.svg"); }
.hi-cpu-chip { -webkit-mask-image: url("../assets/icons/heroicons/cpu-chip.svg"); mask-image: url("../assets/icons/heroicons/cpu-chip.svg"); }
.hi-credit-card { -webkit-mask-image: url("../assets/icons/heroicons/credit-card.svg"); mask-image: url("../assets/icons/heroicons/credit-card.svg"); }
.hi-cube { -webkit-mask-image: url("../assets/icons/heroicons/cube.svg"); mask-image: url("../assets/icons/heroicons/cube.svg"); }
.hi-envelope { -webkit-mask-image: url("../assets/icons/heroicons/envelope.svg"); mask-image: url("../assets/icons/heroicons/envelope.svg"); }
.hi-eye { -webkit-mask-image: url("../assets/icons/heroicons/eye.svg"); mask-image: url("../assets/icons/heroicons/eye.svg"); }
.hi-fire { -webkit-mask-image: url("../assets/icons/heroicons/fire.svg"); mask-image: url("../assets/icons/heroicons/fire.svg"); }
.hi-folder { -webkit-mask-image: url("../assets/icons/heroicons/folder.svg"); mask-image: url("../assets/icons/heroicons/folder.svg"); }
.hi-funnel { -webkit-mask-image: url("../assets/icons/heroicons/funnel.svg"); mask-image: url("../assets/icons/heroicons/funnel.svg"); }
.hi-home { -webkit-mask-image: url("../assets/icons/heroicons/home.svg"); mask-image: url("../assets/icons/heroicons/home.svg"); }
.hi-information-circle { -webkit-mask-image: url("../assets/icons/heroicons/information-circle.svg"); mask-image: url("../assets/icons/heroicons/information-circle.svg"); }
.hi-link { -webkit-mask-image: url("../assets/icons/heroicons/link.svg"); mask-image: url("../assets/icons/heroicons/link.svg"); }
.hi-lock-closed { -webkit-mask-image: url("../assets/icons/heroicons/lock-closed.svg"); mask-image: url("../assets/icons/heroicons/lock-closed.svg"); }
.hi-magnifying-glass { -webkit-mask-image: url("../assets/icons/heroicons/magnifying-glass.svg"); mask-image: url("../assets/icons/heroicons/magnifying-glass.svg"); }
.hi-map-pin { -webkit-mask-image: url("../assets/icons/heroicons/map-pin.svg"); mask-image: url("../assets/icons/heroicons/map-pin.svg"); }
.hi-presentation-chart-line { -webkit-mask-image: url("../assets/icons/heroicons/presentation-chart-line.svg"); mask-image: url("../assets/icons/heroicons/presentation-chart-line.svg"); }
.hi-puzzle-piece { -webkit-mask-image: url("../assets/icons/heroicons/puzzle-piece.svg"); mask-image: url("../assets/icons/heroicons/puzzle-piece.svg"); }
.hi-rectangle-stack { -webkit-mask-image: url("../assets/icons/heroicons/rectangle-stack.svg"); mask-image: url("../assets/icons/heroicons/rectangle-stack.svg"); }
.hi-rocket-launch { -webkit-mask-image: url("../assets/icons/heroicons/rocket-launch.svg"); mask-image: url("../assets/icons/heroicons/rocket-launch.svg"); }
.hi-scale { -webkit-mask-image: url("../assets/icons/heroicons/scale.svg"); mask-image: url("../assets/icons/heroicons/scale.svg"); }
.hi-share { -webkit-mask-image: url("../assets/icons/heroicons/share.svg"); mask-image: url("../assets/icons/heroicons/share.svg"); }
.hi-shield-check { -webkit-mask-image: url("../assets/icons/heroicons/shield-check.svg"); mask-image: url("../assets/icons/heroicons/shield-check.svg"); }
.hi-signal { -webkit-mask-image: url("../assets/icons/heroicons/signal.svg"); mask-image: url("../assets/icons/heroicons/signal.svg"); }
.hi-squares-2x2 { -webkit-mask-image: url("../assets/icons/heroicons/squares-2x2.svg"); mask-image: url("../assets/icons/heroicons/squares-2x2.svg"); }

.hi-users { -webkit-mask-image: url("../assets/icons/heroicons/users.svg"); mask-image: url("../assets/icons/heroicons/users.svg"); }
.hi-x-mark { -webkit-mask-image: url("../assets/icons/heroicons/x-mark.svg"); mask-image: url("../assets/icons/heroicons/x-mark.svg"); }

/* Spin animation (for loading states) */
@keyframes hi-spin { to { transform: rotate(360deg); } }
.hi-spin { animation: hi-spin .75s linear infinite; }

/* Size helpers */
.hi-sm  { width: .875em; height: .875em; }
.hi-lg  { width: 1.25em; height: 1.25em; }
.hi-xl  { width: 1.5em;  height: 1.5em;  }
.hi-2x  { width: 2em;    height: 2em;    }
