/* =========================================================================
   Centralized Symbol Definitions (ASCII Safe)
   -------------------------------------------------------------------------
   Uses plain Unicode text symbols instead of emojis for consistent
   cross-platform rendering. No emoji codepoints.
========================================================================= */

[class^="icon-"], [class*=" icon-"] {
    font-style: normal;
    display: inline-block;
    margin-right: 4px;
}

/* -------------------------------------------------------------------------
   Decorative Icons (Can be hidden by Admin Toggle)
------------------------------------------------------------------------- */
.icon-refresh::before { content: "\21BB"; }        /* ↻ */
.icon-recalc::before { content: "\2261"; }         /* ≡ */
.icon-compare::before { content: "\2194"; }        /* ↔ */
.icon-upload::before { content: "\2191"; }         /* ↑ */
.icon-satellite::before { content: "\2022"; }      /* • */
.icon-save::before { content: "\2193"; }           /* ↓ */
.icon-add::before { content: "\002B"; }            /* + */
.icon-delete::before { content: "\00D7"; }         /* × */
.icon-clear::before { content: "\2715"; margin-right: 0; }  /* ✕ */
.icon-users::before { content: "\2302"; }          /* ⌂ */
.icon-folder::before { content: "\25A1"; }         /* □ */
.icon-gear::before { content: "\2699"; }           /* ⚙ */
.icon-palette::before { content: "\25A0"; }        /* ■ */
.icon-clipboard::before { content: "\2261"; }      /* ≡ */
.icon-chart::before { content: "\229E"; }          /* ⊞ Matrix/Chart */
.icon-numbers::before { content: "\0023"; }        /* # */
.icon-success::before { content: "\2713"; }        /* ✓ */
.icon-checkmark::before { content: "\2713"; }      /* ✓ */

/* Market Data Icons */
.icon-ruler::before { content: "\2500"; }          /* ─ */
.icon-target::before { content: "\25CB"; }         /* ○ */
.icon-box::before { content: "\25A1"; }            /* □ */
.icon-recycle::before { content: "\21BA"; }        /* ↺ */
.icon-beta::before { content: "\03B2"; }           /* β */
.icon-abacus::before { content: "\2248"; }         /* ≈ */
.icon-chart-line::before { content: "\2197"; }     /* ↗ */

/* Hidden when 'disable_ui_icons' is active */
body.hide-icons .icon-decorative {
    display: none !important;
}

/* -------------------------------------------------------------------------
   Functional/Structural Symbols (Never hidden, critical for UX)
------------------------------------------------------------------------- */
.icon-back::before { content: "\2190"; }           /* ← */
.icon-dropdown::before { content: "\25BC"; margin-right: 0; margin-left: 4px; font-size: 0.8em; }  /* ▼ */
.icon-loading::before { content: "\27F7"; }        /* ⟷ */
.icon-expired::before { content: "\00B7"; }        /* · */
.icon-indicative::before { content: "\21B3"; }     /* ↳ */
.icon-empty::before { content: "\2014"; margin-right: 0; }  /* — */
