/* Ring chart animation */
.ring-progress {
  transition: stroke-dashoffset 0.6s ease, stroke 0.3s ease;
}

/* Prevent pinch-zoom and double-tap zoom on mobile */
html,
body {
  touch-action: manipulation;
  overflow-x: hidden;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
}

/* Safe area for iPhone home indicator */
.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0);
}

/* Hide scrollbar in history panel */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Fix date input overflowing on iOS Safari */
.date-field {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

input[type="date"].date-input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  -webkit-min-logical-width: 0;
  background-color: transparent;
}

input[type="date"].date-input::-webkit-date-and-time-value {
  text-align: left;
  min-width: 0;
  width: 100%;
}

input[type="date"].date-input::-webkit-datetime-edit {
  overflow: hidden;
  max-width: 100%;
  min-width: 0;
}

input[type="date"].date-input::-webkit-datetime-edit-fields-wrapper {
  max-width: 100%;
  min-width: 0;
}

.modal-sheet {
  overflow-x: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

.modal-sheet .space-y-3 > div {
  min-width: 0;
  max-width: 100%;
}

/* Pull to refresh — spinner between header and main content */
.pull-refresh-slot {
  overflow: hidden;
  min-height: 0;
}

.pull-refresh-slot--animating {
  transition: height 0.2s ease;
}
