/*
 * 即時ファイルアップロード機能のスタイル
 * immediate_file_upload.js からの動的スタイル挿入を外部CSSファイルに移行
 * ERB内の重複スタイルも統合
 */

/* ==================================================
 * メインスタイル - immediate_file_upload.js から移行
 * ================================================== */

.immediate-upload-display {
  margin-top: 1rem;
  padding: 1rem;
  background: #f5f1eb;
  border-radius: 8px;
  display: block;
}

.immediate-upload-display.uploading {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
}

.immediate-upload-display.success {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
}

.immediate-upload-display.error {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
}

.immediate-upload-status {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
}

.immediate-upload-status .upload-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.immediate-upload-status .upload-info {
  flex-grow: 1;
}

.immediate-upload-status .filename {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.immediate-upload-status .status {
  font-size: 12px;
  color: #666;
}

.immediate-upload-status .error-details {
  font-size: 12px;
  color: #721c24;
  margin-top: 4px;
}

.immediate-upload-status .error-details ul {
  margin: 0;
  padding-left: 20px;
}

.progress-bar {
  width: 100%;
  height: 4px;
  background-color: #e9ecef;
  border-radius: 2px;
  margin-top: 6px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background-color: #007bff;
  border-radius: 2px;
  width: 30%;
}

@keyframes progress-animation {
  0% {
    transform: translateX(-100%);
    width: 30%;
  }
  50% {
    transform: translateX(0%);
    width: 70%;
  }
  100% {
    transform: translateX(300%);
    width: 30%;
  }
}

.btn-change {
  background: #6c757d;
  color: white;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  flex-shrink: 0;
}

.btn-change:hover {
  background: #5a6268;
}

/* ファイル入力フィールドの即時アップロード対応スタイル */
input[type="file"][data-immediate-upload] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.file-upload-area {
  border: 2px dashed #dee2e6;
  border-radius: 6px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.3s ease;
}

.file-upload-area:hover {
  border-color: #007bff;
}

.file-upload-area.drag-over {
  border-color: #007bff;
  background-color: #f8f9fa;
}
