@keyframes fadeIn {
  from {
    opacity: 0;
  }
}
.anim-fade {
  animation: fadeIn linear 0.4s infinite alternate;
}

.tox:not(.tox-tinymce-inline) .tox-editor-header {
  padding: 0 !important;
}

body.tox-fullscreen .tox.tox-tinymce-aux,
body.tox-fullscreen ~ .tox.tox-tinymce-aux {
  z-index: 9999;
}

body.tox-fullscreen .dialog-appbar {
  display: none;
}

/* Position the text version ribbon at the top when TinyMCE is in fullscreen mode */
body.tox-fullscreen .text-version-ribbon {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1250 !important;
}

body.tox-fullscreen .tox.tox-tinymce.tox-fullscreen {
  padding-top: 45px !important;
}

.tox.tox-edit-focus .tox-edit-area::before {
  display: none;
}

@media print {
  @page {
    margin: 1cm;
  }

  button,
  .MuiButton-root,
  .no-print,
  #appbar,
  #nav-map,
  #nav-aside,
  #newsfeed,
  #footer-top {
    display: none;
  }

  table button,
  table .MuiButton-root {
    display: initial;
  }

  .break-before {
    page-break-before: always;
  }

  .break-after {
    page-break-after: always;
  }

  .print-block {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .print-reset-box {
    margin: 0 !important;
    padding: 0 !important;
  }

  .print-no-border {
    border: none !important;
  }

  .print-position {
    position: static !important;
  }

  /* Fixes Team card */
  .MuiButtonBase-root.MuiCardActionArea-root {
    display: unset !important;
  }

  .MuiButtonBase-root.MuiTab-root.Mui-selected {
    display: unset !important;
  }

  .MuiTabs-scroller.MuiTabs-fixed > .MuiTabs-indicator {
    left: 0 !important;
  }

  body {
    padding: 0 !important;
  }

  #company-layout-container {
    margin-top: 0 !important;
  }
}

/* Handsontable CSS variables cell styling */
:root {
  --ht-cell-error-background-color: #ffcccc;
  --ht-cell-error-color: #cc0000;
  --ht-cell-success-background-color: #ccffcc;
}

/* Animated header background animations */
@keyframes gradient-x {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

.animate-gradient-x {
  background-size: 200% 200%;
  animation: gradient-x 15s ease infinite;
}

/* Floating particle animations */
@keyframes float-slow {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
    opacity: 0.3;
  }
  50% {
    transform: translateY(-20px) translateX(10px);
    opacity: 0.6;
  }
}

@keyframes float-slower {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
    opacity: 0.2;
  }
  50% {
    transform: translateY(-15px) translateX(-8px);
    opacity: 0.5;
  }
}

@keyframes float-fast {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
    opacity: 0.4;
  }
  50% {
    transform: translateY(-25px) translateX(5px);
    opacity: 0.7;
  }
}

.animate-float-slow {
  animation: float-slow 8s ease-in-out infinite;
}

.animate-float-slower {
  animation: float-slower 10s ease-in-out infinite;
}

.animate-float-fast {
  animation: float-fast 6s ease-in-out infinite;
}

/* Animated header background styles */
.animated-header-bg {
  position: relative;
  background: linear-gradient(to right, #4f46e5, #2563eb, #4f46e5);
  overflow: hidden;
}

.animated-header-overlay {
  position: absolute;
  inset: 0;
}

.animated-header-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(34, 211, 238, 0.3), rgba(96, 165, 250, 0.3), rgba(34, 211, 238, 0.3));
  background-size: 200% 100%;
}

.animated-header-shapes {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.4;
}

.animated-header-light-rays {
  position: absolute;
  inset: 0;
  opacity: 0.15;
}

.animated-header-content {
  position: relative;
  z-index: 10;
}

/*# sourceMappingURL=/assets/application-d241297b.css.map */
