/* ============================================================
   MIRNINT ICON LAYER
   Brand rule: one outline icon family, rounded terminals, 2px stroke.
   Family: Tabler Icons (outline, MIT). Every Font Awesome class used in
   the app is remapped here to a Tabler glyph, so existing markup
   (<i class="fas fa-search">) renders the brand icon without edits.
   New code may use <i class="ti ti-search"> directly.
   ============================================================ */
@font-face {
    font-family: "tabler-icons";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/tabler/tabler-icons.woff2") format("woff2"),
         url("../fonts/tabler/tabler-icons.woff") format("woff"),
         url("../fonts/tabler/tabler-icons.ttf") format("truetype");
}
.ti, .fa, .fas, .far, .fab, .fal, .fa-solid, .fa-regular {
    font-family: "tabler-icons" !important;
    font-weight: 400 !important;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.ti:before { content: ""; }

.fa-copy:before { content: "\ea7a"; }
.fa-moon:before { content: "\eaf8"; }
.fa-compress-arrows-alt:before { content: "\ea29"; }
.fa-info-circle:before { content: "\eac5"; }
.fa-home:before { content: "\eac1"; }
.fa-exclamation-triangle:before { content: "\ea06"; }
.fa-chevron-right:before { content: "\ea61"; }
.fa-trash:before { content: "\eb41"; }
.fa-search:before { content: "\eb1c"; }
.fa-times:before { content: "\eb55"; }
.fa-globe:before { content: "\eb54"; }
.fa-code:before { content: "\ea77"; }
.fa-spinner:before { content: "\f226"; }
.fa-clock:before { content: "\ea70"; }
.fa-plus:before { content: "\eb0b"; }
.fa-sun:before { content: "\eb30"; }
.fa-check-circle:before { content: "\ea67"; }
.fa-chart-bar:before { content: "\ea59"; }
.fa-expand-arrows-alt:before { content: "\ea28"; }
.fa-check:before { content: "\ea5e"; }
.fa-table:before { content: "\eba1"; }
.fa-exchange-alt:before { content: "\f1f4"; }
.fa-download:before { content: "\ea96"; }
.fa-server:before { content: "\eb1f"; }
.fa-satellite-dish:before { content: "\eed3"; }
.fa-network-wired:before { content: "\f09f"; }
.fa-mobile-alt:before { content: "\ea8a"; }
.fa-list-ul:before { content: "\eb6b"; }
.fa-users-gear:before { content: "\f9d4"; }
.fa-route:before { content: "\eb17"; }
.fa-question-circle:before { content: "\f91d"; }
.fa-plug:before { content: "\ebd9"; }
.fa-chevron-down:before { content: "\ea5f"; }
.fa-chart-line:before { content: "\ea5c"; }
.fa-calculator:before { content: "\eb80"; }
.fa-tools:before { content: "\ebca"; }
.fa-terminal:before { content: "\ebef"; }
.fa-play:before { content: "\ed46"; }
.fa-filter:before { content: "\eaa5"; }
.fa-code-branch:before { content: "\eab2"; }
.fa-building:before { content: "\ea4f"; }
.fa-arrow-right:before { content: "\ea1f"; }
.fa-wifi:before { content: "\eb52"; }
.fa-user-shield:before { content: "\ed58"; }
.fa-percentage:before { content: "\ecf4"; }
.fa-file-excel:before { content: "\f03e"; }
.fa-file-alt:before { content: "\eaa2"; }
.fa-eraser:before { content: "\eb8b"; }
.fa-edit:before { content: "\ea98"; }
.fa-arrow-left:before { content: "\ea19"; }
.fa-users:before { content: "\ebf2"; }
.fa-times-circle:before { content: "\ea6a"; }
.fa-sync-alt:before { content: "\eb13"; }
.fa-shield-alt:before { content: "\eb24"; }
.fa-search-plus:before { content: "\eb56"; }
.fa-paper-plane:before { content: "\eb1e"; }
.fa-list-alt:before { content: "\ef40"; }
.fa-hashtag:before { content: "\eabc"; }
.fa-file-csv:before { content: "\fb09"; }
.fa-file-code:before { content: "\ebd0"; }
.fa-compress:before { content: "\ea29"; }
.fa-circle:before { content: "\ea6b"; }
.fa-xmark:before { content: "\eb55"; }
.fa-wrench:before { content: "\eb40"; }
.fa-save:before { content: "\eb62"; }
.fa-random:before { content: "\f000"; }
.fa-map-marker-alt:before { content: "\eae8"; }
.fa-magic:before { content: "\ebcb"; }
.fa-list-ol:before { content: "\ef11"; }
.fa-link:before { content: "\eade"; }
.fa-layer-group:before { content: "\eef7"; }
.fa-key:before { content: "\eac7"; }
.fa-history:before { content: "\ebea"; }
.fa-font:before { content: "\ebc5"; }
.fa-eye:before { content: "\ea9a"; }
.fa-database:before { content: "\ea88"; }
.fa-cogs:before { content: "\eb20"; }
.fa-circle-exclamation:before { content: "\ea05"; }
.fa-user-circle:before { content: "\ef68"; }
.fa-upload:before { content: "\eb47"; }
.fa-unlock-alt:before { content: "\eae1"; }
.fa-th:before { content: "\edba"; }
.fa-tags:before { content: "\ef86"; }
.fa-stopwatch:before { content: "\ff9b"; }
.fa-sign-out-alt:before { content: "\eba8"; }
.fa-rotate-left:before { content: "\eb77"; }
.fa-rotate:before { content: "\eb15"; }
.fa-redo:before { content: "\eb78"; }
.fa-paste:before { content: "\ea6f"; }
.fa-palette:before { content: "\eb01"; }
.fa-map-marked-alt:before { content: "\eae7"; }
.fa-magnifying-glass:before { content: "\eb1c"; }
.fa-location-crosshairs:before { content: "\ecef"; }
.fa-list:before { content: "\eb6b"; }
.fa-lightbulb:before { content: "\ea51"; }
.fa-inbox:before { content: "\eac4"; }
.fa-folder-open:before { content: "\faf7"; }
.fa-flask:before { content: "\ebd2"; }
.fa-fire:before { content: "\ec2c"; }
.fa-fingerprint:before { content: "\ebd1"; }
.fa-exclamation-circle:before { content: "\ea05"; }
.fa-cloud-upload-alt:before { content: "\ea75"; }
.fa-circle-check:before { content: "\ea67"; }
.fa-chart-area:before { content: "\ea57"; }
.fa-calendar-week:before { content: "\fd30"; }
.fa-bars:before { content: "\ec42"; }
.fa-arrow-down:before { content: "\ea16"; }
.fa-user-slash:before { content: "\ecf9"; }
.fa-user-secret:before { content: "\f227"; }
.fa-user-clock:before { content: "\f319"; }
.fa-user-check:before { content: "\eb49"; }
.fa-unlink:before { content: "\eb46"; }
.fa-undo:before { content: "\eb77"; }
.fa-trophy:before { content: "\eb45"; }
.fa-triangle-exclamation:before { content: "\ea06"; }
.fa-toolbox:before { content: "\ea46"; }
.fa-tint:before { content: "\ea97"; }
.fa-th-large:before { content: "\edba"; }
.fa-text-width:before { content: "\f2b1"; }
.fa-tachometer-alt:before { content: "\ea87"; }
.fa-table-list:before { content: "\eba1"; }
.fa-swatchbook:before { content: "\eb61"; }
.fa-square-root-alt:before { content: "\eef0"; }
.fa-sort:before { content: "\eb5a"; }
.fa-sliders-h:before { content: "\ec38"; }
.fa-sitemap:before { content: "\eb9d"; }
.fa-sign-in-alt:before { content: "\eba7"; }
.fa-shapes:before { content: "\eb9c"; }
.fa-ruler-combined:before { content: "\eed2"; }
.fa-qrcode:before { content: "\eb11"; }
.fa-print:before { content: "\eb0e"; }
.fa-plus-circle:before { content: "\ea69"; }
.fa-play-circle:before { content: "\ed46"; }
.fa-paragraph:before { content: "\f5f6"; }
.fa-minus:before { content: "\eaf2"; }
.fa-map:before { content: "\eae9"; }
.fa-magnifying-glass-chart:before { content: "\ee2f"; }
.fa-image:before { content: "\eb0a"; }
.fa-fill-drip:before { content: "\eb00"; }
.fa-file-import:before { content: "\edea"; }
.fa-file-export:before { content: "\ede9"; }
.fa-external-link-alt:before { content: "\ea99"; }
.fa-expand-alt:before { content: "\ea27"; }
.fa-expand:before { content: "\ea28"; }
.fa-equals:before { content: "\ee87"; }
.fa-divide:before { content: "\ed5c"; }
.fa-compress-alt:before { content: "\ef39"; }
.fa-columns:before { content: "\eb83"; }
.fa-cog:before { content: "\eb20"; }
.fa-clock-rotate-left:before { content: "\ebea"; }
.fa-check-double:before { content: "\ebaa"; }
.fa-certificate:before { content: "\ed76"; }
.fa-calendar-day:before { content: "\ea52"; }
.fa-calendar:before { content: "\ea53"; }
.fa-business-time:before { content: "\ea46"; }
.fa-building-user:before { content: "\ebf6"; }
.fa-bolt:before { content: "\ea38"; }
.fa-balance-scale:before { content: "\ebc2"; }
.fa-arrow-up:before { content: "\ea25"; }
.fa-arrows-alt-h:before { content: "\eb59"; }
.fa-align-left:before { content: "\ea09"; }
.fa-adjust:before { content: "\ec4e"; }

/* direct Tabler classes for the glyphs above */
.ti-adjustments-horizontal:before { content: "\ec38"; }
.ti-alert-circle:before { content: "\ea05"; }
.ti-alert-triangle:before { content: "\ea06"; }
.ti-align-left:before { content: "\ea09"; }
.ti-arrow-back-up:before { content: "\eb77"; }
.ti-arrow-down:before { content: "\ea16"; }
.ti-arrow-forward-up:before { content: "\eb78"; }
.ti-arrow-left:before { content: "\ea19"; }
.ti-arrow-right:before { content: "\ea1f"; }
.ti-arrow-up:before { content: "\ea25"; }
.ti-arrows-diagonal:before { content: "\ea27"; }
.ti-arrows-diagonal-minimize:before { content: "\ef39"; }
.ti-arrows-exchange:before { content: "\f1f4"; }
.ti-arrows-horizontal:before { content: "\eb59"; }
.ti-arrows-maximize:before { content: "\ea28"; }
.ti-arrows-minimize:before { content: "\ea29"; }
.ti-arrows-shuffle:before { content: "\f000"; }
.ti-arrows-sort:before { content: "\eb5a"; }
.ti-bolt:before { content: "\ea38"; }
.ti-briefcase:before { content: "\ea46"; }
.ti-building:before { content: "\ea4f"; }
.ti-building-community:before { content: "\ebf6"; }
.ti-bulb:before { content: "\ea51"; }
.ti-calculator:before { content: "\eb80"; }
.ti-calendar:before { content: "\ea53"; }
.ti-calendar-event:before { content: "\ea52"; }
.ti-calendar-week:before { content: "\fd30"; }
.ti-certificate:before { content: "\ed76"; }
.ti-chart-area-line:before { content: "\ea57"; }
.ti-chart-bar:before { content: "\ea59"; }
.ti-chart-dots:before { content: "\ee2f"; }
.ti-chart-line:before { content: "\ea5c"; }
.ti-check:before { content: "\ea5e"; }
.ti-checks:before { content: "\ebaa"; }
.ti-chevron-down:before { content: "\ea5f"; }
.ti-chevron-right:before { content: "\ea61"; }
.ti-circle:before { content: "\ea6b"; }
.ti-circle-check:before { content: "\ea67"; }
.ti-circle-plus:before { content: "\ea69"; }
.ti-circle-x:before { content: "\ea6a"; }
.ti-clipboard:before { content: "\ea6f"; }
.ti-clock:before { content: "\ea70"; }
.ti-clock-hour-4:before { content: "\f319"; }
.ti-cloud-upload:before { content: "\ea75"; }
.ti-code:before { content: "\ea77"; }
.ti-color-swatch:before { content: "\eb61"; }
.ti-columns:before { content: "\eb83"; }
.ti-contrast:before { content: "\ec4e"; }
.ti-copy:before { content: "\ea7a"; }
.ti-current-location:before { content: "\ecef"; }
.ti-dashboard:before { content: "\ea87"; }
.ti-database:before { content: "\ea88"; }
.ti-device-floppy:before { content: "\eb62"; }
.ti-device-mobile:before { content: "\ea8a"; }
.ti-divide:before { content: "\ed5c"; }
.ti-download:before { content: "\ea96"; }
.ti-droplet:before { content: "\ea97"; }
.ti-edit:before { content: "\ea98"; }
.ti-equal:before { content: "\ee87"; }
.ti-eraser:before { content: "\eb8b"; }
.ti-external-link:before { content: "\ea99"; }
.ti-eye:before { content: "\ea9a"; }
.ti-file-code:before { content: "\ebd0"; }
.ti-file-export:before { content: "\ede9"; }
.ti-file-import:before { content: "\edea"; }
.ti-file-spreadsheet:before { content: "\f03e"; }
.ti-file-text:before { content: "\eaa2"; }
.ti-file-type-csv:before { content: "\fb09"; }
.ti-filter:before { content: "\eaa5"; }
.ti-fingerprint:before { content: "\ebd1"; }
.ti-flame:before { content: "\ec2c"; }
.ti-flask:before { content: "\ebd2"; }
.ti-folder-open:before { content: "\faf7"; }
.ti-git-branch:before { content: "\eab2"; }
.ti-hash:before { content: "\eabc"; }
.ti-help-circle:before { content: "\f91d"; }
.ti-history:before { content: "\ebea"; }
.ti-home:before { content: "\eac1"; }
.ti-inbox:before { content: "\eac4"; }
.ti-info-circle:before { content: "\eac5"; }
.ti-key:before { content: "\eac7"; }
.ti-layout-grid:before { content: "\edba"; }
.ti-link:before { content: "\eade"; }
.ti-list:before { content: "\eb6b"; }
.ti-list-details:before { content: "\ef40"; }
.ti-list-numbers:before { content: "\ef11"; }
.ti-loader-2:before { content: "\f226"; }
.ti-lock-open:before { content: "\eae1"; }
.ti-login:before { content: "\eba7"; }
.ti-logout:before { content: "\eba8"; }
.ti-map:before { content: "\eae9"; }
.ti-map-2:before { content: "\eae7"; }
.ti-map-pin:before { content: "\eae8"; }
.ti-menu-2:before { content: "\ec42"; }
.ti-minus:before { content: "\eaf2"; }
.ti-moon:before { content: "\eaf8"; }
.ti-network:before { content: "\f09f"; }
.ti-paint:before { content: "\eb00"; }
.ti-palette:before { content: "\eb01"; }
.ti-percentage:before { content: "\ecf4"; }
.ti-photo:before { content: "\eb0a"; }
.ti-pilcrow:before { content: "\f5f6"; }
.ti-player-play:before { content: "\ed46"; }
.ti-plug:before { content: "\ebd9"; }
.ti-plus:before { content: "\eb0b"; }
.ti-printer:before { content: "\eb0e"; }
.ti-qrcode:before { content: "\eb11"; }
.ti-refresh:before { content: "\eb13"; }
.ti-rotate-clockwise:before { content: "\eb15"; }
.ti-route:before { content: "\eb17"; }
.ti-ruler-2:before { content: "\eed2"; }
.ti-satellite:before { content: "\eed3"; }
.ti-scale:before { content: "\ebc2"; }
.ti-search:before { content: "\eb1c"; }
.ti-send:before { content: "\eb1e"; }
.ti-server:before { content: "\eb1f"; }
.ti-settings:before { content: "\eb20"; }
.ti-shape:before { content: "\eb9c"; }
.ti-shield:before { content: "\eb24"; }
.ti-shield-lock:before { content: "\ed58"; }
.ti-sitemap:before { content: "\eb9d"; }
.ti-spy:before { content: "\f227"; }
.ti-square-root-2:before { content: "\eef0"; }
.ti-stack-2:before { content: "\eef7"; }
.ti-stopwatch:before { content: "\ff9b"; }
.ti-sun:before { content: "\eb30"; }
.ti-table:before { content: "\eba1"; }
.ti-tags:before { content: "\ef86"; }
.ti-terminal-2:before { content: "\ebef"; }
.ti-text-size:before { content: "\f2b1"; }
.ti-tool:before { content: "\eb40"; }
.ti-tools:before { content: "\ebca"; }
.ti-trash:before { content: "\eb41"; }
.ti-trophy:before { content: "\eb45"; }
.ti-typography:before { content: "\ebc5"; }
.ti-unlink:before { content: "\eb46"; }
.ti-upload:before { content: "\eb47"; }
.ti-user-check:before { content: "\eb49"; }
.ti-user-circle:before { content: "\ef68"; }
.ti-user-cog:before { content: "\f9d4"; }
.ti-user-off:before { content: "\ecf9"; }
.ti-users:before { content: "\ebf2"; }
.ti-wand:before { content: "\ebcb"; }
.ti-wifi:before { content: "\eb52"; }
.ti-world:before { content: "\eb54"; }
.ti-x:before { content: "\eb55"; }
.ti-zoom-in:before { content: "\eb56"; }

/* spinner keeps its motion */
.fa-spin { animation: ti-spin 1s linear infinite; }
@keyframes ti-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .fa-spin { animation-duration: 2s; } }

/* Font Awesome utility classes still referenced in markup */
.fa-fw { width: 1.25em; text-align: center; }
.fa-lg { font-size: 1.25em; }
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-pulse { animation: ti-spin 1s steps(8) infinite; }
