.commercial-table{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:16px 0}.commercial-table table{width:100%;border-collapse:collapse;font-size:.85rem}.commercial-table th,.commercial-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);min-width:110px;vertical-align:middle}.commercial-table th{background:var(--surface-alt);font-size:.75rem;color:var(--muted)}.commercial-table tr:last-child td{border-bottom:0}.commercial-table>p{padding:16px}.commercial-table td button{margin:0;white-space:nowrap}.commercial-dialog{width:min(1120px,calc(100vw - 48px));max-width:none;max-height:90dvh;container-type:inline-size}.commercial-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.commercial-dialog .form-grid>button{align-self:end;margin-bottom:16px}.quote-selector{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:12px;align-items:end}.quote-line{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(120px,1fr) auto;gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid var(--border)}.quote-line button,.quote-selector button{margin:16px 0}.commercial-dialog section{margin:24px 0}#quote-summary{padding:18px;background:var(--surface-alt);border-radius:12px}.whatsapp-open{display:inline-flex;background:var(--accent);color:var(--button-text,#fff);padding:13px 18px;text-decoration:none;border-radius:8px;align-items:center;font-weight:700}#whatsapp-dialog textarea{min-height:180px}#quote-approval{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}#quote-payment-controls{border:0;padding:0;margin:0;min-width:0}
#order-dialog{width:calc(100vw - 64px);max-width:1440px;max-height:92dvh;padding:28px}#order-fields{grid-template-columns:repeat(3,minmax(0,1fr))}#order-dialog #order-items .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#order-dialog #order-quote-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-preview #order-dialog,.mobile-preview .commercial-dialog{width:min(430px,calc(100% - 24px))}.mobile-preview #order-fields{grid-template-columns:1fr}.mobile-preview .quote-selector,.mobile-preview .quote-line{grid-template-columns:1fr}.mobile-preview #order-dialog #order-items .form-grid,.mobile-preview #order-dialog #order-quote-fields{grid-template-columns:1fr}
@container(max-width:700px){.quote-selector,.quote-line{grid-template-columns:1fr 1fr}.quote-line>label:first-child{grid-column:1/-1}.quote-selector button{margin:16px 0}.commercial-dialog .form-grid{grid-template-columns:1fr}}
@media(max-width:760px){#order-dialog,.commercial-dialog{width:calc(100vw - 20px);padding:18px;max-height:94dvh}#order-fields,#order-dialog #order-items .form-grid,#order-dialog #order-quote-fields{grid-template-columns:1fr}.quote-selector,.quote-line{grid-template-columns:1fr 1fr}.quote-line>label:first-child{grid-column:1/-1}.commercial-table th,.commercial-table td{padding:10px}.commercial-dialog .form-grid{grid-template-columns:1fr}}
#quote-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);max-width:none;padding:22px}.quote-editor-heading{align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.quote-editor-heading h2{margin:0}.quote-heading-actions{display:flex;align-items:center;gap:12px}.quote-status-label{margin:0;font-size:.75rem}.quote-status-label select{width:220px;min-height:36px;padding:7px 12px;font-size:.8rem;border-radius:20px;background:var(--surface-alt)}.quote-heading-actions>button{width:auto;min-height:36px;padding:8px 14px;margin:0}#quote-approval{padding-top:12px;margin-top:12px}#quote-approval h3{display:none}#quote-approval p{font-size:.75rem}#quote-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){#quote-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding:16px}.quote-editor-heading{flex-wrap:wrap}.quote-heading-actions{width:100%;justify-content:space-between}.quote-status-label{flex:1}.quote-status-label select{width:100%}#quote-dialog .form-grid{grid-template-columns:1fr}}
.sale-action-menu{display:inline-block}.sale-action-menu summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:7px;padding:4px 14px;font-size:1.3rem;line-height:1.2;background:var(--surface);color:var(--text)}.sale-action-menu summary::-webkit-details-marker{display:none}.sale-action-options{position:fixed;z-index:100;width:240px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 8px 24px #0002}.sale-action-options button{display:block;width:100%;text-align:left;border:0;border-radius:5px;margin:0;padding:10px 12px;font-size:.8rem}.sale-action-options button:last-child{color:var(--accent)}.sale-action-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.document-link-copy{display:flex;align-items:center;gap:8px;margin-top:6px}.document-link-copy input{flex:1;min-width:0;margin:0}.document-link-copy button{flex:0 0 40px;width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin:0}.document-link-copy button:hover{color:var(--accent)}

.invoice-share-choice{width:min(440px,calc(100vw - 24px))}.invoice-share-choice .actions{display:flex;gap:10px;flex-wrap:wrap}.invoice-share-choice .actions button{display:inline-flex;align-items:center;gap:8px}.invoice-share-choice .actions svg{width:18px;height:18px;flex:none}

/* Service price belongs to this sale/quote only, alongside the selected service. */
body.app-signed-in #quote-service-section .quote-selector{grid-template-columns:minmax(0,1fr) minmax(130px,180px) auto}
body.app-signed-in #quote-service-section .quote-selector>label[hidden],body.app-signed-in #quote-service-section .quote-selector>button[hidden]{display:none}
@media(max-width:700px){body.app-signed-in #quote-service-section .quote-selector{grid-template-columns:minmax(0,1fr) auto}body.app-signed-in #quote-service-section .quote-selector>label:not(.quote-service-price-label){grid-column:1/-1}body.app-signed-in #quote-service-section .quote-selector>.quote-service-price-label{grid-column:1}}
