.import-review {
  display: grid;
  grid-template-columns: minmax(380px, 43%) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.import-image-panel {
  position: sticky;
  top: 16px;
  min-width: 0;
  border: 1px solid #e3e8f0;
  border-radius: 12px;
  padding: 14px;
  background: #fafbfd;
}
.import-image-panel .toolbar { margin: 0 0 10px; }
.import-image-scroll {
  height: min(75vh, 800px);
  overflow: auto;
  background: #f0f3f7;
  border: 1px solid #e7ebf1;
  border-radius: 10px;
}
.import-image-scroll img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}
.import-image-scroll.is-zoomed { cursor: grab; }
.import-image-scroll.is-panning { cursor: grabbing; }
.import-image-foot { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-top: 10px; color: #77879d; font-size: 12px; line-height: 1.5; }
.import-image-foot a { flex: none; color: #2b5a91; text-decoration: none; font-weight: 700; }
.import-image-foot a:hover { text-decoration: underline; }
.import-fields-panel { min-width: 0; }
.zoom-control { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.zoom-control select { width: auto; min-height: 32px; padding: 4px 8px; }
.notice-good { background: #eaf7f0; border-color: #bde3cf; color: #286c4b; }
.import-style { margin: 16px 0; background: #fcfdff; }
.import-style-review { border-color: #e8b85f; box-shadow: 0 0 0 2px #fff4dc; }
.import-review-badge { display: inline-block; vertical-align: middle; margin-left: 7px; padding: 4px 7px; border-radius: 6px; background: #fff2d7; color: #895b0d; font-size: 11px; font-weight: 700; }
.import-review-notice strong { display: block; margin-bottom: 7px; }
.import-review-notice ul { margin: 0; padding-left: 19px; line-height: 1.7; }
.markup-hint { display: block; min-height: 18px; color: #687b93; font-size: 11px; font-weight: 500; line-height: 1.5; }
.markup-error, .import-price-warning .markup-hint { color: #a04d29; }
.import-price-warning { border-color: #e7b69b; }
.import-reset-all { margin: 8px 0 3px; }
.retail-price-field { display: grid; gap: 7px; min-width: 0; }
.retail-price-entry { display: flex; gap: 7px; min-width: 0; }
.retail-price-entry input { flex: 1; min-width: 0; }
.retail-price-entry button { flex: none; white-space: nowrap; }
.receipt-reason { min-width: 170px; }
.pricing-rule { margin: 12px 0 18px; padding: 10px 13px; border-radius: 9px; background: #edf4fb; color: #50647f; font-size: 12px; line-height: 1.6; }
.existing-price-choice { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #f0d6a2; border-radius: 9px; background: #fffaf0; color: #72551e; font-size: 12px; }
.existing-price-choice input { flex: none; width: 17px; height: 17px; min-height: 0; margin: 0; accent-color: #995a13; }
.supplier-alias-choice { display: flex; align-items: center; gap: 10px; color: #566b85; font-size: 12px; font-weight: 500; }
.supplier-alias-choice input { flex: none; width: 17px; height: 17px; min-height: 0; margin: 0; accent-color: #335f92; }
.supplier-resolution-hint { margin: 11px 0 15px; padding: 11px 13px; border-radius: 9px; border: 1px solid #d5e5d8; background: #f4faf5; color: #3d6a4d; font-size: 12px; line-height: 1.6; }
.supplier-markup-list { display: grid; gap: 10px; max-height: 390px; overflow: auto; }
.supplier-markup-row { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(120px, 150px) auto; align-items: end; gap: 10px; padding: 10px 0; border-top: 1px solid #edf0f5; }
.supplier-markup-row strong { align-self: center; overflow-wrap: anywhere; font-size: 13px; }
.supplier-markup-row label { font-size: 11px; }
.supplier-markup-row button { margin-bottom: 1px; }
@media (max-width: 600px) { .supplier-markup-row { grid-template-columns: 1fr auto; } .supplier-markup-row strong { grid-column: 1 / -1; } }
.import-variant input { min-width: 75px; }
.import-variant-table { min-width: 580px; }
.import-variant-table input[name="qty"] { min-width: 58px; max-width: 90px; }
.import-variant-table input[name="variantUnitCost"] { min-width: 105px; }
.import-row-total { white-space: nowrap; font-weight: 700; color: #253650; }
.import-source-difference { margin: 0; font-size: 12px; }
.import-style [name="lineTotal"] { background: #f1f6fb; color: #2c547e; font-weight: 700; }
.purchase-import-card { padding: clamp(20px, 2.5vw, 32px); }
.purchase-section-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 23px; }
.purchase-section-head h2 { margin: 0 0 8px; }
.purchase-section-head p { margin: 0; color: #6f7f96; font-size: 14px; line-height: 1.6; }
.purchase-private-badge { flex: none; padding: 6px 10px; border-radius: 999px; background: #eef3f9; color: #60718c; font-size: 12px; font-weight: 700; }
.purchase-upload-form { max-width: 900px; }
.purchase-file-input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.purchase-dropzone { display: flex; align-items: center; gap: 18px; padding: 22px; border: 1.5px dashed #a7bbd1; border-radius: 14px; background: #f8fbfe; cursor: pointer; transition: border-color .16s, background .16s, box-shadow .16s; }
.purchase-dropzone:hover, .purchase-dropzone.is-dragover, .purchase-file-input:focus-visible + .purchase-dropzone { border-color: #376da5; background: #f0f6fd; box-shadow: 0 0 0 3px #dceafb; }
.purchase-upload-icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 12px; background: #e4eef9; color: #2b5a91; font-size: 27px; font-weight: 700; line-height: 1; }
.purchase-upload-copy { display: grid; gap: 5px; min-width: 0; }
.purchase-upload-copy strong { color: #253650; font-size: 15px; }
.purchase-upload-copy small { color: #74849a; font-size: 12px; }
.purchase-upload-select { margin-left: auto; flex: none; padding: 9px 15px; border-radius: 9px; background: #fff; color: #264b7a; border: 1px solid #c9d9e9; font-size: 13px; font-weight: 700; }
.purchase-upload-selection { display: flex; align-items: center; gap: 14px; min-height: 86px; padding: 10px 14px; border: 1px solid #bed9cc; border-radius: 13px; background: #f5fbf7; }
.purchase-upload-selection img { width: 58px; height: 64px; object-fit: cover; border-radius: 6px; background: #e7edf2; }
.purchase-upload-file { display: grid; gap: 5px; min-width: 0; flex: 1; }
.purchase-upload-file strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #273850; font-size: 13px; }
.purchase-upload-file small { color: #59806a; font-size: 12px; }
.purchase-upload-error { margin: 9px 0 0; color: #ad3f3c; font-size: 13px; }
.purchase-upload-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 16px; }
.purchase-upload-actions .primary { min-height: 42px; padding-inline: 20px; }
.purchase-upload-actions .secondary { min-height: 42px; padding-inline: 20px; }
.purchase-upload-actions span { color: #8290a4; font-size: 12px; }
.purchase-status { max-width: 900px; margin: 16px 0 0; }
.purchase-subsection { margin-top: 26px; padding-top: 22px; border-top: 1px solid #edf0f4; }
.purchase-subsection .section-heading { margin: 0 0 14px; }
.purchase-empty-state { padding: 24px; border: 1px solid #edf1f5; border-radius: 12px; background: #fbfcfe; text-align: center; }
.purchase-empty-state span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e6f5ec; color: #29734a; font-size: 17px; }
.purchase-empty-state p { margin: 8px 0 3px; color: #3b4b62; font-weight: 700; }
.purchase-empty-state small { color: #8593a5; }
.purchase-delete-action { color: #a94e4a; }
.purchase-delete-action:hover { background: #fff4f2; border-color: #e9c6c2; }
.confirm-dialog { width: min(100% - 28px, 460px); max-width: 460px; max-height: calc(100dvh - 28px); overflow: auto; padding: 0; border: 1px solid #dfe6ee; border-radius: 16px; box-shadow: 0 20px 65px #0d203c38; color: #23324b; }
.confirm-dialog::backdrop { background: #111c32a6; }
.confirm-dialog-body { padding: 26px; }
.confirm-dialog-icon { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 15px; border-radius: 10px; background: #fff0ee; color: #b14541; font-weight: 800; font-size: 20px; }
.confirm-dialog h2 { margin: 0 0 8px; font-size: 19px; }
.confirm-dialog p { margin: 0; color: #62738b; line-height: 1.6; font-size: 14px; }
.confirm-dialog ul { margin: 15px 0 0; padding: 14px 16px 14px 32px; border-radius: 10px; background: #f7f9fc; color: #56677e; font-size: 13px; line-height: 1.75; }
.confirm-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; }
.confirm-dialog-actions button { min-height: 40px; padding-inline: 16px; }
.confirm-dialog-actions .danger { background: #b4433e; color: #fff; border-color: #b4433e; }
.confirm-dialog-actions .danger:hover { background: #973732; }
@media (max-width: 1100px) {
  .import-review { grid-template-columns: 1fr; }
  .import-image-panel { position: static; }
  .import-image-scroll { height: 50vh; }
}
@media (max-width: 600px) {
  .import-image-foot { flex-wrap: wrap; }
  .purchase-section-head { display: block; }
  .purchase-private-badge { display: inline-block; margin-top: 12px; }
  .purchase-dropzone { padding: 18px; gap: 12px; flex-wrap: wrap; }
  .purchase-upload-icon { width: 40px; height: 40px; }
  .purchase-upload-copy { flex: 1; }
  .purchase-upload-select { margin-left: 52px; }
  .purchase-upload-selection { flex-wrap: wrap; }
  .purchase-upload-file { flex-basis: calc(100% - 76px); }
  .purchase-upload-selection button { flex: 1; }
  .purchase-upload-actions { align-items: stretch; flex-direction: column; }
  .purchase-upload-actions button { width: 100%; }
  .confirm-dialog-body { padding: 21px; }
  .confirm-dialog-actions { flex-direction: column-reverse; }
  .confirm-dialog-actions button { width: 100%; }
}
