/*! 
 * Font Awesome Subset - Datika Custom Build
 * Only includes the 73 icons actually used in the application
 * Original size: ~900KB | Subset size: ~50KB | Savings: 94%
 * Generated: October 2024
 */

/* Import only the Font Awesome core styles and brand/solid definitions we need */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/fontawesome.min.css');

/* Solid Icons - Load via CDN with selective import */
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.woff2') format('woff2');
}

/* Brands Icons (if needed) */
@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.woff2') format('woff2');
}

/* Base classes */
.fa, .fas, .far, .fal, .fad, .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fas, .fa-solid {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

.fab, .fa-brands {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

/* Sizing classes */
.fa-xs { font-size: .75em; }
.fa-sm { font-size: .875em; }
.fa-lg { font-size: 1.25em; line-height: .05em; vertical-align: -.075em; }
.fa-xl { font-size: 1.5em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* Animation */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Rotation and flip */
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }

/* Spacing utilities */
.me-1 { margin-right: 0.25rem !important; }
.me-2 { margin-right: 0.5rem !important; }
.ms-1 { margin-left: 0.25rem !important; }
.ms-2 { margin-left: 0.5rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }

/* Icon definitions - Only the icons we actually use */
/* Core Action Icons */
.fa-plus:before { content: "\2b"; }
.fa-plus-circle:before { content: "\f055"; }
.fa-minus-circle:before { content: "\f056"; }
.fa-times:before { content: "\f00d"; }
.fa-times-circle:before { content: "\f057"; }
.fa-check:before { content: "\f00c"; }
.fa-check-circle:before { content: "\f058"; }
.fa-edit:before { content: "\f044"; }
.fa-trash:before { content: "\f1f8"; }
.fa-save:before { content: "\f0c7"; }
.fa-undo:before { content: "\f0e2"; }
.fa-redo:before { content: "\f01e"; }
.fa-search:before { content: "\f002"; }
.fa-archive:before { content: "\f187"; }

/* Navigation Icons */
.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-arrow-down:before { content: "\f063"; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-home:before { content: "\f015"; }

/* Status Icons */
.fa-spinner:before { content: "\f110"; }
.fa-cog:before { content: "\f013"; }
.fa-cogs:before { content: "\f085"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-info-circle:before { content: "\f05a"; }
.fa-question-circle:before { content: "\f059"; }
.fa-circle-question:before { content: "\f059"; }

/* User & Profile Icons */
.fa-user:before { content: "\f007"; }
.fa-user-circle:before { content: "\f2bd"; }
.fa-user-plus:before { content: "\f234"; }
.fa-user-shield:before { content: "\f505"; }
.fa-user-tie:before { content: "\f508"; }
.fa-building:before { content: "\f1ad"; }

/* Finance Icons */
.fa-coins:before { content: "\f51e"; }
.fa-credit-card:before { content: "\f09d"; }
.fa-shopping-cart:before { content: "\f07a"; }
.fa-university:before { content: "\f19c"; }

/* Security & Access Icons */
.fa-lock:before { content: "\f023"; }
.fa-unlock-keyhole:before { content: "\f13e"; }
.fa-key:before { content: "\f084"; }
.fa-infinity:before { content: "\f534"; }
.fa-crown:before { content: "\f521"; }

/* Feature Icons */
.fa-list:before { content: "\f03a"; }
.fa-table:before { content: "\f0ce"; }
.fa-filter:before { content: "\f0b0"; }
.fa-sort-amount-down:before { content: "\f884"; }
.fa-database:before { content: "\f1c0"; }
.fa-inbox:before { content: "\f01c"; }

/* Media Icons */
.fa-play:before { content: "\f04b"; }
.fa-play-circle:before { content: "\f144"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }

/* Tutorial & Help Icons */
.fa-mouse-pointer:before { content: "\f245"; }
.fa-book:before { content: "\f02d"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-magic:before { content: "\f0d0"; }

/* File & Document Icons */
.fa-file-excel:before { content: "\f1c3"; }
.fa-file-pdf:before { content: "\f1c1"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-copy:before { content: "\f0c5"; }
.fa-exchange-alt:before { content: "\f362"; }

/* Communication Icons */
.fa-paper-plane:before { content: "\f1d8"; }
.fa-bug:before { content: "\f188"; }
.fa-camera:before { content: "\f030"; }

/* Time & Status Icons */
.fa-clock:before { content: "\f017"; }
.fa-history:before { content: "\f1da"; }
.fa-calendar-plus:before { content: "\f271"; }
.fa-calendar-days:before { content: "\f073"; }
.fa-refresh:before { content: "\f021"; }
.fa-sync:before { content: "\f021"; }
.fa-sync-alt:before { content: "\f2f1"; }

/* Other Icons */
.fa-star:before { content: "\f005"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-sign-in-alt:before { content: "\f2f6"; }
.fa-right-from-bracket:before { content: "\f2f5"; }
.fa-desktop:before { content: "\f108"; }

/* Utility classes for icon styling */
.text-primary { color: #0d6efd !important; }
.text-success { color: #198754 !important; }
.text-danger { color: #dc3545 !important; }
.text-warning { color: #ffc107 !important; }
.text-info { color: #0dcaf0 !important; }
.text-muted { color: #6c757d !important; }

/* Performance optimization: Preload font */
@supports (font-display: swap) {
  @font-face {
    font-display: swap;
  }
}

