/* Local Font Awesome SVG sizing rules.
   Required because CSP disables Font Awesome's runtime injected inline CSS. */
svg:not(:root).svg-inline--fa,
svg:not(:host).svg-inline--fa {
  overflow: visible;
  box-sizing: content-box;
}
.svg-inline--fa {
  display: var(--fa-display, inline-block);
  height: 1em;
  width: var(--fa-width, 1em);
  overflow: visible;
  vertical-align: -0.125em;
}
.svg-inline--fa.fa-fw,
.fa-fw {
  width: var(--fa-fw-width, 1.25em);
}
.fa-fw { text-align: center; }
.svg-inline--fa.fa-border,
.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--fa-border-radius, 0.1em);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.08em);
  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; }
.fa-xl { font-size: 1.5em; line-height: 0.04167em; vertical-align: -0.125em; }
.fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }
.fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; }
.fa-ul > li { position: relative; }
.fa-li { left: calc(var(--fa-li-width, 2em) * -1); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; }
.fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); }
.fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); }
.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); }
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical { transform: scale(-1); }
.fa-spin,
.fa-spin-pulse,
.fa-pulse {
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}
.fa-spin { animation-name: fa-spin; }
.fa-spin-reverse { --fa-animation-direction: reverse; }
.fa-pulse,
.fa-spin-pulse { animation-name: fa-spin; animation-duration: var(--fa-animation-duration, 1s); animation-timing-function: steps(8); }
@media (prefers-reduced-motion: reduce) {
  .fa-spin,
  .fa-spin-pulse,
  .fa-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; }
}
@keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.fa-stack { display: inline-block; height: 2em; line-height: 2em; position: relative; vertical-align: middle; width: 2.5em; }
.fa-stack-1x,
.fa-stack-2x { left: 0; position: absolute; text-align: center; width: 100%; z-index: var(--fa-stack-z-index, auto); }
.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }
.fa-inverse { color: var(--fa-inverse, #fff); }
.sr-only,
.fa-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Project layout guard for Font Awesome SVG mode.
   The original app was styled for <i class="fa ..."> icons. When Font Awesome
   replaces those elements with inline SVGs, these rules preserve the old icon
   footprint so mobile/tablet flex layouts do not expand or shift. */
.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-regular,
.fa-brands {
  font-style: normal;
  line-height: 1;
}

svg.svg-inline--fa {
  display: inline-block !important;
  height: 1em !important;
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  vertical-align: -0.125em !important;
  box-sizing: content-box !important;
}

.fa-fw,
svg.svg-inline--fa.fa-fw {
  width: 1.25em !important;
  min-width: 1.25em !important;
  max-width: 1.25em !important;
  text-align: center;
}

.btn svg.svg-inline--fa,
.chip svg.svg-inline--fa,
.btt svg.svg-inline--fa,
.btni svg.svg-inline--fa,
.mc2 svg.svg-inline--fa,
.srch-clear svg.svg-inline--fa,
.mob-nav-btn svg.svg-inline--fa,
.ga-btn svg.svg-inline--fa,
.ga-nav-link svg.svg-inline--fa,
.ga-logout svg.svg-inline--fa {
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  height: 1em !important;
}

.nav-link svg.svg-inline--fa,
.slogout svg.svg-inline--fa {
  width: 17px !important;
  min-width: 17px !important;
  max-width: 17px !important;
  height: 1em !important;
  text-align: center;
  color: inherit;
}

body.theme-top-white .nav-link svg.svg-inline--fa {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
}

.dashboard-kpi-icon svg.svg-inline--fa,
.dashboard-action > svg.svg-inline--fa,
.dashboard-status-icon svg.svg-inline--fa,
.dashboard-list-icon svg.svg-inline--fa,
.rights-empty-state svg.svg-inline--fa,
.subscription-empty svg.svg-inline--fa,
.sponsors-empty svg.svg-inline--fa,
.tasks-empty svg.svg-inline--fa,
.dashboard-empty svg.svg-inline--fa,
.dashboard-loading svg.svg-inline--fa,
.comm-preview-doc-unsupported svg.svg-inline--fa {
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  height: 1em !important;
}

@media (max-width: 1024px) {
  svg.svg-inline--fa {
    max-width: 1em !important;
  }
  .nav-link svg.svg-inline--fa,
  .slogout svg.svg-inline--fa {
    flex-basis: 17px !important;
  }
}
