.contact-doc,.quote-doc{--q-accent:var(--accent);--q-accent-dark:var(--accent);--q-accent-soft:rgba(154,138,82,0.16);--q-text:var(--text);--q-text2:var(--text-secondary);--q-muted:var(--text-muted);--q-border:rgba(255,255,255,0.13);--q-border2:rgba(255,255,255,0.13);--q-bg:#3c3b39;--q-card:#403f3d;--q-panel:#373635;--q-tile:rgba(255,255,255,0.09)}.quote-doc{min-height:100vh;background:var(--q-bg);color:var(--q-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app-shell>.quote-doc{flex:1 1;min-width:0;height:100vh;min-height:0;overflow-y:auto}:root.light .contact-doc,:root.light .quote-doc{--q-accent-soft:rgba(122,108,58,0.16);--q-bg:#faf9f6;--q-card:#ffffff;--q-panel:#f1efeb;--q-border:rgba(0,0,0,0.07);--q-border2:rgba(0,0,0,0.07);--q-tile:rgba(0,0,0,0.03)}.quote-doc .q-bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--q-card);color:var(--q-text);display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--q-border)}.quote-doc .q-bar h1{font-size:14px;font-weight:600;letter-spacing:.2px}.quote-doc .q-bar .q-actions{display:flex;align-items:center;gap:8px}.quote-doc .q-btn{border:1px solid var(--q-border);border-radius:6px;padding:6px 12px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s;background:transparent;color:var(--q-text2);display:inline-flex;align-items:center;gap:6px}.quote-doc .q-acc-btn svg,.quote-doc .q-btn svg{flex:none}.quote-doc .q-btn:hover{background:var(--bg-hover);color:var(--q-text)}.quote-doc .q-btn-white{color:var(--q-text)}.quote-doc .q-status{background:var(--q-accent-soft);border:1px solid transparent;color:var(--q-accent);border-radius:6px;padding:5px 11px;font-size:11px;font-weight:600}.quote-doc .q-scrolllock{padding:6px 8px}.quote-doc .q-scrolllock svg{width:16px;height:16px}.quote-doc .q-scrolllock[data-mode=independent]{color:var(--q-accent);border-color:var(--q-accent)}.quote-doc .q-wrap{max-width:1440px;margin:0 auto;padding:24px 24px 70px}.quote-doc .q-grid{display:grid;grid-template-columns:280px 1.05fr .95fr;grid-gap:32px;gap:32px;align-items:start}.quote-doc .q-msgs{max-height:74vh;overflow-y:auto;padding-right:4px}.quote-doc .q-msg{padding:11px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-msg:last-child{border-bottom:none}.quote-doc .q-msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.quote-doc .q-msg-ch{font-size:10px;color:var(--q-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.quote-doc .q-msg-time{font-size:10px;color:var(--q-muted);margin-left:auto}.quote-doc .q-msg-from{font-size:13px;font-weight:600;color:var(--q-text);margin-bottom:3px}.quote-doc .q-msg-body{font-size:12.5px;color:var(--q-text2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.quote-doc .q-msg-empty{font-size:12px;color:var(--q-muted);padding:8px 0}.quote-doc .q-msg-dot{width:5px;height:5px;border-radius:50%;background:var(--q-accent);flex:none}.quote-doc .q-box-del{position:absolute;top:4px;right:4px;opacity:0;transition:opacity .15s;z-index:2}.quote-doc .q-up:hover .q-box-del{opacity:1}@media (max-width:1150px){.quote-doc .q-grid{grid-template-columns:1fr 1fr}.quote-doc .q-col-msgs{grid-column:1/-1}.quote-doc .q-msgs{max-height:300px}}.quote-doc .q-col{display:flex;flex-direction:column;gap:30px}.quote-doc .q-col-right{background:var(--q-panel);border:1px solid var(--q-border);border-radius:12px;padding:22px;gap:22px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.12)}.quote-doc .q-col-right>.q-card+.q-card{border-top:1px solid var(--q-border);padding-top:22px}.quote-doc[data-scroll=independent]{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.quote-doc[data-scroll=independent] .q-wrap{flex:1 1;min-height:0;width:100%;overflow:hidden}.quote-doc[data-scroll=independent] .q-grid{height:100%;min-height:0;align-items:stretch}.quote-doc[data-scroll=independent] .q-col{min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.quote-doc[data-scroll=independent] .q-col::-webkit-scrollbar{display:none}.quote-doc[data-scroll=independent] .q-msgs{max-height:none;overflow-y:visible}.contact-doc .q-card,.quote-doc .q-card{background:transparent;border:none;border-radius:0;box-shadow:none}.quote-doc .q-pad{padding:0}.contact-doc .q-sec-title,.quote-doc .q-sec-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding-bottom:6px}.contact-doc .q-sec-title,.quote-doc .q-head,.quote-doc .q-sec-title{color:var(--q-text2);border-bottom:1px solid var(--q-border);margin-bottom:12px}.quote-doc .q-head{display:flex;align-items:center;justify-content:space-between;background:transparent;padding:0 0 6px}.quote-doc .q-head h2{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.quote-doc .q-ctitle{display:flex;align-items:center;justify-content:space-between;padding:0 0 6px;margin-bottom:12px;border-bottom:1px solid var(--q-border)}.quote-doc .q-ctitle h2{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--q-text2)}.contact-doc .q-fields,.quote-doc .q-fields{padding:0}.contact-doc .q-field,.quote-doc .q-field{display:grid;grid-template-columns:135px 1fr;grid-gap:10px;gap:10px;padding:7px 0;border-bottom:1px solid var(--q-border)}.contact-doc .q-field:last-child,.quote-doc .q-field:last-child{border-bottom:none}.contact-doc .q-field .k,.quote-doc .q-field .k{color:var(--q-text2);font-size:12px}.contact-doc .q-field .v,.quote-doc .q-field .v{color:var(--q-text);font-size:12.5px;font-weight:500;word-break:break-word}.contact-doc .q-field .v.link,.quote-doc .q-field .v.link{color:var(--q-accent-dark);font-weight:600}.contact-doc .q-field .v.muted,.quote-doc .q-field .v.muted{color:var(--q-muted);font-weight:400}.contact-doc .q-field .v.q-phone,.quote-doc .q-field .v.q-phone{display:inline-flex;align-items:center;gap:7px}.contact-doc .q-phone-call,.quote-doc .q-phone-call{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;padding:0;border:none;border-radius:5px;background:none;color:var(--q-accent-dark);cursor:pointer;text-decoration:none}.contact-doc .q-phone-call:hover,.quote-doc .q-phone-call:hover{background:var(--q-tile)}.quote-doc .q-field .v.q-cust-value{display:flex;align-items:center;gap:8px;min-width:0}.quote-doc .q-cust-name{min-width:0;overflow-wrap:anywhere}.quote-doc .q-cust-name.muted{color:var(--q-muted);font-weight:400}.quote-doc .q-acct-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;padding:0;border:none;border-radius:5px;background:none;color:var(--q-muted);cursor:pointer;position:relative;touch-action:manipulation}.quote-doc .q-acct-toggle:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.quote-doc .q-acct-toggle.is-linked{color:var(--q-accent-dark)}.quote-doc .q-acct-toggle:hover,.quote-doc .q-acct-toggle[aria-expanded=true]{background:var(--q-tile);color:var(--q-accent-dark)}.quote-doc .q-acct-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--q-accent) 45%,transparent);outline-offset:1px}.quote-doc .q-field .v.q-acct-linked{display:flex;align-items:center;gap:8px;min-width:0}.quote-doc .q-acct-name{min-width:0;overflow-wrap:anywhere}.quote-doc .q-acct-unlink{flex:none;position:relative;padding:5px 9px;touch-action:manipulation;border:1px solid var(--q-border);border-radius:5px;background:none;color:var(--q-muted);font:inherit;font-size:11px;cursor:pointer}.quote-doc .q-acct-unlink:after{content:"";position:absolute;inset:-11px -4px}.quote-doc .q-acct-unlink:hover:not(:disabled){color:var(--q-text);border-color:var(--q-muted)}.quote-doc .q-acct-unlink:disabled{opacity:.55;cursor:default}.quote-doc .q-acct-picker{display:flex;flex-direction:column;gap:6px;min-width:0}.quote-doc .q-acct-input{width:100%;padding:5px 7px;border:1px solid var(--q-border);border-radius:5px;background:var(--q-tile);color:var(--q-text);font-family:inherit;font-size:12.5px;box-sizing:border-box}.quote-doc .q-acct-results{list-style:none;margin:0;padding:0;max-height:190px;overflow-y:auto;border:1px solid var(--q-border);border-radius:6px}.quote-doc .q-acct-option{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 9px;touch-action:manipulation;border:0;background:none;color:var(--q-text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.quote-doc .q-acct-option:focus-visible,.quote-doc .q-acct-option:hover:not(:disabled){background:var(--q-tile)}.quote-doc .q-acct-option.is-create{color:var(--q-accent-dark);font-weight:600;border-top:1px solid var(--q-border)}.quote-doc .q-acct-option:disabled{opacity:.55;cursor:default}.quote-doc .q-acct-empty{padding:8px 9px;color:var(--q-muted);font-size:11.5px}.quote-doc .q-doc{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-doc:last-child{border-bottom:none}.quote-doc .q-doc-ico{flex:none;width:34px;height:34px;border-radius:6px;background:var(--q-accent-soft);display:flex;align-items:center;justify-content:center;color:var(--q-accent-dark);font-size:10px;font-weight:700}.quote-doc .q-doc-name{font-size:12.5px;font-weight:600}.quote-doc .q-doc-sub{font-size:11px;color:var(--q-accent-dark);margin-top:2px}.quote-doc .q-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;padding:0}.quote-doc .q-draw{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px;padding:0}.quote-doc .q-draw .q-tile{aspect-ratio:16/10}.quote-doc .qcv-ortho{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--q-text2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.quote-doc .qcv-ortho input{accent-color:var(--q-accent)}.quote-doc .qcv-wrap{position:relative;border:1px solid var(--q-border);border-radius:10px;overflow:hidden;background:var(--q-tile)}.quote-doc #qcv-canvas{display:block;width:100%;touch-action:none;cursor:default}.quote-doc #qcv-canvas.tracing{cursor:crosshair}.quote-doc .qcv-hint{position:absolute;top:10px;left:10px;right:10px;font-size:11px;color:var(--q-muted);pointer-events:none;text-align:center}.quote-doc .qcv-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;align-items:center}.quote-doc .qcv-tb{background:var(--q-tile);color:var(--q-text);border:1px solid var(--q-border);border-radius:6px;font-size:11px;font-weight:600;padding:6px 9px;cursor:pointer;font-family:inherit;white-space:nowrap}.quote-doc .qcv-tb.active,.quote-doc .qcv-tb:hover{border-color:var(--q-accent);color:var(--q-accent)}.quote-doc .qcv-tb.active{background:var(--q-accent-soft)}.quote-doc .qcv-tb.danger:hover{border-color:#c97a7a;color:#c97a7a}.quote-doc .qcv-tb-sp{flex:1 1}.quote-doc .qcv-tracebar{display:flex;gap:6px;margin-top:8px}.quote-doc .qcv-tracebar .q-addbtn{flex:1 1;text-align:center;margin:0}.quote-doc .qcv-meas{display:flex;gap:8px;margin-top:10px}.quote-doc .qcv-m{flex:1 1;background:var(--q-tile);border:1px solid var(--q-border);border-radius:8px;padding:8px;text-align:center}.quote-doc .qcv-m span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--q-muted)}.quote-doc .qcv-m b{display:block;font-size:14px;color:var(--q-text);margin-top:3px}.quote-doc .qcv-dim{margin-top:8px}.quote-doc .qcv-dim .row{display:flex;align-items:center;gap:8px;background:var(--q-tile);border:1px solid var(--q-accent);border-radius:8px;padding:8px 10px}.quote-doc .qcv-dim .row .side{font-size:11px;font-weight:600;color:var(--q-text2)}.quote-doc .qcv-dim input{flex:1 1;min-width:0;background:var(--q-bg);border:1px solid var(--q-border);border-radius:6px;padding:7px 9px;color:var(--q-text);font-family:inherit;font-size:13px}.quote-doc .qcv-dim .unit{font-size:11px;color:var(--q-muted)}.quote-doc .qcv-edgeacts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.quote-doc .qcv-edgeacts button{flex:1 1;min-width:72px;background:var(--q-tile);color:var(--q-text2);border:1px solid var(--q-border);border-radius:6px;font-size:10.5px;font-weight:600;padding:6px 7px;cursor:pointer;font-family:inherit}.quote-doc .qcv-edgeacts button:hover{border-color:var(--q-accent);color:var(--q-accent)}.quote-doc .qcv-empty{font-size:11px;color:var(--q-muted);padding:2px}.quote-doc .qcv-note{font-size:10.5px;color:var(--q-muted);margin-top:8px;line-height:1.5}.quote-doc .qcv-cut{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--q-border)}.quote-doc .qcv-cut .nm{flex:1 1;font-size:12.5px;color:var(--q-text)}.quote-doc .qcv-cut .dm{font-size:11.5px;color:var(--q-text2)}.quote-doc .qcv-cut .x{background:none;border:none;color:var(--q-muted);cursor:pointer;font-size:16px;line-height:1}.quote-doc #qcv-modal label{display:block;font-size:11px;color:var(--q-text2);margin:9px 0 3px}.quote-doc #qcv-modal .qcv-min,.quote-doc #qcv-modal .qcv-msel{width:100%;box-sizing:border-box;background:var(--q-bg);border:1px solid var(--q-border);border-radius:6px;padding:8px;color:var(--q-text);font-family:inherit;font-size:13px}.quote-doc .q-tile{aspect-ratio:4/3;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--q-muted);background:var(--q-tile);border:1px solid var(--q-border);box-shadow:0 1px 2px rgba(0,0,0,.12)}.quote-doc .q-spec{display:grid;grid-template-columns:46px 1fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-spec:last-of-type{border-bottom:none}.quote-doc .q-spec-noimg{grid-template-columns:1fr auto auto}.quote-doc .q-cal-btn{background:var(--q-accent-soft);color:var(--q-accent);border:none;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:4px 9px;cursor:pointer;font-family:inherit}.quote-doc .q-cal-btn:hover{filter:brightness(1.1)}.quote-doc .q-stage{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-stage:last-child{border-bottom:none}.quote-doc .q-stage-dot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--q-accent);color:var(--q-accent);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex:none}.quote-doc .q-stage-name{font-size:13px;font-weight:600;flex:1 1}.quote-doc .q-stage-add{background:transparent;border:1px solid var(--q-border);border-radius:4px;color:var(--q-accent);cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;line-height:1;margin-left:6px;padding:1px 5px;vertical-align:middle}.quote-doc .q-stage-add:hover:not(:disabled){background:var(--q-accent-soft);border-color:var(--q-accent)}.quote-doc .q-stage-add:disabled{cursor:default;opacity:.5}.quote-doc .q-stage-remove{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--q-muted);cursor:pointer;font-family:inherit;font-size:13px;line-height:1;margin-left:6px;padding:1px 5px}.quote-doc .q-stage-remove:hover:not(:disabled){border-color:#d64c4c;color:#d64c4c}.quote-doc .q-stage-remove:disabled{cursor:default;opacity:.4}.quote-doc .q-stage-time{color:var(--q-muted);white-space:nowrap}.quote-doc .q-stage-dispatch{font-size:12.5px;font-weight:600;color:#d64c4c;white-space:nowrap}.quote-doc .q-stage-dispatch.is-pending{color:#e0952f}.quote-doc .q-stage-when{font-size:12px;color:var(--q-accent);font-weight:600;cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .15s}.quote-doc .q-stage-when:hover{border-bottom-color:currentColor}.quote-doc .q-stage-when.tbd{color:var(--q-muted);font-weight:400}.quote-doc .q-stage-when{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.35}.quote-doc .q-stage-time{font-size:11px;font-weight:600;color:var(--q-text2)}.quote-doc .q-stage-time.tbd{color:var(--q-muted);font-weight:400;font-style:italic}.quote-doc .q-payrow{display:grid;grid-template-columns:1.1fr .9fr .8fr auto;grid-gap:6px;gap:6px;align-items:center;margin-bottom:7px}.quote-doc .q-payrow .q-cin,.quote-doc .q-payrow .q-csel{width:100%;max-width:none;box-sizing:border-box;padding:6px 8px;font-size:12px}.quote-doc .q-paysum{display:flex;justify-content:space-between;font-size:12.5px;color:var(--q-text2);margin-top:8px}.quote-doc .q-paysum:last-of-type{font-weight:700;color:var(--q-text);border-top:1px solid var(--q-border);padding-top:8px}.quote-doc .q-calc{width:100%;border-collapse:collapse;font-size:12px}.quote-doc .q-calc th{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--q-text2);font-weight:600;text-align:right;padding:5px}.quote-doc .q-calc th:first-child{text-align:left}.quote-doc .q-calc td{padding:5px;text-align:right;border-bottom:1px solid var(--q-border);vertical-align:middle}.quote-doc .q-calc td:first-child{text-align:left;color:var(--q-text);font-weight:500}.quote-doc .q-calc td.ct{color:var(--q-text);font-weight:600;white-space:nowrap}.quote-doc .q-calc tr.sub td{font-weight:700;border-bottom:none;color:var(--q-text)}.quote-doc .q-cin{width:52px;background:var(--q-tile);border:1px solid var(--q-border);border-radius:5px;color:var(--q-text);font-family:inherit;font-size:12px;padding:3px 5px;text-align:right;-moz-appearance:textfield}.quote-doc .q-cin:focus{outline:none;border-color:var(--q-accent)}.quote-doc .q-cin::-webkit-inner-spin-button,.quote-doc .q-cin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quote-doc .q-nospin{-moz-appearance:textfield}.quote-doc .q-nospin::-webkit-inner-spin-button,.quote-doc .q-nospin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quote-doc .q-cin-full{width:100%;text-align:left;margin-bottom:2px}.quote-doc .q-matblock{padding:11px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-matblock:first-child{padding-top:2px}.quote-doc .q-mat-name{width:100%;text-align:left;margin-bottom:7px;font-size:12.5px}.quote-doc .q-matgrid{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end}.quote-doc .q-fld{display:flex;flex-direction:column;gap:3px}.quote-doc .q-fld em{font-style:normal;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--q-muted);font-weight:600}.quote-doc .q-fld-total{margin-left:auto;text-align:right}.quote-doc .q-matgrid .q-delbtn{align-self:flex-end;margin-bottom:4px}.quote-doc .q-cin-bill{width:100%;text-align:left;font-size:12.5px}.quote-doc .q-matgrid .q-cin{width:48px}.quote-doc .q-matgrid .q-csel{max-width:96px;font-size:11px}.quote-doc .q-matgrid .qmt{margin-left:auto;font-weight:600;font-size:12.5px;color:var(--q-text);white-space:nowrap}.quote-doc .q-matsub{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--q-border2);font-weight:700;font-size:12.5px;color:var(--q-text)}.contact-doc .q-labor-head,.quote-doc .q-labor-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px}.contact-doc .q-detbtn,.quote-doc .q-detbtn{background:var(--q-accent-soft);color:var(--q-accent);border:none;border-radius:6px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;cursor:pointer;font-family:inherit}.contact-doc .q-detbtn:hover,.quote-doc .q-detbtn:hover{filter:brightness(1.08)}.quote-doc .q-addbtn{background:var(--q-accent-soft);color:var(--q-accent);border:none;border-radius:6px;font-size:10.5px;font-weight:600;padding:6px 11px;cursor:pointer;font-family:inherit;margin:4px 0 2px}.quote-doc .q-addbtn:hover{filter:brightness(1.08)}.quote-doc .q-delbtn{background:none;border:none;color:var(--q-muted);font-size:15px;cursor:pointer;line-height:1;padding:0 3px}.quote-doc .q-delbtn:hover{color:var(--q-accent)}.quote-doc .q-csel{background:var(--q-tile);border:1px solid var(--q-border);border-radius:5px;color:var(--q-text);font-family:inherit;font-size:11.5px;padding:3px 4px;max-width:100px}.quote-doc .q-csel:focus{outline:none;border-color:var(--q-accent)}.quote-doc .q-csel option{color:#1a1917}.quote-doc .q-calc-grouptitle{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--q-accent);font-weight:700;margin:14px 0 6px}.quote-doc .q-calc-grouptitle:first-of-type{margin-top:2px}.quote-doc .q-scheme-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.quote-doc .q-scheme-tab{background:var(--q-tile);color:var(--q-text2);border:1px solid var(--q-border);border-radius:6px;font-family:inherit;font-size:10.5px;font-weight:700;letter-spacing:.3px;line-height:1.4;padding:3px 8px;cursor:pointer}.quote-doc .q-scheme-tab:hover{border-color:var(--q-accent);color:var(--q-text)}.quote-doc .q-scheme-tab.active{background:var(--q-accent);border-color:var(--q-accent);color:#fff}.quote-doc .q-scheme-add{color:var(--q-accent);font-size:13px;padding:1px 8px}.quote-doc .q-scheme-rm{color:var(--q-muted);font-size:13px;padding:1px 7px}.quote-doc .q-scheme-rm:hover{border-color:#c0392b;color:#c0392b}.quote-doc .q-disc{border-top:1px solid var(--q-border);margin-top:10px}.quote-doc .q-disc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 0 9px;background:none;border:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.quote-doc .q-disc-head .q-calc-grouptitle{margin:0}.quote-doc .q-disc-val{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--q-text);white-space:nowrap}.quote-doc .q-disc-chev{font-size:11px;line-height:1;color:var(--q-muted);transition:transform .15s ease}.quote-doc .q-disc-head:hover .q-disc-chev{color:var(--q-accent)}.quote-doc .q-disc-chev[data-open]{transform:rotate(180deg)}.quote-doc .q-disc-body{padding-bottom:6px}.quote-doc .q-calc-foot{margin-top:12px;border-top:1px solid var(--q-border);padding-top:10px}.quote-doc .q-calc-foot .row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12.5px}.quote-doc .q-calc-foot .row span:first-child{color:var(--q-text2)}.quote-doc .q-calc-foot .row span:last-child{font-weight:600;color:var(--q-text)}.quote-doc .q-calc-foot .row.grand{border-top:1px solid var(--q-border2);margin-top:4px;padding-top:9px;font-size:14px}.quote-doc .q-calc-foot .row.grand span:first-child{color:var(--q-text);font-weight:700}.quote-doc .q-swatch{width:46px;height:46px;border-radius:7px;border:1px solid var(--q-border);background:var(--q-tile);display:flex;align-items:center;justify-content:center;color:var(--q-muted)}.quote-doc .q-up{cursor:pointer;position:relative;overflow:hidden;transition:border-color .15s}.quote-doc .q-up:hover{border-color:var(--q-accent);color:var(--q-accent)}.quote-doc .q-up img,.quote-doc .q-up video{width:100%;height:100%;object-fit:cover;display:block}.quote-doc .q-up .q-up-hint{position:absolute;bottom:4px;right:6px;font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--q-muted);opacity:0;transition:opacity .15s;pointer-events:none}.quote-doc .q-up:hover .q-up-hint{opacity:.95;color:var(--q-accent)}.quote-doc .q-img-acts{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .15s;z-index:2}.quote-doc .q-up:hover .q-img-acts{opacity:1}.quote-doc .q-ia{width:22px;height:22px;border-radius:5px;background:rgba(0,0,0,.55);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.quote-doc .q-ia:hover{background:rgba(0,0,0,.78)}.quote-doc .q-edgerow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 2px}.quote-doc #qc_bid{width:96px}.quote-doc .q-spec .name{font-size:12.5px;font-weight:500;line-height:1.3}.quote-doc .q-spec .price{font-size:12.5px;font-weight:600;white-space:nowrap}.quote-doc .q-spec .area{font-size:11px;color:var(--q-text2);text-align:right;white-space:nowrap}.quote-doc .q-spec .area b{display:block;color:var(--q-text);font-size:12.5px}.quote-doc .q-sub{font-size:10.5px;font-weight:600;margin:18px 0 8px;text-transform:uppercase;letter-spacing:.8px;color:var(--q-text2)}.quote-doc table.q-items{width:100%;border-collapse:collapse;font-size:12.5px}.quote-doc table.q-items thead th{background:var(--q-accent-soft);color:var(--q-accent-dark);font-weight:600;text-align:right;padding:7px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.quote-doc table.q-items thead th:first-child{text-align:left;border-radius:6px 0 0 6px}.quote-doc table.q-items thead th:last-child{border-radius:0 6px 6px 0}.quote-doc table.q-items tbody td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--q-border)}.quote-doc table.q-items tbody td:first-child{text-align:left}.quote-doc table.q-items tbody .price{color:var(--q-text2)}.quote-doc table.q-items tr.total td{font-weight:700;border-top:2px solid var(--q-border2);border-bottom:none;padding-top:10px}.quote-doc .q-desc{font-size:11px;color:var(--q-text2);margin-top:12px;line-height:1.5}.quote-doc .q-sumrow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--q-border);font-size:12.5px}.quote-doc .q-sumrow .lbl{color:var(--q-text2)}.quote-doc .q-sumrow .val{font-weight:600}.quote-doc .q-sumrow.head{color:var(--q-text2);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.quote-doc .q-sumrow.grand{border-bottom:none;border-top:2px solid var(--q-border2);font-size:14px}.quote-doc .q-sumrow.grand .lbl{color:var(--q-text);font-weight:700}.quote-doc .q-sumrow.grand .val{font-weight:700}.quote-doc .q-sumact{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.quote-doc .q-acc-btn{border:none;border-radius:6px;padding:6px 13px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.quote-doc .q-acc-ghost{background:var(--q-accent-soft);color:var(--q-accent-dark)}.quote-doc .q-acc-primary{background:var(--q-accent-soft);color:var(--q-accent)}.quote-doc .q-acc-warn{background:rgba(224,149,47,.14);color:#e0952f}.quote-doc .q-acc-done{background:rgba(46,158,91,.14);color:#2e9e5b}.quote-doc .q-pptotal{font-size:24px;font-weight:700;letter-spacing:-.3px;margin-top:2px}.quote-doc .q-ppsub{font-size:11px;color:var(--q-muted)}.quote-doc .q-ppbody{display:flex;align-items:flex-start;gap:22px;margin-top:18px;flex-wrap:wrap}.quote-doc .q-legend{display:flex;flex-direction:column;gap:14px;flex:1 1;min-width:160px}.quote-doc .q-legend .row{display:flex;align-items:flex-start;gap:10px}.quote-doc .q-legend .dot{width:13px;height:13px;border-radius:3px;flex:none;margin-top:3px}.quote-doc .q-legend .q-legend-val{display:flex;flex-direction:column;flex:1 1;min-width:0}.quote-doc .q-legend .q-legend-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.quote-doc .q-legend .amt{font-size:13px;font-weight:700}.quote-doc .q-legend .pct{flex:none;font-size:11px;font-weight:600;color:var(--q-text2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quote-doc .q-legend .cap{font-size:11px;color:var(--q-text2)}@media (max-width:900px){.quote-doc .q-grid{grid-template-columns:1fr}}@media (max-width:560px){.quote-doc .q-gallery{grid-template-columns:repeat(2,1fr)}.contact-doc .q-field,.quote-doc .q-field{grid-template-columns:1fr;gap:2px}}@media print{body *{visibility:hidden!important}.quote-doc,.quote-doc *{visibility:visible!important}.quote-doc{position:absolute;inset:0;overflow:visible;background:#fff;color:#1a1917;--q-card:#fff;--q-bg:#fff;--q-text:#1a1917;--q-text2:#4a473f;--q-muted:#8a857a;--q-border:#e3e0da;--q-border2:#e3e0da;--q-tile:#f3f1ec;--q-accent:#7a6c3a;--q-accent-soft:#efe9d6}.quote-doc .q-actions,.quote-doc .q-sumact{display:none!important}}.actq-group-title{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;text-transform:uppercase;letter-spacing:.6px}.actq-group-count,.actq-group-title{font-size:9.5px;font-weight:700;color:var(--text-muted)}.actq-group-count{opacity:.75}.actq-group[data-quote-group=job] .actq-group-count,.actq-group[data-quote-group=job] .actq-group-title{color:#2e9e5b}.actq-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:0 10px 8px;cursor:pointer;transition:background .12s,border-color .12s}.actq-card:hover{background:var(--bg-hover);border-color:rgba(154,138,82,.45)}.actq-card.is-selected{background:var(--bg-hover);border-color:var(--accent)}.actq-top{display:flex;align-items:center;gap:4px}.actq-top .sx-staffcode{margin-left:-2px;font-size:.72em;padding:0 .12em;min-width:1.75em;height:1.75em}.actq-num{font-weight:700;color:var(--text);flex:none;max-width:6.2em}.actq-name,.actq-num{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actq-name{color:var(--text-secondary);flex:1 1;min-width:0}.actq-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.actq-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border:1px solid var(--accent);border-radius:4px;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;letter-spacing:.2px;padding:1px 4px}.actq-badge--draft{color:var(--text-muted);border-color:var(--border)}.actq-badge--job{color:#2e9e5b;border-color:#2e9e5b}.actq-badge--rejected{color:#c8463c;border-color:#c8463c}.actq-badge--expired{color:#b07d2a;border-color:#b07d2a}.actq-badge--completed{color:#2e9e5b;border-color:#2e9e5b;background:rgba(46,158,91,.12)}.actq-badge--cancelled{color:#c8463c;border-color:#c8463c}.actq-badge--lead{color:var(--text-muted);border-color:var(--border)}.actq-age{font-size:10px;color:var(--text-muted);flex:none}.actq-meta{font-size:10.5px;color:var(--text-secondary);margin-top:5px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actq-meta b{color:var(--text);font-weight:600}.quote-doc .q-mode-toggle{display:inline-flex;gap:2px;padding:2px;margin:4px 0 12px;background:var(--q-tile);border:1px solid var(--q-border);border-radius:8px}.quote-doc .q-mode-tab{flex:0 0 auto;background:transparent;color:var(--q-text2);border:0;border-radius:6px;font-family:inherit;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.quote-doc .q-mode-tab:hover{color:var(--q-text)}.quote-doc .q-mode-tab.active{background:var(--q-accent);color:#fff}.quote-doc .q-lineitems{margin-top:14px;border-top:1px solid var(--q-border);padding-top:10px}.quote-doc .q-li-group{margin-bottom:12px}.quote-doc .q-li-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.quote-doc .q-li-head .qmt{font-weight:700;font-size:12.5px;color:var(--q-text)}.quote-doc .q-li-row{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;padding:7px 0;border-bottom:1px solid var(--q-border)}.quote-doc .q-li-name{flex:1 1 120px;text-align:left;font-size:12.5px}.quote-doc .q-li-row .q-cin{width:60px}.quote-doc .q-li-row .qmt{font-weight:600;font-size:12.5px;color:var(--q-text);white-space:nowrap}.quote-doc .q-li-row .q-delbtn{align-self:flex-end;margin-bottom:4px}.quote-doc .q-profit .q-sec-title{color:var(--q-accent)}.quote-doc .q-price{min-width:96px}.quote-doc .q-price .qmt{font-weight:600;font-size:12.5px;color:var(--q-text)}.quote-doc .q-price-muted,.quote-doc .q-price-muted .qmt{color:var(--q-muted)}.quote-doc .q-price-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px}.quote-doc .q-src-badge{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;line-height:1.4;padding:1px 6px;border-radius:5px;color:var(--q-text2);background:color-mix(in srgb,var(--q-accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--q-accent) 30%,transparent);white-space:nowrap}.quote-doc .q-src-manual{color:#fff;background:var(--q-accent);border-color:var(--q-accent)}.quote-doc .q-src-snapshot{color:var(--q-text2);background:color-mix(in srgb,var(--q-text2) 12%,transparent);border-color:color-mix(in srgb,var(--q-text2) 30%,transparent)}.quote-doc .q-snapshot-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--q-muted);line-height:1.5}.quote-doc .q-review-chip{font-size:8.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:1px 6px;border-radius:5px;color:#fff;background:#c0392b;white-space:nowrap}.quote-doc .q-price-unpriced .qmt{color:#c0392b}.quote-doc .q-linkbtn{background:none;border:0;padding:0;font:inherit;font-size:10.5px;font-weight:600;color:var(--q-accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.quote-doc .q-linkbtn:hover{color:var(--q-text)}.quote-doc .q-price-manual .q-cin{border-color:var(--q-accent)}.quote-doc .q-dropzone{position:relative;border-radius:8px}.quote-doc .q-dropzone.is-dragging:after,.quote-doc .q-dropzone:focus-within:after{content:"";position:absolute;inset:-8px;border:2px dashed var(--q-accent);border-radius:10px;background:var(--q-accent-soft);pointer-events:none}.quote-doc .q-dz-hint{margin:8px 0 0;font-size:10.5px;color:var(--q-muted)}.quote-doc .q-dz-queue{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.quote-doc .q-dz-row{padding:8px 10px;border:1px solid var(--q-border);border-radius:6px;background:var(--q-accent-soft)}.quote-doc .q-dz-row.is-error{border-color:rgba(214,106,96,.55);background:rgba(214,106,96,.12)}.quote-doc .q-dz-row.is-done{opacity:.75}.quote-doc .q-dz-row-head{display:flex;align-items:center;gap:8px}.quote-doc .q-dz-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.quote-doc .q-dz-size,.quote-doc .q-dz-state{flex:none;font-size:10.5px;color:var(--q-muted)}.quote-doc .q-dz-act{flex:none;border:none;background:transparent;color:var(--q-accent-dark);font-size:11px;font-weight:600;cursor:pointer;padding:0 2px}.quote-doc .q-dz-act:hover{text-decoration:underline}.quote-doc .q-dz-bar{margin-top:6px;height:3px;border-radius:2px;background:var(--q-border);overflow:hidden}.quote-doc .q-dz-bar>span{display:block;height:100%;background:var(--q-accent);transition:width .15s linear}.quote-doc .q-dz-msg{margin:6px 0 0;font-size:11px;color:var(--q-text2)}.q-place-list{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:30;margin:0;padding:4px;list-style:none;max-height:220px;overflow-y:auto;background:var(--bg-card,var(--bg));border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18)}.q-place-item{display:block;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.q-place-item:focus-visible,.q-place-item:hover{background:var(--bg-hover)}@media (pointer:coarse){.q-place-item{min-height:44px}}