/* v0.32.0: the quote title alignment really applies (a list style also named .qt-title turned it into a flex box) */
.quote-paper .qt-title{display:block}

/* Mẫu báo giá builder, company A4 previews and layout thumbnails: the same page box as the exported PDF.
   PDF points × 4/3 = px. Text follows the layout's base size (--qt-fs), like the PDF factor k = base size / 15. */
#lb-page,.wm-a4,.qp-page,.lb-thumb-inner .quote-paper.qt-layout{padding:29.33px 29.33px 40px 32px}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .quote-paper.qt-layout{line-height:1.2778}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-head{gap:0;align-items:center;margin-bottom:10.67px}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-head>div{min-width:0;padding:4px 8px 4px 0}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-logo img{max-width:calc(100% - 13px)}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-company{font-weight:700;font-size:calc(var(--qt-fs,15px)*.9333);line-height:1.3333}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-company strong{font-size:calc(var(--qt-fs,15px)*1.1111);line-height:1.28}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-contract{font-size:calc(var(--qt-fs,15px)*.8889);line-height:1.4}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-draft{color:#C00000}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-number{display:none}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-title{margin:0 0 8px;font-size:calc(var(--qt-title-size,25)*.8533px)!important;line-height:calc(var(--qt-title-size,25)*1.1733px);font-weight:700}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-meta{margin:0 0 10.67px;font-size:calc(var(--qt-fs,15px)*.9333);line-height:1.4286}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout table{font-size:calc(var(--qt-fs,15px)*.8);line-height:1.2778}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout th,:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout td{padding:5.33px 4px;border-width:.8px}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout th{font-size:calc(var(--qt-fs,15px)*.8889);line-height:1.2}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-group td,:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-total td{font-size:calc(var(--qt-fs,15px)*.8889);line-height:1.2}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .r{white-space:normal}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-img img{width:auto;max-width:100%;max-height:82.67px;margin:0 auto}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-sign{display:flex;justify-content:space-between;padding:29.33px 0 53.33px;font-size:calc(var(--qt-fs,15px)*.9333)}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-sign>span{width:25%}
:is(#lb-page,.wm-a4,.lb-thumb-inner,.qp-page) .qt-layout .qt-sign>span:last-child{text-align:right}
.qt-a4-foot{position:absolute;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;color:#000;font-size:10.67px;line-height:1;pointer-events:none}
.wm-a4>.qt-a4-foot{bottom:16px}

/* Builder: pick company / title / customer from Danh mục, align the title, edit labels in place */
.lb-pick{position:absolute;top:0;right:0;z-index:6;display:inline-grid;place-items:center;width:30px;height:30px;min-height:0;margin:0;padding:0;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;box-shadow:0 2px 6px #1018281f;cursor:pointer}
.lb-pick .solid-icon{width:15px;height:15px}
.lb-pick:hover,.lb-align:hover{border-color:var(--brand,#0964fe);color:var(--brand,#0964fe)}
.lb-inline-tools{position:absolute;top:0;right:6px;z-index:6;display:flex;gap:4px;font-family:Arial,sans-serif}
.lb-inline-tools .lb-pick{position:static}
.lb-align{height:30px;min-height:0;margin:0;padding:0 10px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font:600 12px/1 Arial,sans-serif;box-shadow:0 2px 6px #1018281f}
.lb-align.on,.lb-align.on:hover{border-color:var(--brand,#0964fe);background:var(--brand,#0964fe);color:#fff}
.lb-inline-input{position:fixed;z-index:1000;height:34px;margin:0;padding:4px 10px;border:2px solid var(--brand,#0964fe);border-radius:6px;background:#fff;color:#1d2433;font:15px/1.2 Arial,sans-serif;box-shadow:0 8px 24px #10182833}
.lb-pick-note{margin:0 0 10px;color:#667085;font-size:13px}
#lb-pick-search{width:100%}
.lb-pick-list{display:grid;gap:6px;max-height:min(60vh,520px);margin-top:10px;overflow:auto}
.lb-pick-item{display:flex;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:8px 10px;border:1px solid #e4e7ec;border-radius:8px;background:#fff;color:#1d2433;text-align:left;font-weight:400}
.lb-pick-item img,.lb-pick-noimg{display:grid;flex:0 0 56px;place-items:center;width:56px;height:40px;border-radius:6px;background:#f9fafb;object-fit:contain}
.lb-pick-noimg .solid-icon{width:18px;height:18px;opacity:.6}
.lb-pick-item span{display:grid;min-width:0}
.lb-pick-item small{overflow:hidden;color:#667085;text-overflow:ellipsis;white-space:nowrap}
.lb-pick-item:hover{border-color:var(--brand,#0964fe)}
.lb-pick-item.on{border-color:var(--brand,#0964fe);background:#eaf2ff}
#dialog:has(.lb-pdf-pages){width:min(1240px,96vw);max-width:96vw}
.lb-pdf-pages{display:grid;gap:14px;max-height:76vh;padding:12px;overflow:auto;border-radius:8px;background:#e9edf3}
.lb-pdf-pages figure{margin:0}
.lb-pdf-pages img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 6px 20px #1018281f}
.lb-pdf-pages figcaption{margin-top:4px;color:#667085;font-size:12px;text-align:center}

/* "?" note: stays open under the pointer, text can be selected and copied */
.help-tip{pointer-events:auto;cursor:text;user-select:text;-webkit-user-select:text}
/* Chia sẻ: a missing field is shown in red right at that field */
#share-form input.field-invalid{border-color:#d92d20!important;box-shadow:0 0 0 3px #fee4e2!important}
#share-form .field-invalid:not(input){padding:6px;border:1px solid #d92d20;border-radius:8px;box-shadow:0 0 0 3px #fee4e2}
.field-error-tip{position:relative;width:max-content;max-width:100%;margin:8px 0 2px;padding:6px 10px;border-radius:6px;background:#d92d20;color:#fff;font-size:13px;font-weight:600;line-height:1.35}
.field-error-tip::before{content:"";position:absolute;left:14px;top:-5px;border:5px solid transparent;border-top:0;border-bottom-color:#d92d20}

/* Thư viện căn hộ: quote images carry the product name */
.project-images .media-item .quote-image-name{overflow:hidden;padding:6px 8px;color:#344054;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
