/* Safe area insets for iOS PWA */
.pt-safe { padding-top: env(safe-area-inset-top, 0px); }
.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }

/* Smooth progress bar width transition */
.bar-segment { transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

/* Bottom sheet animation */
#add-modal .sheet, #copy-picker .sheet, #asset-modal .sheet {
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#add-modal.open .sheet, #copy-picker.open .sheet, #asset-modal.open .sheet { transform: translateY(0); }

/* Number input: hide spin buttons */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; }
