.tw-sandbox,
.tw-sandbox *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon):not(ellipse):not(g),
.tw-sandbox *::before,
.tw-sandbox *::after {
  /* Reset box model */
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;

  /* Reset typography */
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;

  /* Reset backgrounds */
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;

  /* Reset layout */
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  display: revert !important;
  vertical-align: baseline !important;

  /* Reset dimensions */
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;

  /* Reset flexbox/grid */
  flex: initial !important;
  flex-direction: initial !important;
  flex-wrap: initial !important;
  justify-content: initial !important;
  align-items: initial !important;
  align-content: initial !important;
  gap: initial !important;

  /* Reset transforms and effects */
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;

  /* Reset overflow */
  overflow: visible !important;

  /* Reset cursor */
  cursor: auto !important;

  /* Reset outline */
  outline: none !important;

  /* Reset shadows */
  box-shadow: none !important;
  text-shadow: none !important;

  /* Reset z-index */
  z-index: auto !important;
}

/* Fix anchor tags and buttons to have pointer cursor */
.tw-sandbox a,
.tw-sandbox button {
  cursor: pointer !important;
}

/* Specific form element resets */
.tw-sandbox input,
.tw-sandbox button,
.tw-sandbox textarea,
.tw-sandbox select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
}

.tw-sandbox input[type="radio"],
.tw-sandbox input[type="checkbox"] {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tw-sandbox label {
  display: block !important;
  cursor: pointer !important;
}

.tw-sandbox fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* SVG elements should not be affected by any resets */
/* Just ensure they are visible and can be sized with classes */
.tw-sandbox svg {
  /* Only set display, let width/height be controlled by Tailwind classes */
  display: inline-block !important;
}

/* Allow Tailwind styles to take over - but not for SVG children */
.tw-sandbox [class*="tw-"]:not(svg *),
.tw-sandbox [class*="sm:"]:not(svg *),
.tw-sandbox [class*="md:"]:not(svg *),
.tw-sandbox [class*="lg:"]:not(svg *),
.tw-sandbox [class*="xl:"]:not(svg *),
.tw-sandbox [class*="2xl:"]:not(svg *),
.tw-sandbox [class*="hover:"]:not(svg *),
.tw-sandbox [class*="focus:"]:not(svg *),
.tw-sandbox [class*="active:"]:not(svg *),
.tw-sandbox [class*="group-"]:not(svg *),
.tw-sandbox [class*="peer-"]:not(svg *) {
  /* Let Tailwind classes work normally */
  all: revert !important;
}
