#quotations{max-width:1300px;margin:auto}.q-syncbar,.q-toolbar,.q-item-head,.q-item-foot,.q-sketch-tools,.q-pages{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.q-syncbar{justify-content:space-between;background:#eaf1ed;padding:10px 16px;border-radius:14px;margin-bottom:20px}.q-toolbar{justify-content:flex-start;margin-bottom:16px}.q-toolbar h1,.q-toolbar h2{margin-right:auto}.q-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.q-fields label{margin:0}.q-list{display:grid;gap:12px;margin-top:16px}.q-list>button{display:flex;text-align:left;align-items:flex-start;flex-direction:column;gap:7px;padding:20px}.q-item{border:1px solid #ccd8d1;border-radius:16px;padding:18px;margin:16px 0}.q-item-head{justify-content:space-between}.q-item-fields{display:grid;grid-template-columns:2fr repeat(4,minmax(80px,1fr));gap:12px}.q-item input,.q-item textarea{width:100%;min-width:0}.q-item-head details{position:relative}.q-item-head summary{cursor:pointer;padding:10px;border:1px solid #ccd8d1;border-radius:10px}.q-item-menu{position:absolute;right:0;z-index:3;display:grid;min-width:170px;padding:8px;background:#fff;border:1px solid #ccd8d1;box-shadow:0 6px 22px #0002;border-radius:12px}.q-item-foot{justify-content:space-between}.q-total{display:block;text-align:right;font-size:1.5rem;padding:18px}.q-canvas{width:100%;height:auto;aspect-ratio:8/5;border:1px solid #b8c9c0;background:#fff;border-radius:12px;touch-action:none;display:block;margin:16px 0}.q-pages button[aria-selected=true],.q-sketch-tools button[aria-pressed=true]{background:#24483e;color:#fff}.q-pdf-pages{display:flex;gap:16px;flex-wrap:wrap;border:1px solid #dce4de}.q-pdf-pages label{display:flex;gap:8px;align-items:center}.q-pdf-pages input{width:auto}.q-sketch-tools label{min-width:120px;margin:0}.q-conflict{border:1px solid #c8892b;background:#fff7e8;border-radius:12px;padding:16px;margin:12px 0}.q-compare{max-width:1000px;width:90%;border:1px solid #ccc;border-radius:20px;padding:25px}.q-compare::backdrop{background:#0008}.q-compare textarea{width:100%}.q-compare button{margin:8px}.q-offline-banner{padding:12px 24px;background:#fff2d9;color:#6b4d11}#quotations [hidden]{display:none!important}@media(max-width:800px){.q-fields{grid-template-columns:1fr}.q-item-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.q-product-name{grid-column:1/-1}.q-toolbar button,.q-sketch-tools button{padding:10px}.q-item{padding:12px}.q-canvas{min-height:240px}.q-sketch-tools label{width:100%}}
/* Quotation studio and customer documents share a quiet, compact visual language. */
#quotations{max-width:1500px}.q-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:#718579}.q-toolbar h1{margin:6px 0}.q-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #dce4de;border-radius:12px}.q-table{width:100%;border-collapse:collapse;font-size:14px;margin:0;background:white}.q-table th{background:#f2f5f1;color:#5c7064;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:14px 12px;border-bottom:1px solid #dce4de;white-space:nowrap}.q-table td{padding:14px 12px;border-bottom:1px solid #e7ece7;vertical-align:top}.q-table tbody tr:last-child td{border-bottom:0}.q-table small{display:block;color:#768379;font-size:12px;line-height:1.6}.q-table p{margin:5px 0;white-space:pre-wrap}.q-table td button{font-size:12px;padding:8px 11px;margin:3px}.q-table td input,.q-table td select,.q-table td textarea{margin:0;min-height:40px;padding:8px;border:1px solid transparent;border-radius:7px;font-size:14px;background:#f7f9f5;width:100%;box-sizing:border-box}.q-table td input:hover,.q-table td textarea:hover{border-color:#c2d1c5}.q-table td input:focus,.q-table td textarea:focus{background:#fff;outline:2px solid #5b8e72;outline-offset:1px}.q-items-table{min-width:1050px;table-layout:fixed}.q-items-table th:nth-child(1){width:32px}.q-items-table th:nth-child(2){width:28%}.q-items-table th:nth-child(3),.q-items-table th:nth-child(4),.q-items-table th:nth-child(5){width:70px}.q-items-table th:nth-child(7){width:95px}.q-items-table th:last-child{width:44px}.q-items-table td{padding:10px 7px}.q-items-table textarea{resize:vertical;background:#fafbf4;margin-top:5px}.q-table td input:disabled{opacity:.35}.q-numeric{text-align:right;white-space:nowrap}.q-row-options{position:relative}.q-row-options summary{cursor:pointer;list-style:none;font-size:25px;text-align:center}.q-item-menu{z-index:15}.q-item-menu button{margin:0!important;text-align:left}.q-quote-summary{display:flex;justify-content:flex-end;align-items:center;gap:28px;margin-top:16px;flex-wrap:wrap}.q-quote-summary label{max-width:130px}.q-quote-summary .q-total{padding-right:0}.q-editor-fields{border:0;margin:0;padding:0;min-width:0}.q-catalog-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.q-product-form{align-self:start}.q-product-form button{margin-top:16px}.q-span{grid-column:1/-1}.q-text-action{padding:3px 0!important;background:none!important;border:0!important;color:#34694f!important;text-decoration:underline;text-underline-offset:3px;font-size:12px;cursor:pointer}.q-tabs{display:flex;gap:6px;border-bottom:1px solid #d4ded4;margin:0 0 22px;overflow-x:auto}.q-tabs button{white-space:nowrap;border:0;border-radius:8px 8px 0 0;background:transparent;padding:14px 20px;font-size:14px}.q-tabs button[aria-selected=true]{background:#e9f1e9;color:#244e3c;box-shadow:inset 0 -3px #244e3c}.q-filterbar{margin-bottom:18px;max-width:500px}.q-pill{display:inline-block;font-size:12px;background:#edf1eb;padding:7px 11px;border-radius:30px;white-space:nowrap}.q-good{background:#e4f2e6;color:#22673c}.q-activity{display:grid;gap:12px}.q-activity article{border:1px solid #e0e7df;border-radius:12px;padding:16px}.q-activity strong{margin-left:12px}.q-activity p{white-space:pre-wrap}.q-activity small{color:#768379}.q-dialog{border:1px solid #d3dfd5;border-radius:20px;padding:30px;width:min(760px,92vw);max-width:92vw;max-height:90dvh;overflow:auto;box-sizing:border-box;color:#243e32;box-shadow:0 30px 90px #102b2b35}.q-dialog::backdrop{background:#19382c88;backdrop-filter:blur(3px)}.q-dialog-close{float:right;border:0;background:#f0f4ee;border-radius:50%;width:38px;height:38px;padding:0;font-size:26px}.q-dialog h2{margin:0 45px 20px 0}.q-dialog iframe{width:100%;height:65vh;border:1px solid #dce4de;margin-top:18px}.q-dialog label{display:block;margin:18px 0}.q-dialog input:not([type=checkbox]),.q-dialog textarea,.q-dialog select{display:block;width:100%;padding:12px;border:1px solid #cbd7ce;border-radius:9px;font:inherit;box-sizing:border-box}.q-dialog [data-error],.q-dialog [data-form-error]{color:#ad392f;white-space:pre-wrap}.q-inline-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5;font-size:14px}.q-inline-check input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:2px 0;accent-color:#244e3c}.q-balance{display:flex;justify-content:space-between;padding:18px;background:#eff4ed;border-radius:12px}.q-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.q-slots button{padding:12px 5px;font-size:13px}.q-slots small{display:block;font-size:11px;margin-top:5px}.q-slots [aria-pressed=true]{background:#244e3c;color:#fff}.q-customer{max-width:1200px;margin:35px auto;padding:0 25px}.q-customer h1{font-size:30px}.q-customer-actions{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #e0e7df;padding-top:20px}.q-booking-confirm{border:1px solid #c6ddc8;background:#edf5eb;border-radius:14px;padding:20px;margin:20px 0}.q-booking-confirm h3{margin-bottom:8px}.q-pre{white-space:pre-wrap}.q-receipt-preview{max-width:650px;margin:auto}.q-display-amount{display:block;font-size:40px;margin:35px 0}.q-receipt-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 0}.q-receipt-preview dd{margin:0;font-weight:600;text-align:right}.legal-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;font-size:11px;color:#7a857b;text-align:center}.legal-footer button{border:0;background:none;color:#5c7164;text-decoration:underline;font-size:11px;padding:3px 8px}.q-policy{line-height:1.7;font-size:14px}.q-policy h1{font-size:27px}.q-policy h2{font-size:18px;margin-top:26px}.q-customer [hidden],.q-table [hidden]{display:none!important}
@media(max-width:900px){.q-catalog-grid{grid-template-columns:1fr}.q-customer{padding:0 14px;margin:20px auto}.q-customer .panel{padding:20px 15px}.q-dialog{padding:22px}.q-slots{grid-template-columns:repeat(3,1fr)}.q-tabs button{padding:12px}.q-customer .q-table{min-width:700px}.q-customer header .q-pill{display:none}.q-total{font-size:1.25rem}.q-items-table th:nth-child(2){width:260px}}
@media(max-width:450px){.q-slots{grid-template-columns:repeat(2,1fr)}.q-customer-actions{display:grid}.q-dialog{max-width:96vw;width:96vw}.q-display-amount{font-size:32px}}
/* Room headings, direct item insertion and pointer-based ordering. */
.q-section-row td{background:#e9f0e8!important;vertical-align:middle}.q-section-row input{font-weight:700!important;font-size:16px!important;background:transparent!important}.q-drag{cursor:grab!important;touch-action:none;user-select:none;border:0!important;background:transparent!important;font-size:24px!important;padding:3px!important;min-width:26px;color:#708476}.q-drag:active{cursor:grabbing}.q-dragging{opacity:.45}.q-drop-before td{box-shadow:inset 0 4px #3b8260}.q-drop-after td{box-shadow:inset 0 -4px #3b8260}.q-inline-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}.q-inline-actions button{border:0!important;background:none!important;color:#36684e;font-size:11px!important;padding:3px!important;margin:0!important}.q-end-items{display:flex;gap:12px;padding-top:18px;flex-wrap:wrap}.q-save-bar{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid #cfdad1;padding:24px 0;margin-top:20px}.q-quote-summary span{font-size:13px;color:#667a6b}.q-quote-summary span strong{display:block;font-size:16px;color:#24483e}.q-quote-summary input{max-width:100px}[data-q-panel=content] textarea{width:100%;font-size:14px;line-height:1.55;box-sizing:border-box;resize:vertical}.q-items-table th:first-child{width:35px}.q-table-scroll:has(.q-items-table){overflow-y:visible}.q-customer .q-section-row th{font-size:15px;text-transform:none;letter-spacing:0}.q-save-bar .primary{min-width:160px}@media(max-width:600px){.q-save-bar{display:grid;grid-template-columns:1fr 1fr}.q-save-bar .primary{min-width:0}.q-quote-summary{gap:16px}}
/* Sharing and document hierarchy. */
.q-section-total td{background:#f5f8f3;text-align:right;font-weight:600;font-size:13px}.q-share-summary{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;background:#eff5ed;padding:16px;border-radius:12px;margin-bottom:20px}.q-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.q-share-grid iframe{height:70vh;min-height:350px}.q-share-grid textarea{line-height:1.55}.q-share-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px}.q-dialog:has(.q-share-grid){width:min(1180px,95vw);max-width:95vw}.q-share-grid details{margin-top:18px;padding:12px;border:1px solid #d7e0d4;border-radius:10px}.q-share-grid summary,.q-response-details summary{cursor:pointer;font-weight:600}.q-share-grid button{margin:6px}.q-version{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #dce4db;padding:16px 0}.q-version span{flex:1}.q-document-boxes{display:grid;grid-template-columns:1fr 1fr;border:1px solid #b5c5b7;margin-top:0}.q-document-boxes section{padding:20px;min-width:0}.q-document-boxes section+section{border-left:1px solid #b5c5b7}.q-document-boxes h3{margin:0 0 16px;font-size:18px}.q-document-boxes h4{margin:20px 0 7px;font-size:14px}.q-document-boxes p{font-size:13px;line-height:1.7;margin:0}.q-signature{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;min-height:130px;font-size:12px}.q-primary-actions{position:sticky;top:0;z-index:2;background:#fff;padding:16px 0;margin-bottom:15px;border-bottom:1px solid #d8e3d7}.q-primary-actions button{flex:1}.q-response-details{margin-top:10px;max-width:400px}.q-response-details summary{font-size:12px}.q-response-details p{font-size:12px;border-top:1px solid #e1e8df;padding-top:10px}.q-quote-summary label{max-width:170px}@media(max-width:760px){.q-share-grid{grid-template-columns:1fr}.q-share-grid iframe{height:50vh}.q-document-boxes{grid-template-columns:1fr}.q-document-boxes section+section{border-left:0;border-top:1px solid #b5c5b7}.q-share-actions{display:grid}.q-primary-actions{position:static}.q-primary-actions button{font-size:13px;padding:12px 8px}}
/* Customer documents have their own layout, separate from the project workspace. */
.q-public-page #install-controls{display:none}.q-public-header{position:static;min-height:82px;height:auto}.q-public-page .q-customer{padding-bottom:20px}.q-public-page .q-toolbar>div{min-width:0}.q-public-page h1,.q-public-page .q-pre{overflow-wrap:anywhere}.q-public-page .q-primary-actions{position:static}.q-public-page .q-quote-summary{border:1px solid #dce4de;border-radius:12px;padding:16px;margin-bottom:20px}.q-public-page .q-quote-summary .q-total{padding:10px 0 0;margin:0}
@media(max-width:800px){
 .q-public-page{overflow-x:clip}.q-public-page .q-public-header{position:static;min-height:76px;height:auto;padding:12px 16px}.q-public-header .brand.brand-logo{width:172px;height:49px}.q-public-header .brand-logo img{width:172px}.q-public-header>.q-pill{display:none}.q-public-page .q-customer{margin:16px auto;padding:0 12px}.q-public-page .q-customer>.panel{padding:16px 12px}.q-public-page .q-toolbar{gap:10px}.q-public-page .q-toolbar h1{font-size:25px;line-height:1.25}.q-public-page .q-toolbar p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.q-public-page .q-customer-actions{display:grid;grid-template-columns:1fr;gap:8px;padding-top:12px}.q-public-page .q-primary-actions{margin-bottom:18px}.q-public-page .q-primary-actions button{width:100%;min-height:44px;padding:10px 12px}.q-public-page .q-table-scroll:has(.q-quote-items){border:0;overflow:visible;background:transparent}.q-public-page .q-quote-items{display:block;min-width:0!important;width:100%;background:transparent}.q-quote-items thead{display:none}.q-quote-items tbody{display:block;width:100%}.q-quote-items tr.q-quote-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;background:#fff;border:1px solid #dce4de;border-radius:12px;margin-bottom:12px;padding:14px}.q-quote-items .q-quote-item td{display:block;min-width:0;padding:0;border:0;font-size:14px;overflow-wrap:anywhere;white-space:normal}.q-quote-items .q-quote-item td:first-child{display:none}.q-quote-items .q-quote-item .q-item-name{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #e5ebe3}.q-quote-items .q-item-name::before{content:'Item ' attr(data-item-number);display:block;font-size:11px;color:#738176;margin-bottom:4px}.q-quote-items .q-item-name>strong{font-size:16px}.q-quote-items .q-item-name p{font-size:13px;margin:5px 0 0}.q-quote-items td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:#738176;margin-bottom:4px}.q-quote-items .q-item-total{font-weight:700;color:#24483e}.q-quote-items tr.q-section-row{display:block;margin:16px 0 10px}.q-quote-items .q-section-row th{display:block;white-space:normal;border:0;border-radius:9px;padding:12px}.q-quote-items tr.q-section-total{display:flex;justify-content:space-between;gap:10px;padding:12px;background:#edf3e9;border-radius:9px;margin:-4px 0 18px}.q-quote-items .q-section-total td{display:block;padding:0;border:0;background:transparent;text-align:left;font-size:13px}.q-quote-items .q-section-total td:last-child{font-weight:700;white-space:nowrap}.q-public-page .q-quote-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.q-public-page .q-quote-summary>span{display:flex;justify-content:space-between;gap:10px;font-size:13px}.q-public-page .q-quote-summary>span strong{font-size:15px;text-align:right}.q-public-page .q-quote-summary .q-total{font-size:20px;line-height:1.4;border-top:1px solid #d9e3d6;overflow-wrap:anywhere}.q-public-page .q-document-boxes section{padding:16px}.q-public-page .q-document-boxes h3{font-size:16px}.q-public-page .q-signature{min-height:100px}.q-public-page .q-receipt-preview dl{grid-template-columns:1fr}.q-public-page .q-receipt-preview dd{text-align:left}.q-public-page .legal-footer{padding:22px 8px}
}

/* Consultation states remain distinguishable without relying on colour alone. */
.q-slots .q-slot{border:1px solid #a4c6ae;background:#f3faf4;color:#244e3c;min-width:0;line-height:1.4}
.q-slots .q-slot strong{display:block;font-size:11px;margin-top:8px}
.q-slots .q-slot.is-booked{background:#ede5de;border-color:#d2beb0;color:#715a4a;opacity:1;cursor:not-allowed}
.q-slots .q-slot[aria-pressed=true]{background:#244e3c;border-color:#244e3c;color:white;box-shadow:0 0 0 2px #b8d3bf}
.q-slot-empty{grid-column:1/-1;padding:18px;background:#f4f5f1;border-radius:10px}
[data-slot-status]{font-size:14px;font-weight:600;margin:18px 0}
.page-backbar{margin:0 0 18px}.page-backbar button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;font-size:14px}
