/* 業者の見積書の読み込み（SPEC §43）。見積の編集画面の「業者の見積書を読み込む」欄 */
.vq-busy { font-weight: 600; color: var(--accent, #1a56db); }
.vq-result { margin-top: 8px; }
.vq-file { font-size: 13px; color: var(--muted, #667); margin-bottom: 6px; }
.vq-vendor { display: block; margin: 6px 0 10px; }
.vq-vendor input { width: 100%; max-width: 420px; }
.vq-warn { margin: 6px 0 10px; padding: 8px 12px 8px 28px; background: #fff7e6; border: 1px solid #f0c36d; border-radius: 8px; color: #7a4b00; font-size: 13px; }
.vq-warn li { margin: 2px 0; }
.vq-sum { font-size: 13px; margin: 4px 0 8px; }
.vq-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vq-table { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 13px; }
.vq-table th, .vq-table td { border-bottom: 1px solid var(--border, #e2e5ea); padding: 4px; text-align: left; vertical-align: middle; }
.vq-table th { background: #f6f7f9; font-weight: 600; white-space: nowrap; }
.vq-table input[type="text"] { width: 100%; box-sizing: border-box; padding: 4px 6px; font-size: 13px; }
.vq-table .vq-num { text-align: right; min-width: 80px; }
.vq-table .vq-unit { min-width: 48px; }
.vq-table .is-bad { border-color: #d33; background: #fff0f0; }
.vq-table .vq-amt { text-align: right; white-space: nowrap; color: var(--muted, #667); }
.vq-table tr.is-off td { opacity: .5; }
.vq-table tr.is-disc td { background: #fbf6ff; }
.vq-table tr.vq-rowwarn td { border-bottom: 1px solid var(--border, #e2e5ea); color: #a33; font-size: 12px; padding-top: 0; }
.vq-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
