/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 */
:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

/**
 * alertifyjs 1.12.0 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dimmer {
  position: fixed;
  z-index: 1981;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  background-color: #252525;
  opacity: .5; }

.alertify .ajs-modal {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 0;
  overflow-y: auto;
  z-index: 1981; }

.alertify .ajs-dialog {
  position: relative;
  margin: 5% auto;
  min-height: 110px;
  max-width: 500px;
  padding: 24px 24px 0 24px;
  outline: 0;
  background-color: #fff; }

.alertify .ajs-dialog.ajs-capture:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 1; }

.alertify .ajs-reset {
  position: absolute !important;
  display: inline !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important; }

.alertify .ajs-commands {
  position: absolute;
  right: 4px;
  margin: -14px 24px 0 0;
  z-index: 2; }

.alertify .ajs-commands button {
  display: none;
  width: 10px;
  height: 10px;
  margin-left: 10px;
  padding: 10px;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer; }

.alertify .ajs-commands button.ajs-close {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC); }

.alertify .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC); }

.alertify .ajs-header {
  margin: -24px;
  margin-bottom: 0;
  padding: 16px 24px;
  background-color: #fff; }

.alertify .ajs-body {
  min-height: 56px; }

.alertify .ajs-body .ajs-content {
  padding: 16px 24px 16px 16px; }

.alertify .ajs-footer {
  padding: 4px;
  margin-left: -24px;
  margin-right: -24px;
  min-height: 43px;
  background-color: #fff; }

.alertify .ajs-footer .ajs-buttons.ajs-primary {
  text-align: right; }

.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button {
  margin: 4px; }

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary {
  float: left;
  clear: none;
  text-align: left; }

.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button {
  margin: 4px; }

.alertify .ajs-footer .ajs-buttons .ajs-button {
  min-width: 88px;
  min-height: 35px; }

.alertify .ajs-handle {
  position: absolute;
  display: none;
  width: 10px;
  height: 10px;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
      transform: scaleX(1);
  cursor: se-resize; }

.alertify.ajs-no-overflow .ajs-body .ajs-content {
  overflow: hidden !important; }

.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content {
  left: 0;
  right: 0;
  padding: 0; }

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body {
  margin-left: -24px;
  margin-right: -24px; }

.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content {
  padding: 0; }

.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content {
  left: 0;
  right: 0; }

.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,
.alertify.ajs-maximizable .ajs-commands button.ajs-restore {
  display: inline-block; }

.alertify.ajs-closable .ajs-commands button.ajs-close {
  display: inline-block; }

.alertify.ajs-maximized .ajs-dialog {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  top: 0 !important;
  left: 0 !important; }

.alertify.ajs-maximized.ajs-modeless .ajs-modal {
  position: fixed !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important; }

.alertify.ajs-maximized .ajs-commands button.ajs-maximize {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=); }

.alertify.ajs-resizable .ajs-dialog,
.alertify.ajs-maximized .ajs-dialog {
  padding: 0; }

.alertify.ajs-resizable .ajs-commands,
.alertify.ajs-maximized .ajs-commands {
  margin: 14px 24px 0 0; }

.alertify.ajs-resizable .ajs-header,
.alertify.ajs-maximized .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 16px 24px; }

.alertify.ajs-resizable .ajs-body,
.alertify.ajs-maximized .ajs-body {
  min-height: 224px;
  display: inline-block; }

.alertify.ajs-resizable .ajs-body .ajs-content,
.alertify.ajs-maximized .ajs-body .ajs-content {
  position: absolute;
  top: 50px;
  right: 24px;
  bottom: 50px;
  left: 24px;
  overflow: auto; }

.alertify.ajs-resizable .ajs-footer,
.alertify.ajs-maximized .ajs-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0; }

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog {
  min-width: 548px; }

.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle {
  display: block; }

.alertify.ajs-movable:not(.ajs-maximized) .ajs-header {
  cursor: move; }

.alertify.ajs-modeless .ajs-dimmer,
.alertify.ajs-modeless .ajs-reset {
  display: none; }

.alertify.ajs-modeless .ajs-modal {
  overflow: visible;
  max-width: none;
  max-height: 0; }

.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin {
  display: inline-block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC); }

.alertify.ajs-modeless.ajs-unpinned .ajs-modal {
  position: absolute; }

.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=); }

.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body {
  max-height: 500px;
  overflow: auto; }

.alertify.ajs-basic .ajs-header {
  opacity: 0; }

.alertify.ajs-basic .ajs-footer {
  visibility: hidden; }

.alertify.ajs-frameless .ajs-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 60px;
  margin: 0;
  padding: 0;
  opacity: 0;
  z-index: 1; }

.alertify.ajs-frameless .ajs-footer {
  display: none; }

.alertify.ajs-frameless .ajs-body .ajs-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog {
  padding-top: 0; }

.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands {
  margin-top: 0; }

.ajs-no-overflow {
  overflow: hidden !important;
  outline: none; }

.ajs-no-overflow.ajs-fixed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: scroll !important; }

.ajs-no-selection,
.ajs-no-selection * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

@media screen and (max-width: 568px) {
  .alertify .ajs-dialog {
    min-width: 150px; }
  .alertify:not(.ajs-maximized) .ajs-modal {
    padding: 0 5%; }
  .alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog {
    min-width: initial;
    min-width: auto; } }

@-moz-document url-prefix() {
  .alertify button:focus {
    outline: 1px dotted #3593D2; } }

.alertify .ajs-dimmer,
.alertify .ajs-modal {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms; }

.alertify.ajs-hidden .ajs-dimmer,
.alertify.ajs-hidden .ajs-modal {
  visibility: hidden;
  opacity: 0; }

.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms; }

.alertify.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-duration: 250ms;
  animation-duration: 250ms; }

.alertify .ajs-dialog.ajs-shake {
  -webkit-animation-name: ajs-shake;
  animation-name: ajs-shake;
  -webkit-animation-duration: .1s;
  animation-duration: .1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes ajs-shake {
  0%,
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes ajs-shake {
  0%,
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-slideIn;
  animation-name: ajs-slideIn;
  -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-slideOut;
  animation-name: ajs-slideOut;
  -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-zoomIn;
  animation-name: ajs-zoomIn; }

.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-zoomOut;
  animation-name: ajs-zoomOut; }

.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-fadeIn;
  animation-name: ajs-fadeIn; }

.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-fadeOut;
  animation-name: ajs-fadeOut; }

.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-pulseIn;
  animation-name: ajs-pulseIn; }

.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-pulseOut;
  animation-name: ajs-pulseOut; }

.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-flipInX;
  animation-name: ajs-flipInX; }

.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-flipOutX;
  animation-name: ajs-flipOutX; }

.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog {
  -webkit-animation-name: ajs-flipInY;
  animation-name: ajs-flipInY; }

.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog {
  -webkit-animation-name: ajs-flipOutY;
  animation-name: ajs-flipOutY; }

@-webkit-keyframes ajs-pulseIn {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes ajs-pulseIn {
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes ajs-pulseOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes ajs-pulseOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@-webkit-keyframes ajs-zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes ajs-zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes ajs-zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25); } }

@keyframes ajs-zoomOut {
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.25, 0.25, 0.25);
    transform: scale3d(0.25, 0.25, 0.25); } }

@-webkit-keyframes ajs-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes ajs-fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes ajs-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes ajs-fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes ajs-flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes ajs-flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@-webkit-keyframes ajs-flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes ajs-flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@-webkit-keyframes ajs-flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes ajs-flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@-webkit-keyframes ajs-flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes ajs-flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@-webkit-keyframes ajs-slideIn {
  0% {
    margin-top: -100%; }
  100% {
    margin-top: 5%; } }

@keyframes ajs-slideIn {
  0% {
    margin-top: -100%; }
  100% {
    margin-top: 5%; } }

@-webkit-keyframes ajs-slideOut {
  0% {
    margin-top: 5%; }
  100% {
    margin-top: -100%; } }

@keyframes ajs-slideOut {
  0% {
    margin-top: 5%; }
  100% {
    margin-top: -100%; } }

.alertify-notifier {
  position: fixed;
  width: 0;
  overflow: visible;
  z-index: 1982;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.alertify-notifier .ajs-message {
  position: relative;
  width: 260px;
  max-height: 0;
  padding: 0;
  opacity: 0;
  margin: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear; }

.alertify-notifier .ajs-message.ajs-visible {
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  opacity: 1;
  max-height: 100%;
  padding: 15px;
  margin-top: 10px; }

.alertify-notifier .ajs-message.ajs-success {
  background: rgba(91, 189, 114, 0.95); }

.alertify-notifier .ajs-message.ajs-error {
  background: rgba(217, 92, 92, 0.95); }

.alertify-notifier .ajs-message.ajs-warning {
  background: rgba(252, 248, 215, 0.95); }

.alertify-notifier .ajs-message .ajs-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: center center;
  background-color: rgba(0, 0, 0, 0.5);
  border-top-right-radius: 2px; }

.alertify-notifier.ajs-top {
  top: 10px; }

.alertify-notifier.ajs-bottom {
  bottom: 10px; }

.alertify-notifier.ajs-right {
  right: 10px; }

.alertify-notifier.ajs-right .ajs-message {
  right: -320px; }

.alertify-notifier.ajs-right .ajs-message.ajs-visible {
  right: 290px; }

.alertify-notifier.ajs-left {
  left: 10px; }

.alertify-notifier.ajs-left .ajs-message {
  left: -300px; }

.alertify-notifier.ajs-left .ajs-message.ajs-visible {
  left: 0; }

.alertify-notifier.ajs-center {
  left: 50%; }

.alertify-notifier.ajs-center .ajs-message {
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
      transform: translateX(-50%); }

.alertify-notifier.ajs-center .ajs-message.ajs-visible {
  left: 50%;
  -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65);
  transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); }

.alertify-notifier.ajs-center.ajs-top .ajs-message {
  top: -300px; }

.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible {
  top: 0; }

.alertify-notifier.ajs-center.ajs-bottom .ajs-message {
  bottom: -300px; }

.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible {
  bottom: 0; }

/**
 * alertifyjs 1.12.0 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dialog {
  background-color: white;
  -webkit-box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25);
  border-radius: 2px; }

.alertify .ajs-header {
  color: black;
  font-weight: bold;
  background: #fafafa;
  border-bottom: #eee 1px solid;
  border-radius: 2px 2px 0 0; }

.alertify .ajs-body {
  color: black; }

.alertify .ajs-body .ajs-content .ajs-input {
  display: block;
  width: 100%;
  padding: 8px;
  margin: 4px;
  border-radius: 2px;
  border: 1px solid #CCC; }

.alertify .ajs-body .ajs-content p {
  margin: 0; }

.alertify .ajs-footer {
  background: #fbfbfb;
  border-top: #eee 1px solid;
  border-radius: 0 0 2px 2px; }

.alertify .ajs-footer .ajs-buttons .ajs-button {
  background-color: transparent;
  color: #000;
  border: 0;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase; }

.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok {
  color: #3593D2; }

.alertify-notifier .ajs-message {
  background: rgba(255, 255, 255, 0.95);
  color: #000;
  text-align: center;
  border: solid 1px #ddd;
  border-radius: 2px; }

.alertify-notifier .ajs-message.ajs-success {
  color: #fff;
  background: rgba(91, 189, 114, 0.95);
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); }

.alertify-notifier .ajs-message.ajs-error {
  color: #fff;
  background: rgba(217, 92, 92, 0.95);
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); }

.alertify-notifier .ajs-message.ajs-warning {
  background: rgba(252, 248, 215, 0.95);
  border-color: #999; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

html {
  min-height: 100%;
  background: #38bdf8; }

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  color: #374151;
  background-image: -webkit-linear-gradient(225deg, rgba(52, 211, 153, 0.9) 0%, rgba(52, 211, 153, 0.9) 12%, rgba(6, 182, 212, 0.7) 40%, rgba(6, 182, 212, 0.7) 60%, rgba(52, 211, 153, 0.9) 88%, rgba(52, 211, 153, 0.9) 100%), -webkit-linear-gradient(top, #38bdf8, #38bdf8);
  background-image: linear-gradient(225deg, rgba(52, 211, 153, 0.9) 0%, rgba(52, 211, 153, 0.9) 12%, rgba(6, 182, 212, 0.7) 40%, rgba(6, 182, 212, 0.7) 60%, rgba(52, 211, 153, 0.9) 88%, rgba(52, 211, 153, 0.9) 100%), linear-gradient(180deg, #38bdf8, #38bdf8);
  -webkit-background-size: 140% 120vh, auto;
          background-size: 140% 120vh, auto;
  background-attachment: fixed, scroll;
  background-repeat: no-repeat, repeat;
  background-position: top left, top left;
  /* animation toggled via class to restore position from cookie */ }

body.animate-bg {
  -webkit-animation: bgDrift 10s ease-in-out infinite alternate;
          animation: bgDrift 10s ease-in-out infinite alternate; }

@-webkit-keyframes bgDrift {
  0% {
    background-position: 0% 0%, top left; }
  50% {
    background-position: 50% 10%, top left; }
  100% {
    background-position: 100% 0%, top left; } }

@keyframes bgDrift {
  0% {
    background-position: 0% 0%, top left; }
  50% {
    background-position: 50% 10%, top left; }
  100% {
    background-position: 100% 0%, top left; } }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 300;
  /* Light weight to match PDF */ }

h4 {
  font-size: 2rem !important;
  padding-bottom: 1.5rem !important; }

h5 {
  font-size: 1.25rem !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem; }

h6 {
  margin-top: 0.5rem;
  margin-bottom: 10px;
  font-size: 1.1rem; }

p {
  padding-bottom: 1rem !important; }

.container-item p {
  padding-bottom: 0 !important; }

.main-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  background: transparent;
  margin-left: 280px;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.main-content.sidebar-collapsed {
  margin-left: 80px; }

.page-content {
  padding: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: #ffffff;
  border-radius: 16px 0 0 0;
  height: calc(100vh - 64px);
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.page-content.with-properties {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 1.5rem; }

.page-content.with-properties .content-main {
  min-width: 0; }

.page-content.with-properties .properties-panel {
  background: #ffffff;
  border-left: 1px solid #e5e7eb;
  border-radius: 12px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  padding: 1rem;
  position: static; }

.page-content.with-properties .properties-panel .properties-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem; }

.page-title {
  margin: 0.5rem 0 1.5rem 0;
  color: #374151;
  font-size: 1.5rem;
  font-weight: 600;
  font-family: 'Outfit', sans-serif; }

@media (max-width: 768px) {
  .page-content.with-properties {
    grid-template-columns: 1fr; }
  .page-content.with-properties .properties-panel {
    position: relative;
    top: 0;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .page-content.with-properties .content-main {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-content {
    margin-left: 0 !important;
    margin-top: 0 !important; } }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  height: 100vh;
  background: transparent;
  border-right: none;
  z-index: 1000;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  overflow-x: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 0 16px 16px 0;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .sidebar.collapsed {
    width: 80px;
    border-radius: 0 10px 10px 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(8px);
        -ms-transform: translateY(8px);
            transform: translateY(8px); }
    .sidebar.collapsed .nav-text,
    .sidebar.collapsed .user-name {
      opacity: 0;
      visibility: hidden; }
    .sidebar.collapsed .logo img {
      width: 40px;
      height: auto; }
    .sidebar.collapsed .sidebar-header {
      padding: 1rem 1.5rem; }

.sidebar-header {
  padding: 1rem 1.5rem 0.5rem; }
  .sidebar-header .logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .sidebar-header .logo img {
      max-width: 220px;
      height: auto;
      -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
    .sidebar-header .logo a {
      display: block; }

.sidebar-nav {
  padding: 0 0 1rem 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.nav-item {
  margin: 0.25rem 0; }
  .nav-item .nav-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.75rem 1.5rem;
    color: #ffffff;
    text-decoration: none;
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    border-radius: 0 25px 25px 0;
    margin-right: 1rem; }
    .nav-item .nav-link:hover {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff; }
    .nav-item .nav-link.active {
      background: rgba(255, 255, 255, 0.2);
      color: #ffffff;
      font-weight: 500; }
      .nav-item .nav-link.active .nav-icon {
        color: #ffffff; }

.nav-icon {
  width: 20px;
  height: 20px;
  margin-right: 0.75rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.nav-text {
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: 'Outfit', sans-serif; }

.sidebar-footer {
  padding: 1rem 0;
  margin-top: auto; }

.new-report-section {
  padding: 0 1.5rem; }
  .new-report-section .new-report-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 50px;
    background: -webkit-linear-gradient(315deg, #3b82f6 0%, #1e40af 100%);
    background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
    color: white;
    text-decoration: none;
    border-radius: 25px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-weight: 500;
    font-size: 0.875rem;
    font-family: 'Outfit', sans-serif;
    -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
            box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
    border: none;
    cursor: pointer; }
    .new-report-section .new-report-btn:hover {
      background: -webkit-linear-gradient(315deg, #2563eb 0%, #1d4ed8 100%);
      background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
      color: white;
      -webkit-transform: translateY(-2px);
          -ms-transform: translateY(-2px);
              transform: translateY(-2px);
      -webkit-box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
              box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4); }
    .new-report-section .new-report-btn:active {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
              box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3); }
    .new-report-section .new-report-btn:focus {
      outline: 2px solid #3b82f6;
      outline-offset: 2px; }
    .new-report-section .new-report-btn .nav-icon {
      margin-right: 0.5rem;
      color: white; }

.main-header {
  height: 64px;
  padding: 0 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 100;
  margin: 0;
  background: transparent;
  color: #ffffff;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }
  .main-header:hover {
    background: transparent; }
  .main-header .header-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem; }
    .main-header .header-left h3 {
      margin: 0;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      font-family: 'Outfit', sans-serif; }
  .main-header .header-right {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: transparent; }
    .main-header .header-right:hover {
      background: transparent; }

.header-banner {
  background: #ffffff;
  color: #1f2937;
  border-radius: 9999px;
  padding: 6px 20px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-left: 0.75rem;
  white-space: nowrap; }
  .header-banner p,
  .header-banner a {
    margin: 0;
    padding: 0;
    display: inline; }

.profile-dropdown {
  position: relative;
  display: inline-block;
  background: transparent !important; }
  .profile-dropdown:hover {
    background: transparent !important; }
  .profile-dropdown.open {
    background: transparent !important; }
  .profile-dropdown .profile-trigger {
    background: transparent;
    border: none;
    color: #ffffff;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    padding: 8px 14px;
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    border-radius: 12px 12px 0 0 !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    -webkit-transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease;
    transition: background-color 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease; }
    .profile-dropdown .profile-trigger:hover, .profile-dropdown .profile-trigger:focus, .profile-dropdown .profile-trigger:active {
      border-radius: 12px 12px 0 0 !important;
      border-top-left-radius: 12px !important;
      border-top-right-radius: 12px !important;
      border-bottom-left-radius: 0 !important;
      border-bottom-right-radius: 0 !important;
      background: #ffffff !important;
      color: #111827 !important; }
  .profile-dropdown .profile-trigger:hover, .profile-dropdown:hover .profile-trigger,
  .profile-dropdown .profile-dropdown:hover .profile-trigger,
  .profile-dropdown button.profile-trigger:hover,
  .profile-dropdown .profile-dropdown button.profile-trigger:hover {
    border-radius: 12px 12px 0 0 !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    background: #ffffff !important;
    color: #111827 !important; }
    .profile-dropdown .profile-trigger:hover .chevron, .profile-dropdown:hover .profile-trigger .chevron,
    .profile-dropdown .profile-dropdown:hover .profile-trigger .chevron,
    .profile-dropdown button.profile-trigger:hover .chevron,
    .profile-dropdown .profile-dropdown button.profile-trigger:hover .chevron {
      stroke: #111827 !important; }
  .profile-dropdown .chevron {
    stroke: #ffffff;
    -webkit-transition: stroke 0.2s ease;
    transition: stroke 0.2s ease; }
  .profile-dropdown.open .profile-trigger {
    background: #ffffff !important;
    color: #111827; }
  .profile-dropdown.open .profile-trigger, .profile-dropdown.open button.profile-trigger,
  .profile-dropdown .profile-dropdown.open .profile-trigger, .profile-dropdown.open:hover .profile-trigger,
  .profile-dropdown .profile-dropdown.open:hover .profile-trigger {
    border-radius: 12px 12px 0 0 !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .profile-dropdown.open .profile-trigger:hover, .profile-dropdown.open:hover .profile-trigger:hover, .profile-dropdown.open button.profile-trigger:hover,
  .profile-dropdown .profile-dropdown.open .profile-trigger:hover,
  .profile-dropdown .profile-dropdown.open:hover .profile-trigger:hover {
    border-radius: 12px 12px 0 0 !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .profile-dropdown.open .chevron {
    stroke: #111827; }
  .profile-dropdown .profile-menu {
    position: absolute;
    left: 0;
    right: auto;
    top: 100%;
    margin-top: 0;
    background: #ffffff;
    border-radius: 0 0 12px 12px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    -webkit-box-shadow: none;
            box-shadow: none;
    width: 100%;
    padding: 8px 0;
    opacity: 0;
    -webkit-transform: translateY(6px);
        -ms-transform: translateY(6px);
            transform: translateY(6px);
    visibility: hidden;
    -webkit-transition: opacity 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), visibility 0.22s ease, -webkit-transform 0.22s cubic-bezier(0.22, 1.2, 0.36, 1);
    transition: opacity 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), visibility 0.22s ease, -webkit-transform 0.22s cubic-bezier(0.22, 1.2, 0.36, 1);
    transition: opacity 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), transform 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), visibility 0.22s ease;
    transition: opacity 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), transform 0.22s cubic-bezier(0.22, 1.2, 0.36, 1), visibility 0.22s ease, -webkit-transform 0.22s cubic-bezier(0.22, 1.2, 0.36, 1);
    z-index: 2000; }
  .profile-dropdown.open .profile-menu {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    visibility: visible; }

@-webkit-keyframes profileMenuBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes profileMenuBounce {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8px);
            transform: translateY(8px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
  .profile-dropdown .profile-menu-item {
    display: block;
    padding: 10px 14px;
    color: #1f2937;
    text-decoration: none;
    font-size: 0.95rem; }
    .profile-dropdown .profile-menu-item:hover {
      background: #f3f4f6;
      color: #111827; }
    .profile-dropdown .profile-menu-item.active {
      background: #f3f4f6;
      color: #111827;
      font-weight: 500; }

.sidebar-toggle {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 6px;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .sidebar-toggle:hover {
    background: #1f2937; }
  .sidebar-toggle .hamburger {
    width: 20px;
    height: 2px;
    background: #ffffff;
    position: relative;
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
    .sidebar-toggle .hamburger::before, .sidebar-toggle .hamburger::after {
      content: '';
      position: absolute;
      width: 20px;
      height: 2px;
      background: #ffffff;
      -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
    .sidebar-toggle .hamburger::before {
      top: -6px; }
    .sidebar-toggle .hamburger::after {
      top: 6px; }

.user-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem; }
  .user-menu .user-name {
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 500; }
  .user-menu .logout-btn {
    color: #ffffff;
    text-decoration: none;
    font-size: 0.875rem;
    padding: 15px 50px;
    border-radius: 6px;
    -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
    .user-menu .logout-btn:hover {
      background: rgba(255, 255, 255, 0.15);
      color: #ffffff; }

@media (max-width: 768px) {
  .page-content.with-properties {
    grid-template-columns: 1fr; }
    .page-content.with-properties .properties-panel {
      position: relative;
      top: 0;
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .page-content.with-properties .content-main {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
  .sidebar {
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    width: 280px;
    z-index: 1001;
    top: 0;
    height: 100vh; }
    .sidebar.mobile-open {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0);
      -webkit-box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
              box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15); }
  .main-content {
    margin-left: 0 !important;
    margin-top: 0 !important;
    min-height: 100vh; }
    .main-content.sidebar-collapsed {
      margin-left: 0; }
  .main-header {
    padding: 1rem;
    position: static;
    z-index: 100; }
  .sidebar-toggle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .container {
    margin: 0.5rem;
    padding: 1rem; } }

@media (min-width: 769px) {
  .sidebar-toggle {
    display: none; } }

.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
  .sidebar-overlay.active {
    opacity: 1;
    visibility: visible; }

@-webkit-keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes slideOut {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

@keyframes slideOut {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

.container-form {
  width: 100% !important;
  max-width: none !important; }

.container-item {
  width: 850px !important;
  max-width: 850px !important;
  margin-bottom: 1rem; }

.controller-reports .container-item {
  width: 100% !important;
  max-width: 100% !important; }

.font-selector-container {
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
  border: 1px solid #e5e7eb; }
  .font-selector-container .font-selector-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem; }
    .font-selector-container .font-selector-wrapper label {
      font-weight: 600;
      color: #374151;
      font-size: 0.875rem;
      white-space: nowrap;
      text-align: left;
      min-width: 0; }
    .font-selector-container .font-selector-wrapper .font-selector-with-preview {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 1rem; }
    .font-selector-container .font-selector-wrapper .font-selector {
      padding: 0.75rem 1rem;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      background: white;
      color: #374151;
      font-size: 0.875rem;
      font-family: 'Outfit', sans-serif;
      min-width: 210px;
      height: auto;
      min-height: 48px;
      cursor: pointer;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; }
      .font-selector-container .font-selector-wrapper .font-selector:hover {
        border-color: #3b82f6;
        -webkit-box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
                box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }
      .font-selector-container .font-selector-wrapper .font-selector:focus {
        outline: none;
        border-color: #3b82f6;
        -webkit-box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
                box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }
      .font-selector-container .font-selector-wrapper .font-selector option {
        font-size: 0.875rem;
        padding: 0.75rem 0.75rem;
        line-height: 1.4;
        height: auto;
        min-height: 36px; }
    .font-selector-container .font-selector-wrapper .font-preview {
      padding: 0.75rem 1rem;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      background: #f9fafb;
      min-width: 200px;
      text-align: center;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; }
      .font-selector-container .font-selector-wrapper .font-preview .preview-text {
        color: #374151;
        font-size: 0.875rem;
        font-weight: 400;
        -webkit-transition: font-family 0.2s ease;
        transition: font-family 0.2s ease; }

@media (max-width: 768px) {
  .font-selector-container {
    padding: 1rem; }
    .font-selector-container .font-selector-wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      gap: 0.75rem; }
      .font-selector-container .font-selector-wrapper label {
        min-width: auto;
        text-align: left; }
      .font-selector-container .font-selector-wrapper .font-selector-with-preview {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 0.75rem; }
        .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-selector {
          min-width: 100%; }
        .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-preview {
          min-width: 100%; } }

.report-body .report-page-body,
.report-body .recommendation-sub-category,
.report-body .recommendation,
.report-body .section-summary,
.report-body .cover-report-container,
.report-body .cover-report-last-container {
  font-family: var(--report-font, "Outfit", sans-serif) !important; }
  .report-body .report-page-body h1, .report-body .report-page-body h2, .report-body .report-page-body h3, .report-body .report-page-body h4, .report-body .report-page-body h5, .report-body .report-page-body h6,
  .report-body .recommendation-sub-category h1,
  .report-body .recommendation-sub-category h2,
  .report-body .recommendation-sub-category h3,
  .report-body .recommendation-sub-category h4,
  .report-body .recommendation-sub-category h5,
  .report-body .recommendation-sub-category h6,
  .report-body .recommendation h1,
  .report-body .recommendation h2,
  .report-body .recommendation h3,
  .report-body .recommendation h4,
  .report-body .recommendation h5,
  .report-body .recommendation h6,
  .report-body .section-summary h1,
  .report-body .section-summary h2,
  .report-body .section-summary h3,
  .report-body .section-summary h4,
  .report-body .section-summary h5,
  .report-body .section-summary h6,
  .report-body .cover-report-container h1,
  .report-body .cover-report-container h2,
  .report-body .cover-report-container h3,
  .report-body .cover-report-container h4,
  .report-body .cover-report-container h5,
  .report-body .cover-report-container h6,
  .report-body .cover-report-last-container h1,
  .report-body .cover-report-last-container h2,
  .report-body .cover-report-last-container h3,
  .report-body .cover-report-last-container h4,
  .report-body .cover-report-last-container h5,
  .report-body .cover-report-last-container h6 {
    font-family: var(--report-font, "Outfit", sans-serif) !important; }
  .report-body .report-page-body p, .report-body .report-page-body div, .report-body .report-page-body span, .report-body .report-page-body td, .report-body .report-page-body th,
  .report-body .recommendation-sub-category p,
  .report-body .recommendation-sub-category div,
  .report-body .recommendation-sub-category span,
  .report-body .recommendation-sub-category td,
  .report-body .recommendation-sub-category th,
  .report-body .recommendation p,
  .report-body .recommendation div,
  .report-body .recommendation span,
  .report-body .recommendation td,
  .report-body .recommendation th,
  .report-body .section-summary p,
  .report-body .section-summary div,
  .report-body .section-summary span,
  .report-body .section-summary td,
  .report-body .section-summary th,
  .report-body .cover-report-container p,
  .report-body .cover-report-container div,
  .report-body .cover-report-container span,
  .report-body .cover-report-container td,
  .report-body .cover-report-container th,
  .report-body .cover-report-last-container p,
  .report-body .cover-report-last-container div,
  .report-body .cover-report-last-container span,
  .report-body .cover-report-last-container td,
  .report-body .cover-report-last-container th {
    font-family: var(--report-font, "Outfit", sans-serif) !important; }

.report-body .btn,
.report-body .form-control,
.report-body .rich-text-editor,
.report-body .ql-toolbar,
.report-body .ql-container,
.report-body .ql-editor,
.report-body .ql-editor p,
.report-body .ql-editor div,
.report-body .ql-editor span,
.report-body .ql-editor h1,
.report-body .ql-editor h2,
.report-body .ql-editor h3,
.report-body .ql-editor h4,
.report-body .ql-editor h5,
.report-body .ql-editor h6,
.report-body .ql-editor ul,
.report-body .ql-editor ol,
.report-body .ql-editor li,
.report-body .print-none,
.report-body .container-item,
.report-body .card,
.report-body .grid-x,
.report-body .cell,
.report-body .font-selector-container,
.report-body .font-selector-wrapper,
.report-body .font-selector,
.report-body .font-preview,
.report-body .create-custom-recommendation-button,
.report-body .edit-custom-recommendation-button,
.report-body .new-report-generated-prompt,
.report-body .no-gene-files-prompt {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; }

@media (prefers-color-scheme: dark) {
  .sidebar {
    background: #1f2937;
    border-color: #374151; }
  .main-header {
    background: #1f2937;
    border-color: #374151; }
  .main-content {
    background: #111827; }
  .nav-link {
    color: #d1d5db; }
    .nav-link:hover {
      background: #374151; }
    .nav-link.active {
      background: #1e40af;
      color: #dbeafe; }
  .profile-dropdown .profile-trigger,
  .profile-dropdown button.profile-trigger,
  button.profile-trigger.profile-trigger {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .profile-dropdown .profile-trigger:hover,
  .profile-dropdown button.profile-trigger:hover,
  button.profile-trigger.profile-trigger:hover,
  .profile-dropdown:hover .profile-trigger,
  .profile-dropdown:hover button.profile-trigger {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .profile-dropdown.open .profile-trigger,
  .profile-dropdown.open button.profile-trigger,
  .profile-dropdown.open .profile-trigger:hover,
  .profile-dropdown.open button.profile-trigger:hover,
  .profile-dropdown.open:hover .profile-trigger,
  .profile-dropdown.open:hover button.profile-trigger {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .nav-text,
  .user-name {
    color: #d1d5db; }
  .sidebar-toggle .hamburger {
    background: #d1d5db; }
    .sidebar-toggle .hamburger::before, .sidebar-toggle .hamburger::after {
      background: #d1d5db; } }

.profile-dropdown .profile-trigger,
.profile-dropdown button.profile-trigger,
button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.profile-dropdown .profile-trigger:hover,
.profile-dropdown button.profile-trigger:hover,
button.profile-trigger:hover,
.profile-dropdown:hover .profile-trigger,
.profile-dropdown:hover button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.profile-dropdown.open .profile-trigger,
.profile-dropdown.open button.profile-trigger,
.profile-dropdown.open .profile-trigger:hover,
.profile-dropdown.open button.profile-trigger:hover,
.profile-dropdown.open:hover .profile-trigger,
.profile-dropdown.open:hover button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

table.table {
  width: 850px !important;
  max-width: 850px !important;
  min-width: 850px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: white !important;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  table-layout: auto !important; }

.table,
.table.sortable {
  border-collapse: separate;
  border-spacing: 0; }

.table thead th {
  background: #fff;
  color: #0f172a;
  font-weight: 700;
  padding: .7rem 1rem;
  border-bottom: 1px solid #e5e7eb; }

.table thead th:first-child {
  border-top-left-radius: 12px; }

.table thead th:last-child {
  border-top-right-radius: 12px; }

.table tbody td {
  padding: .7rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  color: #111827; }

.table tbody tr:hover {
  background: #f8fafc; }

.table tbody tr:last-child td {
  border-bottom: none; }

.table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 12px; }

.table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 12px; }

.table td.actions, .table th.actions,
.table td[style*="text-align: right"], .table th[style*="text-align: right"] {
  text-align: right; }

.btn,
input[type="submit"],
input[type="button"],
button[type="submit"],
button[type="button"] {
  border-radius: 9999px !important;
  background: -webkit-linear-gradient(315deg, #3b82f6 0%, #1e40af 100%);
  background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
  border: none;
  color: white;
  padding: 15px 50px;
  font-weight: 500;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
          box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
  cursor: pointer;
  text-decoration: none !important;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  vertical-align: middle;
  line-height: 1.5; }
  .btn.button_to,
  .btn .button_to,
  input.button_to[type="submit"],
  input[type="submit"] .button_to,
  input.button_to[type="button"],
  input[type="button"] .button_to,
  button.button_to[type="submit"],
  button[type="submit"] .button_to,
  button.button_to[type="button"],
  button[type="button"] .button_to {
    display: inline-block;
    margin: 0; }
  .btn:hover,
  input[type="submit"]:hover,
  input[type="button"]:hover,
  button[type="submit"]:hover,
  button[type="button"]:hover {
    background: -webkit-linear-gradient(315deg, #2563eb 0%, #1d4ed8 100%) !important;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4) !important;
            box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4) !important;
    text-decoration: none !important; }
  .btn:active,
  input[type="submit"]:active,
  input[type="button"]:active,
  button[type="submit"]:active,
  button[type="button"]:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3) !important;
            box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3) !important; }
  .btn:focus,
  input[type="submit"]:focus,
  input[type="button"]:focus,
  button[type="submit"]:focus,
  button[type="button"]:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px; }

a.btn,
a.btn-primary,
a.btn-secondary,
a.btn-success,
a.btn-warning,
a.btn-danger,
a[class*="btn"],
a.page-header .page-actions .btn,
.page-header .page-actions a.btn {
  line-height: 1.6 !important;
  display: -webkit-inline-box !important;
  display: -webkit-inline-flex !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
  -webkit-align-items: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  vertical-align: middle !important; }

.btn-primary {
  background: -webkit-linear-gradient(315deg, #3b82f6 0%, #1e40af 100%);
  background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
  text-decoration: none !important;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
          box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3); }
  .btn-primary:hover {
    background: -webkit-linear-gradient(315deg, #2563eb 0%, #1d4ed8 100%) !important;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4) !important;
            box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4) !important;
    text-decoration: none !important; }
  .btn-primary:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3) !important;
            box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3) !important; }

.btn-secondary {
  background: -webkit-linear-gradient(315deg, #6b7280 0%, #374151 100%);
  background: linear-gradient(135deg, #6b7280 0%, #374151 100%);
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
          box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3); }
  .btn-secondary:hover {
    background: -webkit-linear-gradient(315deg, #4b5563 0%, #1f2937 100%) !important;
    background: linear-gradient(135deg, #4b5563 0%, #1f2937 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(107, 114, 128, 0.4) !important;
            box-shadow: 0 8px 25px rgba(107, 114, 128, 0.4) !important; }
  .btn-secondary:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3) !important;
            box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3) !important; }

.btn-success {
  background: -webkit-linear-gradient(315deg, #10b981 0%, #059669 100%);
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
          box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3); }
  .btn-success:hover {
    background: -webkit-linear-gradient(315deg, #059669 0%, #047857 100%) !important;
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4) !important;
            box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4) !important; }
  .btn-success:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3) !important;
            box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3) !important; }

.btn-warning {
  background: -webkit-linear-gradient(315deg, #f59e0b 0%, #d97706 100%);
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
          box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3); }
  .btn-warning:hover {
    background: -webkit-linear-gradient(315deg, #d97706 0%, #b45309 100%) !important;
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4) !important;
            box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4) !important; }
  .btn-warning:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important; }

.btn-danger {
  background: -webkit-linear-gradient(315deg, #ef4444 0%, #dc2626 100%);
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  -webkit-box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
          box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3); }
  .btn-danger:hover {
    background: -webkit-linear-gradient(315deg, #dc2626 0%, #b91c1c 100%) !important;
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(239, 68, 68, 0.4) !important;
            box-shadow: 0 8px 25px rgba(239, 68, 68, 0.4) !important; }
  .btn-danger:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important;
    -webkit-box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3) !important;
            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3) !important; }

nav.nav-container {
  width: 96%;
  margin: auto; }
  nav.nav-container #generx-logo {
    max-width: 240px;
    height: auto; }
  nav.nav-container .link {
    padding: 4px 0;
    margin: 0 6px;
    text-align: center;
    border: 2px solid transparent; }
  nav.nav-container .link-my-reports {
    width: 130px; }
  nav.nav-container .link-settings {
    width: 140px; }
  nav.nav-container .link-profile {
    width: 100px; }
  nav.nav-container .link-help {
    width: 100px;
    border: 2px solid var(--primary-color);
    border-radius: 20px; }
  nav.nav-container .link-upload-file {
    width: 130px;
    margin: 0 20px;
    border-radius: 20px;
    background: var(--primary-color); }
    nav.nav-container .link-upload-file a {
      color: white; }
  nav.nav-container .link-logout {
    width: 100px; }

.container.controller-genes.action-index .clickable-row:hover {
  cursor: pointer; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.clickable-row.processed.paid:hover {
  cursor: pointer; }

tbody {
  border: none; }

tbody tr:nth-child(even) {
  background-color: white; }

tbody tr:nth-child(odd) {
  background-color: white; }

tbody tr td {
  padding: 1em 0; }

table {
  overflow: hidden; }
  table td.actions {
    text-align: center;
    width: 10%; }
  table td.status {
    text-align: right;
    width: 20%; }
  table td.indentifier {
    font-size: 16px; }
    table td.indentifier .row-top {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      gap: .5rem; }
    table td.indentifier .status-icon {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      width: 18px;
      height: 18px;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    table td.indentifier .error {
      font-size: 14px;
      color: #ff0000;
      margin-top: 6px; }
    table td.indentifier .message {
      font-size: 12px;
      color: #8a8a8a;
      margin-top: 6px; }
    table td.indentifier .updated {
      font-size: 12px;
      color: #cacaca;
      margin-top: 6px; }

.icon-waiting-ani {
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 2500ms;
          animation-duration: 2500ms;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

table tr.pending.gene-file td.status img {
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 2500ms;
          animation-duration: 2500ms;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.button-delete-action {
  background: url(/assets/button-delete-default-8936407f900499a1956033e5417269f689def41f7c88ed31ed43939e2f4e8687.png) center center no-repeat;
  -webkit-background-size: contain;
          background-size: contain;
  display: inline-block;
  width: 26px;
  height: 26px;
  letter-spacing: -100000px;
  text-align: right;
  overflow: hidden; }
  .button-delete-action:hover {
    background: url(/assets/button-delete-over-f0a9f0730c56b07b2da1e0bc46b57720c13a91ad89e356ee22d438b2fd2ec203.png) center center no-repeat;
    -webkit-background-size: contain;
            background-size: contain; }

.wait-message {
  text-align: center;
  margin: 60px 0; }

.link-upload-file.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }
  .link-upload-file.disabled .nav-link {
    pointer-events: none; }

#gene-file-new-report-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.controller-users .profile-head {
  font-size: 1.3rem;
  margin: 1rem 0; }

.controller-users .profile-contact {
  margin: 1rem 0; }

.controller-users .profile-login {
  margin: 1rem 0; }

.controller-users .profile-verify {
  margin: 20px 0 0 0; }

.controller-users .verify-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: none;
  pointer-events: none; }
  .controller-users .verify-modal.active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .controller-users .verify-modal .verify-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    cursor: not-allowed;
    pointer-events: auto; }
  .controller-users .verify-modal .verify-modal-content {
    position: relative;
    background: white;
    border-radius: 16px;
    -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    z-index: 10000;
    overflow: hidden;
    margin: auto;
    -webkit-animation: verifyModalSlideIn 0.3s ease-out;
            animation: verifyModalSlideIn 0.3s ease-out;
    pointer-events: auto; }

@-webkit-keyframes verifyModalSlideIn {
  from {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes verifyModalSlideIn {
  from {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }
  .controller-users .verify-modal .verify-modal-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2rem 2rem 1rem 2rem;
    background: -webkit-linear-gradient(315deg, #3b82f6 0%, #1e40af 100%);
    background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
    border-bottom: none; }
    .controller-users .verify-modal .verify-modal-header h3 {
      margin: 0;
      font-size: 1.5rem;
      font-weight: 600;
      color: white;
      font-family: 'Outfit', sans-serif; }
  .controller-users .verify-modal .verify-modal-body {
    padding: 2rem;
    overflow-y: auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    pointer-events: auto; }
    .controller-users .verify-modal .verify-modal-body form,
    .controller-users .verify-modal .verify-modal-body input,
    .controller-users .verify-modal .verify-modal-body button,
    .controller-users .verify-modal .verify-modal-body label {
      pointer-events: auto; }
    .controller-users .verify-modal .verify-modal-body .profile-verify {
      margin-bottom: 1.5rem; }
      .controller-users .verify-modal .verify-modal-body .profile-verify .profile-name {
        font-size: 1rem;
        line-height: 1.6;
        color: #4b5563;
        margin-bottom: 1rem; }
      .controller-users .verify-modal .verify-modal-body .profile-verify label {
        display: block;
        font-size: 0.875rem;
        font-weight: 600;
        color: #374151;
        margin-bottom: 0.5rem;
        text-transform: uppercase;
        letter-spacing: 0.5px; }
      .controller-users .verify-modal .verify-modal-body .profile-verify input.form-control {
        width: 100%;
        padding: 1rem 0.7rem;
        border: 2px solid #e5e7eb;
        border-radius: 10px;
        font-size: 1.5rem;
        text-align: center;
        letter-spacing: 0.5rem;
        font-weight: 600;
        color: #1f2937;
        pointer-events: auto; }
        .controller-users .verify-modal .verify-modal-body .profile-verify input.form-control:focus {
          outline: none;
          border-color: #3b82f6;
          -webkit-box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
                  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }
      .controller-users .verify-modal .verify-modal-body .profile-verify #code-status {
        color: #ef4444;
        font-size: 0.875rem;
        font-weight: 500;
        margin-top: 0.5rem; }
      .controller-users .verify-modal .verify-modal-body .profile-verify #resend-email-status {
        color: #10b981;
        font-size: 0.875rem;
        font-weight: 500;
        margin-top: 0.5rem; }
      .controller-users .verify-modal .verify-modal-body .profile-verify #resend-email {
        color: #3b82f6;
        text-decoration: none;
        font-weight: 500;
        -webkit-transition: color 0.2s ease;
        transition: color 0.2s ease; }
        .controller-users .verify-modal .verify-modal-body .profile-verify #resend-email:hover {
          color: #1e40af;
          text-decoration: underline; }
        .controller-users .verify-modal .verify-modal-body .profile-verify #resend-email.disabled {
          color: #9ca3af;
          cursor: not-allowed;
          text-decoration: none; }
          .controller-users .verify-modal .verify-modal-body .profile-verify #resend-email.disabled:hover {
            color: #9ca3af;
            text-decoration: none; }

.controller-users select,
.controller-users input {
  margin-bottom: 0; }

.controller-users .form-group-preferences label,
.controller-users .form-group-reports label {
  font-weight: normal;
  text-transform: none;
  color: #8a8a8a;
  padding: 6px 0 0 0; }

.controller-users .form-group-preferences .medium-1,
.controller-users .form-group-reports .medium-1 {
  text-align: center;
  margin-top: 3px; }

.controller-users table.table.history .cost {
  text-align: right; }

.controller-users .profile-logo {
  margin: 20px 0 40px 0;
  cursor: pointer; }
  .controller-users .profile-logo #user_logo {
    display: none; }
  .controller-users .profile-logo .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin: auto;
    height: 200px; }
    .controller-users .profile-logo .container .logo-display {
      width: 204px;
      height: 204px;
      margin: auto; }
      .controller-users .profile-logo .container .logo-display:hover .logo-cover {
        opacity: 1; }
      .controller-users .profile-logo .container .logo-display .logo {
        position: absolute; }
      .controller-users .profile-logo .container .logo-display .logo-cover {
        -webkit-transition: opacity 0.15s ease-in-out;
        transition: opacity 0.15s ease-in-out;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        opacity: 0;
        position: absolute;
        width: 200px;
        height: 200px;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        background: rgba(255, 255, 255, 0.8);
        color: var(--primary-color);
        font-weight: bold;
        z-index: 100000;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        border-radius: 10px; }
        .controller-users .profile-logo .container .logo-display .logo-cover small {
          margin: 20px 0 0 0; }
  .controller-users .profile-logo .logo-actions {
    margin-top: 20px; }
  .controller-users .profile-logo img {
    border-radius: 10px; }

.controller-users .clickable-row:hover {
  cursor: pointer; }

.payment-method-types {
  position: relative;
  min-height: 140px; }
  .payment-method-types .payment-method-existing {
    position: absolute;
    margin: 0;
    display: block; }
    .payment-method-types .payment-method-existing .payment-method-payment-defined {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 2em; }
      .payment-method-types .payment-method-existing .payment-method-payment-defined #payment-method-update-button {
        margin-top: 0;
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                align-self: center; }
    .payment-method-types .payment-method-existing .payment-method-no-payment-defined {
      display: none; }
    .payment-method-types .payment-method-existing.card-type-none .payment-method-payment-defined {
      display: none; }
    .payment-method-types .payment-method-existing.card-type-none .payment-method-no-payment-defined {
      display: block; }
    .payment-method-types .payment-method-existing .payment-method-card {
      width: 330px;
      height: 190px;
      background: #efefef;
      margin-bottom: 2em;
      border-radius: 24px;
      padding: 3px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-transform: scale(0.7);
          -ms-transform: scale(0.7);
              transform: scale(0.7);
      -webkit-transform-origin: top left;
          -ms-transform-origin: top left;
              transform-origin: top left; }
      .payment-method-types .payment-method-existing .payment-method-card.payment-method-card-type-visa {
        background: #efefef url(/assets/cc-visa.png) 10px 10px no-repeat; }
      .payment-method-types .payment-method-existing .payment-method-card.payment-method-card-type-mastercard {
        background: #efefef url(/cc-mastercard.png) 10px 40px no-repeat; }
      .payment-method-types .payment-method-existing .payment-method-card .payment-method-card-data {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        border: 1px solid white;
        border-top: none;
        border-left: none;
        border-radius: 20px;
        width: 100%;
        height: 100%;
        padding: 20px; }
        .payment-method-types .payment-method-existing .payment-method-card .payment-method-card-data .payment-method-card-number {
          margin-top: 54px;
          font-family: "Inconsolata", sans-serif;
          font-weight: 400;
          font-size: 1.7em; }
  .payment-method-types .payment-method-update {
    position: relative;
    display: none;
    width: 100%;
    margin: 0; }
    .payment-method-types .payment-method-update .form-actions {
      margin: 2em 0;
      border-top: none !important;
      padding-top: 0 !important; }
    .payment-method-types .payment-method-update #card-errors {
      padding: 10px 0 0 0; }
    .payment-method-types .payment-method-update .StripeElement {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      height: 40px;
      padding: 10px 12px;
      border: 1px solid transparent;
      border-radius: 4px;
      background-color: white;
      -webkit-box-shadow: 0 1px 3px 0 #e6ebf1;
              box-shadow: 0 1px 3px 0 #e6ebf1;
      -webkit-transition: box-shadow 150ms ease;
      -webkit-transition: -webkit-box-shadow 150ms ease;
      transition: -webkit-box-shadow 150ms ease;
      transition: box-shadow 150ms ease;
      transition: box-shadow 150ms ease, -webkit-box-shadow 150ms ease; }
    .payment-method-types .payment-method-update .StripeElement--focus {
      -webkit-box-shadow: 0 1px 3px 0 #cfd7df;
              box-shadow: 0 1px 3px 0 #cfd7df; }
    .payment-method-types .payment-method-update .StripeElement--invalid {
      border-color: #fa755a; }
    .payment-method-types .payment-method-update .StripeElement--webkit-autofill {
      background-color: #fefde5 !important; }

.profile-edit-container {
  max-width: 850px !important;
  margin: 0 !important; }

.controller-pages.action-settings .settings-page > form {
  min-width: 850px !important; }

.controller-categories form,
.controller-categories .container-item form {
  min-width: auto !important;
  width: auto !important; }

.controller-content .container-item {
  padding: 2rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px; }

.controller-content .form-group label {
  width: 270px !important; }

.setting-item {
  margin: 10px 0 10px 0;
  padding: 10px 30px 10px 30px;
  border: 1px solid #dfdfdf;
  border-radius: 10px; }

.setting-log {
  padding: 30px;
  border: 1px solid #dfdfdf;
  border-radius: 10px; }

.help-page-content *, .help-page-content *::before, .help-page-content *::after, .ql-editor *, .ql-editor *::before, .ql-editor *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.help-page-content p, .ql-editor p {
  margin: 0 !important;
  padding: 0 !important; }

.help-page-content ul, .help-page-content ol, .ql-editor ul, .ql-editor ol {
  padding-left: 2rem !important;
  margin: 1rem 0 !important;
  display: block !important; }

.help-page-content ul, .ql-editor ul {
  list-style-type: disc !important; }

.help-page-content ol, .ql-editor ol {
  list-style-type: decimal !important; }

.help-page-content li, .ql-editor li {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  display: list-item !important; }

.help-page-content img, .ql-editor img {
  border-radius: 15px;
  margin: 1.5rem 0;
  max-width: 100%;
  height: auto;
  display: block; }

.help-page-content a, .ql-editor a {
  color: #4f46e5 !important;
  text-decoration: underline !important; }
  .help-page-content a:hover, .ql-editor a:hover {
    color: #291fd9 !important; }

.quill_container {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .quill_container .ql-container {
    height: auto !important;
    min-height: 500px; }
  .quill_container .ql-editor {
    min-height: 500px;
    max-height: 1000px;
    overflow-y: auto;
    padding-bottom: 4rem; }

.form-group.rich-text-editor {
  display: block !important;
  height: auto !important;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
  margin-bottom: 4rem !important; }
  .form-group.rich-text-editor label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    position: relative;
    z-index: 1; }
  .form-group.rich-text-editor .ql-toolbar.ql-snow {
    margin-top: 0;
    border-radius: 10px 10px 0 0;
    border: 2px solid #e5e7eb;
    border-bottom: none;
    background: #f9fafb; }
  .form-group.rich-text-editor .ql-container.ql-snow {
    border-radius: 0 0 10px 10px;
    border: 2px solid #e5e7eb;
    background: #fff; }

header {
  margin: 4em auto 0.5em auto; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.controller-sent_emails .clickable-row:hover {
  cursor: pointer; }

.controller-sent_emails .action-index table {
  margin-top: 30px; }

.controller-sent_emails .action-index .sent-email .time {
  width: 300px; }

.controller-sent_emails .action-index .sent-email .subject {
  width: auto; }

.controller-sent_emails .action-index .sent-email .user_group {
  width: 100px;
  text-align: right; }

.controller-sent_emails .sent-email-show .body .email-content-container {
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 1em;
  min-width: 100%; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  visibility: hidden;
  z-index: -1000;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in-out 0.2s;
  transition: opacity 0.2s ease-in-out 0.2s;
  pointer-events: none; }
  .overlay.overlay-incomplete-payment, .overlay.overlay-incomplete-profile, .overlay.overlay-visible {
    display: block;
    opacity: 1;
    z-index: 2000;
    visibility: visible;
    pointer-events: auto; }
  .overlay.overlay-upload-gene-file h6 {
    margin-bottom: 20px; }
  .overlay.overlay-upload-gene-file .patient-name {
    margin-top: 30px; }
  .overlay.overlay-upload-gene-file .patient-file {
    overflow: hidden; }
  .overlay.overlay-upload-gene-file .actions {
    margin: 0;
    padding: 0;
    margin-top: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    line-height: 3em; }
  .overlay.overlay-upload-gene-file .upload-warning {
    margin: 3em 0; }
    .overlay.overlay-upload-gene-file .upload-warning .medium-2 {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
  .overlay .overlay-background {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    pointer-events: auto; }
  .overlay .row-overlay {
    display: grid;
    justify-self: center;
    vertical-align: middle;
    border-radius: 12px;
    margin: 2em auto;
    background: white;
    -webkit-box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    padding: 0;
    width: 92vw;
    max-width: 960px;
    pointer-events: auto;
    position: relative;
    z-index: 2001; }
  .overlay .row-actions {
    margin: 0;
    padding: 20px 0 0 0; }
    .overlay .row-actions .col {
      padding: 0; }
  .overlay .progress {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0;
    background: #e8e8e8;
    height: 12px;
    overflow: hidden; }
  .overlay .progress .bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 100%;
    background: var(--primary-color);
    color: #fff;
    -webkit-transition: width .1s linear;
    transition: width .1s linear; }
  .overlay input[type=file] {
    padding: 0;
    margin: 0 0 0.3em 0; }
  .overlay #file_upload_status_display {
    font-size: 12px;
    margin-top: 0.5em; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.container.controller-categories .clickable-row:hover {
  cursor: pointer; }

.container.controller-categories .actions {
  margin-top: 30px; }

.container.controller-categories .other-actions {
  margin-top: 30px; }

.container.controller-categories .sub-category {
  border: 1px solid #e6e6e6;
  padding: 20px; }

.container.controller-recommendations .clickable-row:hover {
  cursor: pointer; }

.container.controller-recommendations .actions {
  margin-top: 30px; }

.container.controller-recommendations .other-actions {
  margin-top: 30px; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

body.body-controller-reports.body-action-index .page-header {
  display: none; }

body.body-controller-reports.body-action-index .container.action-index.controller-reports {
  padding: 0;
  margin-top: 0; }

.report-viewer-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: calc(100vh - 60px);
  gap: 0;
  margin-top: 0;
  background-color: #f5f5f5;
  overflow: hidden; }
  .report-viewer-container[style*="--report-font: 'Crimson'"] {
    --report-font: 'Crimson Text', serif !important; }
  .report-viewer-container[style*="--report-font: 'Baskerville'"] {
    --report-font: 'Libre Baskerville', serif !important; }

.report-viewer-sidebar-left {
  width: 200px;
  min-width: 200px;
  background-color: #e8e8e8;
  border-right: 1px solid #d0d0d0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .report-viewer-sidebar-left .sidebar-header {
    padding: 16px;
    background-color: #d8d8d8;
    border-bottom: 1px solid #c0c0c0;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .report-viewer-sidebar-left .sidebar-header h6 {
      margin: 0;
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      color: #555;
      letter-spacing: 0.5px; }
  .report-viewer-sidebar-left .custom-recommendations-index {
    padding: 12px 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: auto;
    overflow-x: hidden; }
  .report-viewer-sidebar-left .recommendation-section-header {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #666;
    letter-spacing: 0.5px;
    padding: 12px 8px 6px 8px;
    margin-top: 8px;
    border-top: 1px solid #ddd; }
    .report-viewer-sidebar-left .recommendation-section-header:first-child {
      border-top: none;
      margin-top: 0;
      padding-top: 6px; }
  .report-viewer-sidebar-left .custom-recommendation-pill {
    display: inline-block;
    padding: 6px 12px;
    margin: 4px 0;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 100%;
    text-align: left;
    line-height: 1.4; }
    .report-viewer-sidebar-left .custom-recommendation-pill:hover {
      -webkit-transform: translateX(2px);
          -ms-transform: translateX(2px);
              transform: translateX(2px);
      -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
              box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
    .report-viewer-sidebar-left .custom-recommendation-pill.available {
      background-color: #10b981; }
      .report-viewer-sidebar-left .custom-recommendation-pill.available:hover {
        background-color: #059669; }
    .report-viewer-sidebar-left .custom-recommendation-pill.customized {
      background-color: #3b82f6; }
      .report-viewer-sidebar-left .custom-recommendation-pill.customized:hover {
        background-color: #2563eb; }
    .report-viewer-sidebar-left .custom-recommendation-pill .pill-text {
      display: block;
      word-wrap: break-word;
      overflow-wrap: break-word; }

.report-viewer-main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: white;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  min-width: 0;
  height: 100%; }

.report-viewer-sidebar-right {
  width: 280px;
  min-width: 280px;
  background-color: #f3f4f6;
  border-left: 1px solid #e5e7eb;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  --primary-color: #1779ba;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  .report-viewer-sidebar-right.is-loading {
    opacity: 0.5;
    pointer-events: none;
    cursor: wait; }
  .report-viewer-sidebar-right .sidebar-header {
    padding: 16px;
    background-color: #d8d8d8;
    border-bottom: 1px solid #c0c0c0; }
    .report-viewer-sidebar-right .sidebar-header h6 {
      margin: 0;
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      color: #555;
      letter-spacing: 0.5px; }
  .report-viewer-sidebar-right .section-label, .report-viewer-sidebar-right .font-size-selector-container label, .font-size-selector-container .report-viewer-sidebar-right label, .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin-bottom: 0;
    text-align: left; }
  .report-viewer-sidebar-right .font-selector-container {
    background: white;
    padding: 1.25rem;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 1rem; }
      .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-selector {
        width: 100%;
        padding: 10px;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        background: #f9fafb;
        font-size: 14px;
        color: #1f2937;
        outline: none;
        -webkit-transition: border-color 0.2s;
        transition: border-color 0.2s; }
        .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-selector:focus {
          border-color: var(--primary-color, #3b82f6); }
      .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-preview {
        padding: 12px;
        background: #f3f4f6;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        text-align: center;
        margin-top: 8px; }
        .report-viewer-sidebar-right .font-selector-container .font-selector-wrapper .font-selector-with-preview .font-preview .preview-text {
          font-size: 14px;
          color: #333; }
  .report-viewer-sidebar-right .print-download-container {
    padding: 16px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .report-viewer-sidebar-right .print-download-container .btn-block {
      width: 100%;
      display: block; }

.report-body {
  margin-top: 0 !important; }

.report-page-header {
  width: 100%;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block; }
  .report-page-header .report-page-header-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    gap: 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .report-page-header .report-page-header-left {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    min-width: 0; }
  .report-page-header .report-page-header-logo img {
    max-height: 150px;
    max-width: auto;
    width: auto;
    height: auto; }
  .report-page-header .report-page-header-right {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    text-align: right;
    font-size: 10px;
    line-height: 1.3;
    color: #666;
    overflow-wrap: break-word;
    word-wrap: break-word; }
  .report-page-header .report-page-header-company {
    font-weight: 600;
    margin-bottom: 2px;
    overflow-wrap: break-word;
    word-wrap: break-word; }
  .report-page-header .report-page-header-address-lines {
    font-weight: normal;
    overflow-wrap: break-word;
    word-wrap: break-word; }

@media print {
  .print-none {
    display: none !important; }
  .report-page-header {
    margin-bottom: 0;
    page-break-inside: avoid;
    page-break-after: avoid; }
    .report-page-header .report-page-header-content {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      width: 100%;
      gap: 15px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    .report-page-header .report-page-header-left {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      min-width: 0; }
    .report-page-header .report-page-header-logo img {
      max-height: 150px !important;
      max-width: auto !important;
      width: auto !important;
      height: auto !important; }
    .report-page-header .report-page-header-right {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      min-width: 0;
      text-align: right;
      font-size: 10px;
      line-height: 1.3;
      color: #666;
      overflow-wrap: break-word;
      word-wrap: break-word; }
    .report-page-header .report-page-header-company {
      font-weight: 600;
      margin-bottom: 2px;
      overflow-wrap: break-word;
      word-wrap: break-word; }
    .report-page-header .report-page-header-address-lines {
      font-weight: normal;
      overflow-wrap: break-word;
      word-wrap: break-word; }
  @page {
    margin-top: 0;
    size: letter; }
  .section {
    page-break-inside: avoid; }
  .cover-report-container,
  .cover-report-last-container {
    page-break-after: always; } }

@media (max-width: 1200px) {
  .report-viewer-sidebar-left {
    width: 160px;
    min-width: 160px; }
  .report-viewer-sidebar-right {
    width: 240px;
    min-width: 240px; } }

@media (max-width: 768px) {
  .report-viewer-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .report-viewer-sidebar-left,
  .report-viewer-sidebar-right {
    width: 100%;
    min-width: 100%;
    max-height: 200px; }
  .report-viewer-main {
    min-height: 400px; }
  .page-thumbnails {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 12px; }
    .page-thumbnails .page-thumbnail {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      width: 120px;
      margin-bottom: 0; } }

.report-body {
  width: 100%;
  max-width: 100%;
  background: white;
  position: relative;
  margin: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 11in;
  padding: 0.5in;
  font-size: var(--report-font-size, 14px);
  font-family: var(--report-font, "Outfit", sans-serif) !important; }
  .report-body *, .report-body *::before, .report-body *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .report-body h2 {
    color: var(--primary-color) !important;
    font-size: 2.42em !important;
    line-height: 1.1;
    margin-bottom: 0.5em;
    font-weight: 300 !important; }
  .report-body h3 {
    color: var(--primary-color) !important;
    font-size: 2.14em !important;
    line-height: 1.2;
    margin-bottom: 0.5em;
    font-weight: 300 !important; }
  .report-body h4 {
    color: var(--primary-color) !important;
    font-size: 1.85em !important;
    line-height: 1.2;
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 300 !important; }
  .report-body h5 {
    color: var(--primary-color) !important;
    font-size: 1.28em !important;
    line-height: 1.2;
    padding: 6px 6px 6px 12px;
    margin-top: 1em;
    margin-bottom: 1em;
    border-left: 8px solid #cacaca;
    font-weight: 300 !important; }
  .report-body .report-page-header {
    width: 100%;
    padding: 0.15in 0;
    border-bottom: 1px solid #e0e0e0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 2em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .report-body .report-page-header .report-page-header-content {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    .report-body .report-page-header .report-page-header-left {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; }
    .report-body .report-page-header .report-page-header-logo img {
      max-height: 0.4in;
      max-width: 1.5in;
      width: auto !important;
      height: auto !important; }
    .report-body .report-page-header .report-page-header-right {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      text-align: right;
      font-size: 9px;
      line-height: 1.2;
      color: #000; }
    .report-body .report-page-header .report-page-header-company {
      font-weight: 600;
      font-size: 11px;
      margin-bottom: 1px; }
    .report-body .report-page-header .report-page-header-address {
      font-weight: normal; }
  .report-body .main {
    padding: 0 3em; }
  .report-body .recommendation-container {
    padding: 0 0 30px 0;
    margin-bottom: 20px; }
    .report-body .recommendation-container h4 {
      margin-bottom: 20px;
      padding: 6px 6px 6px 12px;
      line-height: 1.2;
      border-left: 8px solid #cacaca; }
  .report-body .allele-container {
    border: 1px solid #cacaca;
    border-radius: 8px;
    padding: 1.5em;
    margin: 1.5em 0; }
    .report-body .allele-container div {
      margin-top: 0.5em; }
  .report-body .header-prefix {
    font-size: 0.6em;
    color: #000000 !important;
    display: block;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.2em; }
  .report-body .gene-description, .report-body .variant-description {
    line-height: 1.5;
    margin-bottom: 1.5em;
    font-weight: 300 !important; }
  .report-body p, .report-body div, .report-body span {
    font-weight: 300 !important; }

.report-page-wrapper {
  width: 100%;
  max-width: 8.5in;
  min-height: 11in;
  page-break-after: always;
  page-break-inside: avoid;
  position: relative;
  margin: 0 auto 40px auto;
  background: white;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05);
  border: 1px solid #d0d0d0;
  display: block;
  border-radius: 2px; }
  .report-page-wrapper:not(:last-child) {
    margin-bottom: 40px; }
  .report-page-wrapper.report-page-cover {
    height: 11in; }
  .report-page-wrapper .page-number-indicator {
    position: absolute;
    bottom: 8px;
    right: 12px;
    font-size: 10px;
    color: #999;
    pointer-events: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
  @media print {
    .report-page-wrapper {
      margin-bottom: 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      border: none;
      border-radius: 0;
      width: 100% !important;
      max-width: none !important; }
      .report-page-wrapper .page-number-indicator {
        display: none; } }
.report-page-content {
  padding: 0.5in 0.5in;
  min-height: 10in;
  width: 100%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: visible; }
  @media print {
    .report-page-content {
      padding: 0; } }
  .report-page-content.report-cover-content {
    padding: 0;
    width: 100%;
    height: 100%; }
  .report-page-content .section-summary h2 {
    padding-bottom: 60px;
    page-break-inside: avoid; }
  .report-page-content .category h3 {
    padding: 0; }
  .report-page-content .sub-category-header {
    padding-top: 20px; }
  .report-page-content .sub-category-details {
    padding-bottom: 30px; }
    .report-page-content .sub-category-details .gene {
      padding-bottom: 30px; }
  .report-page-content .main {
    height: auto !important;
    padding: 0 3em; }

ul, ol {
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid; }
  ul li, ol li {
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    orphans: 2;
    widows: 2; }

.recommendation-container,
.recommendation-sub-category {
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid; }

.gene,
.allele-container {
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  orphans: 2;
  widows: 2; }

p, div, span {
  orphans: 2;
  widows: 2;
  overflow-wrap: break-word;
  word-wrap: break-word; }

h2, h3, h4, h5, h6 {
  page-break-after: avoid;
  orphans: 2;
  widows: 2; }

h2 + *, h3 + *, h4 + *, h5 + *, h6 + * {
  page-break-before: avoid;
  orphans: 2; }

.report-page-body {
  margin: 0 auto;
  width: 100%;
  background: white;
  position: relative; }
  .report-page-body .align-right {
    text-align: right; }
  .report-page-body .page-break-marker {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(20%, #a0a0a0), color-stop(80%, #a0a0a0), to(transparent));
    background: -webkit-linear-gradient(left, transparent, #a0a0a0 20%, #a0a0a0 80%, transparent);
    background: linear-gradient(to right, transparent, #a0a0a0 20%, #a0a0a0 80%, transparent);
    z-index: 10;
    pointer-events: none; }
  .report-page-body .main {
    position: relative;
    z-index: 2; }
  .report-page-body .spacer-1 {
    width: 100%;
    height: 30px; }
  .report-page-body .spacer-2 {
    width: 100%;
    height: 30px; }
  .report-page-body .spacer-3 {
    width: 100%;
    height: 10px; }
  .report-page-body .cover-report-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 310mm;
    margin-bottom: 60px;
    position: relative; }
    .report-page-body .cover-report-container .cover-report-top {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .report-page-body .cover-report-container .cover-report-top .cover-report-details {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        height: 100%; }
        .report-page-body .cover-report-container .cover-report-top .cover-report-details .cover-report-logo {
          padding: 50px 0 20px 0;
          text-align: left; }
          .report-page-body .cover-report-container .cover-report-top .cover-report-details .cover-report-logo img {
            border-radius: 20px;
            width: auto !important;
            max-width: 130px !important;
            max-height: 130px !important; }
        .report-page-body .cover-report-container .cover-report-top .cover-report-details h2 {
          color: var(--primary-color) !important;
          font-weight: 400;
          text-align: left; }
        .report-page-body .cover-report-container .cover-report-top .cover-report-details .cover-prepared-for {
          font-size: 14px;
          font-family: var(--report-font, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif) !important;
          line-height: 1.2;
          padding-top: 60px;
          text-align: left; }
        .report-page-body .cover-report-container .cover-report-top .cover-report-details .cover-prepared-for-name {
          font-size: 22px;
          line-height: 1.2;
          font-family: var(--report-font, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif) !important;
          text-align: left; }
  .report-page-body .cover-report-last-container {
    width: 100%;
    height: 310mm;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-top: 1px solid #e0e0e0; }
  .report-page-body .cover-report-bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-bottom: 60px;
    margin-top: auto; }
    .report-page-body .cover-report-bottom .cover-prepared-by {
      font-size: 14px;
      font-family: var(--report-font, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif) !important;
      line-height: 1.2;
      text-align: left !important; }
    .report-page-body .cover-report-bottom .cover-prepared-by-name {
      font-size: 22px;
      line-height: 1.2;
      font-family: var(--report-font, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif) !important;
      text-align: left !important; }
  .report-page-body h2 {
    color: var(--primary-color) !important;
    font-size: 2.42em !important;
    line-height: 1.1; }
  .report-page-body .section-summary h2 {
    padding-bottom: 60px;
    page-break-inside: avoid; }
  .report-page-body h3 {
    color: var(--primary-color) !important;
    font-size: 2.14em !important;
    line-height: 1.2;
    padding-bottom: 60px;
    page-break-inside: avoid; }
  .report-page-body h4 {
    color: var(--primary-color) !important;
    font-size: 1.85em !important;
    line-height: 1.2;
    padding-top: 10px;
    padding-bottom: 28px;
    page-break-inside: avoid; }
  .report-page-body .recommendation-container {
    padding: 0 0 30px 0; }
    .report-page-body .recommendation-container h4 {
      margin-bottom: 30px;
      padding: 6px 6px 6px 12px;
      line-height: 1.2;
      border-left: 8px solid #cacaca; }
  .report-page-body h5 {
    color: var(--primary-color) !important;
    font-size: 1.28em !important;
    line-height: 1.2;
    padding: 6px 6px 6px 12px;
    margin-bottom: 30px;
    border-left: 8px solid #cacaca; }
  .report-page-body .category h3 {
    padding: 0; }
  .report-page-body .category .allele-container {
    border: 1px solid #cacaca;
    border-radius: 8px;
    padding: 18px;
    margin: 20px 0 0 0;
    page-break-inside: avoid; }
    .report-page-body .category .allele-container > div {
      padding-top: 6px; }
  .report-page-body .sub-category-header {
    padding-top: 20px; }
  .report-page-body .sub-category-details {
    padding-bottom: 30px; }
    .report-page-body .sub-category-details .gene {
      padding-bottom: 30px; }
  .report-page-body .header-prefix {
    font-size: 0.6em;
    color: #000000 !important;
    display: block;
    margin-bottom: 0.2em;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px; }
  @media print {
    .report-page-body .report-page-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      page-break-inside: avoid;
      margin-bottom: 0; } }
  .report-page-body .header .logo {
    width: 86px; }
    .report-page-body .header .logo img {
      width: 80px;
      border-radius: 10px; }
  .report-page-body .header .address {
    width: 70%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 0 10px 10px;
    font-size: 14px;
    line-height: 20px; }
  .report-page-body .line-1 {
    padding: 10px 0 0 0;
    font-family: var(--report-font, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif);
    font-size: 20px;
    font-weight: bold;
    line-height: 1em; }
  .report-page-body .line-2 {
    padding: 6px 0 0 0; }
  .report-page-body table.report-container {
    border: none;
    border-collapse: collapse;
    width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important; }
  .report-page-body .report-content {
    border: none;
    height: auto !important;
    width: 100% !important; }
  .report-page-body .report-header-cell {
    font-weight: normal; }
  .report-page-body .report-content-cell {
    height: auto !important;
    color: '#000000';
    width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important; }
  .report-page-body .main {
    height: auto !important;
    padding: 0 3em;
    width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important; }
  .report-page-body .report-footer-credit {
    text-align: center;
    font-size: 11px;
    color: var(--primary-color); }
  .report-page-body .report-footer-logo {
    text-align: center; }

.report-body {
  border: none;
  margin: 0;
  max-width: 100%;
  background: white;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

table {
  border: none; }

.print-overlay {
  display: none; }

.create-custom-recommendation-button,
.edit-custom-recommendation-button {
  margin: 20px 0; }

.report-viewer-sidebar-right a.btn {
  padding: 8px 10px; }

.font-size-selector-container {
  background: white;
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-top: 1rem; }
  .font-size-selector-container .font-size-selector-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem; }
  .font-size-selector-container label span {
    color: var(--primary-color, #3b82f6);
    margin-left: 4px; }
  .font-size-selector-container .font-size-labels {
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.02em; }
    .font-size-selector-container .font-size-labels span {
      width: 20%;
      text-align: center; }
      .font-size-selector-container .font-size-labels span:first-child {
        text-align: left; }
      .font-size-selector-container .font-size-labels span:last-child {
        text-align: right; }

#report-font-size-slider {
  width: 100%;
  cursor: pointer;
  height: 4px;
  background: #f3f4f6;
  border-radius: 999px;
  outline: none;
  -webkit-appearance: none; }
  #report-font-size-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: white;
    border: 2px solid var(--primary-color, #3b82f6);
    border-radius: 50%;
    cursor: pointer;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  #report-font-size-slider::-webkit-slider-thumb:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    background: #f9fafb; }

.report-options-card {
  padding: 1.25rem;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem; }
  .report-options-card .option-checkbox {
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    border: 1px solid #d1d5db;
    cursor: pointer; }
    .report-options-card .option-checkbox:checked {
      background-color: var(--primary-color);
      border-color: var(--primary-color); }
  .report-options-card .option-item {
    margin-bottom: 0; }

.theme-selector-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem; }
  .theme-selector-wrapper select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    background-color: white; }
    .theme-selector-wrapper select:focus {
      outline: none;
      border-color: var(--primary-color);
      ring: 1px solid var(--primary-color); }

@media screen {
  .section,
  .category,
  .cover-report-container,
  .cover-report-last-container {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 3in !important;
    padding-bottom: 1in !important;
    position: relative; }
    .section:last-child,
    .category:last-child,
    .cover-report-container:last-child,
    .cover-report-last-container:last-child {
      border-bottom: none;
      margin-bottom: 0 !important;
      padding-bottom: 0 !important; }
    .section::after,
    .category::after,
    .cover-report-container::after,
    .cover-report-last-container::after {
      content: '';
      position: absolute;
      bottom: -1.5in;
      left: -0.5in;
      right: -0.5in;
      height: 1px;
      background: rgba(0, 0, 0, 0.05); }
  body:not(.pdf-mode) .cover-report-logo {
    padding-bottom: 140px !important; } }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.devise-page {
  height: 100%; }
  .devise-page label {
    line-height: 1.1;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--primary-color); }
  @media screen and (min-width: 1200px) {
    .devise-page .devise-page-body {
      height: 100%;
      overflow: hidden; } }
  @media screen and (min-width: 640px) {
    .devise-page .devise-page-body {
      overflow: visible; } }
  .devise-page .devise-page-body #error_explanation {
    background: white;
    margin: 0 0 1em 0;
    color: #8a8a8a;
    padding: 1em;
    border-radius: 6px;
    border: 1px solid #cc0000; }
    .devise-page .devise-page-body #error_explanation ul {
      margin-bottom: 0; }
    .devise-page .devise-page-body #error_explanation h5 {
      text-align: left;
      width: 100%;
      color: #000000;
      margin-bottom: 10px; }
  .devise-page .devise-page-body .page-background {
    background: url(/assets/devise-background.jpg) center center no-repeat;
    -webkit-background-size: cover;
            background-size: cover;
    -webkit-filter: blur(2.2rem) hue-rotate(-175deg) brightness(0.9) opacity(0.4);
            filter: blur(2.2rem) hue-rotate(-175deg) brightness(0.9) opacity(0.4);
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: -1;
    overflow: hidden; }
    @media screen and (min-width: 1200px) {
      .devise-page .devise-page-body .page-background {
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2); } }
    @media screen and (min-width: 640px) {
      .devise-page .devise-page-body .page-background {
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1); } }
  .devise-page .devise-page-body .form-container {
    height: 100%;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .devise-page .devise-page-body.action-create.controller-devise-users-registrations .form-container, .devise-page .devise-page-body.action-create.controller-devise-registrations .form-container, .devise-page .devise-page-body.action-new.controller-devise-registrations .form-container, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .form-container, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .form-container {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left {
    background: url(/assets/sign-up-background.jpg) center center no-repeat; }
    .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left .sign-up-frame {
      background: -webkit-linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      background: linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      -webkit-filter: hue-rotate(-21deg);
              filter: hue-rotate(-21deg);
      padding: 20px 30px; }
      @media screen and (min-width: 1200px) {
        .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left .sign-up-frame {
          padding: 40px 60px; } }
      .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left .sign-up-frame .logo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left h2, .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left h2, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left h2, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left h5, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left h2, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left h2, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left h5 {
      color: white;
      line-height: 1.3em; }
    .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left h5, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left h5 {
      margin-bottom: 30px; }
    .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .left p, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .left p, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .left p, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .left p, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .left p {
      color: white; }
  .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .card.sign-up-container, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .card.sign-up-container, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .card.sign-up-container, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .card.sign-up-container, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .card.sign-up-container {
    padding: 0;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0 30px 50px -10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 30px 50px -10px rgba(0, 0, 0, 0.2);
    border: none; }
    .devise-page .devise-page-body.action-create.controller-devise-users-registrations .container .card.sign-up-container > .grid-x, .devise-page .devise-page-body.action-create.controller-devise-registrations .container .card.sign-up-container > .grid-x, .devise-page .devise-page-body.action-new.controller-devise-registrations .container .card.sign-up-container > .grid-x, .devise-page .devise-page-body.action-edit.controller-devise-users-registrations .container .card.sign-up-container > .grid-x, .devise-page .devise-page-body.action-new.controller-devise-users-registrations .container .card.sign-up-container > .grid-x {
      min-height: 62vh; }
  .devise-page .devise-page-body.action-new.controller-devise-passwords .form-container, .devise-page .devise-page-body.action-create.controller-devise-passwords .form-container, .devise-page .devise-page-body.action-edit.controller-devise-passwords .form-container, .devise-page .devise-page-body.action-create.controller-devise-sessions .form-container, .devise-page .devise-page-body.action-new.controller-devise-sessions .form-container {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left {
    background: url(/assets/sign-in-background.jpg) center center no-repeat; }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left .sign-up-frame {
      background: -webkit-linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      background: linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      -webkit-filter: hue-rotate(-21deg);
              filter: hue-rotate(-21deg);
      padding: 20px 20px 10px 20px; }
      @media screen and (min-width: 1200px) {
        .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left .sign-up-frame, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left .sign-up-frame, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left .sign-up-frame {
          padding: 40px 60px; } }
      .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left .sign-up-frame .logo, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left .sign-up-frame .logo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left h2, .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left h2, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left h2, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left h2, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left h2, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left h5 {
      color: white;
      line-height: 1.1em; }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left h5, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left h5, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left h5 {
      margin-bottom: 30px; }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .left p, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .left p, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .left p, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .left p, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .left p {
      color: white; }
  .devise-page .devise-page-body.action-new.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .card.sign-in-container, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .card.sign-in-container {
    padding: 0;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0 30px 50px -10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 30px 50px -10px rgba(0, 0, 0, 0.2);
    border: none;
    min-width: 0;
    max-width: 100%;
    margin-bottom: 0; }
    @media screen and (min-width: 1200px) {
      .devise-page .devise-page-body.action-new.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .card.sign-in-container, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .card.sign-in-container, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .card.sign-in-container {
        max-width: 60%;
        min-width: 900px; } }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .card.sign-in-container > .grid-x, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .card.sign-in-container > .grid-x, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .card.sign-in-container > .grid-x, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .card.sign-in-container > .grid-x, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .card.sign-in-container > .grid-x {
      min-height: 36vh; }
  .devise-page .devise-page-body.action-new.controller-devise-passwords .container .card.sign-in-container.glass-card, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .card.sign-in-container.glass-card, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .card.sign-in-container.glass-card, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .card.sign-in-container.glass-card, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .card.sign-in-container.glass-card {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    -webkit-box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37) !important;
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37) !important;
    border-radius: 16px !important;
    overflow: hidden; }
    .devise-page .devise-page-body.action-new.controller-devise-passwords .container .card.sign-in-container.glass-card .right, .devise-page .devise-page-body.action-create.controller-devise-passwords .container .card.sign-in-container.glass-card .right, .devise-page .devise-page-body.action-edit.controller-devise-passwords .container .card.sign-in-container.glass-card .right, .devise-page .devise-page-body.action-create.controller-devise-sessions .container .card.sign-in-container.glass-card .right, .devise-page .devise-page-body.action-new.controller-devise-sessions .container .card.sign-in-container.glass-card .right {
      background: rgba(255, 255, 255, 0.3) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important; }
  .devise-page .devise-page-body .container .left {
    background: url(/assets/sign-up-background.jpg) center center no-repeat; }
    .devise-page .devise-page-body .container .left .sign-up-frame {
      background: -webkit-linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      background: linear-gradient(45deg, rgba(107, 107, 210, 0.8), rgba(160, 160, 228, 0.8));
      -webkit-filter: hue-rotate(-21deg);
              filter: hue-rotate(-21deg);
      padding: 20px 20px 10px 20px;
      height: auto; }
      @media screen and (min-width: 1200px) {
        .devise-page .devise-page-body .container .left .sign-up-frame {
          padding: 40px 60px;
          height: 100%; } }
      .devise-page .devise-page-body .container .left .sign-up-frame .logo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    .devise-page .devise-page-body .container .left h2, .devise-page .devise-page-body .container .left h5 {
      color: white;
      line-height: 1.1em; }
    .devise-page .devise-page-body .container .left h5 {
      margin-bottom: 30px; }
    .devise-page .devise-page-body .container .left p {
      color: white;
      font-size: 0.8rem; }
  .devise-page .devise-page-body .container .right {
    background: transparent !important; }
    .devise-page .devise-page-body .container .right .container-item {
      padding: 20px 20px 10px 20px;
      background: transparent !important; }
      @media screen and (min-width: 1200px) {
        .devise-page .devise-page-body .container .right .container-item {
          padding: 60px 60px 40px 60px; } }
    .devise-page .devise-page-body .container .right h5 {
      color: var(--primary-color);
      text-align: center;
      width: 80%;
      margin: auto auto 30px auto; }
    .devise-page .devise-page-body .container .right .tabs {
      border: none;
      border-bottom: 1px solid var(--primary-color);
      text-align: center; }
      .devise-page .devise-page-body .container .right .tabs li.is-active a {
        color: var(--primary-color);
        border: 1px solid var(--primary-color);
        border-radius: 4px 4px 0 0;
        border-bottom: 3px solid white; }
        .devise-page .devise-page-body .container .right .tabs li.is-active a:hover, .devise-page .devise-page-body .container .right .tabs li.is-active a:focus {
          border-bottom: 3px solid white;
          outline: 0;
          background: transparent;
          color: var(--primary-color); }
      .devise-page .devise-page-body .container .right .tabs li {
        outline: none;
        margin-bottom: -1px;
        margin-left: 4px;
        float: none !important;
        display: inline-block; }
        .devise-page .devise-page-body .container .right .tabs li a {
          color: #cacaca;
          outline: 0;
          border: 1px solid white;
          border-bottom: 3px solid transparent; }
          .devise-page .devise-page-body .container .right .tabs li a:hover, .devise-page .devise-page-body .container .right .tabs li a:focus {
            border-bottom: 3px solid transparent;
            outline: 0;
            background: transparent;
            color: #8a8a8a; }
    @media screen and (min-width: 640px) {
      .devise-page .devise-page-body .container .right .tabs-title > a {
        padding: 0.8rem 1rem; } }
    .devise-page .devise-page-body .container .right .tabs-panel {
      padding: 1em 0 0 0; }
  .devise-page .devise-page-body .container header {
    margin: 0;
    width: 100%; }
  .devise-page .devise-page-body .container .container-item {
    width: 100%; }
  .devise-page .devise-page-body .container .container-actions {
    margin-top: rem-calc(40); }
  .devise-page .devise-page-body .container #generx-logo {
    max-width: 130px; }
    @media screen and (min-width: 1200px) {
      .devise-page .devise-page-body .container #generx-logo {
        max-width: 200px; } }
.devise-page-body .card.glass-card,
.devise-page-body .card.sign-in-container.glass-card,
body.devise-page-body .card.glass-card,
body.devise-page-body .card.sign-in-container.glass-card {
  background: rgba(255, 255, 255, 0.5) !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  -webkit-box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37), inset 0 1px 0 0 rgba(255, 255, 255, 0.6) !important;
          box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37), inset 0 1px 0 0 rgba(255, 255, 255, 0.6) !important;
  border-radius: 16px !important;
  overflow: hidden; }
  .devise-page-body .card.glass-card .right,
  .devise-page-body .card.sign-in-container.glass-card .right,
  body.devise-page-body .card.glass-card .right,
  body.devise-page-body .card.sign-in-container.glass-card .right {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="url"],
input[type="date"],
input[type="color"],
select,
textarea,
.form-control {
  width: 100%;
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 1rem 0.7rem !important;
  font-size: 1rem;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  background: #ffffff;
  color: #374151; }
  input[type="text"]:hover,
  input[type="email"]:hover,
  input[type="tel"]:hover,
  input[type="number"]:hover,
  input[type="password"]:hover,
  input[type="url"]:hover,
  input[type="date"]:hover,
  input[type="color"]:hover,
  select:hover,
  textarea:hover,
  .form-control:hover {
    border-color: #d1d5db !important; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="url"]:focus,
  input[type="date"]:focus,
  input[type="color"]:focus,
  select:focus,
  textarea:focus,
  .form-control:focus {
    outline: none;
    border-color: #3b82f6 !important;
    -webkit-box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); }
  input[type="text"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder, input[type="color"]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder, .form-control::-webkit-input-placeholder {
    color: #9ca3af; }
  input[type="text"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="date"]::-moz-placeholder, input[type="color"]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .form-control::-moz-placeholder {
    color: #9ca3af; }
  input[type="text"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="date"]:-ms-input-placeholder, input[type="color"]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder, .form-control:-ms-input-placeholder {
    color: #9ca3af; }
  input[type="text"]::-ms-input-placeholder, input[type="email"]::-ms-input-placeholder, input[type="tel"]::-ms-input-placeholder, input[type="number"]::-ms-input-placeholder, input[type="password"]::-ms-input-placeholder, input[type="url"]::-ms-input-placeholder, input[type="date"]::-ms-input-placeholder, input[type="color"]::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder, .form-control::-ms-input-placeholder {
    color: #9ca3af; }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="number"]::placeholder,
  input[type="password"]::placeholder,
  input[type="url"]::placeholder,
  input[type="date"]::placeholder,
  input[type="color"]::placeholder,
  select::placeholder,
  textarea::placeholder,
  .form-control::placeholder {
    color: #9ca3af; }

select,
select.form-control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23374151' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  padding-right: 3rem !important;
  cursor: pointer; }

textarea,
textarea.form-control {
  min-height: 120px;
  resize: vertical; }

input.toggle-checkbox[type="checkbox"],
.toggle-checkbox {
  position: relative !important;
  width: 44px !important;
  height: 24px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: #d1d5db !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  -webkit-transition: all 0.2s ease !important;
  transition: all 0.2s ease !important;
  -webkit-flex-shrink: 0 !important;
      -ms-flex-negative: 0 !important;
          flex-shrink: 0 !important;
  margin: 0 !important;
  -webkit-align-self: center !important;
      -ms-flex-item-align: center !important;
          align-self: center !important;
  border: none !important;
  padding: 0 !important; }
  input.toggle-checkbox[type="checkbox"]:checked,
  .toggle-checkbox:checked {
    background: #3b82f6 !important; }
  input.toggle-checkbox[type="checkbox"]:before,
  .toggle-checkbox:before {
    content: '' !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 20px !important;
    height: 20px !important;
    background: white !important;
    border-radius: 50% !important;
    -webkit-transition: all 0.2s ease !important;
    transition: all 0.2s ease !important;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; }
  input.toggle-checkbox[type="checkbox"]:checked:before,
  .toggle-checkbox:checked:before {
    -webkit-transform: translateX(20px) !important;
        -ms-transform: translateX(20px) !important;
            transform: translateX(20px) !important; }
  input.toggle-checkbox[type="checkbox"]:focus,
  .toggle-checkbox:focus {
    outline: none !important;
    -webkit-box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important; }

.toggle-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem; }
  .toggle-item label {
    margin: 0;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 1.5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }

.toggle-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem; }

label {
  line-height: 1.2;
  font-size: 14px;
  font-weight: bold;
  text-transform: none;
  color: var(--primary-color);
  padding: 0; }

.table-search-header {
  margin-bottom: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .table-search-header .search-form {
    width: 100%;
    max-width: 400px; }
  .table-search-header .search-input-group {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .table-search-header .search-input-group .search-input {
      width: 100%;
      padding: 0.75rem 3rem 0.75rem 1.25rem !important;
      border-radius: 9999px !important;
      border: 2px solid #e5e7eb !important;
      background: white;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease;
      height: 44px;
      font-size: 0.95rem; }
      .table-search-header .search-input-group .search-input:focus {
        border-color: var(--primary-color) !important;
        -webkit-box-shadow: 0 0 0 3px rgba(23, 121, 186, 0.1);
                box-shadow: 0 0 0 3px rgba(23, 121, 186, 0.1);
        outline: none; }
    .table-search-header .search-input-group .btn-search {
      position: absolute;
      right: 5px;
      background: var(--primary-color);
      color: white;
      border: none;
      border-radius: 50%;
      width: 34px;
      height: 34px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      cursor: pointer;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease;
      padding: 0;
      z-index: 2; }
      .table-search-header .search-input-group .btn-search:hover {
        background: #115b8d;
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05); }
      .table-search-header .search-input-group .btn-search svg {
        width: 18px;
        height: 18px; }

.form-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 1rem; }
  .form-group label:has(input[type="checkbox"]) {
    width: auto !important;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem; }

.form-group label {
  width: 150px !important;
  display: inline-block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  .form-group label input[type="checkbox"] {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }

input[type="file"],
input.form-control[type="file"] {
  border: none !important;
  border-color: none !important;
  border-radius: 0 !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 4px 10px;
  width: 97%;
  font-size: 100%;
  background: transparent; }

.form-group.tight {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 !important; }
  .form-group.tight label {
    width: auto !important;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem; }

.form-group.rich-text-editor {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0 !important; }
  .form-group.rich-text-editor label {
    width: auto !important;
    margin-bottom: 0.5rem; }

.form-group.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .form-group.flex-col label {
    width: auto !important;
    margin-bottom: 0.5rem; }

.form-group {
  margin-bottom: 10px; }
  .form-group.grid-x {
    gap: 10px !important; }
    .form-group.grid-x.sub-category {
      gap: 20px !important; }

.form-group-section {
  margin: 30px 0; }
  .form-group-section h6 {
    margin: 0 0 30px 0; }

.form-actions {
  margin: 40px 0 0 0; }

.invalid-feedback {
  font-weight: bold;
  color: #ff0000; }

:root {
  --primary-color: #1779ba;
  --secondary-color: #767676;
  --success-color: #3adb76;
  --warning-color: #ffae00;
  --alert-color: #cc4b37;
  --black: #000000;
  --dark-gray: #8a8a8a;
  --medium-gray: #cacaca;
  --light-gray: #e6e6e6;
  --white: #fefefe;
  --body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --header-font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  /* Light weight to match PDF */ }

h3 {
  padding-bottom: 0;
  color: #444444; }

h4 {
  font-weight: 400; }

h5 {
  font-size: 1.25rem !important;
  margin-bottom: 3px; }

h6 {
  margin-bottom: 40px; }

.page-content h3.page-title {
  margin-top: 0;
  margin-bottom: 0; }

.page-content h6.page-subtitle {
  margin-top: 0;
  margin-bottom: 0;
  color: #8a8a8a;
  font-weight: 400; }

p, body, div {
  font-family: 'Outfit', sans-serif; }

body .nav-container,
body .grid-container,
body .main-content {
  -webkit-transition: -webkit-filter 0.5s ease-in-out;
  transition: -webkit-filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out;
  transition: filter 0.5s ease-in-out, -webkit-filter 0.5s ease-in-out; }

body.overlay-active .nav-container {
  -webkit-filter: blur(3px);
          filter: blur(3px); }

body.overlay-active .grid-container {
  -webkit-filter: blur(3px);
          filter: blur(3px); }

body.overlay-active .main-content {
  -webkit-filter: blur(3px);
          filter: blur(3px); }

.section-help {
  border: 1px solid #e3e3e3;
  border-radius: 6px;
  padding: 3px; }

.folded-form {
  padding: 40px;
  margin: 0 0 40px 0;
  border-radius: 30px;
  -webkit-box-shadow: 20px 40px 40px -36px rgba(0, 0, 0, 0.1);
          box-shadow: 20px 40px 40px -36px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.1); }

.card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 2rem;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
  .card.glass-card {
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    -webkit-box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37), inset 0 1px 0 0 rgba(255, 255, 255, 0.6) !important;
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37), inset 0 1px 0 0 rgba(255, 255, 255, 0.6) !important;
    border-radius: 16px !important; }
    .card.glass-card .right {
      background: rgba(255, 255, 255, 0.15) !important;
      backdrop-filter: blur(20px) !important;
      -webkit-backdrop-filter: blur(20px) !important; }

.card.compact {
  padding: .75rem; }

table.table {
  overflow: hidden; }
  table.table td {
    padding: 1em; }
  table.table thead tr {
    height: 60px;
    background: #ffffff; }

.form-group.rich-text-editor {
  height: 260px;
  margin-bottom: 20px;
  max-width: 100%; }

.pagination-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2rem 0;
  width: 100%; }
  .pagination-container nav.pagination, .pagination-container ul.pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0.5rem; }
    .pagination-container nav.pagination span.page, .pagination-container nav.pagination span.first, .pagination-container nav.pagination span.prev, .pagination-container nav.pagination span.next, .pagination-container nav.pagination span.last, .pagination-container nav.pagination li, .pagination-container ul.pagination span.page, .pagination-container ul.pagination span.first, .pagination-container ul.pagination span.prev, .pagination-container ul.pagination span.next, .pagination-container ul.pagination span.last, .pagination-container ul.pagination li {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .pagination-container nav.pagination span.page a, .pagination-container nav.pagination span.page span, .pagination-container nav.pagination span.page button, .pagination-container nav.pagination span.first a, .pagination-container nav.pagination span.first span, .pagination-container nav.pagination span.first button, .pagination-container nav.pagination span.prev a, .pagination-container nav.pagination span.prev span, .pagination-container nav.pagination span.prev button, .pagination-container nav.pagination span.next a, .pagination-container nav.pagination span.next span, .pagination-container nav.pagination span.next button, .pagination-container nav.pagination span.last a, .pagination-container nav.pagination span.last span, .pagination-container nav.pagination span.last button, .pagination-container nav.pagination li a, .pagination-container nav.pagination li span, .pagination-container nav.pagination li button, .pagination-container ul.pagination span.page a, .pagination-container ul.pagination span.page span, .pagination-container ul.pagination span.page button, .pagination-container ul.pagination span.first a, .pagination-container ul.pagination span.first span, .pagination-container ul.pagination span.first button, .pagination-container ul.pagination span.prev a, .pagination-container ul.pagination span.prev span, .pagination-container ul.pagination span.prev button, .pagination-container ul.pagination span.next a, .pagination-container ul.pagination span.next span, .pagination-container ul.pagination span.next button, .pagination-container ul.pagination span.last a, .pagination-container ul.pagination span.last span, .pagination-container ul.pagination span.last button, .pagination-container ul.pagination li a, .pagination-container ul.pagination li span, .pagination-container ul.pagination li button {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0.5rem 1rem;
        min-width: 2.5rem;
        height: 2.5rem;
        border: 1px solid var(--medium-gray);
        border-radius: 8px;
        color: var(--primary-color);
        text-decoration: none;
        -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        background: white;
        font-weight: 500;
        font-size: 0.9rem; }
        .pagination-container nav.pagination span.page a:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.page span:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.page button:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.first a:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.first span:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.first button:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.prev a:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.prev span:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.prev button:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.next a:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.next span:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.next button:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.last a:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.last span:hover:not(.current):not(:disabled), .pagination-container nav.pagination span.last button:hover:not(.current):not(:disabled), .pagination-container nav.pagination li a:hover:not(.current):not(:disabled), .pagination-container nav.pagination li span:hover:not(.current):not(:disabled), .pagination-container nav.pagination li button:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.page a:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.page span:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.page button:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.first a:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.first span:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.first button:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.prev a:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.prev span:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.prev button:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.next a:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.next span:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.next button:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.last a:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.last span:hover:not(.current):not(:disabled), .pagination-container ul.pagination span.last button:hover:not(.current):not(:disabled), .pagination-container ul.pagination li a:hover:not(.current):not(:disabled), .pagination-container ul.pagination li span:hover:not(.current):not(:disabled), .pagination-container ul.pagination li button:hover:not(.current):not(:disabled) {
          background: var(--light-gray);
          border-color: var(--dark-gray);
          -webkit-transform: translateY(-1px);
              -ms-transform: translateY(-1px);
                  transform: translateY(-1px);
          -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
                  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }
      .pagination-container nav.pagination span.page.current.page, .pagination-container nav.pagination span.page.current.first, .pagination-container nav.pagination span.page.current.prev, .pagination-container nav.pagination span.page.current.next, .pagination-container nav.pagination span.page.current.last, .pagination-container nav.pagination span.page.active.page, .pagination-container nav.pagination span.page.active.first, .pagination-container nav.pagination span.page.active.prev, .pagination-container nav.pagination span.page.active.next, .pagination-container nav.pagination span.page.active.last, .pagination-container nav.pagination span.first.current.page, .pagination-container nav.pagination span.first.current.first, .pagination-container nav.pagination span.first.current.prev, .pagination-container nav.pagination span.first.current.next, .pagination-container nav.pagination span.first.current.last, .pagination-container nav.pagination span.first.active.page, .pagination-container nav.pagination span.first.active.first, .pagination-container nav.pagination span.first.active.prev, .pagination-container nav.pagination span.first.active.next, .pagination-container nav.pagination span.first.active.last, .pagination-container nav.pagination span.prev.current.page, .pagination-container nav.pagination span.prev.current.first, .pagination-container nav.pagination span.prev.current.prev, .pagination-container nav.pagination span.prev.current.next, .pagination-container nav.pagination span.prev.current.last, .pagination-container nav.pagination span.prev.active.page, .pagination-container nav.pagination span.prev.active.first, .pagination-container nav.pagination span.prev.active.prev, .pagination-container nav.pagination span.prev.active.next, .pagination-container nav.pagination span.prev.active.last, .pagination-container nav.pagination span.next.current.page, .pagination-container nav.pagination span.next.current.first, .pagination-container nav.pagination span.next.current.prev, .pagination-container nav.pagination span.next.current.next, .pagination-container nav.pagination span.next.current.last, .pagination-container nav.pagination span.next.active.page, .pagination-container nav.pagination span.next.active.first, .pagination-container nav.pagination span.next.active.prev, .pagination-container nav.pagination span.next.active.next, .pagination-container nav.pagination span.next.active.last, .pagination-container nav.pagination span.last.current.page, .pagination-container nav.pagination span.last.current.first, .pagination-container nav.pagination span.last.current.prev, .pagination-container nav.pagination span.last.current.next, .pagination-container nav.pagination span.last.current.last, .pagination-container nav.pagination span.last.active.page, .pagination-container nav.pagination span.last.active.first, .pagination-container nav.pagination span.last.active.prev, .pagination-container nav.pagination span.last.active.next, .pagination-container nav.pagination span.last.active.last, .pagination-container nav.pagination li.current.page, .pagination-container nav.pagination li.current.first, .pagination-container nav.pagination li.current.prev, .pagination-container nav.pagination li.current.next, .pagination-container nav.pagination li.current.last, .pagination-container nav.pagination li.active.page, .pagination-container nav.pagination li.active.first, .pagination-container nav.pagination li.active.prev, .pagination-container nav.pagination li.active.next, .pagination-container nav.pagination li.active.last, .pagination-container ul.pagination span.page.current.page, .pagination-container ul.pagination span.page.current.first, .pagination-container ul.pagination span.page.current.prev, .pagination-container ul.pagination span.page.current.next, .pagination-container ul.pagination span.page.current.last, .pagination-container ul.pagination span.page.active.page, .pagination-container ul.pagination span.page.active.first, .pagination-container ul.pagination span.page.active.prev, .pagination-container ul.pagination span.page.active.next, .pagination-container ul.pagination span.page.active.last, .pagination-container ul.pagination span.first.current.page, .pagination-container ul.pagination span.first.current.first, .pagination-container ul.pagination span.first.current.prev, .pagination-container ul.pagination span.first.current.next, .pagination-container ul.pagination span.first.current.last, .pagination-container ul.pagination span.first.active.page, .pagination-container ul.pagination span.first.active.first, .pagination-container ul.pagination span.first.active.prev, .pagination-container ul.pagination span.first.active.next, .pagination-container ul.pagination span.first.active.last, .pagination-container ul.pagination span.prev.current.page, .pagination-container ul.pagination span.prev.current.first, .pagination-container ul.pagination span.prev.current.prev, .pagination-container ul.pagination span.prev.current.next, .pagination-container ul.pagination span.prev.current.last, .pagination-container ul.pagination span.prev.active.page, .pagination-container ul.pagination span.prev.active.first, .pagination-container ul.pagination span.prev.active.prev, .pagination-container ul.pagination span.prev.active.next, .pagination-container ul.pagination span.prev.active.last, .pagination-container ul.pagination span.next.current.page, .pagination-container ul.pagination span.next.current.first, .pagination-container ul.pagination span.next.current.prev, .pagination-container ul.pagination span.next.current.next, .pagination-container ul.pagination span.next.current.last, .pagination-container ul.pagination span.next.active.page, .pagination-container ul.pagination span.next.active.first, .pagination-container ul.pagination span.next.active.prev, .pagination-container ul.pagination span.next.active.next, .pagination-container ul.pagination span.next.active.last, .pagination-container ul.pagination span.last.current.page, .pagination-container ul.pagination span.last.current.first, .pagination-container ul.pagination span.last.current.prev, .pagination-container ul.pagination span.last.current.next, .pagination-container ul.pagination span.last.current.last, .pagination-container ul.pagination span.last.active.page, .pagination-container ul.pagination span.last.active.first, .pagination-container ul.pagination span.last.active.prev, .pagination-container ul.pagination span.last.active.next, .pagination-container ul.pagination span.last.active.last, .pagination-container ul.pagination li.current.page, .pagination-container ul.pagination li.current.first, .pagination-container ul.pagination li.current.prev, .pagination-container ul.pagination li.current.next, .pagination-container ul.pagination li.current.last, .pagination-container ul.pagination li.active.page, .pagination-container ul.pagination li.active.first, .pagination-container ul.pagination li.active.prev, .pagination-container ul.pagination li.active.next, .pagination-container ul.pagination li.active.last {
        background: var(--primary-color);
        color: white;
        border: 1px solid var(--primary-color);
        border-radius: 8px;
        padding: 0.5rem 1rem;
        min-width: 2.5rem;
        height: 2.5rem;
        font-weight: 700;
        -webkit-box-shadow: 0 4px 14px 0 rgba(23, 121, 186, 0.39);
                box-shadow: 0 4px 14px 0 rgba(23, 121, 186, 0.39);
        cursor: default;
        z-index: 1; }
      .pagination-container nav.pagination span.page.current span, .pagination-container nav.pagination span.page.current a, .pagination-container nav.pagination span.page.active span, .pagination-container nav.pagination span.page.active a, .pagination-container nav.pagination span.first.current span, .pagination-container nav.pagination span.first.current a, .pagination-container nav.pagination span.first.active span, .pagination-container nav.pagination span.first.active a, .pagination-container nav.pagination span.prev.current span, .pagination-container nav.pagination span.prev.current a, .pagination-container nav.pagination span.prev.active span, .pagination-container nav.pagination span.prev.active a, .pagination-container nav.pagination span.next.current span, .pagination-container nav.pagination span.next.current a, .pagination-container nav.pagination span.next.active span, .pagination-container nav.pagination span.next.active a, .pagination-container nav.pagination span.last.current span, .pagination-container nav.pagination span.last.current a, .pagination-container nav.pagination span.last.active span, .pagination-container nav.pagination span.last.active a, .pagination-container nav.pagination li.current span, .pagination-container nav.pagination li.current a, .pagination-container nav.pagination li.active span, .pagination-container nav.pagination li.active a, .pagination-container ul.pagination span.page.current span, .pagination-container ul.pagination span.page.current a, .pagination-container ul.pagination span.page.active span, .pagination-container ul.pagination span.page.active a, .pagination-container ul.pagination span.first.current span, .pagination-container ul.pagination span.first.current a, .pagination-container ul.pagination span.first.active span, .pagination-container ul.pagination span.first.active a, .pagination-container ul.pagination span.prev.current span, .pagination-container ul.pagination span.prev.current a, .pagination-container ul.pagination span.prev.active span, .pagination-container ul.pagination span.prev.active a, .pagination-container ul.pagination span.next.current span, .pagination-container ul.pagination span.next.current a, .pagination-container ul.pagination span.next.active span, .pagination-container ul.pagination span.next.active a, .pagination-container ul.pagination span.last.current span, .pagination-container ul.pagination span.last.current a, .pagination-container ul.pagination span.last.active span, .pagination-container ul.pagination span.last.active a, .pagination-container ul.pagination li.current span, .pagination-container ul.pagination li.current a, .pagination-container ul.pagination li.active span, .pagination-container ul.pagination li.active a {
        background: var(--primary-color);
        color: white;
        border-color: var(--primary-color);
        font-weight: 700;
        -webkit-box-shadow: 0 4px 14px 0 rgba(23, 121, 186, 0.39);
                box-shadow: 0 4px 14px 0 rgba(23, 121, 186, 0.39);
        cursor: default; }
      .pagination-container nav.pagination span.page.disabled, .pagination-container nav.pagination span.first.disabled, .pagination-container nav.pagination span.prev.disabled, .pagination-container nav.pagination span.next.disabled, .pagination-container nav.pagination span.last.disabled, .pagination-container nav.pagination li.disabled, .pagination-container ul.pagination span.page.disabled, .pagination-container ul.pagination span.first.disabled, .pagination-container ul.pagination span.prev.disabled, .pagination-container ul.pagination span.next.disabled, .pagination-container ul.pagination span.last.disabled, .pagination-container ul.pagination li.disabled {
        opacity: 0.5; }
        .pagination-container nav.pagination span.page.disabled span, .pagination-container nav.pagination span.first.disabled span, .pagination-container nav.pagination span.prev.disabled span, .pagination-container nav.pagination span.next.disabled span, .pagination-container nav.pagination span.last.disabled span, .pagination-container nav.pagination li.disabled span, .pagination-container ul.pagination span.page.disabled span, .pagination-container ul.pagination span.first.disabled span, .pagination-container ul.pagination span.prev.disabled span, .pagination-container ul.pagination span.next.disabled span, .pagination-container ul.pagination span.last.disabled span, .pagination-container ul.pagination li.disabled span {
          color: var(--medium-gray);
          cursor: not-allowed;
          background: var(--light-gray); }
      .pagination-container nav.pagination span.page.gap span, .pagination-container nav.pagination span.first.gap span, .pagination-container nav.pagination span.prev.gap span, .pagination-container nav.pagination span.next.gap span, .pagination-container nav.pagination span.last.gap span, .pagination-container nav.pagination li.gap span, .pagination-container ul.pagination span.page.gap span, .pagination-container ul.pagination span.first.gap span, .pagination-container ul.pagination span.prev.gap span, .pagination-container ul.pagination span.next.gap span, .pagination-container ul.pagination span.last.gap span, .pagination-container ul.pagination li.gap span {
        border: none;
        background: none;
        padding: 0.5rem 0.25rem;
        color: var(--medium-gray);
        cursor: default;
        min-width: auto;
        height: auto; }

.container-float-controls {
  padding-bottom: 6em; }

.float-controls {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  padding: 1em 2em;
  -webkit-box-shadow: 0px 0px 20px -3px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 20px -3px rgba(0, 0, 0, 0.1); }

.warning {
  font-size: 90%;
  line-height: 1.5em;
  padding: 16px;
  border-radius: 6px;
  color: #ffffff;
  background: #cc0000; }
  .warning a {
    font-weight: bold;
    color: #ffffff;
    text-decoration: underline; }

.container .action-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .container .action-buttons .btn {
    margin-left: 0.5em; }

#error_explanation {
  background: #ffffff;
  color: #1f2937;
  padding: 1em;
  border: none;
  border-radius: 6px;
  margin-bottom: 0; }
  #error_explanation strong {
    color: #1f2937;
    font-weight: 700; }
  #error_explanation ul {
    margin-bottom: 0;
    color: #374151; }
  #error_explanation li {
    color: #374151; }

.pending-report-prompt,
.new-report-generated-prompt,
.no-gene-files-prompt {
  padding: 1em;
  color: #fff;
  background: var(--primary-color);
  border-radius: 6px; }
  .pending-report-prompt .prompt-actions,
  .new-report-generated-prompt .prompt-actions,
  .no-gene-files-prompt .prompt-actions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .pending-report-prompt h5,
  .new-report-generated-prompt h5,
  .no-gene-files-prompt h5 {
    font-family: 'Roboto', sans-serif; }
  .pending-report-prompt p,
  .new-report-generated-prompt p,
  .no-gene-files-prompt p {
    margin: 0; }

.new-report-generated-prompt {
  background: #3adb76;
  margin-bottom: 1em;
  border-color: #3adb76; }

.pending-report-prompt {
  background: #ffae00;
  margin-bottom: 1em;
  border-color: #ffae00; }

.quill_container {
  width: 100%; }

.settings-page {
  padding-top: 0rem;
  width: 850px !important; }
  .settings-page .settings-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem; }
    .settings-page .settings-quick-grid .settings-quick.card {
      display: grid;
      grid-template-rows: auto auto auto;
      -webkit-align-content: start;
          -ms-flex-line-pack: start;
              align-content: start;
      padding: 1.4rem 2rem;
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      text-decoration: none;
      color: #0f172a;
      margin-bottom: .5rem;
      -webkit-transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: transform .15s ease, border-color .15s ease;
      transition: transform .15s ease, border-color .15s ease, -webkit-transform .15s ease; }
      .settings-page .settings-quick-grid .settings-quick.card .sq-title {
        font-weight: 500;
        font-size: 1.2rem;
        margin: 0 0 .15rem 0;
        background: -webkit-gradient(linear, left top, right top, from(#28b782), color-stop(50%, #06b6d4), to(#089ee1));
        background: -webkit-linear-gradient(left, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        background: linear-gradient(90deg, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent; }
      .settings-page .settings-quick-grid .settings-quick.card .sq-sub {
        color: #64748b;
        font-size: 1rem;
        margin: .4rem 0 0 0; }
      .settings-page .settings-quick-grid .settings-quick.card .sq-divider {
        height: 1px;
        background: #e5e7eb;
        margin: .15rem 0; }
      .settings-page .settings-quick-grid .settings-quick.card:hover {
        -webkit-transform: translateY(-1px);
            -ms-transform: translateY(-1px);
                transform: translateY(-1px);
        border-color: #d1d5db; }
  .settings-page .settings-quick-grid-2x2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem; }
  .settings-page .settings-quick-grid-2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
    .settings-page .settings-quick-grid-2col .settings-quick.card, .settings-page .settings-quick-grid-2col .setting-item.card.compact {
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 1.4rem 2rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      height: 100%;
      text-decoration: none;
      color: #0f172a;
      -webkit-transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: transform .15s ease, border-color .15s ease;
      transition: transform .15s ease, border-color .15s ease, -webkit-transform .15s ease; }
      .settings-page .settings-quick-grid-2col .settings-quick.card .sq-title, .settings-page .settings-quick-grid-2col .setting-item.card.compact .sq-title {
        font-weight: 500;
        font-size: 1.2rem;
        margin: 0 0 .15rem 0;
        background: -webkit-gradient(linear, left top, right top, from(#28b782), color-stop(50%, #06b6d4), to(#089ee1));
        background: -webkit-linear-gradient(left, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        background: linear-gradient(90deg, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent; }
      .settings-page .settings-quick-grid-2col .settings-quick.card .sq-badge.action, .settings-page .settings-quick-grid-2col .setting-item.card.compact .sq-badge.action {
        font-size: .8rem;
        padding: 15px 50px;
        border-radius: 9999px;
        background: rgba(99, 102, 241, 0.12);
        color: #4f46e5;
        border: 1px solid rgba(79, 70, 229, 0.25);
        cursor: pointer;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease; }
        .settings-page .settings-quick-grid-2col .settings-quick.card .sq-badge.action:hover, .settings-page .settings-quick-grid-2col .setting-item.card.compact .sq-badge.action:hover {
          background: #4f46e5;
          color: white; }
      .settings-page .settings-quick-grid-2col .settings-quick.card p.muted, .settings-page .settings-quick-grid-2col .setting-item.card.compact p.muted {
        margin: 0 0 .5rem 0;
        color: #64748b;
        font-size: 1rem; }
      .settings-page .settings-quick-grid-2col .settings-quick.card .sq-sub, .settings-page .settings-quick-grid-2col .setting-item.card.compact .sq-sub {
        color: #64748b;
        font-size: 1rem;
        margin: .4rem 0 0 0; }
      .settings-page .settings-quick-grid-2col .settings-quick.card .sq-divider, .settings-page .settings-quick-grid-2col .setting-item.card.compact .sq-divider {
        height: 1px;
        background: #e5e7eb;
        margin: .5rem 0; }
      .settings-page .settings-quick-grid-2col .settings-quick.card .actions, .settings-page .settings-quick-grid-2col .setting-item.card.compact .actions {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin-top: auto; }
      .settings-page .settings-quick-grid-2col .settings-quick.card:hover, .settings-page .settings-quick-grid-2col .setting-item.card.compact:hover {
        -webkit-transform: translateY(-1px);
            -ms-transform: translateY(-1px);
                transform: translateY(-1px);
        border-color: #d1d5db; }
  .settings-page .settings-quick-grid-full {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem; }
    .settings-page .settings-quick-grid-full .settings-quick.card {
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 1.4rem 2rem;
      text-decoration: none;
      color: #0f172a;
      -webkit-transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: border-color .15s ease, -webkit-transform .15s ease;
      transition: transform .15s ease, border-color .15s ease;
      transition: transform .15s ease, border-color .15s ease, -webkit-transform .15s ease; }
      .settings-page .settings-quick-grid-full .settings-quick.card .sq-title {
        font-weight: 500;
        font-size: 1.2rem;
        margin: 0 0 .15rem 0;
        background: -webkit-gradient(linear, left top, right top, from(#28b782), color-stop(50%, #06b6d4), to(#089ee1));
        background: -webkit-linear-gradient(left, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        background: linear-gradient(90deg, #28b782 0%, #06b6d4 50%, #089ee1 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent; }
      .settings-page .settings-quick-grid-full .settings-quick.card .sq-sub {
        color: #64748b;
        font-size: 1rem;
        margin: .4rem 0 0 0; }
      .settings-page .settings-quick-grid-full .settings-quick.card .sq-divider {
        height: 1px;
        background: #e5e7eb;
        margin: .15rem 0; }
      .settings-page .settings-quick-grid-full .settings-quick.card:hover {
        -webkit-transform: translateY(-1px);
            -ms-transform: translateY(-1px);
                transform: translateY(-1px);
        border-color: #d1d5db; }
  .settings-page .settings-regenerate-full .setting-item.card.compact {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1.4rem 2rem; }
    .settings-page .settings-regenerate-full .setting-item.card.compact .sq-title {
      font-weight: 500;
      font-size: 1.2rem;
      margin: 0 0 .15rem 0;
      background: -webkit-gradient(linear, left top, right top, from(#28b782), color-stop(50%, #06b6d4), to(#089ee1));
      background: -webkit-linear-gradient(left, #28b782 0%, #06b6d4 50%, #089ee1 100%);
      background: linear-gradient(90deg, #28b782 0%, #06b6d4 50%, #089ee1 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent; }
    .settings-page .settings-regenerate-full .setting-item.card.compact .sq-badge.action {
      font-size: .8rem;
      padding: 15px 50px;
      border-radius: 9999px;
      background: rgba(99, 102, 241, 0.12);
      color: #4f46e5;
      border: 1px solid rgba(79, 70, 229, 0.25);
      cursor: pointer;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; }
      .settings-page .settings-regenerate-full .setting-item.card.compact .sq-badge.action:hover {
        background: #4f46e5;
        color: white; }
    .settings-page .settings-regenerate-full .setting-item.card.compact p.muted {
      margin: 0 0 .5rem 0;
      color: #64748b;
      font-size: 1rem; }
    .settings-page .settings-regenerate-full .setting-item.card.compact .sq-divider {
      height: 1px;
      background: #e5e7eb;
      margin: .5rem 0; }
    .settings-page .settings-regenerate-full .setting-item.card.compact .actions {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  @media (max-width: 920px) {
    .settings-page .settings-quick-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-page .settings-quick-grid-2x2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-page .settings-quick-grid-2col {
      grid-template-columns: 1fr; } }
.alertify-notifier {
  right: 40px !important;
  left: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  width: auto !important;
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-align: end !important;
  -webkit-align-items: flex-end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important; }

.alertify-notifier .ajs-message,
.alertify-notifier .ajs-message.ajs-visible,
.ajs-message.ajs-visible {
  border-radius: 9999px !important;
  padding: 1rem 1.5rem !important;
  border: none !important;
  color: white !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  font-weight: 500 !important;
  text-shadow: none !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  min-width: auto !important;
  max-width: none !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  right: 0 !important;
  left: auto !important;
  position: relative !important;
  text-align: left !important;
  display: inline-block !important; }

.alertify-notifier .ajs-message.ajs-success,
.alertify-notifier .ajs-message.ajs-success.ajs-visible,
.ajs-message.ajs-success.ajs-visible {
  background: -webkit-linear-gradient(315deg, #4a9b8a 0%, #60a5fa 100%) !important;
  background: linear-gradient(135deg, #4a9b8a 0%, #60a5fa 100%) !important;
  color: white !important; }

.alertify-notifier .ajs-message.ajs-error,
.alertify-notifier .ajs-message.ajs-error.ajs-visible,
.ajs-message.ajs-error.ajs-visible {
  background: -webkit-linear-gradient(315deg, #ef4444 0%, #dc2626 100%) !important;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: white !important; }

.alertify-notifier .ajs-message.ajs-warning,
.alertify-notifier .ajs-message.ajs-warning.ajs-visible,
.ajs-message.ajs-warning.ajs-visible {
  background: -webkit-linear-gradient(315deg, #f59e0b 0%, #d97706 100%) !important;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: white !important; }

.settings-page .sq-divider {
  display: block;
  width: 100%;
  height: 1px;
  background: #e5e7eb;
  margin: .5rem 0; }

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 3000; }

.modal {
  position: fixed;
  inset: 0;
  display: none;
  place-items: start center;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  padding-top: 8vh;
  z-index: 3001; }

.modal.open {
  display: grid; }

.modal-content {
  width: 92vw;
  max-width: 680px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0 0 12px 12px;
  -webkit-box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
          box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  -webkit-transform: translateY(-12px);
      -ms-transform: translateY(-12px);
          transform: translateY(-12px);
  opacity: 0;
  -webkit-transition: opacity .22s ease, -webkit-transform .22s ease;
  transition: opacity .22s ease, -webkit-transform .22s ease;
  transition: transform .22s ease, opacity .22s ease;
  transition: transform .22s ease, opacity .22s ease, -webkit-transform .22s ease; }

.modal.open .modal-content {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

.modal-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: .75rem 1rem;
  border-bottom: 1px solid #e5e7eb; }

.modal-body {
  padding: 1rem; }

.modal-close {
  background: transparent !important;
  border: none !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  font-weight: 200 !important;
  color: #9ca3af !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: color 0.2s ease !important;
  transition: color 0.2s ease !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  display: block !important; }
  .modal-close:hover {
    color: #374151 !important;
    background: transparent !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }

.modal .form-group label {
  text-transform: none !important;
  font-weight: 600;
  font-size: .9rem; }

.modal .form-group.rich-text-editor {
  height: 220px;
  margin-bottom: .5rem; }

.modal .ql-container {
  height: 150px !important; }

.ql-toolbar.ql-snow button,
.ql-toolbar.ql-snow .ql-picker-label,
.ql-toolbar.ql-snow .ql-picker-item {
  background: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border: none !important; }

.ql-toolbar.ql-snow button:hover,
.ql-toolbar.ql-snow .ql-picker-label:hover {
  background: rgba(0, 0, 0, 0.04) !important; }

.profile-section {
  margin-bottom: 1.5rem; }
  .profile-section h5 {
    margin: 0 0 1rem 0;
    font-size: 1.25rem !important;
    font-weight: 600;
    color: #374151; }
  .profile-section p {
    margin: 0 0 1rem 0;
    color: #6b7280;
    font-size: 0.9rem; }
  .profile-section label {
    display: block;
    margin-bottom: 0;
    font-weight: 600;
    color: #374151;
    font-size: 0.95rem; }

.logo-section .logo-display-compact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-top: 1rem; }
  .logo-section .logo-display-compact .logo-preview {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .logo-section .logo-display-compact .logo-preview .logo-image {
      border-radius: 8px;
      border: 2px solid #e5e7eb;
      -o-object-fit: cover;
         object-fit: cover; }
    .logo-section .logo-display-compact .logo-preview .logo-placeholder {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 80px;
      height: 80px;
      border: 2px dashed #d1d5db;
      border-radius: 8px;
      background: #f9fafb;
      color: #6b7280;
      font-size: 0.8rem;
      gap: 0.25rem; }
  .logo-section .logo-display-compact .logo-info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .logo-section .logo-display-compact .logo-info small {
      display: block;
      color: #6b7280;
      margin-bottom: 0.5rem; }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem; }
  @media (max-width: 768px) {
    .form-row {
      grid-template-columns: 1fr; } }
.form-actions {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  border-bottom: none !important; }

.error-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); }
  .error-card #error_explanation {
    color: #1f2937; }
    .error-card #error_explanation strong {
      font-weight: 700;
      color: #1f2937;
      font-size: 1rem;
      display: block;
      margin-bottom: 0.75rem; }
    .error-card #error_explanation ul {
      margin: 0;
      padding-left: 1.5rem;
      list-style: disc; }
    .error-card #error_explanation li {
      color: #374151;
      font-size: 0.9375rem;
      line-height: 1.75;
      margin-bottom: 0.375rem; }
      .error-card #error_explanation li:last-child {
        margin-bottom: 0; }

.report-wizard .wizard-header {
  padding: .25rem 0 .4rem 0;
  border-bottom: none;
  text-align: center; }

.report-wizard .wizard-header.compact {
  padding: .15rem 0 .35rem 0; }

.report-wizard .wizard-steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, -webkit-max-content);
  grid-template-columns: repeat(5, max-content);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: .4rem .75rem;
  margin: 0 auto;
  padding: 0;
  font-size: .9rem; }

.report-wizard .wizard-steps li {
  text-align: center;
  padding: .25rem 2rem;
  border-radius: 9999px;
  background: #f8fafc;
  color: #64748b;
  font-weight: 600; }

.report-wizard .wizard-steps li .sub {
  font-weight: 400;
  font-size: .7rem;
  color: #94a3b8; }

.report-wizard .wizard-steps li.active {
  background: #eef2ff;
  color: #4f46e5; }

.report-wizard .wizard-steps li.complete {
  background: #ecfdf5;
  color: #047857; }

.report-wizard .wizard-body {
  padding: 1.25rem; }

.report-wizard .wizard-grid {
  display: grid;
  grid-template-columns: minmax(0, 760px) 280px;
  gap: .25rem;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start; }

.report-wizard .wizard-grid.single {
  grid-template-columns: minmax(0, 840px);
  max-width: 840px;
  margin: 0 auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.report-wizard .wizard-grid .content.narrow {
  max-width: 720px;
  margin: 0 auto;
  text-align: center; }

.report-wizard .illustration.top-centered {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: .75rem; }

.report-wizard .illustration img.wizard-illustration {
  max-width: 100%;
  height: auto;
  border-radius: 12px; }

.report-wizard .wizard-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: .75rem;
  margin-top: 1rem; }

.report-wizard .wizard-actions.bottom-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.report-wizard .upload-gene-container.compact {
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none; }

.report-wizard .receipt {
  border: 1px solid #e5e7eb;
  border-radius: 8px 8px 0 0;
  padding: 1rem;
  background: #fff;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: relative;
  max-width: 320px;
  margin: 0 auto;
  font-family: 'Courier New', monospace; }

.report-wizard .receipt #receipt_patient {
  text-align: right; }

.report-wizard .receipt .row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: .25rem 0;
  font-size: 14px;
  line-height: 1.4; }

.report-wizard .receipt .divider {
  height: 1px;
  background: #333;
  margin: .75rem 0;
  border-top: 1px dashed #ccc; }

.report-wizard .receipt .total {
  font-weight: bold;
  font-size: 16px;
  border-top: 2px solid #333;
  padding-top: .5rem;
  margin-top: .5rem; }

.report-wizard .receipt .tear {
  height: 30px;
  background: #fff;
  position: relative;
  margin-top: 1rem;
  overflow: hidden; }

.report-wizard .receipt .tear::before {
  content: '';
  position: absolute;
  top: 0;
  left: -5px;
  right: -5px;
  height: 30px;
  background: -webkit-radial-gradient(0px 15px, circle, transparent 8px, #fff 8px), -webkit-radial-gradient(10px 5px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(20px 20px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(30px 8px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(40px 18px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(50px 3px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(60px 16px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(70px 6px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(80px 22px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(90px 4px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(100px 14px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(110px 1px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(120px 19px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(130px 7px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(140px 21px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(150px 2px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(160px 17px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(170px 9px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(180px 23px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(190px 5px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(200px 12px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(210px 25px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(220px 1px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(230px 15px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(240px 8px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(250px 20px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(260px 3px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(270px 18px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(280px 6px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(290px 22px, circle, transparent 7px, #fff 7px), -webkit-radial-gradient(300px 4px, circle, transparent 5px, #fff 5px), -webkit-radial-gradient(310px 16px, circle, transparent 6px, #fff 6px), -webkit-radial-gradient(320px 1px, circle, transparent 7px, #fff 7px);
  background: radial-gradient(circle at 0px 15px, transparent 8px, #fff 8px), radial-gradient(circle at 10px 5px, transparent 6px, #fff 6px), radial-gradient(circle at 20px 20px, transparent 7px, #fff 7px), radial-gradient(circle at 30px 8px, transparent 5px, #fff 5px), radial-gradient(circle at 40px 18px, transparent 6px, #fff 6px), radial-gradient(circle at 50px 3px, transparent 7px, #fff 7px), radial-gradient(circle at 60px 16px, transparent 5px, #fff 5px), radial-gradient(circle at 70px 6px, transparent 6px, #fff 6px), radial-gradient(circle at 80px 22px, transparent 7px, #fff 7px), radial-gradient(circle at 90px 4px, transparent 5px, #fff 5px), radial-gradient(circle at 100px 14px, transparent 6px, #fff 6px), radial-gradient(circle at 110px 1px, transparent 7px, #fff 7px), radial-gradient(circle at 120px 19px, transparent 5px, #fff 5px), radial-gradient(circle at 130px 7px, transparent 6px, #fff 6px), radial-gradient(circle at 140px 21px, transparent 7px, #fff 7px), radial-gradient(circle at 150px 2px, transparent 5px, #fff 5px), radial-gradient(circle at 160px 17px, transparent 6px, #fff 6px), radial-gradient(circle at 170px 9px, transparent 7px, #fff 7px), radial-gradient(circle at 180px 23px, transparent 5px, #fff 5px), radial-gradient(circle at 190px 5px, transparent 6px, #fff 6px), radial-gradient(circle at 200px 12px, transparent 7px, #fff 7px), radial-gradient(circle at 210px 25px, transparent 5px, #fff 5px), radial-gradient(circle at 220px 1px, transparent 6px, #fff 6px), radial-gradient(circle at 230px 15px, transparent 7px, #fff 7px), radial-gradient(circle at 240px 8px, transparent 5px, #fff 5px), radial-gradient(circle at 250px 20px, transparent 6px, #fff 6px), radial-gradient(circle at 260px 3px, transparent 7px, #fff 7px), radial-gradient(circle at 270px 18px, transparent 5px, #fff 5px), radial-gradient(circle at 280px 6px, transparent 6px, #fff 6px), radial-gradient(circle at 290px 22px, transparent 7px, #fff 7px), radial-gradient(circle at 300px 4px, transparent 5px, #fff 5px), radial-gradient(circle at 310px 16px, transparent 6px, #fff 6px), radial-gradient(circle at 320px 1px, transparent 7px, #fff 7px);
  -webkit-background-size: 10px 30px;
          background-size: 10px 30px;
  background-repeat: repeat-x; }

@media (max-width: 960px) {
  .report-wizard .wizard-grid {
    grid-template-columns: 1fr; } }

.report-wizard label {
  font-weight: 400;
  color: #0f172a; }

.report-wizard input[type="file"] {
  width: 100%; }

.report-wizard #file_upload_status_display {
  display: block;
  margin-top: .4rem;
  color: #64748b;
  font-size: .9rem; }

.report-wizard .wizard-note {
  background: #fff7ed;
  color: #7c2d12;
  border: 1px solid #fdba74;
  border-radius: 10px;
  padding: .85rem 1rem; }

.report-wizard .wizard-actions .btn {
  min-width: 140px;
  padding: 15px 50px; }

.report-wizard .wizard-actions .btn[disabled],
.report-wizard .wizard-actions .btn.disabled {
  cursor: not-allowed;
  opacity: .55;
  -webkit-filter: grayscale(60%);
          filter: grayscale(60%);
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  background: #9ca3af !important;
  background-image: none !important;
  pointer-events: none; }

.report-wizard .wizard-actions .btn[disabled]:hover,
.report-wizard .wizard-actions .btn.disabled:hover,
.report-wizard .wizard-actions .btn[disabled]:active,
.report-wizard .wizard-actions .btn.disabled:active,
.report-wizard .wizard-actions .btn[disabled]:focus,
.report-wizard .wizard-actions .btn.disabled:focus {
  background: #9ca3af !important;
  background-image: none !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.report-wizard .form-group.simple {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: .4rem;
  margin: 0 0 1rem 0; }

.report-wizard .form-group.simple label {
  font-size: .95rem; }

.report-wizard .form-group.simple .form-control {
  padding: .7rem .9rem;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  max-width: 520px;
  margin: 0 auto; }

.report-wizard .file-dropzone {
  max-width: 960px;
  min-width: 640px;
  margin: 0 auto;
  border: 2px dashed #cbd5e1;
  border-radius: 16px;
  padding: 1.25rem;
  min-height: 120px;
  background: #f8fafc;
  cursor: pointer;
  -webkit-transition: border-color .2s ease, background-color .2s ease;
  transition: border-color .2s ease, background-color .2s ease;
  text-align: center; }

.report-wizard .file-dropzone {
  position: relative;
  -webkit-transition: border-color .2s ease, background-color .2s ease, min-height .25s ease, padding .25s ease, height .25s ease, border-radius .25s ease;
  transition: border-color .2s ease, background-color .2s ease, min-height .25s ease, padding .25s ease, height .25s ease, border-radius .25s ease; }

.report-wizard .file-dropzone:hover, .report-wizard .file-dropzone:focus {
  border-color: #93c5fd;
  background: #f1f5f9;
  outline: none; }

.report-wizard .file-dropzone.active {
  border-color: #4f46e5;
  background: #eef2ff; }

.report-wizard .file-dropzone .dz-icon {
  color: #64748b;
  margin-bottom: .5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.report-wizard .file-dropzone .dz-icon svg {
  width: 56px;
  height: 56px;
  display: block;
  margin: 0 auto; }

.report-wizard .file-dropzone .dz-title {
  font-weight: 400;
  color: #0f172a;
  font-size: 1.05rem; }

.report-wizard .file-dropzone .dz-sub {
  display: none; }

.report-wizard .file-dropzone.uploading {
  height: 50px;
  min-height: 50px;
  padding: .25rem 1rem;
  border-color: #4f46e5;
  border-style: solid;
  background: #eef2ff;
  border-radius: 9999px;
  overflow: hidden; }

.report-wizard .file-dropzone.uploaded {
  height: 50px;
  min-height: 50px;
  padding: .25rem 1rem;
  border-color: #4f46e5;
  border-style: solid;
  background: #eef2ff;
  border-radius: 9999px;
  overflow: hidden; }

.report-wizard .file-dropzone .dz-content {
  -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: opacity .2s ease, transform .2s ease;
  transition: opacity .2s ease, transform .2s ease, -webkit-transform .2s ease; }

.report-wizard .file-dropzone.uploading .dz-content,
.report-wizard .file-dropzone.uploaded .dz-content {
  opacity: 0;
  -webkit-transform: translateY(-6px);
      -ms-transform: translateY(-6px);
          transform: translateY(-6px);
  pointer-events: none; }

.report-wizard .file-dropzone .upload-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0%;
  background: #6B6BD2;
  border-radius: 12px;
  opacity: 0;
  -webkit-transition: width .1s linear, opacity .2s ease, border-radius .25s ease;
  transition: width .1s linear, opacity .2s ease, border-radius .25s ease;
  will-change: width; }

.report-wizard .file-dropzone.uploading .upload-bar,
.report-wizard .file-dropzone.uploaded .upload-bar {
  opacity: 1;
  border-radius: 9999px; }

.report-wizard .file-dropzone .upload-label {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: .95rem;
  color: #fff;
  mix-blend-mode: normal;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease; }

.report-wizard .file-dropzone.uploading .upload-label {
  mix-blend-mode: difference; }

.report-wizard .file-dropzone.uploading .upload-label,
.report-wizard .file-dropzone.uploaded .upload-label {
  opacity: 1; }

.report-wizard .verification-progress {
  margin-top: 1rem; }

.report-wizard .verification-progress .progress-bar {
  width: 100%;
  height: 8px;
  background: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden; }

.report-wizard .verification-progress .progress-fill {
  height: 100%;
  background: #4f46e5;
  border-radius: 9999px;
  width: 0%;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
  -webkit-animation: verification-pulse 2s ease-in-out infinite;
          animation: verification-pulse 2s ease-in-out infinite; }

@-webkit-keyframes verification-pulse {
  0%, 100% {
    opacity: 1; }
  50% {
    opacity: 0.6; } }

@keyframes verification-pulse {
  0%, 100% {
    opacity: 1; }
  50% {
    opacity: 0.6; } }

.report-wizard .wizard-illustration {
  width: 840px;
  height: 220px;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  margin: 0 auto; }

.report-wizard .progress {
  position: relative;
  border-radius: 9999px;
  overflow: hidden;
  height: 10px;
  display: block;
  width: 100%;
  max-width: 520px;
  margin: .5rem auto 0 auto;
  background: #e5e7eb; }

.report-wizard .progress.active {
  display: block; }

.report-wizard .progress .bar {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 9999px;
  height: 100%;
  min-width: 2px;
  width: 0%;
  background: #6B6BD2;
  -webkit-transition: width .1s linear;
  transition: width .1s linear; }

.container {
  padding: 0;
  margin: 0;
  max-width: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  min-height: calc(100vh - 120px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .container.controller-pages, .container.controller-gene_files, .container.controller-genes, .container.controller-users, .container.controller-categories, .container.controller-recommendations, .container.controller-reports, .container.controller-devise_pages, .container.controller-sent_emails, .container.controller-dialog, .container.controller-categories, .container.controller-recommendations, .container.controller-content {
    padding: 0 3rem 2rem 3rem; }

.controller-gene_files.action-new .page-header .page-header-bar {
  margin-bottom: 1rem; }

.content-main > .container:not(.controller-reports) {
  margin-top: 2rem; }

.content-main > .container:is(.controller-reports) {
  margin-top: 1rem; }

.page-header {
  padding: 2rem 3rem 0 3rem; }
  .page-header .page-actions a.btn,
  .page-header .page-actions a.btn-primary,
  .page-header .page-actions a.btn-secondary,
  .page-header .page-actions a.btn-success,
  .page-header .page-actions a.btn-warning,
  .page-header .page-actions a.btn-danger {
    line-height: 1.6 !important; }
  .page-header .page-header-bar {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: .75rem; }
  .page-header .page-titles {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    min-width: 0; }
  .page-header .page-titles .page-title {
    margin: 0; }
  .page-header .page-titles .page-subtitle {
    margin-top: .25rem; }
  .page-header h3 {
    background: -webkit-gradient(linear, left top, right top, from(#11b0f7), to(#29bf88));
    background: -webkit-linear-gradient(left, #11b0f7 0%, #29bf88 100%);
    background: linear-gradient(90deg, #11b0f7 0%, #29bf88 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-weight: 800; }
  .page-header .page-actions {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: .5rem;
    margin-left: .75rem;
    vertical-align: middle; }
    .page-header .page-actions a.btn,
    .page-header .page-actions a.btn-warning,
    .page-header .page-actions a.btn-primary,
    .page-header .page-actions a.btn-secondary,
    .page-header .page-actions a.btn-success,
    .page-header .page-actions a.btn-danger {
      line-height: 1.6 !important; }
  .page-header .page-actions .btn {
    padding: 15px 50px;
    border-radius: 9999px; }

.report-wizard #wizard_patient_name {
  background-color: #e8f5f0;
  border: 2px solid #2d7d6b;
  border-radius: 8px;
  padding: 32px 20px;
  width: 650px;
  font-size: 18px;
  font-weight: 300;
  text-align: center;
  color: #1a5a4a;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  .report-wizard #wizard_patient_name:focus {
    outline: none;
    border-color: #1e6b5a;
    background-color: #f0f8f4;
    -webkit-box-shadow: 0 0 0 3px rgba(45, 125, 107, 0.1);
            box-shadow: 0 0 0 3px rgba(45, 125, 107, 0.1); }
  .report-wizard #wizard_patient_name::-webkit-input-placeholder {
    color: #6b8a82;
    font-weight: 400; }
  .report-wizard #wizard_patient_name::-moz-placeholder {
    color: #6b8a82;
    font-weight: 400; }
  .report-wizard #wizard_patient_name:-ms-input-placeholder {
    color: #6b8a82;
    font-weight: 400; }
  .report-wizard #wizard_patient_name::-ms-input-placeholder {
    color: #6b8a82;
    font-weight: 400; }
  .report-wizard #wizard_patient_name::placeholder {
    color: #6b8a82;
    font-weight: 400; }

@media (max-width: 768px) {
  .container {
    margin: 0.5rem;
    padding: 1rem;
    border-radius: 8px; } }

body.verify-modal-active {
  overflow: hidden; }
  body.verify-modal-active .main-content {
    pointer-events: none; }
  body.verify-modal-active .sidebar {
    pointer-events: none; }
  body.verify-modal-active .verify-modal-content {
    -webkit-filter: none !important;
            filter: none !important;
    opacity: 1 !important; }

.cropper-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: none;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 1; }
  .cropper-modal.active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .cropper-modal .cropper-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px); }
  .cropper-modal .cropper-modal-content {
    position: relative;
    background: white;
    border-radius: 12px;
    -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 700px;
    max-height: 90vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    z-index: 10001;
    opacity: 1; }
  .cropper-modal .cropper-modal-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 1.5rem;
    border-bottom: 1px solid #e5e7eb; }
    .cropper-modal .cropper-modal-header h4 {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 600;
      color: #111827; }
  .cropper-modal .cropper-modal-close {
    background: none !important;
    border: none !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    border-radius: 6px !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    -webkit-transition: all 0.2s ease !important;
    transition: all 0.2s ease !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important; }
    .cropper-modal .cropper-modal-close:hover {
      background: #f3f4f6 !important;
      color: #111827 !important;
      -webkit-transform: none !important;
          -ms-transform: none !important;
              transform: none !important;
      -webkit-box-shadow: none !important;
              box-shadow: none !important; }
  .cropper-modal .cropper-modal-body {
    padding: 1.5rem;
    overflow: auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .cropper-modal .cropper-modal-body img {
      display: block; }
  .cropper-modal .cropper-modal-footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.5rem;
    border-top: 1px solid #e5e7eb; }

.profile-dropdown .profile-trigger,
.profile-dropdown button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.profile-dropdown .profile-trigger:hover,
.profile-dropdown button.profile-trigger:hover,
.profile-dropdown:hover .profile-trigger,
.profile-dropdown:hover button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.profile-dropdown.open .profile-trigger,
.profile-dropdown.open button.profile-trigger,
.profile-dropdown.open .profile-trigger:hover,
.profile-dropdown.open button.profile-trigger:hover,
.profile-dropdown.open:hover .profile-trigger,
.profile-dropdown.open:hover button.profile-trigger {
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

a.btn,
a.btn-primary,
a.btn-secondary,
a.btn-success,
a.btn-warning,
a.btn-danger,
a[class*="btn"],
a[class^="btn"],
a[class$="btn"],
.page-header .page-actions a.btn,
.page-header .page-actions a.btn.btn-warning,
.page-header .page-actions a.btn.btn-primary,
.page-header .page-actions a.btn.btn-secondary,
.page-header .page-actions a.btn.btn-success,
.page-header .page-actions a.btn.btn-danger,
body .page-header .page-actions a.btn,
body .page-header .page-actions a.btn.btn-warning {
  line-height: 1.6 !important;
  display: -webkit-inline-box !important;
  display: -webkit-inline-flex !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
  -webkit-align-items: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  vertical-align: middle !important; }

button[class*="px-"],
a[class*="px-"][class*="py-"],
input[type="submit"][class*="px-"],
input[type="button"][class*="px-"] {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  button[class*="px-"]:hover,
  a[class*="px-"][class*="py-"]:hover,
  input[type="submit"][class*="px-"]:hover,
  input[type="button"][class*="px-"]:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  button[class*="px-"]:active,
  a[class*="px-"][class*="py-"]:active,
  input[type="submit"][class*="px-"]:active,
  input[type="button"][class*="px-"]:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

button.rounded-full,
a.rounded-full,
input.rounded-full[type="submit"] {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  button.rounded-full:hover,
  a.rounded-full:hover,
  input.rounded-full[type="submit"]:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important;
    -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important; }
  button.rounded-full:active,
  a.rounded-full:active,
  input.rounded-full[type="submit"]:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

.wizard-next,
.wizard-pay,
button[class*="wizard"] {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  .wizard-next:hover:not(:disabled),
  .wizard-pay:hover:not(:disabled),
  button[class*="wizard"]:hover:not(:disabled) {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  .wizard-next:active:not(:disabled),
  .wizard-pay:active:not(:disabled),
  button[class*="wizard"]:active:not(:disabled) {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

#cropper-cancel-btn,
#cropper-save-btn,
button[id*="cropper"] {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  #cropper-cancel-btn:hover,
  #cropper-save-btn:hover,
  button[id*="cropper"]:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  #cropper-cancel-btn:active,
  #cropper-save-btn:active,
  button[id*="cropper"]:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

.btn-failed-payment-ok {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  .btn-failed-payment-ok:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  .btn-failed-payment-ok:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

#gene-file-upload-submit-button,
#gene-file-upload-cancel-button {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  #gene-file-upload-submit-button:hover,
  #gene-file-upload-cancel-button:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  #gene-file-upload-submit-button:active,
  #gene-file-upload-cancel-button:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }

button[form="category-form"],
button[form="gene-form"],
button[form="recommendation-form"] {
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important; }
  button[form="category-form"]:hover,
  button[form="gene-form"]:hover,
  button[form="recommendation-form"]:hover {
    -webkit-transform: translateY(-2px) !important;
        -ms-transform: translateY(-2px) !important;
            transform: translateY(-2px) !important; }
  button[form="category-form"]:active,
  button[form="gene-form"]:active,
  button[form="recommendation-form"]:active {
    -webkit-transform: translateY(0) !important;
        -ms-transform: translateY(0) !important;
            transform: translateY(0) !important; }
