/* ============================================================================
   ICON OVERRIDES - loaded immediately AFTER Font Awesome in _Layout.cshtml.
   Order is the whole mechanism: same specificity, later sheet wins. If this link ever moves
   above the Font Awesome one, every rule in here silently stops applying.
   ============================================================================ */

/* THE HELICOPTER IS A DRONE.

   James, 2026-09-22: "no change it everywhere helecopter to the drone svg".

   WHY A CSS OVERRIDE AND NOT A COMPONENT SWAP. fa-helicopter was never a helicopter - it was a
   stand-in for a drone, recorded at UpdateDigitalTwins.razor: "fa-drone is FA6 Pro-only (empty
   box in Free) - fa-helicopter is the closest free rotorcraft glyph." It reached the screen four
   different ways:

     * literal markup            <i class="fa-solid fa-helicopter">
     * a C# string               DigitalTwinAssetType.Drone => "fa-helicopter"
     * DATABASE DATA             PlatformWorkflowStages.IconClass for CAP (V261),
                                 two DeliverableType rows (V20260907142031), file categories
     * a picker catalogue        IconPicker offers it by name

   A Razor component cannot go inside a string, so "change it everywhere" by component would have
   meant routing ~40 icon-rendering call sites through a new wrapper - almost all of which render
   file types, ticket categories and statuses and have nothing to do with drones - and then
   migrating live data. Large, risky, and it would still miss the next row somebody inserts.

   Restyling the CLASS catches all four routes at once, including data written in the future,
   and touches no call site. The trade is that a developer typing fa-helicopter now gets a drone;
   in this codebase that is the correct and intended outcome, because there are no helicopters.
   New markup should use <AimDroneIcon /> (AIM.Shared.UI/Components/Icons), which is a real
   inline SVG rather than a masked pseudo-element.

   HOW IT WORKS. The glyph is replaced by a mask: the ::before box is filled with currentColor
   and the drone shape punches through it. background-color: currentColor is what makes it
   inherit text colour exactly as the font glyph did - so it stays correct on the navy tab bar,
   on a white card, and in every theme, with no per-surface rule.

   The artwork is Website/brand/icons/drone.svg (the INS brand kit - see the brand-kit reference
   memory; the kit lives in the Website repo, not here). Encoded inline rather than referenced as
   a file so it cannot 404 and needs no second request. */
.fa-helicopter::before {
    /* Empty content, then a masked box. The font-family and weight the .fa-solid/.fas class sets
       on the parent are now irrelevant - nothing is drawn from the font. */
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;

    background-color: currentColor;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2213.49%2013.49%2069.01%2069.02%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.06%2C28.06c.59-.59.59-1.54%2C0-2.12s-1.54-.59-2.12%2C0l-11.56%2C11.56h-16.75l-11.56-11.56c-.59-.59-1.54-.59-2.12%2C0s-.59%2C1.54%2C0%2C2.12l11.56%2C11.56v16.75l-11.56%2C11.56c-.59.59-.59%2C1.54%2C0%2C2.12s1.54.59%2C2.12%2C0l11.56-11.56h16.75l11.56%2C11.56c.59.59%2C1.54.59%2C2.12%2C0s.59-1.54%2C0-2.12l-11.56-11.56v-16.75l11.56-11.56ZM40.5%2C40.5h15v15h-15v-15ZM53.35%2C23.5c2.76-7.81%2C11.33-11.9%2C19.14-9.14s11.9%2C11.33%2C9.14%2C19.14c-1.51%2C4.27-4.87%2C7.63-9.14%2C9.14-.16.06-.33.1-.5.1-.83%2C0-1.5-.67-1.5-1.5%2C0-.63.4-1.2%2C1-1.41%2C6.25-2.21%2C9.52-9.07%2C7.3-15.32-2.21-6.25-9.07-9.52-15.32-7.3-3.41%2C1.21-6.09%2C3.89-7.3%2C7.3-.25.79-1.09%2C1.23-1.88.98-.79-.25-1.23-1.09-.98-1.88.01-.03.02-.06.03-.1v-.02ZM82.5%2C67.5c0%2C8.28-6.71%2C15-14.99%2C15.01-6.36%2C0-12.03-4.01-14.15-10.01-.3-.77.08-1.64.85-1.94s1.64.08%2C1.94.85c.01.03.02.06.03.1%2C2.21%2C6.25%2C9.07%2C9.52%2C15.32%2C7.3s9.52-9.07%2C7.3-15.32c-1.21-3.41-3.89-6.09-7.3-7.3-.77-.3-1.15-1.17-.85-1.94.29-.73%2C1.1-1.12%2C1.85-.88%2C5.99%2C2.12%2C10%2C7.79%2C10%2C14.14ZM42.65%2C72.5c-2.76%2C7.81-11.33%2C11.91-19.14%2C9.15-7.81-2.76-11.91-11.33-9.15-19.14%2C1.51-4.28%2C4.88-7.65%2C9.16-9.15.79-.25%2C1.63.19%2C1.88.98.24.75-.15%2C1.56-.88%2C1.85-6.25%2C2.21-9.52%2C9.07-7.3%2C15.32%2C2.21%2C6.25%2C9.07%2C9.52%2C15.32%2C7.3%2C3.41-1.21%2C6.09-3.89%2C7.3-7.3.3-.77%2C1.17-1.15%2C1.94-.85.73.29%2C1.12%2C1.1.88%2C1.85h-.02ZM13.5%2C28.5c0-8.28%2C6.71-15%2C14.99-15.01%2C6.36%2C0%2C12.03%2C4.01%2C14.15%2C10.01.25.79-.19%2C1.63-.98%2C1.88-.75.24-1.56-.15-1.85-.88-2.21-6.25-9.07-9.52-15.32-7.3-6.25%2C2.21-9.52%2C9.07-7.3%2C15.32%2C1.21%2C3.41%2C3.89%2C6.09%2C7.3%2C7.3.79.24%2C1.24%2C1.08.99%2C1.87-.2.65-.81%2C1.08-1.49%2C1.06-.17%2C0-.34-.03-.5-.09-6-2.13-10-7.8-10-14.16Z%22%2F%3E%3C%2Fsvg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%2213.49%2013.49%2069.01%2069.02%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.06%2C28.06c.59-.59.59-1.54%2C0-2.12s-1.54-.59-2.12%2C0l-11.56%2C11.56h-16.75l-11.56-11.56c-.59-.59-1.54-.59-2.12%2C0s-.59%2C1.54%2C0%2C2.12l11.56%2C11.56v16.75l-11.56%2C11.56c-.59.59-.59%2C1.54%2C0%2C2.12s1.54.59%2C2.12%2C0l11.56-11.56h16.75l11.56%2C11.56c.59.59%2C1.54.59%2C2.12%2C0s.59-1.54%2C0-2.12l-11.56-11.56v-16.75l11.56-11.56ZM40.5%2C40.5h15v15h-15v-15ZM53.35%2C23.5c2.76-7.81%2C11.33-11.9%2C19.14-9.14s11.9%2C11.33%2C9.14%2C19.14c-1.51%2C4.27-4.87%2C7.63-9.14%2C9.14-.16.06-.33.1-.5.1-.83%2C0-1.5-.67-1.5-1.5%2C0-.63.4-1.2%2C1-1.41%2C6.25-2.21%2C9.52-9.07%2C7.3-15.32-2.21-6.25-9.07-9.52-15.32-7.3-3.41%2C1.21-6.09%2C3.89-7.3%2C7.3-.25.79-1.09%2C1.23-1.88.98-.79-.25-1.23-1.09-.98-1.88.01-.03.02-.06.03-.1v-.02ZM82.5%2C67.5c0%2C8.28-6.71%2C15-14.99%2C15.01-6.36%2C0-12.03-4.01-14.15-10.01-.3-.77.08-1.64.85-1.94s1.64.08%2C1.94.85c.01.03.02.06.03.1%2C2.21%2C6.25%2C9.07%2C9.52%2C15.32%2C7.3s9.52-9.07%2C7.3-15.32c-1.21-3.41-3.89-6.09-7.3-7.3-.77-.3-1.15-1.17-.85-1.94.29-.73%2C1.1-1.12%2C1.85-.88%2C5.99%2C2.12%2C10%2C7.79%2C10%2C14.14ZM42.65%2C72.5c-2.76%2C7.81-11.33%2C11.91-19.14%2C9.15-7.81-2.76-11.91-11.33-9.15-19.14%2C1.51-4.28%2C4.88-7.65%2C9.16-9.15.79-.25%2C1.63.19%2C1.88.98.24.75-.15%2C1.56-.88%2C1.85-6.25%2C2.21-9.52%2C9.07-7.3%2C15.32%2C2.21%2C6.25%2C9.07%2C9.52%2C15.32%2C7.3%2C3.41-1.21%2C6.09-3.89%2C7.3-7.3.3-.77%2C1.17-1.15%2C1.94-.85.73.29%2C1.12%2C1.1.88%2C1.85h-.02ZM13.5%2C28.5c0-8.28%2C6.71-15%2C14.99-15.01%2C6.36%2C0%2C12.03%2C4.01%2C14.15%2C10.01.25.79-.19%2C1.63-.98%2C1.88-.75.24-1.56-.15-1.85-.88-2.21-6.25-9.07-9.52-15.32-7.3-6.25%2C2.21-9.52%2C9.07-7.3%2C15.32%2C1.21%2C3.41%2C3.89%2C6.09%2C7.3%2C7.3.79.24%2C1.24%2C1.08.99%2C1.87-.2.65-.81%2C1.08-1.49%2C1.06-.17%2C0-.34-.03-.5-.09-6-2.13-10-7.8-10-14.16Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;

    /* The same baseline nudge Font Awesome applies to its own glyphs. Without it the mark rides
       high beside its label and reads as a misalignment rather than a different icon. */
    vertical-align: -0.125em;
}
