/* Shared AirCaptain SVG icon system. All icons use a 24 × 24 viewBox and currentColor. */
:root{
  --icon-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11z' fill='none' stroke='%23000' stroke-width='2.1'/%3E%3Ccircle cx='12' cy='10' r='2' fill='%23000'/%3E%3C/svg%3E");
  --icon-line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 17L19 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='17' r='2' fill='%23000'/%3E%3Ccircle cx='19' cy='7' r='2' fill='%23000'/%3E%3C/svg%3E");
  --icon-area:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 7l7-3 6 5-2 8-8 3-5-6z' fill='none' stroke='%23000' stroke-width='2.1' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-save:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19.5 6.5' fill='none' stroke='%23000' stroke-width='3.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-undo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5 4 11l6 6M4 11h10.5a5.5 5.5 0 1 1-3.8 9.4' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-delete:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M9 7V5h6v2M7 7l1 13h8l1-13M10 11v5M14 11v5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-fullscreen:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10V4h6M14 4h6v6M20 14v6h-6M10 20H4v-6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-boundary:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4zM8 9h8v6H8z' fill='none' stroke='%23000' stroke-width='2.1' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-target:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23000'%3E%3Ccircle cx='12' cy='5' r='1.5'/%3E%3Ccircle cx='10' cy='9' r='1.4'/%3E%3Ccircle cx='14' cy='9' r='1.4'/%3E%3Ccircle cx='8' cy='13' r='1.3'/%3E%3Ccircle cx='12' cy='13' r='1.3'/%3E%3Ccircle cx='16' cy='13' r='1.3'/%3E%3Ccircle cx='6' cy='17' r='1.2'/%3E%3Ccircle cx='10' cy='17' r='1.2'/%3E%3Ccircle cx='14' cy='17' r='1.2'/%3E%3Ccircle cx='18' cy='17' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  --icon-sensitive:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 14c5-8 11-9 15-9 0 8-5 14-12 14M5 20c4-6 8-10 15-15' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-no-spray:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23000'%3E%3Ccircle cx='12' cy='5' r='1.4'/%3E%3Ccircle cx='10' cy='9' r='1.3'/%3E%3Ccircle cx='14' cy='9' r='1.3'/%3E%3Ccircle cx='8' cy='13' r='1.2'/%3E%3Ccircle cx='12' cy='13' r='1.2'/%3E%3Ccircle cx='16' cy='13' r='1.2'/%3E%3Ccircle cx='6' cy='17' r='1.1'/%3E%3Ccircle cx='10' cy='17' r='1.1'/%3E%3Ccircle cx='14' cy='17' r='1.1'/%3E%3Ccircle cx='18' cy='17' r='1.1'/%3E%3C/g%3E%3Cpath d='M5 19 19 5' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-hazard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 21 20H3L12 3z' fill='none' stroke='%23000' stroke-width='2.1' stroke-linejoin='round'/%3E%3Cpath d='M12 8v5' stroke='%23000' stroke-width='2.1' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17' r='1.2' fill='%23000'/%3E%3C/svg%3E");
  --icon-power:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 5 14h6l-1 8 9-13h-6z' fill='%23000'/%3E%3C/svg%3E");
  --icon-waterway:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8c2 0 2-1 4-1s2 1 4 1 2-1 4-1 2 1 4 1M3 13c2 0 2-1 4-1s2 1 4 1 2-1 4-1 2 1 4 1M3 18c2 0 2-1 4-1s2 1 4 1 2-1 4-1 2 1 4 1' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-water-supply:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c3 4 5 7 5 10a5 5 0 0 1-10 0c0-3 2-6 5-10z' fill='none' stroke='%23000' stroke-width='2.1' stroke-linejoin='round'/%3E%3Cpath d='M9 14a3 3 0 0 0 3 3' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-animals:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8 3 5M18 8l3-3M6 10c0-3 12-3 12 0v4c0 3-2.5 5-6 5s-6-2-6-5zM10 16h4' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='12' r='1' fill='%23000'/%3E%3Ccircle cx='15' cy='12' r='1' fill='%23000'/%3E%3C/svg%3E");
  --icon-sheep:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7a3 3 0 0 1 5-2 3 3 0 0 1 5 2 3 3 0 0 1 1 5v4H6v-4a3 3 0 0 1 1-5zM8 16v4M16 16v4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 10h6v6H9z' fill='%23000'/%3E%3Ccircle cx='10.5' cy='12.5' r='.7' fill='%23fff'/%3E%3Ccircle cx='13.5' cy='12.5' r='.7' fill='%23fff'/%3E%3C/svg%3E");
  --icon-cow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8 3 5v5l4 2M17 8l4-3v5l-4 2M7 8c1-3 9-3 10 0v7c0 3-2 5-5 5s-5-2-5-5zM9 16h6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9.5' cy='11.5' r='1' fill='%23000'/%3E%3Ccircle cx='14.5' cy='11.5' r='1' fill='%23000'/%3E%3C/svg%3E");
  --icon-horse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 20c0-5 1-9 4-12l-1-4 4 2 4-1-1 4c2 2 2 5 0 7-2 2-5 2-7 0M13 10l3 1' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='14.5' cy='8.5' r='.9' fill='%23000'/%3E%3C/svg%3E");
  --icon-access:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 20V4h10v16M16 12h5m-2-3 3 3-3 3' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='12' r='1' fill='%23000'/%3E%3C/svg%3E");
  --icon-loading-site:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23000' stroke-width='2.1'/%3E%3Cpath d='M8 17V7M16 17V7M8 12h8' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-flight-path:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18c3-7 7-3 10-9l2-4M13 6l3-1 1 3M5 18h4' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='m17 13 5 2-5 2-2 4-1-5-4-1 4-1 1-5z' fill='%23000'/%3E%3C/svg%3E");
  --icon-emergency-landing:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 19h16M6 15h12M8 11h8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='m4 5 7 3 7-3-2 5-5 1-5-1z' fill='%23000'/%3E%3Cpath d='M12 3v8' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-drag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23000'%3E%3Ccircle cx='8' cy='6' r='1.5'/%3E%3Ccircle cx='16' cy='6' r='1.5'/%3E%3Ccircle cx='8' cy='12' r='1.5'/%3E%3Ccircle cx='16' cy='12' r='1.5'/%3E%3Ccircle cx='8' cy='18' r='1.5'/%3E%3Ccircle cx='16' cy='18' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
  --icon-view:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='2.7' fill='%23000'/%3E%3C/svg%3E");
  --icon-hidden:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3l18 18M10.4 6.2A10.7 10.7 0 0 1 12 6c6 0 9.5 6 9.5 6a16 16 0 0 1-2.4 3M14.3 14.4A3.3 3.3 0 0 1 9.6 9.7M6.1 7.4A16 16 0 0 0 2.5 12s3.5 6 9.5 6c1.2 0 2.3-.2 3.3-.6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-edit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16v4zM13.5 6.5l4 4' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-duplicate:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='1' fill='none' stroke='%23000' stroke-width='2.1'/%3E%3Cpath d='M16 8V5H5v11h3' fill='none' stroke='%23000' stroke-width='2.1' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ui-icon{display:block;width:22px;height:22px;background-color:currentColor;mask:var(--icon-source) center/contain no-repeat;-webkit-mask:var(--icon-source) center/contain no-repeat}
.ui-icon-pin{--icon-source:var(--icon-pin)}
.ui-icon-line{--icon-source:var(--icon-line)}
.ui-icon-area{--icon-source:var(--icon-area)}
.ui-icon-save{--icon-source:var(--icon-save)}
.ui-icon-undo{--icon-source:var(--icon-undo)}
.ui-icon-delete{--icon-source:var(--icon-delete)}
.ui-icon-fullscreen{--icon-source:var(--icon-fullscreen)}
.ui-icon-close{--icon-source:var(--icon-close)}
.ui-icon-boundary{--icon-source:var(--icon-boundary)}
.ui-icon-target{--icon-source:var(--icon-target)}
.ui-icon-sensitive{--icon-source:var(--icon-sensitive)}
.ui-icon-no-spray{--icon-source:var(--icon-no-spray)}
.ui-icon-hazard{--icon-source:var(--icon-hazard)}
.ui-icon-power{--icon-source:var(--icon-power)}
.ui-icon-waterway{--icon-source:var(--icon-waterway)}
.ui-icon-water-supply{--icon-source:var(--icon-water-supply)}
.ui-icon-animals{--icon-source:var(--icon-animals)}
.ui-icon-sheep{--icon-source:var(--icon-sheep)}
.ui-icon-cow{--icon-source:var(--icon-cow)}
.ui-icon-horse{--icon-source:var(--icon-horse)}
.ui-icon-access{--icon-source:var(--icon-access)}
.ui-icon-loading-site{--icon-source:var(--icon-loading-site)}
.ui-icon-flight-path{--icon-source:var(--icon-flight-path)}
.ui-icon-emergency-landing{--icon-source:var(--icon-emergency-landing)}
.ui-icon-drag{--icon-source:var(--icon-drag)}
.ui-icon-view{--icon-source:var(--icon-view)}
.ui-icon-hidden{--icon-source:var(--icon-hidden)}
.ui-icon-edit{--icon-source:var(--icon-edit)}
.ui-icon-duplicate{--icon-source:var(--icon-duplicate)}
