/* HAJIME Wedding OS — G04 Shared Contract FIX05 */
.g04f5-contract-host,.g04f5-contract-page{min-width:0;max-width:100%}.g04f5-contract-page{display:grid;gap:14px}.g04f5-contract-page-head{margin:0}.g04f5-contract-list{display:grid;gap:16px}.g04f5-contract-error{padding:24px}.g04f5-contract-page .contract-panel{width:100%;max-width:none;box-sizing:border-box}
/* Nút và thành phần của renderer Sale trong shell Planner */
.g04f5-contract-page .actions,.modal-body .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.g04f5-contract-page button,.modal-body button{font:inherit}.soft-btn,.primary-btn,.danger-btn,.link-btn{border:1px solid transparent;border-radius:10px;padding:9px 12px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.soft-btn{background:#fff;border-color:#d9dde5;color:#344054}.primary-btn{background:#147cf3;color:#fff}.danger-btn{background:#fff1f1;border-color:#f4b8b8;color:#b42318}.link-btn{background:transparent;color:#1570ef;padding:4px 6px}.small,.soft-btn.small,.primary-btn.small,.danger-btn.small{padding:6px 9px;font-size:12px}.icon-btn{border:1px solid #d9dde5;background:#fff;border-radius:9px;padding:6px 8px;cursor:pointer}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:11px;font-weight:800}.pill.ok{background:#e8f6ee;color:#067647}.pill.warn{background:#fff4dd;color:#a15c00}.pill.danger{background:#ffe8e8;color:#b42318}.pill.blue{background:#e8f2ff;color:#175cd3}.pill.gray{background:#eef2f6;color:#475467}
/* Contract base */
.contract-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 7px 22px rgba(16,24,40,.06);overflow:hidden;margin-bottom:16px}.contract-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#fcfbfa)}.contract-head h3{margin:5px 0 6px;font-size:20px}.contract-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#175cd3;font-weight:850}.contract-meta{color:#667085;font-size:13px}.contract-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:14px 18px;background:#fafafa;border-bottom:1px solid #e5e7eb;gap:9px}.mini-stat{background:#fff;border:1px solid #eaecf0;border-radius:11px;padding:11px}.mini-stat span{display:block;color:#667085;font-size:11px;margin-bottom:5px}.mini-stat b{font-size:14px}.negative{color:#b42318!important}.positive{color:#067647!important}.contract-section{padding:17px 18px;border-top:1px solid #eaecf0}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.section-title h4{margin:0 0 4px;font-size:16px}.section-title small{color:#667085;font-size:12px}.contract-lower{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #eaecf0}.contract-lower>.contract-section{border-top:0}.contract-lower>.contract-section+.contract-section{border-left:1px solid #eaecf0}.payment-total{padding:9px 11px;border-radius:10px;font-size:12px;margin-bottom:10px}.payment-total.ok{background:#e8f6ee;color:#067647}.payment-total.warning{background:#fff4dd;color:#a15c00}.payment-list{display:grid;gap:7px}.payment-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:9px;align-items:center;padding:10px;border:1px solid #eaecf0;border-radius:11px}.payment-no{width:28px;height:28px;border-radius:9px;background:#eef4ff;display:grid;place-items:center;color:#175cd3;font-weight:850}.payment-row span{display:block;color:#667085;font-size:11px;margin-top:3px}.payment-value{text-align:right}.appendix-list{display:grid;gap:9px}.appendix-card{border:1px solid #eaecf0;border-radius:12px;padding:12px;background:#fff}.appendix-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.table-scroll{overflow:auto;max-width:100%}
/* Contract completeness/detail */
.gd2-source-badge{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#efe2d7;color:#835f4e;font-size:10px;font-weight:800;text-transform:none}.gd2-checks{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;background:#faf6f2;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.gd2-checks span{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:750}.gd2-checks .done{background:#e4f2eb;color:#2f7659}.gd2-checks .missing{background:#fff0dc;color:#a46b18}.gd2-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.gd2-info-grid>div{background:#fafafa;border:1px solid #eaecf0;border-radius:12px;padding:12px;min-width:0}.gd2-info-grid span,.gd2-info-grid small{display:block;color:#667085;font-size:11px}.gd2-info-grid b{display:block;margin:5px 0;font-size:13px}.gd2-sale-pl01-table{display:grid;gap:8px}.gd2-sale-pl01-head,.gd2-sale-pl01-row{display:grid;grid-template-columns:36px minmax(130px,.9fr) minmax(210px,1.7fr) 96px 64px 104px minmax(135px,1fr) 86px 70px;gap:7px;align-items:center}.gd2-sale-pl01-head{padding:0 10px 8px;color:#667085;font-size:10px;text-transform:uppercase;font-weight:800}.gd2-sale-pl01-row{padding:11px 10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.gd2-sale-pl01-row>div{min-width:0}.gd2-sale-item,.gd2-sale-client,.gd2-sale-qty,.gd2-sale-status{display:grid;gap:4px}.gd2-sale-item b,.gd2-sale-client b{font-size:14px}.gd2-sale-item span,.gd2-sale-item small,.gd2-sale-client span,.gd2-sale-qty span,.gd2-sale-status small{font-size:11px;color:#667085;line-height:1.4}.gd2-sale-description{font-size:13px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.gd2-sale-image{display:grid;gap:5px;justify-items:start}.gd2-sale-image .gd2-thumb{width:90px;height:68px;object-fit:cover;border-radius:9px}.gd2-sale-image .empty-thumb{display:grid;place-items:center;background:#f2f4f7;color:#667085;font-size:10px}.gd2-sale-qty{text-align:center}.gd2-sale-internal{display:grid;gap:4px;padding:8px;border-radius:10px;background:#faf7f4}.gd2-sale-internal span{display:flex;justify-content:space-between;gap:7px;font-size:11px;color:#667085}.gd2-sale-internal b{color:#101828;font-size:11px}.gd2-sale-actions{display:grid;gap:5px}.gd2-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gd2-gallery-card{display:grid;gap:6px;border:1px solid #eaecf0;border-radius:11px;padding:8px}.gd2-gallery-card img{width:100%;height:110px;object-fit:cover;border-radius:8px}.gd2-image-strip{display:flex;gap:5px;align-items:center}.gd2-image-strip img{width:52px;height:42px;object-fit:cover;border-radius:7px}.gd2-thumb{max-width:100%;object-fit:cover}.gd2-export-list,.gd2-payment-summary{display:grid;gap:8px}.gd2-export-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px;border:1px solid #eaecf0;border-radius:10px}
/* Kế thừa theo buổi */
.g04-inherited{background:#fff}.g04-event-group{margin-top:14px;border:1px solid #e5e7eb;border-radius:13px;overflow:hidden}.g04-event-group h5{margin:0;padding:10px 12px;background:#7a3e12;color:#fff;font-size:13px}.g04-client-head,.g04-client-row{display:grid;grid-template-columns:48px minmax(190px,1.4fr) 150px 96px 150px minmax(180px,1fr);gap:8px;align-items:center}.g04-client-head{padding:8px 10px;background:#f9fafb;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.g04-client-row{padding:11px 10px;border-top:1px solid #eaecf0}.g04-client-row>div{min-width:0}.g04-item-main{display:grid;gap:4px}.g04-item-main small{color:#667085;line-height:1.45}.g04-source-image{border:0;background:transparent;padding:0;display:grid;gap:4px}.g04-source-image img{width:140px;height:86px;object-fit:cover;border-radius:8px}.g04-source-image span{font-size:9px;background:#067647;color:#fff;padding:3px 5px;border-radius:6px}.g04-no-image,.g04-image-missing{font-size:11px;color:#667085}.g04-linked{color:#067647;font-size:11px;font-weight:700}.g04-unlinked{color:#b54708;font-size:11px}.g04-internal-block{padding:8px 10px 12px 66px;background:#fcfcfd}.g04-internal-title{font-size:11px;font-weight:800;margin-bottom:5px}.g04-internal-row{display:grid;grid-template-columns:minmax(150px,1fr) 90px 72px 150px 160px;gap:8px;padding:6px 8px;background:#f9fafb;border-top:1px solid #eaecf0}.g04-source-diff{display:grid;gap:5px;margin-top:6px;padding:7px;background:#fff4e5;border-radius:8px;font-size:10px}.g04-diff-actions{display:flex;gap:5px;flex-wrap:wrap}.g04-diff-actions button{border:1px solid #d0d5dd;background:#fff;border-radius:7px;padding:4px 6px;font-size:10px}
/* Bảng nguồn hạng mục: layout chốt theo ảnh 1 */
body.g04f5-commercial-open .app-shell{--sidebar:72px!important}body.g04f5-commercial-open .sidebar{width:72px!important;min-width:72px!important;padding-left:7px!important;padding-right:7px!important}body.g04f5-commercial-open .sidebar .brand-copy,body.g04f5-commercial-open .sidebar .nav-item span:not(.nav-badge),body.g04f5-commercial-open .sidebar .nav-project span:last-child,body.g04f5-commercial-open .sidebar .sidebar-status,body.g04f5-commercial-open .sidebar .profile-copy{display:none!important}body.g04f5-commercial-open .app-main{min-width:0!important}.stable04-commercial-source .card-body{overflow:visible!important}.g04-source-head,.g04-source-row{min-width:0!important;grid-template-columns:minmax(126px,1.25fr) 42px 48px 94px 105px 92px 92px 55px 55px 70px 84px minmax(118px,1fr) 104px!important;gap:5px!important;align-items:center!important}.stable04-source-row{padding:7px!important;margin:0!important}.stable04-source-row label{min-width:0;font-size:9.5px!important;gap:3px!important}.stable04-source-row input,.stable04-source-row select,.stable04-source-row textarea,.stable04-source-row output{min-width:0!important;font-size:11px!important;padding:7px!important}.stable04-source-row .stable04-money,.stable04-source-row output{font-variant-numeric:tabular-nums;white-space:nowrap}.stable04-source-row textarea{min-height:38px!important}.g04f5-image-cell{display:grid!important;grid-template-columns:1fr!important}.g04f5-image-button{width:100%;min-height:36px;border:1px dashed #98a2b3;border-radius:8px;background:#f8fafc;color:#344054;font-weight:750;font-size:10px;padding:5px}.g04f5-image-requirement{font-size:9px!important}.g04f5-explain-actions{grid-column:12/14;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:end}.g04f5-explain-actions .stable04-explain{grid-column:auto!important}.g04f5-explain-actions .stable04-source-actions{grid-column:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important}.g04f5-save-all{margin:9px 0 0 7px}.stable04-add-source{margin-top:9px!important}.stable04-source-rows{gap:5px!important}.g04f5-image-choice{display:flex;gap:12px;flex-wrap:wrap}.g04f5-image-choice label{display:flex;align-items:center;gap:6px}
/* Popup */.g04f5-popup{display:grid;gap:10px}.g04f5-popup-count{font-weight:800;color:#1570ef}.g04f5-popup article{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.g04f5-popup article b{font-size:17px}.g04f5-popup article p{margin:4px 0 0;font-size:14px;line-height:1.45}
/* Thêm buổi theo layout danh sách */.g04f5-event-zone{border:1px solid #dbe2ea;border-radius:12px;padding:12px;background:#fafcff}.g04f5-event-zone-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.g04f5-event-zone-head div{display:grid;gap:3px}.g04f5-event-zone-head small{color:#667085}.g04f5-event-list{display:grid;margin-top:10px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.g04f5-event-row{display:grid;grid-template-columns:32px minmax(130px,1.1fr) 105px 100px minmax(130px,1fr) minmax(120px,.8fr);gap:8px;align-items:center;padding:9px 10px;border-top:1px solid #eaecf0;font-size:12px}.g04f5-event-row:first-child{border-top:0}.g04f5-event-row>span:first-child{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#175cd3;font-weight:800}.g04f5-event-host{margin-top:10px}.g04f5-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.g04f5-event-grid label{display:grid;gap:4px}.g04f5-event-grid .wide{grid-column:span 2}.g04f5-event-status{font-size:13px;font-weight:700;color:#1570ef}.is-hidden{display:none!important}
/* Hồ sơ hạng mục */.g04f5-dossier-budget{display:grid;gap:5px}.g04f5-dossier-budget span{display:flex;justify-content:space-between;gap:8px;font-size:13px;line-height:1.4}.g04f5-dossier-budget b{font-size:13px}.stable04-dossiers td small{display:block}
@media(max-width:1320px){.contract-stats{grid-template-columns:repeat(3,1fr)}.g04-source-head,.g04-source-row{grid-template-columns:minmax(112px,1.2fr) 40px 46px 86px 98px 84px 84px 50px 50px 64px 78px minmax(108px,1fr) 98px!important}.stable04-source-row label{font-size:9px!important}.stable04-source-row input,.stable04-source-row select,.stable04-source-row textarea,.stable04-source-row output{font-size:10px!important}}
@media(max-width:1100px){.gd2-info-grid{grid-template-columns:repeat(2,1fr)}.contract-lower{grid-template-columns:1fr}.contract-lower>.contract-section+.contract-section{border-left:0;border-top:1px solid #eaecf0}.gd2-sale-pl01-head{display:none}.gd2-sale-pl01-row{grid-template-columns:105px minmax(0,1fr) auto;grid-template-areas:"image item actions" "image description description" "idx qty status" "client internal internal"}.gd2-sale-index{grid-area:idx}.gd2-sale-item{grid-area:item}.gd2-sale-description{grid-area:description}.gd2-sale-image{grid-area:image}.gd2-sale-qty{grid-area:qty;text-align:left}.gd2-sale-client{grid-area:client}.gd2-sale-internal{grid-area:internal;grid-template-columns:repeat(2,minmax(0,1fr))}.gd2-sale-status{grid-area:status}.gd2-sale-actions{grid-area:actions}.g04-client-head{display:none}.g04-client-row{display:grid!important;grid-template-columns:40px 1fr!important}.g04-client-row>div:nth-child(n+3){grid-column:2}.g04-internal-row{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){body.g04f5-commercial-open .sidebar{width:auto!important}.g04-source-head{display:none!important}.g04-source-row,.stable04-commercial-source .stable04-source-row{display:grid!important;grid-template-columns:1fr 1fr!important}.g04f5-explain-actions{grid-column:1/-1!important}.g04f5-image-cell{grid-column:1/-1}.g04f5-event-grid{grid-template-columns:1fr 1fr}.g04f5-event-grid .wide{grid-column:1/-1}.g04f5-event-row{grid-template-columns:32px 1fr 100px}.g04f5-event-row span:nth-child(n+4){grid-column:2/-1}.gd2-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.contract-head{display:block}.contract-head .actions{margin-top:10px}.contract-stats{grid-template-columns:1fr}.gd2-info-grid{grid-template-columns:1fr}.gd2-sale-pl01-row{grid-template-columns:1fr;grid-template-areas:"item" "image" "description" "qty" "client" "internal" "status" "actions"}.gd2-sale-index{display:none}.gd2-sale-image .gd2-thumb{width:100%;height:160px}.gd2-sale-internal{grid-template-columns:1fr}.g04-source-row,.stable04-commercial-source .stable04-source-row{grid-template-columns:1fr!important}.g04f5-explain-actions{display:grid;grid-template-columns:1fr}.g04f5-explain-actions .stable04-source-actions{justify-content:flex-start!important}.g04f5-event-grid{grid-template-columns:1fr}.g04f5-event-grid .wide{grid-column:auto}.g04f5-popup article{align-items:flex-start;flex-direction:column}.g04f5-event-row{grid-template-columns:28px 1fr}.g04f5-event-row span:nth-child(n+3){grid-column:2}.g04-internal-block{padding-left:10px}}

/* UAT PATCH02 15-08-2026 — tinh gọn Phương án + active menu + Hợp đồng lấy Phương án làm nguồn */
body.g04f5-commercial-open .app-shell{--sidebar:252px!important}
body.g04f5-commercial-open .sidebar{width:auto!important;min-width:0!important;padding-left:14px!important;padding-right:14px!important}
body.g04f5-commercial-open .sidebar .brand-copy,
body.g04f5-commercial-open .sidebar .nav-item span:not(.nav-badge),
body.g04f5-commercial-open .sidebar .nav-project span:last-child,
body.g04f5-commercial-open .sidebar .sidebar-status,
body.g04f5-commercial-open .sidebar .profile-copy{display:flex!important}
body.g04f5-commercial-open .sidebar .nav-item span:not(.nav-badge),
body.g04f5-commercial-open .sidebar .nav-project span:last-child{display:inline!important}

/* Form nguồn: bỏ ô hình ảnh tại đây; ảnh được quản lý ở luồng Thiết kế/Phương án chốt. */
.stable04-commercial-source .g04-source-head{display:none!important}
.stable04-commercial-source .g04-source-row{
  grid-template-columns:minmax(118px,1.05fr) 52px 46px 104px 112px 105px minmax(132px,1.12fr) 64px 64px 82px!important;
  gap:6px!important;align-items:end!important;padding:9px!important
}
.stable04-commercial-source .g04-source-row>label:nth-of-type(-n+10){grid-row:1}
.stable04-commercial-source .g04f5-explain-actions{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;gap:8px!important;align-items:end!important}
.stable04-commercial-source .g04f5-explain-actions .stable04-explain textarea{min-height:38px!important;max-height:70px!important}
.stable04-commercial-source .g04f5-explain-actions .stable04-source-actions{white-space:nowrap!important;justify-content:flex-end!important}
.stable04-commercial-source .stable04-source-rows{gap:7px!important}
.stable04-commercial-source .stable04-add-source,.stable04-commercial-source .g04f5-save-all{margin-top:8px!important}

/* Active state thống nhất: menu dọc, menu ngang, tab dự án và menu phụ. */
.sidebar .nav button.active,.sidebar .nav-item.active,.sidebar a.nav-item.active,.nav-project.active,
.tabs button.active,.tabs a.active,.tab-btn.active,.stable02-detail-link.active,.stable02-tabs .active,
.stable04-cross-tabs .active,.pkg3-project-tabs .active,.stable06-tabs .active,.f9-context-tabs .active,
.quality-more-menu button.active,.gd3-modebar button.active,.gd4-modebar button.active{
  background:#e4cfce!important;color:#5c4549!important;font-weight:800!important;
  box-shadow:inset 3px 0 0 #9b7376,0 2px 8px rgba(91,66,70,.08)!important
}
.tabs button.active,.tabs a.active,.tab-btn.active,.stable02-detail-link.active,.stable02-tabs .active,
.stable04-cross-tabs .active,.pkg3-project-tabs .active,.stable06-tabs .active,.f9-context-tabs .active,
.quality-more-menu button.active,.gd3-modebar button.active,.gd4-modebar button.active{
  box-shadow:inset 0 -3px 0 #9b7376,0 2px 8px rgba(91,66,70,.08)!important
}

/* Nguồn Hợp đồng / trạng thái đồng bộ */
.g04f5-contract-source{background:#fcfbfa}
.g04f5-sync-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}
.g04f5-sync-state.ok{background:#e8f5ec;color:#24683a}.g04f5-sync-state.changed{background:#fff4d8;color:#805b00}.g04f5-sync-state.need{background:#fbe8e7;color:#9e2f28}
.g04f5-source-line{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(110px,.7fr) minmax(135px,.8fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #ebe6e1}
.g04f5-source-line:first-of-type{border-top:0}.g04f5-source-line>div{display:grid;gap:3px}.g04f5-source-line span,.g04f5-source-line small{color:#667085;font-size:11px}
.g04f5-source-callout,.g04-source-empty{display:grid;gap:7px;padding:12px;border:1px solid #ead8d5;border-radius:12px;background:#fff8f7;color:#5f4549}.g04f5-source-callout .btn{justify-self:start}.g04-source-required{font-size:11px;font-weight:800;color:#9e2f28;background:#fbe8e7;padding:6px 9px;border-radius:999px}

/* Tiêu đề phân nhóm buổi trong Hồ sơ hạng mục đã chốt */
.stable04-dossiers .g04f5-dossier-event-title td,.f9-dossier .g04f5-dossier-event-title td{background:#f2f5f9!important;color:#344054!important;font-weight:850!important;font-size:12px!important;padding:9px 12px!important;border-top:1px solid #dbe2ea!important;border-bottom:1px solid #dbe2ea!important}
.stable04-dossiers .g04f5-dossier-event-title small,.f9-dossier .g04f5-dossier-event-title small{color:#667085;font-weight:600;margin-left:8px}

@media(max-width:1280px){
  body.g04f5-commercial-open .app-shell{--sidebar:252px!important}
  .stable04-commercial-source .g04-source-row{grid-template-columns:minmax(112px,1fr) 48px 44px 96px 104px 98px minmax(122px,1.1fr)!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(8),.stable04-commercial-source .g04-source-row>label:nth-of-type(9),.stable04-commercial-source .g04-source-row>label:nth-of-type(10){grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(8){grid-column:1/2!important}.stable04-commercial-source .g04-source-row>label:nth-of-type(9){grid-column:2/3!important}.stable04-commercial-source .g04-source-row>label:nth-of-type(10){grid-column:3/4!important}
  .stable04-commercial-source .g04f5-explain-actions{grid-column:4/-1!important;grid-row:2!important}
}
@media(max-width:900px){
  body.g04f5-commercial-open .app-shell{display:block!important}
  .stable04-commercial-source .g04-source-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stable04-commercial-source .g04-source-row>label{grid-column:auto!important;grid-row:auto!important}.stable04-commercial-source .stable04-item-name{grid-column:1/-1!important}.stable04-commercial-source .g04f5-explain-actions{grid-column:1/-1!important;grid-row:auto!important}
  .g04f5-source-line{grid-template-columns:1fr 1fr}.g04f5-source-line button{justify-self:start}
}
@media(max-width:560px){.stable04-commercial-source .g04-source-row{grid-template-columns:1fr!important}.stable04-commercial-source .g04-source-row>label,.stable04-commercial-source .g04f5-explain-actions{grid-column:1!important}.stable04-commercial-source .g04f5-explain-actions{grid-template-columns:1fr!important}.g04f5-source-line{grid-template-columns:1fr}}

/* UAT PATCH03 15-08-2026 — nút xác nhận Phương án triển khai + cột tiền tới hàng tỷ */
.stable04-commercial-source .g04-source-row{
  grid-template-columns:minmax(150px,1.15fr) 62px 72px minmax(142px,.92fr) minmax(142px,.92fr) minmax(142px,.92fr) minmax(166px,1.08fr) 78px 82px 104px!important;
  gap:7px!important
}
.stable04-commercial-source .g04-source-row [name="unit_price"],
.stable04-commercial-source .g04-source-row .g04-expected-price,
.stable04-commercial-source .g04-source-row [name="flower_budget"],
.stable04-commercial-source .g04-source-row [name="production_budget"]{
  width:100%!important;min-width:0!important;box-sizing:border-box!important;
  font-size:13px!important;font-weight:750!important;font-variant-numeric:tabular-nums!important;
  letter-spacing:0!important;white-space:nowrap!important;padding-left:8px!important;padding-right:8px!important
}
.stable04-commercial-source .g04-source-row .g04-expected-price{
  display:flex!important;align-items:center!important;min-height:39px!important;overflow:hidden!important;text-overflow:clip!important
}
.stable04-commercial-source .g04-source-row [name="production_budget"]{font-size:13.5px!important}

/* Xác nhận nguồn PL01 hiển thị độc lập ngay trong Phương án nội bộ. */
.g04f5-deployment-panel{border:1px solid #d9e2ef!important;box-shadow:0 5px 18px rgba(16,24,40,.05)!important}
.g04f5-deployment-panel .card-head{align-items:flex-start!important;background:linear-gradient(180deg,#f8fbff,#fff)!important}
.g04f5-deployment-panel .card-head h2{margin:0 0 5px!important;font-size:18px!important}
.g04f5-deployment-panel .card-head p{margin:0;color:#667085;font-size:12px;line-height:1.45}
.g04f5-deployment-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(150px,.8fr);gap:10px}
.g04f5-deployment-grid>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #e4e9f0;border-radius:11px;background:#fff;min-width:0}
.g04f5-deployment-grid small{color:#667085;font-size:11px}.g04f5-deployment-grid b{font-size:13px;overflow-wrap:anywhere}
.g04f5-deployment-note{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#475467;font-size:12px;line-height:1.5}
.g04f5-deployment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:11px}
.g04f5-deployment-help{color:#667085;font-size:12px;font-weight:700}
.g04f5-confirm-summary{display:grid;gap:5px;padding:12px!important;border:1px solid #d9e2ef;border-radius:11px;background:#f8fbff}
.g04f5-confirm-summary b{font-size:15px}.g04f5-confirm-summary span{font-size:12px;color:#475467}
.g04f5-confirm-warning{padding:10px 12px!important;border:1px solid #f2c94c;border-radius:10px;background:#fff8df;color:#7a5600;font-size:12px;line-height:1.5}
.g04f5-source-candidates{display:grid;gap:8px;margin-top:4px}
.g04f5-source-candidates article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #ead8d5;border-radius:10px;background:#fff}
.g04f5-source-candidates article>div{display:grid;gap:3px;min-width:0}.g04f5-source-candidates small,.g04f5-source-candidates span{font-size:11px;color:#667085}.g04f5-source-candidates b{font-size:13px;overflow-wrap:anywhere}

@media(max-width:1500px) and (min-width:1181px){
  .stable04-commercial-source .g04-source-row{
    grid-template-columns:minmax(150px,1.1fr) 58px 68px minmax(138px,1fr) minmax(138px,1fr) minmax(138px,1fr) minmax(160px,1.08fr)!important
  }
  .stable04-commercial-source .g04-source-row>label:nth-of-type(8),
  .stable04-commercial-source .g04-source-row>label:nth-of-type(9),
  .stable04-commercial-source .g04-source-row>label:nth-of-type(10){grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(8){grid-column:1/2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(9){grid-column:2/3!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(10){grid-column:3/4!important}
  .stable04-commercial-source .g04f5-explain-actions{grid-column:4/-1!important;grid-row:2!important}
}
@media(max-width:1180px) and (min-width:901px){
  .stable04-commercial-source .g04-source-row{
    grid-template-columns:minmax(160px,1.4fr) 64px 74px minmax(150px,1fr)!important
  }
  .stable04-commercial-source .g04-source-row>label{grid-row:auto!important;grid-column:auto!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(1){grid-column:1/2!important;grid-row:1!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(2){grid-column:2/3!important;grid-row:1!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(3){grid-column:3/4!important;grid-row:1!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(10){grid-column:4/5!important;grid-row:1!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(4){grid-column:1/2!important;grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(5){grid-column:2/3!important;grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(6){grid-column:3/4!important;grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(7){grid-column:4/5!important;grid-row:2!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(8){grid-column:1/2!important;grid-row:3!important}
  .stable04-commercial-source .g04-source-row>label:nth-of-type(9){grid-column:2/3!important;grid-row:3!important}
  .stable04-commercial-source .g04f5-explain-actions{grid-column:3/-1!important;grid-row:3!important}
}
@media(max-width:900px){
  .stable04-commercial-source .g04-source-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stable04-commercial-source .g04-source-row>label,.stable04-commercial-source .g04f5-explain-actions{grid-row:auto!important;grid-column:auto!important}
  .stable04-commercial-source .stable04-item-name,.stable04-commercial-source .g04f5-explain-actions{grid-column:1/-1!important}
  .g04f5-deployment-grid{grid-template-columns:1fr}.g04f5-source-candidates article{grid-template-columns:1fr}.g04f5-source-candidates .btn{justify-self:start}
}
@media(max-width:560px){
  .stable04-commercial-source .g04-source-row{grid-template-columns:1fr!important}
  .stable04-commercial-source .g04-source-row>label,.stable04-commercial-source .g04f5-explain-actions{grid-column:1!important}
}
/* PATCH03: vô hiệu hóa span 2 cũ của Tên hạng mục ở desktop để không tạo cột ẩn và ép Ngân sách Sản xuất. */
.stable04-commercial-source .g04-source-row>.stable04-item-name{grid-column:auto!important}
@media(max-width:900px){.stable04-commercial-source .g04-source-row>.stable04-item-name{grid-column:1/-1!important}}
@media(max-width:560px){.stable04-commercial-source .g04-source-row>.stable04-item-name{grid-column:1!important}}
