/* Quote / estimate generator. The preview stage and the paper controls come from css/_print-kit.css. Borders: 1px hairline. */
#visu-tools.vt-quote-generator .vt-qt-top { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: flex-start; justify-content: space-between; }
#visu-tools.vt-quote-generator .vt-qt-fiscal { flex: 1 1 280px; margin: 0 !important; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--vt-line); background: var(--vt-bg); color: var(--vt-text); font-size: 13.5px; line-height: 1.5; }
#visu-tools.vt-quote-generator .vt-qt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--vt-line); align-items: start; }
#visu-tools.vt-quote-generator .vt-qt-doc { border-top: 0; padding-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
#visu-tools.vt-quote-generator .vt-qt-doc .vt-seg { grid-column: span 2; }
#visu-tools.vt-quote-generator .vt-qt-number { display: grid; gap: 2px; justify-items: start; }
#visu-tools.vt-quote-generator .vt-qt-number .vt-field { width: 100%; }
#visu-tools.vt-quote-generator .vt-qt-party { display: grid; gap: 12px; min-width: 0; }
#visu-tools.vt-quote-generator .vt-qt-h { margin: 0 !important; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--vt-muted); }
#visu-tools.vt-quote-generator :is(.vt-qt-items, .vt-qt-taxes) { display: grid; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--vt-line); justify-items: start; }
#visu-tools.vt-quote-generator :is(.vt-qt-items, .vt-qt-taxes) > :is(div, p) { width: 100%; margin: 0 !important; }
#visu-tools.vt-quote-generator #vt-qt-rows { display: grid; gap: 8px; }
#visu-tools.vt-quote-generator :is(.vt-qt-row, .vt-qt-head) { display: grid; grid-template-columns: minmax(0, 1fr) 68px 104px 72px 34px; gap: 8px; align-items: center; }
#visu-tools.vt-quote-generator .vt-qt-head { font-size: 12.5px; font-weight: 600; color: var(--vt-muted); }
#visu-tools.vt-quote-generator .vt-qt-cell { display: block; min-width: 0; }
#visu-tools.vt-quote-generator .vt-qt-cell input { padding: 10px 10px !important; }
#visu-tools.vt-quote-generator :is(.vt-qt-qty, .vt-qt-price, .vt-qt-disc) input { text-align: right; font-variant-numeric: tabular-nums; }
#visu-tools.vt-quote-generator .vt-qt-cell input[aria-invalid="true"] { border-color: var(--vt-err) !important; background: #fef6f5 !important; }
#visu-tools.vt-quote-generator .vt-qt-rm { width: 34px; height: 34px; padding: 0; border-radius: 50%; border: 1px solid var(--vt-line-2); background: #fff; color: var(--vt-muted); font-size: 18px; line-height: 1; cursor: pointer; }
#visu-tools.vt-quote-generator .vt-qt-rm:hover { border-color: var(--vt-ink); color: var(--vt-ink); }
#visu-tools.vt-quote-generator .vt-qt-tax { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 8px; max-width: 420px; }
#visu-tools.vt-quote-generator .vt-qt-code :is(.vt-warn, .vt-hint) { margin: 0 !important; }
#visu-tools.vt-quote-generator .vt-qt-nolink a { font-weight: 600; }
#visu-tools.vt-quote-generator .vt-qt-look :is(.vt-check, .vt-pk-accent, .vt-pk-logo) { grid-column: 1 / -1; }
#visu-tools.vt-quote-generator .vt-qt-privacy { margin-top: 16px !important; }
#visu-tools.vt-quote-generator .vt-qt-pager { display: flex; gap: 14px; align-items: center; justify-content: center; font-size: 14px; color: var(--vt-muted); }
#visu-tools.vt-quote-generator .vt-qt-pager[hidden] { display: none; }
#visu-tools.vt-quote-generator .vt-qt-pager button:disabled { opacity: .4; cursor: default; }
#visu-tools.vt-quote-generator .vt-out { position: sticky; top: 16px; }
#visu-tools.vt-quote-generator .vt-path .vt-hint { margin: 0 !important; }
#visu-tools.vt-quote-generator .vt-path .vt-btn { max-width: 100%; white-space: normal; text-align: center; }
@media (max-width: 900px) {
  #visu-tools.vt-quote-generator .vt-out { position: static; }
}
@media (max-width: 600px) {
  #visu-tools.vt-quote-generator :is(.vt-qt-grid, .vt-qt-doc) { grid-template-columns: minmax(0, 1fr); }
  #visu-tools.vt-quote-generator .vt-qt-doc .vt-seg { grid-column: auto; }
  #visu-tools.vt-quote-generator .vt-qt-head { display: none; }
  #visu-tools.vt-quote-generator .vt-qt-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr) 34px; padding-bottom: 10px; border-bottom: 1px solid var(--vt-line); }
  #visu-tools.vt-quote-generator .vt-qt-desc { grid-column: 1 / -1; }
  #visu-tools.vt-quote-generator .vt-seg-items { flex-wrap: wrap; overflow-x: visible; margin: 0; padding: 0; }
}
