.icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;

    background-color: currentColor;

    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;

    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

/* Icon mapping */
.icon-chevron-down {
    mask-image: url('/icons/chevron-down.svg');
    -webkit-mask-image: url('/icons/chevron-down.svg');
}
.icon-exclamation-triangle {
    mask-image: url('/icons/exclamation-triangle.svg');
    -webkit-mask-image: url('/icons/exclamation-triangle.svg');
}
.icon-circle-alert {
    mask-image: url('/icons/lucide/circle-alert.svg');
    -webkit-mask-image: url('/icons/lucide/circle-alert.svg');
}
.icon-home {
    mask-image: url('/icons/lucide/home.svg');
    -webkit-mask-image: url('/icons/lucide/home.svg');
}
.icon-log-out {
    mask-image: url('/icons/lucide/log-out.svg');
    -webkit-mask-image: url('/icons/lucide/log-out.svg');
}
.icon-mail {
    mask-image: url('/icons/lucide/mail.svg');
    -webkit-mask-image: url('/icons/lucide/mail.svg');
}
.icon-mail-check {
    mask-image: url('/icons/lucide/mail-check.svg');
    -webkit-mask-image: url('/icons/lucide/mail-check.svg');
}
.icon-lock {
    mask-image: url('/icons/lucide/lock.svg');
    -webkit-mask-image: url('/icons/lucide/lock.svg');
}
.icon-eye {
    mask-image: url('/icons/lucide/eye.svg');
    -webkit-mask-image: url('/icons/lucide/eye.svg');
}
.icon-eye-off {
    mask-image: url('/icons/lucide/eye-off.svg');
    -webkit-mask-image: url('/icons/lucide/eye-off.svg');
}
.icon-user {
    mask-image: url('/icons/lucide/user.svg');
    -webkit-mask-image: url('/icons/lucide/user.svg');
}
.icon-building {
    mask-image: url('/icons/lucide/building.svg');
    -webkit-mask-image: url('/icons/lucide/building.svg');
}
.icon-info {
    mask-image: url('/icons/lucide/info.svg');
    -webkit-mask-image: url('/icons/lucide/info.svg');
}
.icon-circle-check {
    mask-image: url('/icons/lucide/circle-check.svg');
    -webkit-mask-image: url('/icons/lucide/circle-check.svg');
}
.icon-send {
    mask-image: url('/icons/lucide/send.svg');
    -webkit-mask-image: url('/icons/lucide/send.svg');
}
.icon-layout-dashboard {
    mask-image: url('/icons/lucide/layout-dashboard.svg');
    -webkit-mask-image: url('/icons/lucide/layout-dashboard.svg');
}
.icon-calendar-clock {
    mask-image: url('/icons/lucide/calendar-clock.svg');
    -webkit-mask-image: url('/icons/lucide/calendar-clock.svg');
}
.icon-files {
    mask-image: url('/icons/lucide/files.svg');
    -webkit-mask-image: url('/icons/lucide/files.svg');
}
.icon-list-todo {
    mask-image: url('/icons/lucide/list-todo.svg');
    -webkit-mask-image: url('/icons/lucide/list-todo.svg');
}
.icon-settings {
    mask-image: url('/icons/lucide/settings.svg');
    -webkit-mask-image: url('/icons/lucide/settings.svg');
}
.icon-door-open {
    mask-image: url('/icons/lucide/door-open.svg');
    -webkit-mask-image: url('/icons/lucide/door-open.svg');
}
.icon-megaphone {
    mask-image: url('/icons/lucide/megaphone.svg');
    -webkit-mask-image: url('/icons/lucide/megaphone.svg');
}
.icon-clock {
    mask-image: url('/icons/lucide/clock.svg');
    -webkit-mask-image: url('/icons/lucide/clock.svg');
}
.icon-external-link {
    mask-image: url('/icons/lucide/external-link.svg');
    -webkit-mask-image: url('/icons/lucide/external-link.svg');
}
.icon-link {
    mask-image: url('/icons/lucide/link.svg');
    -webkit-mask-image: url('/icons/lucide/link.svg');
}
.icon-map-pin {
    mask-image: url('/icons/lucide/map-pin.svg');
    -webkit-mask-image: url('/icons/lucide/map-pin.svg');
}
.icon-pencil {
    mask-image: url('/icons/lucide/pencil.svg');
    -webkit-mask-image: url('/icons/lucide/pencil.svg');
}
.icon-plus {
    mask-image: url('/icons/lucide/plus.svg');
    -webkit-mask-image: url('/icons/lucide/plus.svg');
}
.icon-search {
    mask-image: url('/icons/lucide/search.svg');
    -webkit-mask-image: url('/icons/lucide/search.svg');
}
.icon-chevron-left {
    mask-image: url('/icons/lucide/chevron-left.svg');
    -webkit-mask-image: url('/icons/lucide/chevron-left.svg');
}
.icon-chevron-right {
    mask-image: url('/icons/lucide/chevron-right.svg');
    -webkit-mask-image: url('/icons/lucide/chevron-right.svg');
}
.icon-bed {
    mask-image: url('/icons/lucide/bed.svg');
    -webkit-mask-image: url('/icons/lucide/bed.svg');
}
.icon-bath {
    mask-image: url('/icons/lucide/bath.svg');
    -webkit-mask-image: url('/icons/lucide/bath.svg');
}
.icon-ruler {
    mask-image: url('/icons/lucide/ruler.svg');
    -webkit-mask-image: url('/icons/lucide/ruler.svg');
}
.icon-paw-print {
    mask-image: url('/icons/lucide/paw-print.svg');
    -webkit-mask-image: url('/icons/lucide/paw-print.svg');
}
.icon-cigarette {
    mask-image: url('/icons/lucide/cigarette.svg');
    -webkit-mask-image: url('/icons/lucide/cigarette.svg');
}
.icon-car {
    mask-image: url('/icons/lucide/car.svg');
    -webkit-mask-image: url('/icons/lucide/car.svg');
}
.icon-x {
    mask-image: url('/icons/lucide/x.svg');
    -webkit-mask-image: url('/icons/lucide/x.svg');
}
.icon-trash-2 {
    mask-image: url('/icons/lucide/trash-2.svg');
    -webkit-mask-image: url('/icons/lucide/trash-2.svg');
}
.icon-star {
    mask-image: url('/icons/lucide/star.svg');
    -webkit-mask-image: url('/icons/lucide/star.svg');
}
.icon-star-filled {
    mask-image: url('/icons/lucide/star-filled.svg');
    -webkit-mask-image: url('/icons/lucide/star-filled.svg');
}
