dialog.purchase-dialog{width:760px}
.pur-receipt-main{display:flex;align-items:center;gap:12px;min-width:0}
.pur-receipt-main>div{min-width:0;overflow-wrap:anywhere}
.q-thumb.pur-receipt-thumb{width:54px;height:64px;border-radius:4px;overflow:hidden}
.q-thumb.pur-receipt-thumb img{width:100%;height:100%;object-fit:contain}
@media(max-width:500px){.purchase-receipt-item{flex-wrap:wrap}.purchase-receipt-item>div:last-child{margin-left:auto}.pur-receipt-main{flex:1 1 100%}}
.purchase-intro{margin-bottom:22px}.purchase-intro p{font-size:14px;line-height:1.8}.purchase-intro>span{display:block;margin-top:6px;font-size:11px;color:var(--muted);line-height:1.7}.purchase-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px}.purchase-section-heading h3{font-size:13px}.purchase-line{background:#f7f6f3;border:1px solid var(--line);border-radius:4px;padding:16px;margin-bottom:12px}.purchase-line-top{display:flex;gap:12px;align-items:flex-end}.purchase-line-top>.field{flex:1}.purchase-line-top>.icon-button{flex:none;height:42px}.purchase-line-fields{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;align-items:end}.purchase-line-fields label:nth-child(2){display:block;line-height:1.8}.purchase-line-fields label:nth-child(2) input{display:block;width:100%;margin-top:6px}.purchase-reference{font-size:10px;color:#939488;line-height:1.8;margin:9px 0 15px}.purchase-line-sum{text-align:right;display:flex;flex-direction:column;gap:13px;padding-bottom:12px;min-width:0}.purchase-line-sum span{font-size:11px;color:var(--muted)}.purchase-line-sum output{font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.purchase-notes{margin-top:20px}.purchase-notes textarea{min-height:66px}.purchase-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.purchase-total span{display:block;font-size:13px}.purchase-total small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:7px}.purchase-total>output,.purchase-total>strong{font-size:27px;letter-spacing:-.5px;font-weight:450;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.purchase-error{color:#9b4335;font-size:12px;line-height:1.7;margin-top:15px;background:#fff4ef;padding:12px;border-radius:3px}.purchase-error[hidden]{display:none}.purchase-history{border-top:1px solid var(--line)}.purchase-record{width:100%;padding:20px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;border-bottom:1px solid var(--line)}.purchase-record:hover{background:#faf9f5}.purchase-record>div{min-width:0}.purchase-record strong{display:block;font-size:14px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}.purchase-record span{display:block;font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.purchase-record small{display:block;font-size:10px;color:#939488;margin-top:7px;line-height:1.7}.purchase-record-total{text-align:right;flex-shrink:0}.purchase-record-total strong{font-size:18px;font-weight:400}.purchase-record-total small{color:var(--bronze)}.purchase-receipt-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.purchase-receipt-head h3{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.purchase-receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:23px;border-bottom:1px solid var(--line)}.purchase-receipt-meta span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.purchase-receipt-meta strong{font-size:12px;font-weight:400;overflow-wrap:anywhere}.purchase-receipt-id{grid-column:1/-1}.purchase-receipt-id strong{font-size:10px;color:#8a8c81}.purchase-receipt-item{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.purchase-receipt-item h3{font-size:14px}.purchase-receipt-item p{font-size:11px;color:var(--muted);margin-top:8px}.purchase-receipt-item>div:last-child{text-align:right;flex-shrink:0}.purchase-receipt-item span{font-size:10px;color:var(--muted)}.purchase-receipt-item strong{display:block;font-weight:450;font-size:17px;margin-top:9px}.purchase-receipt-notes p{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){dialog.purchase-dialog{width:calc(100% - 24px)}.purchase-line{padding:13px}.purchase-line-fields{grid-template-columns:1fr 1.4fr;gap:12px}.purchase-line-sum{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding:4px 0 0}.purchase-line-fields input{width:100%}.purchase-reference{font-size:9px}.purchase-total{gap:12px;align-items:flex-start}.purchase-total>output,.purchase-total>strong{font-size:22px}.purchase-total small{font-size:9px}.purchase-receipt-meta{gap:16px}.purchase-receipt-item{gap:12px}.purchase-receipt-item h3{font-size:12px}.purchase-receipt-item span{font-size:9px}.purchase-receipt-item strong{font-size:15px}.purchase-record{gap:12px}.purchase-record-total strong{font-size:16px}.purchase-intro p{font-size:12px}.purchase-intro>span{font-size:10px}.purchase-dialog .form-actions{position:sticky;bottom:-20px;background:white;padding-bottom:16px;z-index:2;flex-wrap:wrap}.purchase-dialog .form-actions .button{font-size:12px;flex:1}.page-heading:has([data-action="purchase"]) .page-actions{flex-basis:100%;justify-content:flex-start}.page-heading:has([data-action="purchase"]){flex-wrap:wrap}}

dialog.purchase-editor-dialog { width: min(1440px, calc(100% - 32px)); max-width: 1440px; }
dialog.purchase-editor-dialog > #modal-content { padding: 0; max-height: calc(100vh - 92px); overflow: auto; }
dialog.purchase-editor-dialog .pur-page { min-height: 760px; }
@media (max-width: 900px) {
  dialog.purchase-editor-dialog { width: calc(100% - 20px); }
  dialog.purchase-editor-dialog .pur-page { min-height: 0; }
}

/* Receipt editor inside the standalone modal: keep one clear title and one action area. */
dialog.purchase-editor-dialog > header { display: flex; }
dialog.purchase-editor-dialog > #modal-content { background: #f7f6f3; }
dialog.purchase-editor-dialog .pur-page { min-height: 0; padding: 24px 28px 32px; max-width: none; }
dialog.purchase-editor-dialog .pur-page > form { max-width: 1180px; margin: 0 auto; }
dialog.purchase-editor-dialog .pur-page > form > .q-heading { display: none; }
dialog.purchase-editor-dialog .pur-page .q-info-panel { margin-top: 0; }
dialog.purchase-editor-dialog .pur-page .q-cart-layout { gap: 20px; }
dialog.purchase-editor-dialog .pur-page .q-selection-panel { background: #fff; }
@media (max-width: 700px) {
  dialog.purchase-editor-dialog .pur-page { padding: 16px 14px 24px; }
}

/* Receipt editor modal: do not inherit the quotation page's left-side rail. */
dialog.purchase-editor-dialog {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: min(900px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  overflow: hidden;
}
dialog.purchase-editor-dialog > header {
  position: static;
  flex: none;
}
dialog.purchase-editor-dialog > #modal-content {
  position: relative;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
}
dialog.purchase-editor-dialog .q-cart-module.is-picker-open {
  margin-left: 0;
  padding-bottom: 0;
}
dialog.purchase-editor-dialog .q-catalog-toggle {
  position: fixed;
  left: auto;
  right: max(16px, calc((100vw - 1440px) / 2));
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  z-index: 51;
}
dialog.purchase-editor-dialog .q-cart-module.is-picker-open .q-catalog-toggle {
  left: auto;
  right: min(560px, 40vw);
  transform: translateY(-50%);
}
dialog.purchase-editor-dialog .q-product-drawer {
  position: fixed;
  inset: max(16px, calc((100dvh - 900px) / 2)) max(16px, calc((100vw - 1440px) / 2)) max(16px, calc((100dvh - 900px) / 2)) auto;
  width: min(560px, 40vw);
  max-width: calc(100vw - 32px);
  height: auto;
  max-height: none;
  border: 1px solid var(--q-line);
  border-radius: 8px;
  box-shadow: -10px 18px 45px #20211f22;
  z-index: 50;
}
@media (max-width: 1100px) {
  dialog.purchase-editor-dialog .q-catalog-toggle {
    right: 16px;
  }
  dialog.purchase-editor-dialog .q-cart-module.is-picker-open .q-catalog-toggle {
    right: 18px;
    top: auto;
    bottom: 55dvh;
    transform: none;
  }
  dialog.purchase-editor-dialog .q-product-drawer {
    inset: auto 0 0;
    width: 100%;
    max-width: 100%;
    height: 55dvh;
    max-height: 55dvh;
    border-radius: 8px 8px 0 0;
  }
}
@media (max-width: 700px) {
  dialog.purchase-editor-dialog {
    width: calc(100% - 20px);
    height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
  }
  dialog.purchase-editor-dialog .q-catalog-toggle {
    right: 12px;
  }
}
