@page electroplan-client { size:A4 portrait; margin:12mm; }
.modern-quote-workspace { min-width:0; max-width:100%; }
.quote-workspace-head, .quote-workspace-head + label { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.quote-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:14px 0; }
.quote-editor-grid label, .quote-lines-editor label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.quote-editor-grid input, .quote-editor-grid textarea, .quote-lines-editor input { width:100%; max-width:100%; box-sizing:border-box; }
.modern-quote-workspace fieldset { min-width:0; border:1px solid var(--line); border-radius:10px; padding:12px; }
.quote-lines-editor > div { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.quote-preview-scroll { overflow-x:auto; max-width:100%; margin-top:20px; border:1px solid var(--line); }
.modern-quote-document { color:#182327; background:#fff; width:100%; min-width:600px; box-sizing:border-box; }
.company-logo { display:block; max-width:180px; max-height:100px; object-fit:contain; margin:8px 0; }
.quote-client-footer,.quote-commercial-terms p { white-space:pre-wrap; overflow-wrap:anywhere; }
.quote-client-footer { margin-top:18px; border-top:1px solid #ccd3d5; padding-top:12px; }
.modern-quote-document .quote-client-header h1 { font-size:20pt; overflow-wrap:anywhere; }
.modern-quote-document .quote-client-header { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:8mm; }
.modern-quote-document td,.modern-quote-document th { overflow-wrap:anywhere; }
.modern-quote-document .quote-client-lines th:first-child { width:40%; }
.modern-quote-document .quote-client-lines th:nth-child(2) { width:14%; white-space:nowrap; }
.modern-quote-document .quote-client-lines th:nth-child(3) { width:10%; }
.modern-quote-document .quote-client-lines th:nth-child(4),
.modern-quote-document .quote-client-lines th:nth-child(5) { width:18%; }
.modern-quote-document .quote-client-lines td:nth-last-child(-n+2) { text-align:right; white-space:nowrap; }
.quote-primary-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.project-screen.quick-offer-mode .project-library,
.project-screen.quick-offer-mode #accountHome,
.project-screen.quick-offer-mode .hero { display:none; }
.project-screen.quick-offer-mode .project-shell { width:100%; max-width:1440px; min-width:0; }
.quick-offer-area { width:100%; min-width:0; max-width:100%; padding:clamp(12px,2vw,28px); box-sizing:border-box; background:var(--bg-floating); border-radius:12px; }
.quick-offer-area [data-offer-form], .quick-offer-area fieldset { min-width:0; max-width:100%; }
.quick-offer-area .project-list-item { margin-top:12px; }
@media(max-width:767px) {
  .quote-editor-grid { grid-template-columns:minmax(0,1fr); }
  .quote-lines-editor > div { grid-template-columns:minmax(0,1fr); }
  .modern-quote-workspace select { max-width:100%; }
}
@media print {
  body.quote-document-open:has(.modern-quote-document),
  body.quote-document-open #quoteDocumentScreen:has(.modern-quote-document),
  body.quote-document-open .modern-quote-document { page: electroplan-client; }
  .modern-quote-document { min-width:0; width:100%; }
  .modern-quote-document thead { display:table-header-group; }
  .modern-quote-document tr,.quote-client-footer { break-inside:avoid; }
  .modern-quote-document .quote-client-section,.modern-quote-document .quote-commercial-terms { break-inside:auto; }
  .modern-quote-document .quote-client-header { break-inside:avoid; }
  .modern-quote-document footer { position:static; }
}
.modern-quote-document .quote-client-lines.offer-client-lines th:first-child { width:18%; }
.modern-quote-document .quote-client-lines.offer-client-lines th:nth-child(2) { width:31%; white-space:normal; }
.modern-quote-document .quote-client-lines.offer-client-lines th:nth-child(3) { width:10%; }
.modern-quote-document .quote-client-lines.offer-client-lines th:nth-child(4) { width:9%; white-space:nowrap; }
.modern-quote-document .quote-client-lines.offer-client-lines th:nth-child(5) { width:19%; }
.modern-quote-document .quote-client-lines.offer-client-lines th:nth-child(6) { width:13%; }
.modern-quote-document .quote-unit-price-heading { white-space:nowrap; }
.modern-quote-document .quote-client-lines td,
.modern-quote-document .quote-client-lines th { padding:2.2mm 1.7mm; }
.modern-quote-document .quote-line-reference { overflow-wrap:break-word; word-break:normal; font-size:8pt; }
.modern-quote-document .quote-line-reference.quote-reference-long { font-size:7.2pt; }
.modern-quote-document .quote-line-reference .quote-reference-part { display:inline-block; max-width:100%; margin:0; vertical-align:top; font-size:inherit; color:inherit; overflow-wrap:anywhere; }
.modern-quote-document .quote-line-unit { white-space:nowrap; }
.modern-quote-document { font-size:9pt; line-height:1.35; }
.modern-quote-document .company-logo { width:auto; height:auto; max-width:34mm; max-height:13mm; margin:0 0 2mm; object-fit:contain; }
.modern-quote-document .quote-client-header { padding-bottom:4mm; gap:8mm; }
.modern-quote-document .quote-client-header h1 { font-size:15pt; margin:0 0 2mm; }
.modern-quote-document .quote-client-header h2 { font-size:18pt; margin:0 0 2mm; }
.modern-quote-document .quote-offer-number { font-size:12pt; font-weight:700; overflow-wrap:anywhere; }
.modern-quote-document p { margin:0 0 1mm; white-space:pre-wrap; }
.modern-quote-document .quote-client-section { margin-top:4mm; }
.modern-quote-document .quote-client-section.two-columns { gap:8mm; padding-bottom:3mm; }
.modern-quote-document .quote-client-section h3 { font-size:10pt; margin:0 0 2mm; }
.modern-quote-document .quote-client-totals { margin-top:4mm; gap:8mm; }
.modern-quote-document .quote-client-totals th,
.modern-quote-document .quote-client-totals td { padding:2mm; }
.modern-quote-document .quote-commercial-terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:5mm; border-top:1px solid #ccd3d5; padding-top:3mm; font-size:8.5pt; }
.modern-quote-document .quote-commercial-terms > h3,
.modern-quote-document .quote-term-wide { grid-column:1 / -1; }
.modern-quote-document .quote-term { margin-bottom:2mm; break-inside:avoid; }
.modern-quote-document .quote-term h4 { font-size:inherit; margin:0 0 1mm; }
.modern-quote-document .quote-agreement { border:1px solid #ccd3d5; padding:3mm; min-height:25mm; box-sizing:border-box; }
.modern-quote-document .quote-client-footer { margin-top:4mm; padding-top:2mm; font-size:7.5pt; color:#526068; }
.modern-quote-document .quote-company-legal { font-weight:600; }
.modern-quote-document .quote-closing { display:flow-root; break-inside:avoid; }
/* Identical paper geometry for measurement, on-screen preview and print. */
body.quote-document-open .modern-quote-document.quote-paginated {
  width:186mm; min-width:186mm; min-height:0; padding:0; margin:0 auto;
}
.quote-print-page { min-height:271mm; box-sizing:border-box; background:white; }
.quote-print-page + .quote-print-page { border-top:1px dashed #aab5b8; }
.quote-print-content { display:flow-root; }
.quote-continuation { display:flex; justify-content:space-between; gap:5mm; padding:0 0 3mm; margin-bottom:3mm; border-bottom:1px solid #ccd3d5; color:#526068; font-size:8pt; }
.quote-continuation > :first-child { min-width:0; overflow-wrap:anywhere; }
.quote-page-number { flex:none; white-space:nowrap; }
.quote-first-page-number { text-align:right; color:#526068; font-size:8pt; margin-bottom:2mm; }
.quote-document-screen { z-index:250; }
.quote-document-toolbar { flex-wrap:wrap; align-items:center; }
#offerDocumentActions { display:contents; }
#offerDocumentFeedback { flex-basis:100%; font-size:13px; }
.offer-delete-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:24px; border:1px solid var(--border-color); border-radius:12px; background:var(--panel); color:var(--text-main); }
.offer-delete-dialog::backdrop { background:rgba(0,0,0,.55); }
.offer-delete-dialog label { display:block; margin:12px 0; }
.offer-delete-dialog input[type=radio],.offer-delete-dialog input[type=checkbox] { width:auto; }
.offer-delete-dialog [hidden] { display:none; }
.offer-delete-dialog .quote-actions { flex-wrap:wrap; }
@media print {
  body.quote-document-open .modern-quote-document.quote-paginated { page:electroplan-client; margin:0; }
  .quote-print-page { break-inside:avoid; }
  .quote-print-page + .quote-print-page { break-before:page; border:0; }
}
