/* Zanbil — Custom styles (Tailwind CDN handles the rest) */

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  display: inline-block;
  vertical-align: middle;
}

.active-nav .material-symbols-outlined {
  font-variation-settings: 'FILL' 1;
}

body {
  background-color: #fdf9f0;
  min-height: max(884px, 100dvh);
  -webkit-tap-highlight-color: transparent;
}

.card-shadow {
  box-shadow: 0 4px 20px rgba(0, 110, 28, 0.06);
}

.dashed-border {
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='32' ry='32' stroke='%23006e1c' stroke-width='3' stroke-dasharray='12%2c 12' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
  border-radius: 2rem;
}

.meal-donut {
  width: 126px;
  height: 126px;
  position: relative;
  flex-shrink: 0;
}

.meal-donut-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #1b6b2a;
  font-size: 1.6rem;
}

.scan-content-disabled {
  opacity: 0.45;
  filter: grayscale(0.1);
  pointer-events: none;
  user-select: none;
  transition: opacity 0.2s ease, filter 0.2s ease;
}

/* Toast animation */
.toast-hidden {
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
  transition: all 0.3s ease;
}
.toast-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition: all 0.3s ease;
}
