:root{--bg:#f5f6f7;--ink:#1f2937;--muted:#6b7280;--line:#dfe3e8;--accent:#9b7b3e;--accent2:#7f642f;--panel:#fff;--danger:#b91c1c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Arial,Helvetica,sans-serif}a{color:#6f5527;text-decoration:none}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:28px;position:sticky;top:0;z-index:10}.brand{display:flex;flex-direction:column;min-width:185px}.brand b{font-size:16px;letter-spacing:.4px}.brand span{font-size:11px;color:var(--muted)}nav{display:flex;gap:6px;flex:1}nav a{padding:9px 11px;border-radius:7px;color:#374151}nav a:hover{background:#f3f4f6}.account{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.account form{margin:0}.linkbtn{border:0;background:none;color:#765b2a;cursor:pointer}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.pagehead h1{margin:0 0 4px;font-size:25px}.pagehead p{margin:0;color:var(--muted)}main{max-width:1480px;margin:0 auto;padding:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:18px;box-shadow:0 1px 2px rgba(0,0,0,.025)}.panel h2{margin:0 0 14px;font-size:17px}.panel h3{margin:20px 0 8px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:16px}.panelhead p{margin:3px 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.card span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.card b{font-size:21px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#303640;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}.secondary{background:#fafafa}.full{width:100%}.actions{display:flex;justify-content:flex-end;gap:9px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{border-bottom:1px solid #eceff2;padding:10px 9px;vertical-align:top;text-align:left}th{font-size:12px;color:#56606d;background:#fafbfc;white-space:nowrap}td.num,th.num{text-align:right}.desc{max-width:420px;white-space:pre-line}.empty{text-align:center;color:var(--muted);padding:28px}.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f7;font-size:11px}.badge.waiting_approval{background:#fff0cc;color:#8a5a00}.badge.won{background:#dcfce7;color:#166534}.badge.lost,.badge.cancelled{background:#fee2e2;color:#991b1b}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#4b5563}input,select,textarea{width:100%;border:1px solid #cfd5dc;border-radius:8px;padding:9px 10px;background:#fff;color:#111827;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid rgba(155,123,62,.18);border-color:var(--accent)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span2{grid-column:span 2}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.productadd{display:flex;gap:10px;margin-bottom:12px}.searchbox{position:relative;flex:1}.suggestions{position:absolute;left:0;right:0;top:44px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:350px;overflow:auto;display:none;z-index:30}.suggestion{padding:10px;border-bottom:1px solid #eee;cursor:pointer}.suggestion:hover{background:#faf7f1}.suggestion b{display:block}.suggestion small{color:var(--muted)}.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}.itemdesc{max-width:360px}.dangertext{color:var(--danger);font-size:11px}.note{background:#fffbea;border:1px solid #f2df9a;border-radius:9px;padding:11px 13px}.alert{padding:10px;border-radius:8px;margin-bottom:10px}.alert.danger{background:#fee2e2;color:#991b1b}.loginbg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f3f4f6,#ece7dd)}.loginbox{width:380px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.08)}.loginbox h1{margin:0 0 3px}.loginbox p{color:var(--muted);margin:0 0 20px}.loginbox label{margin-bottom:12px}.loginbox small{display:block;margin-top:14px;color:var(--muted)}.cleanlist{list-style:none;padding:0;margin:0}.cleanlist li{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:8px 0}.cleanlist span{color:var(--muted)}#importStatus{margin:8px 0;color:var(--muted)}@media(max-width:1000px){header{height:auto;flex-wrap:wrap;padding:10px 14px}nav{order:3;width:100%;overflow:auto}.account{margin-left:auto}.cards{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}.twocol{grid-template-columns:1fr}main{padding:14px}}@media(max-width:640px){.cards,.grid4,.grid2{grid-template-columns:1fr}.span2{grid-column:span 1}.pagehead{align-items:flex-start;flex-direction:column}.account span{display:none}}
.reportfilter{display:grid;grid-template-columns:180px 180px 180px auto;gap:12px;align-items:end}@media(max-width:800px){.reportfilter{grid-template-columns:1fr 1fr}}
.price-mode{margin-top:14px;padding:12px;background:#faf7f1;border:1px solid #eadfc8;border-radius:9px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.price-mode label{flex-direction:row;align-items:center}.price-mode label input{width:auto}.price-mode small{color:var(--muted)}.versionbar{display:flex;align-items:center;gap:7px;margin:-4px 0 14px}.versionpill{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#fff}.versionpill.active{background:#765b2a;color:#fff;border-color:#765b2a}.approvalbox{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border-radius:10px;margin-bottom:16px}.approvalbox.pending{background:#fff7df;border:1px solid #e8cb78}.approvalbox.approved{background:#ecfdf5;border:1px solid #a7f3d0}.approvalbox.rejected{background:#fef2f2;border:1px solid #fecaca}.approvalbox p{margin:4px 0}.approvalbox form{display:flex;gap:8px;align-items:center}.compact{padding:12px 16px}.statusrow{display:flex;justify-content:space-between;align-items:center;gap:16px}.statusrow small{display:block;color:var(--muted)}.statusrow form{display:flex;gap:8px;align-items:center}.statusrow select{width:150px}.statusrow input{width:250px}.overdiscount td{background:#fff8e6}#defaultRoomHint{font-size:12px;color:#765b2a;margin:0 0 8px}@media(max-width:900px){.statusrow,.approvalbox{align-items:stretch;flex-direction:column}.statusrow form,.approvalbox form{flex-wrap:wrap}.statusrow input{width:100%}}
/* v6: trường nhập SL/CK tối ưu cho nhập nhanh */
#itemsTable .qty-input,
#itemsTable .discount-input {
  text-align: center;
  font-weight: 650;
}
#itemsTable .discount-input {
  padding-left: 8px;
  padding-right: 8px;
}
#itemsTable .discount-input:focus,
#itemsTable .qty-input:focus {
  outline: 2px solid rgba(164,127,54,.22);
  border-color: #A47F36;
}
/* V10 - bulk import báo giá lịch sử */
.muted{color:var(--muted)}
.bulk-upload-form input[type=file]{padding:7px;background:#fafafa}
.bulk-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}.summary{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f7}.summary.ready{background:#dcfce7;color:#166534}.summary.review{background:#fff7df;color:#8a5a00}.summary.duplicate{background:#e0e7ff;color:#3730a3}.summary.error{background:#fee2e2;color:#991b1b}
.bulk-table{min-width:1400px}.bulk-table td{font-size:12px}.bulk-table small{color:var(--muted)}.bulk-ready td:first-child{border-left:3px solid #22c55e}.bulk-needs_review td:first-child{border-left:3px solid #d4a72c}.bulk-duplicate td:first-child{border-left:3px solid #6366f1}.bulk-error td:first-child{border-left:3px solid #dc2626}.bulk-warning{font-size:11px;color:#8a5a00;margin:2px 0}.bulkstatus.ready{background:#dcfce7;color:#166534}.bulkstatus.needs_review{background:#fff7df;color:#8a5a00}.bulkstatus.duplicate{background:#e0e7ff;color:#3730a3}.bulkstatus.error,.badge.failed{background:#fee2e2;color:#991b1b}.badge.imported{background:#dcfce7;color:#166534}.badge.skipped{background:#eef2f7;color:#475569}.badge.imported_history{background:#f3e8ff;color:#6b21a8}

/* V11 - bulk review chi tiết, chỉnh khách hàng, quản trị sản phẩm */
.alert.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.dangerbutton{background:#fff;color:#b91c1c;border-color:#fecaca}.dangerbutton:hover{background:#fee2e2}
.bulk-cards{display:grid;gap:14px}.bulk-file-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;border-left-width:4px}.bulk-file-card.bulk-ready{border-left-color:#22c55e}.bulk-file-card.bulk-needs_review{border-left-color:#d4a72c}.bulk-file-card.bulk-duplicate{border-left-color:#6366f1}.bulk-file-card.bulk-error{border-left-color:#dc2626}.bulk-file-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}.bulk-select input{width:auto;transform:scale(1.15)}.bulk-file-title{display:flex;flex-direction:column;gap:2px;flex:1}.bulk-file-title span,.bulk-readonly-customer{color:var(--muted);font-size:12px}.bulk-edit-grid{display:grid;grid-template-columns:1.15fr .8fr 1.2fr 1.1fr .75fr 1fr;gap:9px}.bulk-edit-grid input,.bulk-edit-grid select{padding:8px}.bulk-issues{margin-top:11px;border-top:1px dashed #d9dee5;padding-top:9px}.bulk-issues summary{cursor:pointer;color:#8a5a00;font-weight:700}.issue-table-wrap{overflow:auto;margin-top:8px}.issue-table{min-width:760px}.issue-table th,.issue-table td{padding:7px 8px;font-size:11px}.issue-severity{display:inline-block;padding:2px 6px;border-radius:999px;font-weight:700}.issue-severity.warn{background:#fff7df;color:#8a5a00}.issue-severity.error{background:#fee2e2;color:#991b1b}
#manual-product textarea{resize:vertical}
@media(max-width:1100px){.bulk-edit-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:700px){.bulk-edit-grid{grid-template-columns:1fr}.bulk-file-head{align-items:flex-start}.actions{flex-wrap:wrap}}
/* V12 */
.inline-date-form{display:flex;align-items:center;gap:6px;min-width:190px}.inline-date-form input[type=date]{width:135px;padding:6px 7px}.smallbutton{padding:6px 9px;font-size:11px}.card-date-form{margin-top:5px}.card-date-form input{width:145px}.bulk-delete-bar{display:flex;align-items:center;gap:12px;padding:0 0 12px;border-bottom:1px solid #eceff2;margin-bottom:4px}.checkline{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:12px}.checkline input,.quoteRowCheck,#selectAllQuotes{width:auto}.checkcol{width:34px}.db-filter{display:grid;grid-template-columns:minmax(300px,1fr) 260px auto auto;align-items:end;gap:10px}.product-db-table{min-width:1600px}.db-desc{white-space:pre-line;min-width:280px;max-width:420px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.missing-product-box{margin-top:12px;border:1px solid #f0d48a;background:#fffdf5;border-radius:9px;padding:11px}.missing-product-head{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.missing-product-head span{font-size:11px;color:var(--muted)}.missing-product-table{min-width:1150px}.missing-product-table th,.missing-product-table td{font-size:11px;padding:7px}.actions-left{display:flex;gap:8px;justify-content:flex-start}.muted{color:var(--muted)}
@media(max-width:900px){.db-filter{grid-template-columns:1fr}.inline-date-form{min-width:170px}}

/* V13 - tra cứu & dashboard quản trị */
.compact-panel{padding:14px 18px}.filterbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filterbar label{margin:0;min-width:145px}.filterbar .grow{flex:1;min-width:260px}.quote-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(140px,1fr));gap:10px;align-items:end}.quote-filter-grid label{margin:0}.quote-filter-grid .wide{grid-column:span 2}.filter-actions{display:flex;gap:8px;align-items:end}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:16px}.subcell{display:block;color:#6b7280;margin-top:3px;font-size:12px}.dashboard-cards .card small{display:block;margin-top:8px;color:#6b7280;font-weight:500}.warncard{border-color:#f0c36d;background:#fffaf0}.barlist{display:flex;flex-direction:column;gap:12px}.barrow{display:grid;grid-template-columns:90px minmax(120px,1fr) 150px;gap:12px;align-items:center}.barlabel{display:flex;justify-content:space-between;gap:5px;flex-direction:column}.barlabel span{font-size:12px;color:#6b7280}.bartrack{height:12px;background:#eef1f5;border-radius:999px;overflow:hidden}.barfill{height:100%;background:#af873b;border-radius:999px;min-width:2px}.barvalue{text-align:right;font-variant-numeric:tabular-nums}.smaller{font-size:18px!important}@media(max-width:1100px){.quote-filter-grid{grid-template-columns:1fr 1fr}.quote-filter-grid .wide{grid-column:span 2}.barrow{grid-template-columns:75px 1fr 120px}}@media(max-width:720px){.quote-filter-grid{grid-template-columns:1fr}.quote-filter-grid .wide{grid-column:span 1}.barrow{grid-template-columns:65px 1fr}.barvalue{grid-column:2;text-align:left}.filterbar>*{width:100%}.filterbar .button,.filterbar button{width:auto}}

/* V14: quản trị theo nhóm + follow-up */
.admin-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-menu-card{display:flex;gap:16px;align-items:flex-start;padding:22px;border:1px solid #dfe3e8;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 8px rgba(15,23,42,.03);transition:.15s}.admin-menu-card:hover{transform:translateY(-2px);border-color:#b49452;box-shadow:0 8px 24px rgba(15,23,42,.08)}.admin-menu-card h2{margin:0 0 6px;font-size:18px}.admin-menu-card p{margin:0 0 10px;color:#667085;line-height:1.5}.admin-menu-card b{color:#8a6727}.admin-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4efe5;color:#8a6727;font-size:22px;font-weight:700;flex:0 0 auto}.user-profile-form{border-top:1px solid #e5e7eb;padding:14px 0;margin-top:8px}.inline-search{display:flex;gap:10px;align-items:end}.inline-search input{min-width:360px}.followup-inline{display:flex;gap:12px;align-items:end}.followup-inline .grow{flex:1}.followup-overdue{background:#fff5f5}.followup-today{background:#fffbeb}.cards{grid-template-columns:repeat(5,minmax(0,1fr))}.card a{display:block;margin-top:5px;font-size:13px;color:#8a6727}.followup-overdue td:first-child b{color:#b42318}
@media(max-width:1100px){.admin-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-inline{flex-direction:column;align-items:stretch}}
@media(max-width:700px){.admin-menu-grid{grid-template-columns:1fr}.inline-search{flex-direction:column;align-items:stretch}.inline-search input{min-width:0}.cards{grid-template-columns:1fr}}

/* V15 - quản trị gọn + báo cáo trọng tâm */
.v15-cards,.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.delivery-kpis{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.report-note{margin:12px 0 0;color:#667085;font-size:12px}.report-head{margin-bottom:14px}.report-section{margin-top:28px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 12px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f4efe5;color:#8a6727;font-weight:800}.section-heading h2{margin:0;font-size:22px}.section-heading p{margin:0;color:#667085;max-width:650px;text-align:right}.report-bars{min-height:120px}.delivery-fill{background:#486b5b}.delivery-layout{align-items:start}
.admin-head{padding-bottom:4px}.admin-section{margin:22px 0 30px}.admin-section-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.admin-section-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#243044;color:#fff;font-weight:800;font-size:12px}.admin-section-title h2{margin:0;font-size:21px}.admin-section-title p{margin:3px 0 0;color:#667085}.admin-menu-grid{display:grid;gap:14px}.admin-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-menu-card{position:relative;display:grid;grid-template-columns:48px 1fr 22px;gap:14px;align-items:start;padding:18px 18px;border:1px solid #e1e5ea;border-radius:14px;background:#fff;color:#172033!important;text-decoration:none!important;box-shadow:0 2px 7px rgba(15,23,42,.03)}.admin-menu-card:hover{border-color:#b49452;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}.admin-menu-card h3{margin:0 0 6px;font-size:17px;color:#172033}.admin-menu-card p{margin:0 0 10px;line-height:1.45;color:#667085}.admin-menu-card b{font-size:12px;color:#8a6727}.admin-menu-card>i{font-style:normal;color:#8a6727;font-size:22px;line-height:42px}.admin-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#f4efe5;color:#7b5b22;font-size:12px;font-weight:850;letter-spacing:.3px}
@media(max-width:1100px){.v15-cards,.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-direction:column}.section-heading p{text-align:left}.delivery-layout{grid-template-columns:1fr}}
@media(max-width:720px){.v15-cards,.report-kpis,.delivery-kpis,.admin-grid-3,.admin-grid-2{grid-template-columns:1fr}.admin-menu-card{grid-template-columns:46px 1fr}.admin-menu-card>i{display:none}}

/* V17 - sắp xếp dòng, ảnh sản phẩm và xem trước trước khi xuất */
.quote-entry-table{min-width:1500px}.quote-entry-table .reorder-col{width:86px}.quote-entry-table .image-col{width:96px}.reorder-cell{width:86px}.reorder-tools{display:flex;gap:4px;align-items:center}.reorder-tools button{padding:5px 7px;min-width:27px;height:30px;font-size:13px}.reorder-tools button:disabled{opacity:.28;cursor:not-allowed}.drag-handle{cursor:grab!important;background:#f7f3eb!important;border-color:#ddcfb1!important;color:#765b2a!important}.drag-handle:active{cursor:grabbing!important}.dragging-row{opacity:.45}.drag-over-row td{border-top:3px solid #b08a45!important}.product-image-cell{width:96px;min-width:96px;text-align:center;vertical-align:middle!important}.product-thumb-wrap{width:82px;height:82px;margin:auto;display:grid;place-items:center;background:#fff;border:1px solid #eceff2;border-radius:8px;overflow:hidden}.product-thumb{max-width:74px;max-height:74px;object-fit:contain;display:block}.no-product-image{font-size:10px;color:#9aa1aa;line-height:1.2}.suggestion-with-image{display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center}.suggestion-thumb{width:44px;height:44px;display:grid;place-items:center;background:#fff;border:1px solid #eee;border-radius:6px;overflow:hidden}.suggestion-thumb img{max-width:40px;max-height:40px;object-fit:contain}
.preview-sheet{background:#fff;border:1px solid #d7dce2;border-radius:12px;padding:22px;box-shadow:0 4px 20px rgba(15,23,42,.05);overflow:auto}.preview-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;border-bottom:2px solid #1f2937;padding-bottom:10px;gap:16px}.preview-brand{display:flex;flex-direction:column}.preview-brand b{font-size:22px;letter-spacing:2px}.preview-brand span{font-size:12px;letter-spacing:3px;color:#667085}.preview-company{text-align:center;display:flex;flex-direction:column;gap:4px}.preview-company b{font-size:15px}.preview-company span{font-size:11px;color:#667085}.preview-toto{text-align:right;font:bold 28px Georgia,serif}.preview-title{text-align:center;font-size:26px;margin:16px 0}.preview-customer{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin-bottom:12px;font-size:13px}.preview-customer .span2{grid-column:span 2}.preview-table-wrap{overflow:auto}.preview-table{min-width:1200px;border-collapse:collapse}.preview-table th,.preview-table td{border:1px solid #3f4650;padding:7px 8px;vertical-align:middle}.preview-table th{background:#c9d9ea;color:#172033;text-align:center;white-space:normal}.preview-desc{white-space:pre-line;min-width:300px}.preview-image-cell{width:105px;height:86px;text-align:center}.preview-image-cell img{max-width:88px;max-height:78px;object-fit:contain}.preview-room td{background:#f4efe5;color:#795a24;font-weight:700;height:34px}.preview-table tfoot td{background:#fafafa}.preview-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding-top:16px}.preview-footer small{grid-column:span 2;color:#667085}.preview-bottom-actions{margin-top:14px}
@media(max-width:800px){.preview-header{grid-template-columns:1fr}.preview-company,.preview-toto{text-align:left}.preview-customer{grid-template-columns:1fr}.preview-customer .span2{grid-column:span 1}.preview-footer{grid-template-columns:1fr}.preview-footer small{grid-column:span 1}}

/* V18 - kéo cả dòng + xem trước bản in thật từ mẫu Excel */
.quote-entry-table{border-collapse:separate;border-spacing:0 8px;background:transparent}
.quote-entry-table thead th,.quote-entry-table tfoot td{border-bottom:1px solid #e6e9ed}
.quote-entry-table tbody tr.quote-item-row td{background:#fff;border-top:1px solid #e1e5ea;border-bottom:1px solid #e1e5ea;vertical-align:middle;transition:box-shadow .12s,border-color .12s,transform .12s}
.quote-entry-table tbody tr.quote-item-row td:first-child{border-left:1px solid #e1e5ea;border-radius:10px 0 0 10px}
.quote-entry-table tbody tr.quote-item-row td:last-child{border-right:1px solid #e1e5ea;border-radius:0 10px 10px 0}
.quote-entry-table tbody tr.quote-item-row:hover td{border-color:#d2c19d;box-shadow:0 2px 8px rgba(30,41,59,.035)}
.quote-entry-table .reorder-col{width:68px;text-align:center}.reorder-cell{width:68px;text-align:center;padding:6px!important}
.drag-grip{width:46px;height:54px;padding:5px 4px!important;display:flex!important;flex-direction:column;gap:1px;align-items:center;justify-content:center;border:1px solid #d8c69e!important;background:#f8f4eb!important;color:#785b26!important;cursor:grab!important;user-select:none}
.drag-grip:active{cursor:grabbing!important}.drag-grip span{font-size:21px;line-height:15px;letter-spacing:-2px}.drag-grip small{font-size:9px;font-weight:700;line-height:11px}
.quote-item-row.dragging-row{opacity:.34}.quote-item-row.dragging-row td{box-shadow:none!important}
.quote-item-row.drag-over-before td{border-top:4px solid #a98239!important}.quote-item-row.drag-over-after td{border-bottom:4px solid #a98239!important}
.quote-item-row.drag-over-before{transform:translateY(2px)}.quote-item-row.drag-over-after{transform:translateY(-2px)}

.print-review-head{align-items:flex-start}.print-review-head p{max-width:840px}.print-review-shell{background:#202124;border:1px solid #cfd5dc;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.12)}
.print-review-toolbar{min-height:54px;background:#fff;border-bottom:1px solid #dfe3e8;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.print-review-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.print-review-toolbar>div:first-child span{font-size:12px;color:#667085}.print-review-toolbar-actions{display:flex;align-items:center;gap:12px}.print-preview-frame{display:block;width:100%;height:calc(100vh - 250px);min-height:720px;border:0;background:#202124}.preview-bottom-actions{margin-top:14px}
@media(max-width:900px){.print-review-toolbar{align-items:flex-start;flex-direction:column}.print-review-toolbar-actions{width:100%;justify-content:space-between}.print-preview-frame{height:70vh;min-height:560px}}

/* V19 - Báo cáo trực quan cao cấp + Thùng rác */
.eyebrow,.mini-label{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7a8597}.premium-report-head h1{margin:4px 0 6px}.premium-filter-panel{border:1px solid #e5eaf0;box-shadow:0 2px 10px rgba(15,23,42,.035)}
.premium-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 22px}.premium-kpi{min-height:112px;border-radius:14px;padding:17px 18px;color:#fff;box-shadow:0 8px 24px rgba(23,33,52,.12);position:relative;overflow:hidden}.premium-kpi:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.09);right:-34px;top:-44px}.premium-kpi span{display:block;font-size:13px;font-weight:700;opacity:.92}.premium-kpi b{display:block;font-size:27px;line-height:1.15;margin:9px 0 6px;letter-spacing:-.03em}.premium-kpi small{font-size:11px;opacity:.82}.premium-kpi.violet{background:linear-gradient(115deg,#6842ef,#5734d9)}.premium-kpi.blue{background:linear-gradient(115deg,#4577eb,#2c5ede)}.premium-kpi.cyan{background:linear-gradient(115deg,#19a9dc,#0d92c4)}.premium-kpi.orange{background:linear-gradient(115deg,#f18446,#ee6732)}
.premium-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-grid-main{grid-template-columns:1.35fr .85fr}.report-card{background:#fff;border:1px solid #e3e8ef;border-radius:15px;padding:18px;box-shadow:0 4px 18px rgba(15,23,42,.055);min-width:0}.report-card.span-2{grid-column:span 2}.report-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:10px}.report-card-head h2{margin:4px 0 3px;font-size:18px;letter-spacing:-.015em;color:#1f2937}.report-card-head p{margin:0;color:#748094;font-size:12px;line-height:1.45}.chart-summary{text-align:right;white-space:nowrap}.chart-summary b{display:block;font-size:17px;color:#1f2937}.chart-summary span{font-size:11px;color:#7b8798}.chart-canvas-wrap{position:relative;width:100%;height:290px}.chart-canvas-wrap.chart-donut{height:245px}.chart-canvas-wrap.chart-bars{height:300px}.chart-canvas-wrap.chart-bars.tall{height:330px}.chart-canvas-wrap canvas{display:block;width:100%;height:100%}
.gauge-wrap{position:relative;height:220px}.gauge-wrap canvas{width:100%;height:100%}.gauge-center{position:absolute;left:0;right:0;bottom:15px;text-align:center}.gauge-center b{display:block;font-size:29px;color:#1f2937}.gauge-center span{font-size:11px;color:#7a8597}.gauge-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #edf0f4;padding-top:11px}.gauge-foot span{font-size:11px;color:#667085}.gauge-foot b{display:block;color:#1f2937;margin-top:2px}.chart-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:2px}.chart-legend>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;font-size:11px}.chart-legend span{width:9px;height:9px;border-radius:50%}.chart-legend b{font-weight:600;color:#455266;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend em{font-style:normal;color:#8590a2;font-weight:700}
.premium-section-heading{margin-top:34px}.premium-section-heading>div>div{display:block}.premium-section-heading h2{margin:0 0 3px}.premium-section-heading p{margin:0;text-align:left;max-width:none}.delivery-chart-grid{grid-template-columns:1.3fr .7fr}.delivery-list-card{max-height:390px}.premium-mini-list{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto}.premium-mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border-radius:10px;background:#f8fafc;color:#273142!important;text-decoration:none!important}.premium-mini-row:hover{background:#f2f5f9}.premium-mini-row>div{display:flex;align-items:center;gap:10px;min-width:0}.premium-mini-row b{display:grid;place-items:center;width:45px;height:30px;border-radius:8px;background:#edf1f7;font-size:11px}.premium-mini-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.premium-mini-row strong{font-size:11px;white-space:nowrap}.report-table-grid{margin-top:16px}
.trash-head-actions{display:flex;gap:10px;align-items:center}.trash-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.trash-toolbar .trash-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trash-toolbar input[type=text]{min-width:280px}.trash-note{background:#fffbeb;border:1px solid #f0dfad;color:#765b26;border-radius:10px;padding:11px 13px;font-size:12px}.restorebutton{display:inline-flex;align-items:center;justify-content:center;border:1px solid #a7d8c3;background:#effbf6;color:#157a55;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.permanent-delete{border:1px solid #f2b5b5;background:#fff7f7;color:#b42318;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.trash-deleted-meta{font-size:11px;color:#7c8799;display:block;margin-top:3px}.trash-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#fff0f0;color:#b42318;font-size:11px;font-weight:800}
@media(max-width:1150px){.premium-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid-main,.delivery-chart-grid{grid-template-columns:1fr}.report-card.span-2{grid-column:span 1}}
@media(max-width:740px){.premium-kpi-grid,.premium-report-grid{grid-template-columns:1fr}.premium-kpi b{font-size:23px}.report-card-head{flex-direction:column}.chart-summary{text-align:left}.chart-legend{grid-template-columns:1fr}.gauge-foot{grid-template-columns:1fr}.trash-toolbar{align-items:stretch}.trash-toolbar input[type=text]{min-width:0;width:100%}}

.cloud-phase-banner{max-width:1600px;margin:0 auto 10px;padding:8px 14px;border:1px solid #d9c79d;background:#fffaf0;color:#6f5318;border-radius:10px;font-size:13px}
