/* 첨부 즉시 업로드 UI (js/attachment-uploader.js) — 고객센터·견적문의 공용 */
.attachment-dropzone { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 12px; width: 100%; min-height: 80px; margin-bottom: 8px; padding: 18px; border: 1px dashed #9baab6; background: #f7f9fb; color: #202c36; cursor: pointer; font: inherit; font-size: 14px; }
.attachment-dropzone:hover, .attachment-dropzone.drag-over { border-color: #0056b3; background: #eef5fc; }
.attachment-dropzone:focus-visible, .file-preview .remove-file:focus-visible { outline: 2px solid #0056b3; outline-offset: 3px; }
.attachment-dropzone-hint { color: #58636d; }
.file-preview { display: grid; gap: 8px; }
.file-preview .file-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; min-width: 0; padding: 8px 12px; background: #f3f6f8; font-size: 14px; }
.file-preview .file-name { min-width: 0; overflow-wrap: anywhere; }
.file-preview .file-size { white-space: nowrap; }
.file-preview .remove-file { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; padding: 0; border: 0; background: transparent; color: #b42318; cursor: pointer; font: inherit; font-size: 20px; }
.attachment-dropzone:disabled, .file-preview .remove-file:disabled { opacity: .55; cursor: default; }
.file-preview .file-upload-progress { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; padding-bottom: 4px; }
.file-preview .file-upload-progress progress { appearance: none; flex: 1; width: 0; min-width: 0; height: 6px; overflow: hidden; border: 0; border-radius: 3px; background: #dce1e5; accent-color: #0056b3; }
.file-preview .file-upload-progress progress::-webkit-progress-bar { background: #dce1e5; border-radius: 3px; }
.file-preview .file-upload-progress progress::-webkit-progress-value { background: #0056b3; border-radius: 3px; }
.file-preview .file-upload-progress progress::-moz-progress-bar { background: #0056b3; border-radius: 3px; }
.file-preview .file-upload-status { min-width: 66px; text-align: right; font-size: 12px; color: #58636d; }
.file-preview .upload-error .file-upload-status { color: #b42318; }
.file-preview .retry-file { flex-shrink: 0; padding: 4px 8px; border: 1px solid #abb6bf; background: #fff; color: #0056b3; font: inherit; font-size: 12px; cursor: pointer; }
.file-preview .file-upload-error { grid-column: 1 / -1; color: #b42318; overflow-wrap: anywhere; }
