html, body, #root {
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* === General Styles === */
body {
  background-color: #fafdff !important;
}
@font-face {
  font-family: 'PowerGrotesk';
  src: url(fonts/PowerGrotesk-Regular.ttf) format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Base scrollbar setup (hidden by default) */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background: transparent;
  transition: background-color 0.3s ease;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:vertical,
::-webkit-scrollbar-thumb:horizontal {
  transition: background-color 0.3s ease-in-out;
}

/* Show scrollbars on hover */
*:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.32);
}

/* Firefox scrollbars hidden by default */
* {
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}

/* Show Firefox scrollbars on hover */
*:hover {
  scrollbar-color: rgba(0, 0, 0, 0.32) transparent;
}

/* ===== TOUCH DEVICE LOGIC ===== */
@media (hover: none) and (pointer: coarse) {
  /* Always show scrollbars on touch devices */
  ::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.32);
  }

  * {
    scrollbar-color: rgba(0, 0, 0, 0.32) transparent;
  }
}

/* ===== Optional smoothness for both directions ===== */
.scrollable {
  overflow: auto; /* enables both vertical and horizontal */
  -webkit-overflow-scrolling: touch; /* smooth on iOS */
  overscroll-behavior: contain;
}
/* tooltipAnimations.css */
@keyframes shake {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-6px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(-4px);
  }
  80% {
    transform: translateX(4px);
  }
  100% {
    transform: translateX(0);
  }
}

.shake-tooltip {
  animation: shake 0.6s ease-in-out;
}

@keyframes fadeSlideIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}

/*
 * react-circular-progressbar styles
 * All of the styles in this file are configurable!
 */

.CircularProgressbar {
  /*
   * This fixes an issue where the CircularProgressbar svg has
   * 0 width inside a "display: flex" container, and thus not visible.
   */
  width: 100%;
  /*
   * This fixes a centering issue with CircularProgressbarWithChildren:
   * https://github.com/kevinsqi/react-circular-progressbar/issues/94
   */
  vertical-align: middle;
}

.CircularProgressbar .CircularProgressbar-path {
  stroke: #3e98c7;
  stroke-linecap: round;
  -webkit-transition: stroke-dashoffset 0.5s ease 0s;
  transition: stroke-dashoffset 0.5s ease 0s;
}

.CircularProgressbar .CircularProgressbar-trail {
  stroke: #d6d6d6;
  /* Used when trail is not full diameter, i.e. when props.circleRatio is set */
  stroke-linecap: round;
}

.CircularProgressbar .CircularProgressbar-text {
  fill: #3e98c7;
  font-size: 20px;
  dominant-baseline: middle;
  text-anchor: middle;
}

.CircularProgressbar .CircularProgressbar-background {
  fill: #d6d6d6;
}

/*
 * Sample background styles. Use these with e.g.:
 *
 *   <CircularProgressbar
 *     className="CircularProgressbar-inverted"
 *     background
 *     percentage={50}
 *   />
 */
.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background {
  fill: #3e98c7;
}

.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text {
  fill: #fff;
}

.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path {
  stroke: #fff;
}

.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail {
  stroke: transparent;
}


/*# sourceMappingURL=main.css.map*/