.vendor-master-dialog { width: min(1680px, 96vw); max-width: 96vw; max-height: 94vh; overflow: auto; padding: 24px; color: #231f1b; background: #fffdf8; }
.vendor-master-dialog .dialog-head { display:flex; align-items:center; justify-content:space-between; }
.vendor-master-dialog .vendor-procurement-form { display:grid; gap:14px; }
.vendor-master-dialog label { display:grid; gap:6px; min-width:0; margin:0; }
.vendor-master-dialog .vendor-procurement-row { display:grid; gap:12px; min-width:0; }
.vendor-master-dialog .vendor-procurement-row-top { grid-template-columns:minmax(280px,1fr) minmax(140px,14ch) minmax(140px,14ch) minmax(132px,12ch) minmax(132px,12ch); }
.vendor-master-dialog .vendor-procurement-row-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vendor-master-dialog .vendor-contact-line { grid-template-columns:minmax(18ch,20ch) minmax(18ch,20ch) minmax(260px,1.4fr) minmax(220px,1.2fr); }
.vendor-master-dialog .vendor-procurement-row-qualification { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(240px,1.5fr); }
.vendor-master-dialog .vendor-procurement-row-meta { grid-template-columns:180px 220px minmax(180px,1fr); }
.vendor-master-dialog .vendor-card-upload-field { grid-column:1/-1; }
.vendor-master-dialog .vendor-office-row { display:grid; grid-template-columns:1fr 1fr 1fr 2fr auto; gap:10px; align-items:end; margin-top:10px; }
.vendor-master-dialog .list { border:1px solid #e4d9cc; border-radius:10px; padding:16px; margin:0; background:#fffdf8; }
.vendor-master-dialog .actions, .vendor-master-dialog .vendor-card-upload-actions { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.vendor-master-dialog input, .vendor-master-dialog select, .vendor-master-dialog textarea { width:100%; min-width:0; box-sizing:border-box; font:inherit; font-weight:400; padding:10px 14px; border:1px solid #dcd0c1; border-radius:10px; background:white; }
.vendor-master-dialog input[type=checkbox] { width:18px; min-width:18px; }
.vendor-master-dialog textarea { resize:vertical; min-height:76px; }
.vendor-master-dialog .hidden, .vendor-master-dialog [hidden] { display:none !important; }
.vendor-master-dialog .vendor-detail-table-wrap { overflow-x:auto; border:1px solid #e4d9cc; border-radius:10px; }
.vendor-master-dialog .vendor-detail-table { width:100%; min-width:980px; border-collapse:collapse; table-layout:auto; }
.vendor-master-dialog .vendor-detail-table th { background:#f3ece1; padding:10px 18px; text-align:left; white-space:nowrap; }
.vendor-master-dialog .vendor-detail-table td { padding:10px; border-bottom:1px solid #eee3d8; overflow-wrap:anywhere; }
.vendor-master-dialog .vendor-detail-table td:first-child { width:34px; }
.vendor-master-dialog .vendor-detail-table td:last-child { width:72px; }
.vendor-master-dialog .vendor-detail-editor input { min-width:100px; }
.vendor-master-dialog .vendor-detail-table td:has(input[aria-label="分機"]) { width:80px; }
.vendor-master-dialog .vendor-detail-table input[aria-label="分機"] { min-width:60px; }
.vendor-master-dialog .link-btn { padding:0; border:0; background:none; color:#007f91; text-decoration:underline; cursor:pointer; text-align:left; }
.vendor-master-dialog .master-multiselect { position:relative; min-width:0; }
.vendor-master-dialog .master-multi-control { display:grid; grid-template-columns:minmax(0,1fr) 42px 42px; gap:8px; }
.vendor-master-dialog .master-multi-summary { min-width:0; padding:10px 14px; border:1px solid #dcd0c1; border-radius:10px; color:#6d655d; background:white; text-align:left; font:inherit; cursor:pointer; }
.vendor-master-dialog .master-multi-clear,
.vendor-master-dialog .master-multi-toggle { min-width:42px; min-height:42px; padding:0; border:1px solid #dcd0c1; border-radius:10px; color:#231f1b; background:#f3ece1; font:inherit; cursor:pointer; }
.vendor-master-dialog .master-multi-tags { display:flex; flex-wrap:wrap; gap:8px; min-height:0; margin-top:8px; }
.vendor-master-dialog .master-multi-tags:empty { display:none; }
.vendor-master-dialog .master-multi-tag { display:inline-flex; align-items:center; max-width:100%; padding:4px 10px; border-radius:999px; color:#4f463e; background:#f3ece1; overflow-wrap:anywhere; }
.vendor-master-dialog .master-multi-panel { position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0; padding:10px; border:1px solid #dcd0c1; border-radius:10px; background:#fff; box-shadow:0 12px 30px rgba(52,42,32,.2); }
.vendor-master-dialog .master-multi-panel[hidden] { display:none; }
.vendor-master-dialog .master-multi-options { max-height:min(280px,40vh); overflow:auto; margin-top:6px; }
.vendor-master-dialog .master-multi-options label { display:flex; align-items:center; padding:5px; }
.vendor-master-dialog .master-status { color:#8a4b08; white-space:pre-wrap; }
.vendor-master-dialog .vendor-qualification-readonly { color:#8a8178; }
.vendor-master-dialog .vendor-qualification-readonly small { color:#8a8178; font-size:12px; line-height:1.35; }
.vendor-master-dialog .vendor-qualification-readonly :is(input, select, textarea):disabled { color:#82786f; background:#f1eee9; border-color:#e2dbd2; cursor:not-allowed; opacity:1; }
@media(max-width:1200px) { .vendor-master-dialog .vendor-procurement-row-top, .vendor-master-dialog .vendor-contact-line, .vendor-master-dialog .vendor-procurement-row-qualification, .vendor-master-dialog .vendor-office-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .vendor-master-dialog { padding:14px; } .vendor-master-dialog .vendor-procurement-row-top, .vendor-master-dialog .vendor-contact-line, .vendor-master-dialog .vendor-procurement-row-2, .vendor-master-dialog .vendor-procurement-row-qualification, .vendor-master-dialog .vendor-procurement-row-meta, .vendor-master-dialog .vendor-office-row { grid-template-columns:1fr; } }

.vendor-conflicts .conflict-table-wrap { overflow-x:auto; margin:16px 0; }
.vendor-conflicts table { width:100%; border-collapse:collapse; }
.vendor-conflicts th,.vendor-conflicts td { padding:10px; border:1px solid #ddd; text-align:left; vertical-align:top; }
.vendor-conflicts pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; margin:0; max-width:480px; }
.vendor-conflicts label { display:block; margin:8px 0; }
.vendor-conflicts input[type=radio],.vendor-conflicts input[type=checkbox] { width:auto; margin-right:8px; }
.vendor-conflicts details { border:1px solid #ddd; padding:12px; margin:12px 0; }
.vendor-conflicts button { margin:4px; }
