.ct-label {
  fill: rgb(17, 24, 39);
  color: rgb(17, 24, 39);
  font-size: 0.75rem;
  line-height: 1;
}

.dark .ct-label {
  fill: rgb(255, 255, 255);
  color: rgb(255, 255, 255);
}

.ct-chart-bar .ct-label,
.ct-chart-line .ct-label {
  display: flex;
}
.ct-chart-donut .ct-label,
.ct-chart-pie .ct-label {
  dominant-baseline: central;
}
.ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-end;
  text-align: left;
}
.ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-end;
  text-align: left;
/* 
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space:nowrap; */
/* 
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space: nowrap; */
}
svg.ct-chart-bar, svg.ct-chart-line {
  overflow: visible;
}

.ct-label.ct-vertical.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: right;
}
.ct-label.ct-vertical.ct-end {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: center;
}

/** I dont know why these transforms work for the line and bar charts, but they do. */
.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  transform: translate(-7px) rotate(-45deg);
  margin-top: 15px;
}
.ct-chart-line .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  transform: translate(-69%) rotate(-45deg);
  margin-top: 10px;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ct-grid {
  stroke: rgba(17, 24, 39, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}

.dark .ct-grid {
  stroke: rgba(255, 255, 255, 0.2);
}

.ct-grid-background {
  fill: none;
}
.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}
.ct-line {
  fill: none;
  stroke-width: 4px;
}
.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}
.ct-bar {
  fill: none;
  stroke-width: 10px;
}
.ct-slice-donut {
  stroke-width: 8px !important;
  stroke-linecap: butt !important;
  transition: all 0.3s ease;
  fill: none !important;
}
.ct-series-a .ct-bar,
.ct-series-a .ct-line,
.ct-series-a .ct-point,
.ct-series-a .ct-slice-donut {
  stroke: #4f46e5;
}
.ct-series-a .ct-area,
.ct-series-a .ct-slice-pie {
  fill: #4f46e5;
}
.ct-series-b .ct-bar,
.ct-series-b .ct-line,
.ct-series-b .ct-point,
.ct-series-b .ct-slice-donut {
  stroke: #22c55e;
}
.ct-series-b .ct-area,
.ct-series-b .ct-slice-pie {
  fill: #22c55e;
}
.ct-series-c .ct-bar,
.ct-series-c .ct-line,
.ct-series-c .ct-point,
.ct-series-c .ct-slice-donut {
  stroke: #ef4444;
}
.ct-series-c .ct-area,
.ct-series-c .ct-slice-pie {
  fill: #ef4444;
}
.ct-series-d .ct-bar,
.ct-series-d .ct-line,
.ct-series-d .ct-point,
.ct-series-d .ct-slice-donut {
  stroke: #f4c63d;
}
.ct-series-d .ct-area,
.ct-series-d .ct-slice-pie {
  fill: #f4c63d;
}
.ct-series-e .ct-bar,
.ct-series-e .ct-line,
.ct-series-e .ct-point,
.ct-series-e .ct-slice-donut {
  stroke: #3b82f6;
}
.ct-series-e .ct-area,
.ct-series-e .ct-slice-pie {
  fill: #3b82f6;
}
.ct-series-f .ct-bar,
.ct-series-f .ct-line,
.ct-series-f .ct-point,
.ct-series-f .ct-slice-donut {
  stroke: #59922b;
}
.ct-series-f .ct-area,
.ct-series-f .ct-slice-pie {
  fill: #59922b;
}
.ct-series-g .ct-bar,
.ct-series-g .ct-line,
.ct-series-g .ct-point,
.ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}
.ct-series-g .ct-area,
.ct-series-g .ct-slice-pie {
  fill: #0544d3;
}
.ct-series-h .ct-bar,
.ct-series-h .ct-line,
.ct-series-h .ct-point,
.ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}
.ct-series-h .ct-area,
.ct-series-h .ct-slice-pie {
  fill: #6b0392;
}
.ct-series-i .ct-bar,
.ct-series-i .ct-line,
.ct-series-i .ct-point,
.ct-series-i .ct-slice-donut {
  stroke: #e6805e;
}
.ct-series-i .ct-area,
.ct-series-i .ct-slice-pie {
  fill: #e6805e;
}
.ct-series-j .ct-bar,
.ct-series-j .ct-line,
.ct-series-j .ct-point,
.ct-series-j .ct-slice-donut {
  stroke: #dda458;
}
.ct-series-j .ct-area,
.ct-series-j .ct-slice-pie {
  fill: #dda458;
}
.ct-series-k .ct-bar,
.ct-series-k .ct-line,
.ct-series-k .ct-point,
.ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}
.ct-series-k .ct-area,
.ct-series-k .ct-slice-pie {
  fill: #eacf7d;
}
.ct-series-l .ct-bar,
.ct-series-l .ct-line,
.ct-series-l .ct-point,
.ct-series-l .ct-slice-donut {
  stroke: #86797d;
}
.ct-series-l .ct-area,
.ct-series-l .ct-slice-pie {
  fill: #86797d;
}
.ct-series-m .ct-bar,
.ct-series-m .ct-line,
.ct-series-m .ct-point,
.ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}
.ct-series-m .ct-area,
.ct-series-m .ct-slice-pie {
  fill: #b2c326;
}
.ct-series-n .ct-bar,
.ct-series-n .ct-line,
.ct-series-n .ct-point,
.ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}
.ct-series-n .ct-area,
.ct-series-n .ct-slice-pie {
  fill: #6188e2;
}
.ct-series-o .ct-bar,
.ct-series-o .ct-line,
.ct-series-o .ct-point,
.ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}
.ct-series-o .ct-area,
.ct-series-o .ct-slice-pie {
  fill: #a748ca;
}
.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

/* Legend styles */
.chartist-legend {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.chartist-legend li {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  transition: opacity 0.2s;
}

.chartist-legend li:hover {
  opacity: 0.8;
}

.chartist-legend li.opacity-50 {
  opacity: 0.5;
}

.chartist-legend li.series-a .color-indicator {
  background-color: #4f46e5;
}

.chartist-legend li.series-b .color-indicator {
  background-color: #22c55e;
}

.chartist-legend li.series-c .color-indicator {
  background-color: #ef4444;
}

.chartist-legend li.series-d .color-indicator {
  background-color: #f4c63d;
}

.chartist-legend li.series-e .color-indicator {
  background-color: #3b82f6;
}

.chartist-legend li.series-f .color-indicator {
  background-color: #59922b;
}

.chartist-legend li.series-g .color-indicator {
  background-color: #0544d3;
}

.chartist-legend li.series-h .color-indicator {
  background-color: #6b0392;
}

.chartist-legend li.series-i .color-indicator {
  background-color: #e6805e;
}

.chartist-legend li.series-j .color-indicator {
  background-color: #dda458;
}

.chartist-legend li.series-k .color-indicator {
  background-color: #eacf7d;
}

.chartist-legend li.series-l .color-indicator {
  background-color: #86797d;
}

.chartist-legend li.series-m .color-indicator {
  background-color: #b2c326;
}

.chartist-legend li.series-n .color-indicator {
  background-color: #6188e2;
}

.chartist-legend li.series-o .color-indicator {
  background-color: #a748ca;
}

/* Adjust chart padding to accommodate rotated labels */
.ct-chart {
  padding-bottom: 30px;
  position: relative;
  z-index: 1;
}

.ct-chart-donut {
  position: relative;
  width: 100%;
  height: 100%;
}

.ct-chart-donut .ct-series .ct-slice-donut {
  stroke-width: 8px;
  stroke-linecap: butt;
  transition: stroke-width 0.3s ease;
}

/* Override any default series colors for our specific classes */
.ct-series-medium .ct-slice-donut,
.ct-series-b .ct-slice-donut {
  stroke: #F7BC55 !important;
}

.ct-series-high .ct-slice-donut,
.ct-series-c .ct-slice-donut {
  stroke: #F35D5D !important;
}

.ct-series-low .ct-slice-donut,
.ct-series-a .ct-slice-donut {
  stroke: #507DEE !important;
}

/* Ensure these specific classes take precedence */
[data-metric-type="prompt_threats"] .ct-series-medium .ct-slice-donut,
[data-metric-type="ai_risk"] .ct-series-medium .ct-slice-donut {
  stroke: #F7BC55 !important;
}

[data-metric-type="prompt_threats"] .ct-series-high .ct-slice-donut,
[data-metric-type="ai_risk"] .ct-series-high .ct-slice-donut {
  stroke: #F35D5D !important;
}

[data-metric-type="prompt_threats"] .ct-series-low .ct-slice-donut,
[data-metric-type="ai_risk"] .ct-series-low .ct-slice-donut {
  stroke: #507DEE !important;
}

/* Color classes for different metrics */
.ct-series.green .ct-slice-donut {
  stroke: #4ade80 !important;
}

.ct-series.red .ct-slice-donut {
  stroke: #ef4444 !important;
}

.ct-series.yellow .ct-slice-donut {
  stroke: #facc15 !important;
}

/* Center the percentage text */
.chart-percentage {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  z-index: 10;
}

/* Chart container */
.chart-container {
  position: relative;
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgb(17 24 39); /* bg-gray-900 */
  transition: all 0.3s ease;
}

.chart-container:hover {
  background-color: #374151;
}

/* Donut chart positioning */
.ct-chart-donut {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg); /* Align segments correctly */
}

/* Base donut slice styles */
.ct-slice-donut {
  stroke-width: 8px !important;
  stroke-linecap: butt !important;
  transition: all 0.3s ease;
  fill: none !important;
}

/* Ensure proper spacing between segments */
.ct-chart-donut .ct-series .ct-slice-donut {
  stroke-width: 8px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Score display in center */
.chart-container .pie-chart-display {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
  z-index: 10;
  transition: color 0.3s ease;
}

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

/* Donut Chart Styles */
.ct-chart-donut {
  position: relative;
  width: 100%;
  height: 100%;
}
/* Chart Container */
.chart-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Percentage Display */
.chart-container .absolute {
  z-index: 10;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  color: white;
}

/* Ensure proper sizing */
.ct-chart {
  width: 100%;
  height: 100%;
}

/* Base donut slice styles */
.ct-slice-donut {
  stroke-width: 8px !important;
  stroke-linecap: round;
  transition: stroke-width 0.3s ease;
}

/* Hover effect */
.ct-slice-donut:hover {
  stroke-width: 10px !important;
}

/* Panel transitions */
[data-security-chart-target="panel"] {
  transition: opacity 0.3s ease;
  opacity: 1;
  height: auto;
  overflow: hidden;
}

[data-security-chart-target="panel"].hidden {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

/* Tab transitions */
[data-security-chart-target="tab"] {
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
  border-bottom: 2px solid transparent;
}

[data-security-chart-target="tab"]:hover {
  background-color: #374151;
  z-index: 10;
}

[data-security-chart-target="tab"].active {
  background-color: #374151 !important;
  border-bottom-color: #615fff; /* Add the blue underline */
  z-index: 2;
}

/* Remove any conflicting styles */
[data-security-chart-target="tab"].active .bg-gray-900,
[data-security-chart-target="tab"].active:hover .bg-gray-900 {
  background-color: #374151 !important; /* Ensure consistent color */
}

/* Line chart styles */
.ct-point {
  stroke-width: 6px;
  transition: stroke-width 0.3s ease;
}

.ct-point:hover {
  stroke-width: 10px;
}

.ct-line {
  stroke-width: 2px;
}

/* Bar chart styles */
.ct-bar {
  stroke-width: 20px;
  transition: stroke-width 0.3s ease;
}

.ct-bar:hover {
  stroke-width: 25px;
  filter: brightness(1.1);
}

/* Chart legend */
.chartist-legend {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  color: #9ca3af;
}

.chartist-legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.chartist-legend li:hover {
  opacity: 0.8;
}

.chartist-legend .color-indicator {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 9999px;
}

/* Grid lines */
.ct-grid {
  stroke: rgba(156, 163, 175, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 4px;
}

/* Labels */
.ct-label {
  font-size: 0.75rem;
  line-height: 1;
  color: rgba(156, 163, 175, 0.8);
  padding: 4px;
}

/* Adjust y-axis label positioning - consolidated with styles below */

/* Dark mode adjustments */
.dark .ct-label {
  color: rgba(209, 213, 219, 0.8);
}

.dark .ct-grid {
  stroke: rgba(209, 213, 219, 0.2);
}

[data-security-chart-target="tab"] {
  position: relative;
  z-index: 1;
}

[data-security-chart-target="tab"]:hover {
  z-index: 10;
}

.chart-container {
  position: relative;
  z-index: 1;
}

.chart-container:hover {
  z-index: 10;
}

[data-security-chart-target="tab"]:hover .ct-chart-donut {
  background-color: rgb(55 65 81);
}

[data-security-chart-target="tab"].active .ct-chart-donut {
  background-color: rgb(55 65 81);
}

/* Base chart styles */
.ct-chart {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #1a1f2e;
}

/* Grid lines */
.ct-grid {
  stroke: rgba(156, 163, 175, 0.1);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}

/* Labels */
.ct-label {
  font-size: 0.75rem;
  line-height: 1;
  color: rgba(156, 163, 175, 0.8);
  padding: 4px;
}

.dark .ct-label {
  color: rgba(209, 213, 219, 0.8);
}

/* Bar chart specific styles */
.ct-chart-bar .ct-bar {
  stroke-width: 12px;
  stroke-linecap: butt;
  transition: all 0.3s ease;
  opacity: 0.95;
}

/* Add gap between bars */
.ct-bar + .ct-bar {
  margin-top: 2px;
}

/* Ensure crisp edges */
.ct-chart-bar {
  shape-rendering: crispEdges;
}

/* Axis labels */
.ct-label.ct-horizontal {
  font-size: 0.75rem;
  padding: 2px;
  white-space: nowrap;
  font-family: monospace;
}

/* Special handling for WTD view */
/* [data-controller="data-access-timeline"] .ct-label.ct-horizontal {
  transform: none !important;
  text-align: center;
} */

/* For MTD and YTD views */
/* @media (min-width: 769px) {
  [data-controller="data-access-timeline"] .ct-chart-bar:not([data-points="7"]) .ct-label.ct-horizontal {
    transform: rotate(-45deg);
    transform-origin: 100% 0%;
  }
} */

.ct-label.ct-vertical {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.75rem;
  padding: 4px;
  transform: translateY(10px); /* Move labels down by 3px - adjust as needed */
}

/* Chart specific styles */
/* [data-controller="data-access-timeline"] {
  position: relative;
  margin-bottom: 20px;
} */

.ct-chart-bar {
  overflow: visible;
}

/* Chart container */
/* [data-controller="data-access-timeline"] {
  background: transparent;
  border-radius: 8px;
  padding: 1.5rem;
  margin: 1rem 0;
  min-height: 300px;
} */

/* Responsive adjustments */
@media (max-width: 768px) {
  .ct-label.ct-horizontal {
    font-size: 0.7rem;
  }
}

/* Legend */
.chart-legend {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.chart-legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.chart-legend-color {
  width: 12px;
  height: 12px;
  border-radius: 2px;
}

.chart-legend-label {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
}

/* Hover effects */
.ct-bar {
  transition: all 0.3s ease;
}

.ct-bar:hover {
  cursor: pointer;
}
/* DaisyUI tooltip overrides */

*,
::before,
::after {
  --tooltip-tail: 7px;
  --tooltip-tail-offset: calc(100% + 6px - var(--tooltip-tail));
  --tooltip-offset: calc(100% + 7px + var(--tooltip-tail, 0px));
  --tooltip-color: oklch(21% 0.034 264.665);
  --tooltip-text-color: white;
  /* https://unused-css.com/blog/css-outer-glow/ */
}

.tooltip-bottom:before {
  padding: 0.4rem 0.7rem;
  box-shadow: 0px 0px 0px 1px #28282a;
  z-index: 8;
  pointer-events: none;
}

.tooltip-bottom:after {
  content: url("data:image/svg+xml,%3Csvg width='15' height='7.5' viewBox='0 0 15 7.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,7.5 L7.5,0 L15,7.5' fill='black' stroke='%2328282A' stroke-width='1' stroke-linecap='butt'/%3E%3C/svg%3E");
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  right: auto;
  bottom: auto;
  display: block;
  width: 15px;
  height: 7.5px;
  border-color: transparent;
  border-style: none;
  border-width: 0;
  z-index: 9;
  pointer-events: none;
}

.tooltip-top:before {
  padding: 0.4rem 0.7rem;
  box-shadow: 0px 0px 0px 1px #28282a;
  z-index: 8;
  pointer-events: none;
}

.tooltip-top:after {
  content: url("data:image/svg+xml,%3Csvg width='15' height='7.5' viewBox='0 0 15 7.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,0 L7.5,7.5 L15,0' fill='black' stroke='%2328282A' stroke-width='1' stroke-linecap='butt'/%3E%3Cline x1='0' y1='0' x2='15' y2='0' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
  transform: translateX(-50%);
  top: -25px;
  left: 50%;
  right: auto;
  bottom: auto;
  display: block;
  width: 15px;
  height: 7.5px;
  border-color: transparent;
  border-style: none;
  border-width: 0;
  z-index: 9;
  pointer-events: none;
}

.tooltip-right:before {
  padding: 0.4rem 0.7rem;
  box-shadow: 0px 0px 0px 1px #28282a;
  z-index: 8;
  pointer-events: none;
}

.tooltip-right:after {
  content: url("data:image/svg+xml,%3Csvg width='7.5' height='15' viewBox='0 0 7.5 15' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5,0 L0,7.5 L7.5,15' fill='black' stroke='%2328282A' stroke-width='1' stroke-linecap='butt'/%3E%3C/svg%3E");
  transform: translateY(-50%);
  top: 50%;
  left: auto;
  bottom: auto;
  right: -14px;
  display: block;
  width: 7.5px;
  height: 19px;
  border-color: transparent;
  border-style: none;
  border-width: 0;
  z-index: 9;
  pointer-events: none;
}

.tooltip-left:before {
  padding: 0.4rem 0.7rem;
  box-shadow: 0px 0px 0px 1px #28282a;
  z-index: 8;
  pointer-events: none;
}

.tooltip-left:after {
  content: url("data:image/svg+xml,%3Csvg width='7.5' height='15' viewBox='0 0 7.5 15' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,0 L7.5,7.5 L0,15' fill='black' stroke='%2328282A' stroke-width='1' stroke-linecap='butt'/%3E%3C/svg%3E");
  transform: translateY(-50%);
  top: 50%;
  right: auto;
  bottom: auto;
  left: -14px;
  display: block;
  width: 7.5px;
  height: 25px;
  border-color: transparent;
  border-style: none;
  border-width: 0;
  z-index: 9;
  pointer-events: none;
}

.tooltip.tooltip-open:active:before,
.tooltip:hover:active:before {
  opacity: 0 !important;
  transition-delay: 0ms;
}

.tooltip.tooltip-open:active:after,
.tooltip:hover:active:after {
  opacity: 0 !important;
  transition-delay: 0ms;
}

/* Daisy Toast override */

.toast > * {
  animation: slide-in 0.15s ease-in !important;
}

@keyframes slide-in {
  0%,
  20% {
    transform: translateX(100%);
    opacity: 0;
  }
  80% {
    transform: translateX(-10%);
    opacity: 1;
  }
  90% {
    transform: translateX(8%);
  }
  95% {
    transform: translateX(-5%);
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}


/* Alert overrides */

/* this undoes the min-width special styling within daisy */

.alert {
  grid-auto-flow: column;
  grid-template-columns: auto minmax(auto, 1fr);
  justify-items: start;
  text-align: start;
}

/* Form overrides */

.input {
  background-color: transparent;
}

/* Modal override */

dialog button:focus,
dialog button:focus-visible {
  outline: none !important;
}

/* Code overrides — undoing */

.prose :where(code):not(:where([class~='not-prose'] *, pre *)) {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}

.prose :where(code):not(pre code):not(:where([class~='not-prose'] *)):before,
.prose :where(code):not(pre code):not(:where([class~='not-prose'] *)):after {
  content: '`';
  display: inline-block;
}

:root .prose {
  --tw-prose-pre-bg: #0d0d0d !important;
  --tw-prose-pre-code: #ffffff !important;
}

/* dark_mode overrides where daisy would otherwise override based upon prefers-color-scheme: dark*/

@media (prefers-color-scheme: dark) {
  :root body:not(.dark) .prose {
    --tw-prose-body: initial;
    --tw-prose-headings: initial;
    --tw-prose-lead: initial;
    --tw-prose-links: initial;
    --tw-prose-bold: initial;
    --tw-prose-counters: initial;
    --tw-prose-bullets: initial;
    --tw-prose-hr: initial;
    --tw-prose-quotes: initial;
    --tw-prose-quote-borders: initial;
    --tw-prose-captions: initial;
    --tw-prose-code: initial;
    /* --tw-prose-pre-code: initial; */
    /* --tw-prose-pre-bg: initial; */
    --tw-prose-th-borders: initial;
    --tw-prose-td-borders: initial;
    --tw-prose-invert-body: initial;
    --tw-prose-invert-headings: initial;
    --tw-prose-invert-lead: initial;
    --tw-prose-invert-links: initial;
    --tw-prose-invert-bold: initial;
    --tw-prose-invert-counters: initial;
    --tw-prose-invert-bullets: initial;
    --tw-prose-invert-hr: initial;
    --tw-prose-invert-quotes: initial;
    --tw-prose-invert-quote-borders: initial;
    --tw-prose-invert-captions: initial;
    --tw-prose-invert-code: initial;
    --tw-prose-invert-pre-code: initial;
    --tw-prose-invert-pre-bg: initial;
    --tw-prose-invert-th-borders: initial;
    --tw-prose-invert-td-borders: initial;
  }
}
:root body.dark .prose {
  --tw-prose-body: initial;
  --tw-prose-headings: initial;
  --tw-prose-lead: initial;
  --tw-prose-links: initial;
  --tw-prose-bold: initial;
  --tw-prose-counters: initial;
  --tw-prose-bullets: initial;
  --tw-prose-hr: initial;
  --tw-prose-quotes: initial;
  --tw-prose-quote-borders: initial;
  --tw-prose-captions: initial;
  --tw-prose-code: initial;
  /* --tw-prose-pre-code: initial; */
  /* --tw-prose-pre-bg: initial; */
  --tw-prose-th-borders: initial;
  --tw-prose-td-borders: initial;
  --tw-prose-invert-body: initial;
  --tw-prose-invert-headings: initial;
  --tw-prose-invert-lead: initial;
  --tw-prose-invert-links: initial;
  --tw-prose-invert-bold: initial;
  --tw-prose-invert-counters: initial;
  --tw-prose-invert-bullets: initial;
  --tw-prose-invert-hr: initial;
  --tw-prose-invert-quotes: initial;
  --tw-prose-invert-quote-borders: initial;
  --tw-prose-invert-captions: initial;
  --tw-prose-invert-code: initial;
  --tw-prose-invert-pre-code: initial;
  --tw-prose-invert-pre-bg: initial;
  --tw-prose-invert-th-borders: initial;
  --tw-prose-invert-td-borders: initial;
}

/* hide tooltip on touch devices */

@media (hover: none), (hover: on-demand), (-moz-touch-enabled: 1), (pointer: coarse) {
  .tooltip:hover:after,
  .tooltip:hover:active:before,
  .tooltip:hover:active:after,
  .tooltip:hover:before {
    display: none;
  }
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 9999px;
}

.scrollbar-hide::-webkit-scrollbar-thumb {
  visibility: hidden;
  background-color: transparent;
  --tw-border-opacity: 0;
}

.scrollbar-hide {
  /* IE ad Edge */
  -ms-overflow-style: none;

  /* Firefox */
  scrollbar-width: none;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) 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
 * 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.
 *
 * WARNING: Don't change this to "require_tree ." It will include an uncompiled application.tailwind.css
 *


 */
