@layer components {
    .icon {
        -webkit-touch-callout: none;
        background-color: currentColor;
        block-size: var(--icon-size, 1em);
        display: inline-block;
        flex-shrink: 0;
        inline-size: var(--icon-size, 1em);
        mask-image: var(--svg);
        mask-position: center;
        mask-repeat: no-repeat;
        mask-size: var(--icon-size, 1em);
        pointer-events: none;
        user-select: none;
    }

    img.icon {
        background: none;
    }

    .icon--arpedon {
        --svg: url("../icons/logo.b0445de88cd1.svg");
    }

    .icon--add {
        --svg: url("../icons/add.8cf6bdc3cc54.svg");
    }

    .icon--add--meta {
        --svg: url("../icons/add--meta.svg");
    }

    .icon--arrow-left {
        --svg: url("../icons/arrow-left.67777c303e6f.svg");
    }

    .icon--arrow-right {
        --svg: url("../icons/arrow-right.894db96e07d4.svg");
    }

    .icon--arrow-up {
        --svg: url("../icons/arrow-up-f96b3895.svg");
    }

    .icon--art {
        --svg: url("../icons/art-ed709d32.svg");
    }

    .icon--asset {
        --svg: url("../icons/asset.f6e1ea54ee5f.svg");
    }

    .icon--assigned {
        --svg: url("../icons/assigned-c901a8eb.svg");
    }

    .icon--attachment {
        --svg: url("../icons/attachment-cfa1f89c.svg");
    }

    .icon--bell-alert {
        --svg: url("../icons/bell-alert-b467cde7.svg");
    }

    .icon--bell-off {
        --svg: url("../icons/bell-off-d8096c76.svg");
    }

    .icon--bell {
        --svg: url("../icons/bell-cde41b14.svg");
    }

    .icon--bolt {
        --svg: url("../icons/bolt.361ef1476b8d.svg");
    }

    .icon--bookmark-outline {
        --svg: url("../icons/bookmark-outline-bbb8078f.svg");
    }

    .icon--bookmark {
        --svg: url("../icons/bookmark-92557340.svg");
    }

    .icon--boost {
        --svg: url("../icons/boost-7f9c80de.svg");
    }

    .icon--camera {
        --svg: url("../icons/camera-927323b8.svg");
    }

    .icon--caret-down {
        --svg: url("../icons/chevron-down.597eba0ec4b1.svg");
    }

    .icon--check {
        --svg: url("../icons/check.269ee96c8797.svg");
    }

    .icon--check-circle {
        --svg: url("../icons/check-circle-505e76c3.svg");
    }

    .icon--check-all {
        --svg: url("check-all.svg");
    }

    .icon--clipboard {
        --svg: url("../icons/clipboard-b2c44b50.svg");
    }

    .icon--close {
        --svg: url("../icons/xmark.52229a8a82cf.svg");
    }

    .icon--close-circle {
        --svg: url("../icons/close-circle-5e9b8106.svg");
    }

    .icon--collapse {
        --svg: url("../icons/collapse-93f70f6b.svg");
    }

    .icon--section {
        --svg: url("../icons/section.b7ea3ecc731f.svg");
    }

    .icon--column-left {
        --svg: url("../icons/column-left-e0a9b2a9.svg");
    }

    .icon--column-right {
        --svg: url("../icons/column-right-3024ca0b.svg");
    }

    .icon--comment {
        --svg: url("../icons/comment.0931552093b1.svg");
    }

    .icon--copy-paste {
        --svg: url("../icons/copy-paste-4c379063.svg");
    }

    .icon--crown {
        --svg: url("../icons/crown-00d190cb.svg");
    }

    .icon--email {
        --svg: url("../icons/email-6c595bc5.svg");
    }

    .icon--everyone {
        --svg: url("../icons/everyone-4ca1d460.svg");
    }

    .icon--expand {
        --svg: url("../icons/expand.3b451a57ccac.svg");
    }

    .icon--eye {
        --svg: url("../icons/eye.d44ca71eb40d.svg");
    }

    .icon--eye-slash {
        --svg: url("../icons/eye-slash.d68e407314ed.svg");
    }

    .icon--gear {
        --svg: url("../icons/gear-50e77d2b.svg");
    }

    .icon--grid {
        --svg: url("../icons/grid-db00fc62.svg");
    }

    .icon--grip {
        --svg: url("../icons/grip.ca28df94a110.svg");
    }

    .icon--filter {
        --svg: url("../icons/filter.afe36261d3ff.svg");
    }

    .icon--fizzy {
        --svg: url("../icons/fizzy-eb76b7c1.svg");
    }

    .icon--globe {
        --svg: url("../icons/globe-8c54d23b.svg");
    }

    .icon--golden-ticket {
        --svg: url("../icons/golden-ticket-7e4b48fc.svg");
    }

    .icon--history {
        --svg: url("../icons/history.a05903b6e4cb.svg");
    }

    .icon--home {
        --svg: url("../icons/home.ab0feaaa8d85.svg");
    }

    .icon--install {
        --svg: url("../icons/install-f762b3be.svg");
    }

    .icon--install {
        --svg: url("../icons/install-f762b3be.svg");
    }

    .icon--install-edge {
        --svg: url("../icons/install-edge-0b7cd918.svg");
    }

    .icon--lifebuoy {
        --svg: url("../icons/lifebuoy-f31f26aa.svg");
    }

    .icon--lock {
        --svg: url("../icons/lock-5192fa2d.svg");
    }

    .icon--logout {
        --svg: url("../icons/logout.37f704a6885b.svg");
    }

    .icon--marker {
        --svg: url("../icons/marker.4ea57301ab32.svg");
    }

    .icon--maximize {
        --svg: url("../icons/maximize-c5514b27.svg");
    }

    .icon--menu {
        --svg: url("menu.svg");
    }

    .icon--menu-dots-horizontal {
        --svg: url("../icons/menu-dots-horizontal-f6a5d793.svg");
    }

    .icon--menu-dots-vertical {
        --svg: url("../icons/menu-dots-vertical-c247e3cc.svg");
    }

    .icon--minus {
        --svg: url("../icons/minus.77ce694ddf95.svg");
    }

    .icon--move {
        --svg: url("../icons/move-282b3bcc.svg");
    }

    .icon--notification-bell-access-only {
        --svg: url("../icons/bell-cde41b14.svg");
    }

    .icon--notification-bell-watching {
        --svg: url("../icons/bell-off-d8096c76.svg");
    }

    .icon--notification-bell-reverse-access-only {
        --svg: url("../icons/bell-off-d8096c76.svg");
    }

    .icon--notification-bell-reverse-watching {
        --svg: url("../icons/bell-cde41b14.svg");
    }

    .icon--password {
        --svg: url("../icons/password-0896da4e.svg");
    }

    .icon--point-add {
        --svg: url("../icons/point-add.a70fd6100e8a.svg");
    }

    .icon--pencil {
        --svg: url("../icons/pencil.10d28e450ebe.svg");
    }

    .icon--person {
        --svg: url("../icons/person.961878bc5373.svg");
    }

    .icon--person-add {
        --svg: url("../icons/person-add-adae7f19.svg");
    }

    .icon--picture-add {
        --svg: url("../icons/picture-add.2078d8f4cbd7.svg");
    }

    .icon--picture-double {
        --svg: url("picture-double.svg");
    }

    .icon--picture-remove {
        --svg: url("../icons/picture-remove.c38809e63ce5.svg");
    }

    .icon--picture-zoom {
        --svg: url("../icons/picture-zoom-f30f5232.svg");
    }

    .icon--pinned {
        --svg: url("../icons/pinned.c12b215b3e0d.svg");
    }

    .icon--qr-code {
        --svg: url("../icons/qr-code-dac3b273.svg");
    }

    .icon--route {
        --svg: url("../icons/route.76f76ea39a3d.svg");
    }

    .icon--refresh {
        --svg: url("../icons/arrows-rotate.5994485a8e74.svg");
    }

    .icon--refresh--meta {
        --svg: url("../icons/arrows-rotate.5994485a8e74.svg");
    }

    .icon--remove {
        --svg: url("../icons/remove-d18dd986.svg");
    }

    .icon--rename {
        --svg: url("../icons/rename-920f4a0d.svg");
    }

    .icon--search {
        --svg: url("../icons/search-5f29565f.svg");
    }

    .icon--settings {
        --svg: url("../icons/settings-aee56972.svg");
    }

    .icon--share {
        --svg: url("../icons/share-acee98a8.svg");
    }

    .icon--siren {
        --svg: url("../icons/siren.d3f5dbaf982a.svg");
    }

    .icon--sliders {
        --svg: url("../icons/sliders-3979a007.svg");
    }

    .icon--switch {
        --svg: url("../icons/switch-eec22a2d.svg");
    }

    .icon--tag {
        --svg: url("../icons/tag-e0ea89be.svg");
    }

    .icon--tag-outline {
        --svg: url("../icons/tag-outline-cb702ba2.svg");
    }

    .icon--triangle {
        --svg: url("../icons/triangle.5ae4dfa210eb.svg");
    }

    .icon--thumb-up {
        --svg: url("../icons/thumb-up-1426364b.svg");
    }

    .icon--trash {
        --svg: url("../icons/trash.7dcc1179e0e6.svg");
    }

    .icon--unpinned {
        --svg: url("../icons/unpinned-2fab4bad.svg");
    }

    .icon--unseen {
        --svg: url("../icons/unseen-abf780e7.svg");
    }

    .icon--warning {
        --svg: url("../icons/warning.9566c2cc320a.svg");
    }

    .icon--world {
        --svg: url("../icons/world-36f1fe50.svg");
    }

    .icon--xmark {
        --svg: url("../icons/xmark.52229a8a82cf.svg");
    }

    .icon--youtube {
        --svg: url("../icons/youtube-78f1b230.svg");
    }

    .icon--zone {
        --svg: url("../icons/zone.266d93798ff6.svg");
    }

    /* Measurement type icons */
    .icon--thermometer {
        --svg: url("../icons/thermometer.1a8fac22c83e.svg");
    }

    .icon--waveform {
        --svg: url("../icons/waveform.8d2db0612e2f.svg");
    }

    .icon--analysis {
        --svg: url("../icons/analysis.89fe125ccc94.svg");
    }

    .icon--gauge {
        --svg: url("../icons/gauge.af42c2bf17ee.svg");
    }

    .icon--droplet {
        --svg: url("../icons/droplet.b0494a7c7542.svg");
    }

    .icon--lightning {
        --svg: url("../icons/lightning.c93fd4520e61.svg");
    }

    .icon--tachometer {
        --svg: url("../icons/tachometer.c273ca4e676d.svg");
    }

    .icon--thermography {
        --svg: url("../icons/thermography.807097f2cf67.svg");
    }

    .icon--vibration {
        --svg: url("../icons/waveform.8d2db0612e2f.svg");
    }

    .icon--ultrasound {
        --svg: url("../icons/waveform-lines.3d26a47d3439.svg");
    }

    /* Icon colors for measurement types */
    .icon--temp-color {
        color: oklch(var(--lch-red-medium));
    }

    .icon--vibration-color {
        color: oklch(var(--lch-blue-medium));
    }

    .icon--pressure-color {
        color: oklch(var(--lch-purple-medium, 55% 0.2 290));
    }

    .icon--flow-color {
        color: oklch(var(--lch-cyan-medium, 65% 0.15 200));
    }

    .icon--electrical-color {
        color: oklch(var(--lch-yellow-medium));
    }
}