/* === CSS RESET & BASE STYLES === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

button {
  color: inherit;
}

button, [role="button"] {
  cursor: pointer;
}

code {
  font-family:
    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  font-size: 1em;
}

img {
  display: block;
}

svg {
  display: inline-block;
  vertical-align: middle;
}

/* Prevent SVGs inside buttons from interfering with button hover effects */
button svg,
.btn svg,
[role="button"] svg {
  pointer-events: none;
}

img,
video {
  max-width: 100%;
  height: auto;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family:
    ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
    "Noto Color Emoji";
}

/* === FRESH FRAMEWORK STYLES === */
.fresh-gradient {
  background-color: rgb(134, 239, 172);
  background-image: linear-gradient(
    to right bottom,
    rgb(219, 234, 254),
    rgb(187, 247, 208),
    rgb(254, 249, 195)
  );
}

/* === ACCESSIBILITY === */
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* === SIDEBAR TRANSITIONS === */
.sidebar-transition-enabled {
  transition: margin-left 0.3s ease;
}

/* === BUTTON DISABLED STATE === */
.button-disabled-state {
  opacity: 0.3 !important;
  filter: grayscale(1) !important;
  background-color: #cccccc !important;
  color: #666666 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  transition: none !important;
}

/* === ACCESSIBILITY - REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    transition-duration: 0.01ms;
    scroll-behavior: auto;
  }

  .sidebar-transition-enabled {
    transition: none;
  }
}
