/* 領収書スキャナー カスタムスタイル */

* {
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

/* Cropper container */
#crop-image {
  display: block;
  max-width: 100%;
}

.cropper-container {
  max-height: 60vh;
}

/* Step transitions */
.step-section {
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Toast colors */
.toast-success { background-color: #16a34a; }
.toast-error { background-color: #dc2626; }
.toast-info { background-color: #2563eb; }

/* Camera video orientation guard */
#camera-video {
  max-height: 70vh;
  object-fit: contain;
  background: #000;
}

/* Buttons disabled state */
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Scroll lock for modals */
body.modal-open {
  overflow: hidden;
}

/* PWA-friendly safe-area */
@supports (padding: max(0px)) {
  header { padding-top: max(0.75rem, env(safe-area-inset-top)); }
  main { padding-bottom: max(8rem, env(safe-area-inset-bottom)); }
}
