/* Local, dependency-free icon fallback. Keeps the interface usable without third-party font downloads. */
.ph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-family: "Segoe UI Symbol", "Apple Symbols", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.12em;
}
.ph::before { content: "•"; }
.ph-address-book::before { content: "▤"; }
.ph-arrow-counter-clockwise::before { content: "↶"; }
.ph-arrow-down::before { content: "↓"; }
.ph-arrow-left::before { content: "←"; }
.ph-arrow-right::before { content: "→"; }
.ph-arrow-square-out::before { content: "↗"; }
.ph-arrow-up::before { content: "↑"; }
.ph-arrows-clockwise::before, .ph-arrow-clockwise::before { content: "⟳"; }
.ph-arrows-in-line-horizontal::before, .ph-arrows-left-right::before { content: "↔"; }
.ph-article::before { content: "▤"; }
.ph-book-open-text::before, .ph-books::before { content: "▣"; }
.ph-briefcase::before { content: "▰"; }
.ph-broom::before { content: "⚒"; }
.ph-caret-down::before { content: "⌄"; }
.ph-caret-left::before { content: "‹"; }
.ph-caret-right::before { content: "›"; }
.ph-caret-up::before { content: "⌃"; }
.ph-chart-line-up::before { content: "⌁"; }
.ph-check::before, .ph-check-circle::before { content: "✓"; }
.ph-circle-notch::before, .ph-spinner-gap::before { content: "◌"; }
.ph-copy::before { content: "▢"; }
.ph-database::before { content: "▤"; }
.ph-desktop::before { content: "▣"; }
.ph-device-mobile::before { content: "▯"; }
.ph-dots-six-vertical::before { content: "⠿"; }
.ph-download-simple::before { content: "↓"; }
.ph-envelope::before, .ph-envelope-open::before { content: "✉"; }
.ph-eye::before { content: "◉"; }
.ph-file::before, .ph-file-text::before, .ph-file-csv::before, .ph-file-pdf::before, .ph-file-sql::before, .ph-file-xls::before { content: "▤"; }
.ph-folder::before, .ph-folder-open::before, .ph-folder-minus::before, .ph-folder-plus::before { content: "▱"; }
.ph-gauge::before { content: "◴"; }
.ph-gear::before { content: "⚙"; }
.ph-globe::before, .ph-globe-hemisphere-west::before { content: "◎"; }
.ph-headset::before { content: "◖"; }
.ph-image::before, .ph-image-square::before, .ph-images::before { content: "▧"; }
.ph-info::before { content: "i"; }
.ph-key::before { content: "⚿"; }
.ph-layout::before { content: "▥"; }
.ph-lightning::before { content: "ϟ"; }
.ph-link::before { content: "↗"; }
.ph-list::before { content: "☷"; }
.ph-lock::before, .ph-lock-key::before { content: "▣"; }
.ph-magnifying-glass::before { content: "⌕"; }
.ph-map-pin::before { content: "●"; }
.ph-microsoft-excel-logo::before { content: "▦"; }
.ph-package::before { content: "⬡"; }
.ph-paper-plane-tilt::before { content: "➤"; }
.ph-pencil-simple::before { content: "✎"; }
.ph-plant::before { content: "❧"; }
.ph-plus::before { content: "+"; }
.ph-ranking::before { content: "▥"; }
.ph-robot::before { content: "▣"; }
.ph-shield::before, .ph-shield-check::before { content: "⬡"; }
.ph-sign-in::before { content: "⇥"; }
.ph-sign-out::before { content: "⇤"; }
.ph-sliders-horizontal::before { content: "☷"; }
.ph-sparkle::before { content: "✦"; }
.ph-squares-four::before { content: "▦"; }
.ph-star-fill::before { content: "★"; }
.ph-storefront::before { content: "⌂"; }
.ph-tag::before { content: "◇"; }
.ph-text-align-left::before { content: "☰"; }
.ph-translate::before { content: "文"; }
.ph-trash::before { content: "▤"; }
.ph-tray::before { content: "▱"; }
.ph-upload-simple::before { content: "↑"; }
.ph-user::before, .ph-user-circle::before { content: "●"; }
.ph-user-gear::before { content: "●"; }
.ph-users::before { content: "●●"; font-size: .75em; }
.ph-warning::before, .ph-warning-circle::before { content: "⚠"; }
.ph-x::before { content: "×"; }
