/* Dedicated document workspace. No dialog backdrop, independent URL, full viewport. */
body.estimate-editor-page{background:#f2f5fa;overflow:auto!important}
body.estimate-editor-page #mainApp{display:none!important}
body.estimate-editor-page #estimateModal,
body.estimate-editor-page #estimateModal.show{
  position:relative!important;inset:auto!important;z-index:auto!important;
  display:block!important;min-height:100dvh;overflow:visible!important;
  padding:0!important;background:#f2f5fa!important;margin:0!important
}
body.estimate-editor-page #estimateModal .estimate-editor-modal{
  display:flex!important;flex-direction:column;position:relative!important;
  height:auto!important;max-height:none!important;min-height:100dvh!important;
  width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;
  margin:0!important;padding:22px clamp(14px,2.4vw,44px)!important;
  box-shadow:none!important;overflow:visible!important;background:#fff
}
body.estimate-editor-page .estimate-editor-titlebar{padding:0 0 15px;margin:0}
body.estimate-editor-page .estimate-editor-sections{
  flex:none!important;overflow-x:auto!important;overflow-y:visible!important;
  max-height:none!important;min-height:120px!important;padding-bottom:24px
}
body.estimate-editor-page .estimate-page-back{
  display:inline-flex;align-items:center;gap:6px;margin-bottom:15px;font-size:13px;
  font-weight:650;color:#175cd3;text-decoration:none;width:max-content
}
body.estimate-editor-page .estimate-editor-footer{
  position:sticky;bottom:0;z-index:15;margin-top:16px;padding:12px 0;
  border-top:1px solid #e7edf5;box-shadow:0 -7px 12px -12px #667085
}
body.estimate-editor-page .estimate-autosave-status[data-kind="error"]{color:#b42318!important}
body.estimate-editor-page .estimate-autosave-status[data-kind="saved"]{color:#027a48!important}
body.estimate-editor-page .estimate-autosave-status[data-kind="pending"]{color:#966600!important}
@media(max-width:700px){
 body.estimate-editor-page #estimateModal .estimate-editor-modal{padding:14px 10px!important}
 body.estimate-editor-page .estimate-editor-titlebar{flex-direction:column;gap:5px}
 body.estimate-editor-page .estimate-shortcuts{text-align:left}
}

/* Estimate layout switch: classical or material + work on the same line. */
.estimate-layout-selector{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 15px;margin:10px 0 12px;background:#f8faff;border:1px solid #dbe6fa;border-radius:10px}
.estimate-layout-selector label{font-size:13px;color:#344054;white-space:nowrap}
.estimate-layout-selector select{min-width:260px;max-width:100%;flex:0 1 465px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;background:white;color:#101828;font-size:13px}
.estimate-layout-selector span{flex:1 1 250px;color:#667085;font-size:12px;line-height:1.35}
#estimateModal .est-combined{display:none}
#estimateModal[data-layout-mode="combined"] .est-combined{display:table-cell}
#estimateModal[data-layout-mode="combined"] .estimate-summary .est-combined{display:block}
#estimateModal[data-layout-mode="combined"] .estimate-section-totals .est-combined{display:inline}
#estimateModal[data-layout-mode="combined"] .est-classic{display:none!important}
#estimateModal[data-layout-mode="combined"] .estimate-editor-table{min-width:1530px}
#estimateModal[data-layout-mode="combined"] .estimate-name{min-width:280px}
#estimateModal[data-layout-mode="combined"] .estimate-comment{min-width:165px}
#estimateModal[data-layout-mode="combined"] .estimate-factor{min-width:84px}
#estimateModal[data-layout-mode="combined"] .estimate-calc{white-space:nowrap}
@media(max-width:700px){.estimate-layout-selector{align-items:stretch;flex-direction:column;gap:7px}.estimate-layout-selector select{width:100%;flex:auto}.estimate-layout-selector span{flex:auto}}

/* Full section titles in the standalone estimate editor: wrap long names instead of clipping them. */
body.estimate-editor-page .estimate-section-head{flex-wrap:wrap;align-items:center}
body.estimate-editor-page .estimate-section-name{
  flex:1 1 420px;min-width:min(100%,240px);width:auto;max-width:none;
  box-sizing:border-box;min-height:32px;line-height:1.4;
  white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;resize:none;
  font-family:inherit
}
body.estimate-editor-page .estimate-section-totals{margin-left:auto;flex:0 0 auto}
body.estimate-editor-page .estimate-section-actions{flex:0 0 auto}

/* Estimate amounts are always VAT-exclusive until the final three-line summary. */
#estimateModal .estimate-vat-guidance{
  margin:12px 0 8px;padding:10px 12px;background:#f5f8fd;
  border:1px solid #dbe6f5;border-radius:8px;color:#475467;
  font-size:12px;line-height:1.5
}
#estimateModal .estimate-vat-breakdown{
  grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;
  width:min(100%,540px);justify-self:end;box-sizing:border-box;
  background:#fff;border:1px solid #d0d5dd;border-radius:9px;
  padding:10px 14px;margin-top:4px
}
#estimateModal .estimate-vat-breakdown>div{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:8px 2px;color:#344054;font-size:13px
}
#estimateModal .estimate-vat-breakdown span{font-weight:650}
#estimateModal .estimate-vat-breakdown b{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
#estimateModal .estimate-vat-breakdown .estimate-vat-grand-total{
  border-top:1px solid #cbd5e1;margin-top:5px;padding:12px 2px 6px;
  color:#067647;font-weight:800
}
#estimateModal .estimate-vat-breakdown .estimate-vat-grand-total b{font-size:18px;color:#067647}
@media(max-width:600px){
 #estimateModal .estimate-vat-breakdown{width:100%}
 #estimateModal .estimate-vat-breakdown>div{font-size:12px;gap:10px}
}

/* Grouped numeric inputs: show 1 250 000.00 without clipping. */
#estimateModal .estimate-editor-table input.estimate-qty,
#estimateModal .estimate-editor-table input.estimate-cost,
#estimateModal .estimate-editor-table input.estimate-price,
#estimateModal .estimate-editor-table input.estimate-material-price,
#estimateModal .estimate-editor-table input.estimate-work-price{
  text-align:right;
  min-width:112px;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
}
#estimateModal .estimate-editor-table input.estimate-qty{min-width:98px}

/* KS-2: find estimate lines and create missing lines without leaving act modal. */
#estimateActsModal .modal{max-width:1220px!important}
#estimateActsModal .estimate-act-tools{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;
  margin:12px 0 4px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px
}
#estimateActsModal .estimate-act-tools .form-group{margin:0;flex:0 1 210px}
#estimateActsModal .estimate-act-tools .estimate-act-search{flex:1 1 320px}
#estimateActsModal .estimate-act-tools input,
#estimateActsModal .estimate-act-tools select{width:100%;min-height:37px}
#estimateActsModal .estimate-act-tools button{min-height:37px}
#estimateActsModal .estimate-act-search-status{font-size:12px;color:#667085;margin:5px 0 12px}
#estimateActsModal .estimate-act-position{
  display:grid;grid-template-columns:35px minmax(180px,1fr) 8px 110px 128px;
  gap:10px;align-items:center;border-bottom:1px solid #e8edf3;padding:10px 8px;
}
#estimateActsModal .estimate-act-position-name{min-width:0;overflow-wrap:anywhere}
#estimateActsModal .estimate-act-position-meta{color:#667085;font-size:11px;margin-top:3px}
#estimateActsModal .estimate-act-position .form-group{margin:0}
#estimateActsModal .estimate-act-position .act-qty{width:100%;min-width:75px}
#estimateActsModal .estimate-act-position-price{text-align:right;white-space:nowrap;font-weight:700}
#estimateActsModal .estimate-act-position-price small{display:block;color:#667085;font-size:10px;font-weight:400}
#estimateActsModal .estimate-act-new-panel{
  border:1px solid #b2ccff;border-radius:10px;background:#f6f9ff;
  padding:14px 16px;margin:14px 0
}
#estimateActsModal .estimate-act-new-panel h4{font-size:15px;color:#15233c;margin:0 0 6px}
#estimateActsModal .estimate-act-new-panel p{color:#526079;font-size:12px;line-height:1.4;margin:0 0 14px}
#estimateActsModal .estimate-act-new-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
#estimateActsModal .estimate-act-new-grid .form-group{margin:0}
#estimateActsModal .estimate-act-new-grid .estimate-act-new-wide{grid-column:span 2}
#estimateActsModal .estimate-act-new-grid input,
#estimateActsModal .estimate-act-new-grid select{width:100%;min-width:0}
#estimateActsModal .estimate-act-new-combined{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
#estimateActsModal .estimate-act-new-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
@media(max-width:720px){
 #estimateActsModal .estimate-act-new-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #estimateActsModal .estimate-act-new-combined{grid-template-columns:1fr}
 #estimateActsModal .estimate-act-position{grid-template-columns:25px minmax(0,1fr) 88px;gap:7px}
 #estimateActsModal .estimate-act-position>div:nth-child(3){display:none}
 #estimateActsModal .estimate-act-position-price{grid-column:2/-1;text-align:left;padding-left:4px}
}
@media(max-width:460px){
 #estimateActsModal .estimate-act-new-grid{grid-template-columns:1fr}
 #estimateActsModal .estimate-act-new-grid .estimate-act-new-wide{grid-column:auto}
 #estimateActsModal .estimate-act-position{grid-template-columns:20px minmax(0,1fr) 80px}
}

/* Find materials and work directly in the current estimate. */
#estimateModal .estimate-inside-search{
  display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;
  background:#f7f9fe;border:1px solid #d9e4f6;border-radius:10px;
  padding:11px 13px;margin:12px 0 10px;
}
#estimateModal .estimate-inside-search-field{flex:1 1 320px;min-width:180px}
#estimateModal .estimate-inside-search-field label{
  display:block;font-size:12px;font-weight:700;color:#344054;margin-bottom:5px
}
#estimateModal .estimate-inside-search-field input{
  width:100%;min-height:38px;padding:8px 11px;border:1px solid #bbc9dc;
  border-radius:7px;background:#fff;font-size:14px;box-sizing:border-box
}
#estimateModal .estimate-inside-search-field input:focus{
  outline:2px solid #d1e4ff;border-color:#5288db
}
#estimateModal .estimate-inside-search button{min-height:36px}
#estimateModal .estimate-inside-search button:disabled{opacity:.45;cursor:default}
#estimateModal .estimate-inside-search-status{
  flex:1 0 100%;color:#64748b;font-size:12px;line-height:1.4;
}
#estimateLines .estimate-line.estimate-inside-search-match{background:#f4f8ff}
#estimateLines .estimate-line.estimate-inside-search-current{
  background:#e7f2ff;outline:2px solid #4f8bd6;outline-offset:-2px
}
#estimateLines .estimate-line.estimate-inside-search-current td{border-color:#b4d2f6}
@media(max-width:580px){
  #estimateModal .estimate-inside-search{gap:7px;padding:10px}
  #estimateModal .estimate-inside-search-field{flex-basis:100%}
  #estimateModal .estimate-inside-search button{flex:1}
}

/* KS-2: add distributed quantities to an existing act instead of duplicating it. */
#estimateActsModal .estimate-act-target-select{
  display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;
  margin:12px 0 14px;padding:12px 14px;
  background:#f4f8ff;border:1px solid #b9d3fb;border-radius:10px
}
#estimateActsModal .estimate-act-target-select .form-group{flex:1 1 320px;margin:0}
#estimateActsModal .estimate-act-target-select label{font-weight:750;font-size:13px}
#estimateActsModal .estimate-act-target-select select{
  width:100%;min-height:40px;border:1px solid #afc5e2;border-radius:7px;background:#fff;
  padding:8px 10px;font-size:13px;box-sizing:border-box
}
#estimateActsModal .estimate-act-target-select p{
  margin:0;flex:1 1 260px;font-size:12px;color:#475467;line-height:1.5
}
#estimateActsModal .estimate-act-in-selected{
  color:#175cd3;font-weight:650
}
#estimateActsModal .estimate-act-submit{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:15px 0 8px;
  padding:14px;border-top:1px solid #d0d5dd;background:#f8fafc;border-radius:8px
}
#estimateActsModal .estimate-act-submit button{
  min-width:185px;min-height:41px;font-weight:700
}
#estimateActsModal .estimate-act-submit button:disabled{opacity:.6;cursor:wait}
#estimateActsModal .estimate-act-submit span{
  flex:1 1 260px;font-size:12px;color:#475467;line-height:1.45
}
@media(max-width:580px){
 #estimateActsModal .estimate-act-submit button{width:100%}
 #estimateActsModal .estimate-act-target-select .form-group{flex-basis:100%}
}

/* Amend estimates after KS-2 without hiding rows with already certified quantities. */
#estimateModal .estimate-acted-edit-notice{
  display:flex;flex-wrap:wrap;gap:5px 14px;align-items:center;
  margin:12px 0;padding:11px 14px;border:1px solid #bbd4f4;
  background:#f2f7ff;color:#344054;border-radius:9px;font-size:12px;line-height:1.5
}
#estimateModal .estimate-acted-edit-notice strong{color:#1b4b89;font-size:13px}
#estimateModal .estimate-acted-edit-notice span{flex:1 1 440px}
#estimateLines .estimate-row-acted .estimate-name{font-weight:650}
#estimateLines .estimate-acted-label{
  display:block;color:#175cd3;margin:2px 0;font-size:10px;font-weight:650;
  white-space:normal
}
#estimateLines .estimate-row-acted .estimate-unit[readonly]{
  background:#f4f6fa;color:#475467;cursor:not-allowed
}

/* Item names: wrap even very long work/material descriptions inside the cell.
   This editor grows rather than clipping the text or adding internal scrollbars. */
#estimateModal .estimate-editor-table .estimate-name-editor{
  min-width:290px;width:100%;box-sizing:border-box;
}
#estimateModal .estimate-editor-table textarea.estimate-name{
  display:block;width:100%;min-width:290px;min-height:42px;height:auto;
  box-sizing:border-box;margin:0;padding:7px 8px;
  border:1px solid transparent;border-radius:5px;background:transparent;
  font-family:inherit;font-size:11px;line-height:1.5;color:inherit;
  white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;
  overflow:hidden;resize:none;vertical-align:top;
}
#estimateModal .estimate-editor-table textarea.estimate-name:hover{
  border-color:#d0d5dd;background:#fff
}
#estimateModal .estimate-editor-table textarea.estimate-name:focus{
  border-color:#84adff;background:#fff;outline:2px solid #d1e0ff
}
#estimateModal .estimate-name-suggestions{
  width:100%;max-height:180px;overflow-y:auto;box-sizing:border-box;
  margin-top:3px;border:1px solid #d0d5dd;border-radius:6px;
  background:#fff;box-shadow:0 3px 10px rgba(16,24,40,.09)
}
#estimateModal .estimate-name-suggestions[hidden]{display:none!important}
#estimateModal .estimate-name-suggestion{
  display:block;width:100%;padding:8px 10px;text-align:left;
  border:0;border-bottom:1px solid #eaecf0;border-radius:0;
  background:#fff;color:#344054;font-family:inherit;cursor:pointer;
  white-space:normal;overflow-wrap:anywhere
}
#estimateModal .estimate-name-suggestion:hover,
#estimateModal .estimate-name-suggestion:focus{background:#eff6ff}
#estimateModal .estimate-name-suggestion span{display:block;font-size:11px;font-weight:650}
#estimateModal .estimate-name-suggestion small{display:block;margin-top:4px;font-size:10px;color:#667085}
#estimateModal .estimate-name-suggestion:last-child{border-bottom:0}

/* Tenant-specific price directory and line highlighting. */
#estimateModal .estimate-editor-table .estimate-row-color{
  min-width:88px;width:92px;max-width:92px;font-size:10px;
  padding:4px;border:1px solid #d0d5dd;border-radius:5px;background:#fff;cursor:pointer
}
#estimateLines .estimate-line[data-row-color="yellow"]>td{background:#fff4bc!important}
#estimateLines .estimate-line[data-row-color="green"]>td{background:#dcfce7!important}
#estimateLines .estimate-line[data-row-color="blue"]>td{background:#dbeafe!important}
#estimateLines .estimate-line[data-row-color="pink"]>td{background:#fce7f3!important}
#estimateLines .estimate-line[data-row-color="orange"]>td{background:#ffedd5!important}
#estimateLines .estimate-line[data-row-color="violet"]>td{background:#ede9fe!important}
#estimateLines .estimate-line[data-row-color="gray"]>td{background:#e5e7eb!important}
#estimateLines .estimate-line[data-row-color] input,
#estimateLines .estimate-line[data-row-color] textarea{background:transparent}
#estimateLines .estimate-line[data-row-color] input:focus,
#estimateLines .estimate-line[data-row-color] textarea:focus{background:#fff}
#estimateRateManagerModal .estimate-rate-manager-modal{
  width:96%;max-width:1150px;max-height:90vh;overflow:auto
}
.estimate-rate-help{color:#667085;font-size:12px;line-height:1.5;margin:4px 0 14px}
.estimate-rate-topbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:12px 0}
.estimate-rate-topbar .form-group{flex:1 1 185px;margin:0}
.estimate-rate-topbar .estimate-rate-search{flex:2 1 280px}
.estimate-rate-topbar input,.estimate-rate-topbar select{width:100%;min-height:36px}
.estimate-rate-topbar button{min-height:36px}
.estimate-rate-status{color:#475467;font-size:12px;margin:8px 0}
.estimate-rate-table-wrap{max-height:55vh;overflow:auto;border:1px solid #e4e7ec;border-radius:8px}
.estimate-rate-table{border-collapse:collapse;width:100%;font-size:12px}
.estimate-rate-table th{position:sticky;top:0;background:#f8fafc;z-index:1;text-align:left}
.estimate-rate-table td,.estimate-rate-table th{border-bottom:1px solid #e4e7ec;padding:9px}
.estimate-rate-table td b{overflow-wrap:anywhere}
.estimate-rate-table td small{display:block;color:#667085;margin-top:3px}
.estimate-rate-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.estimate-rate-form-grid .form-group{margin:0}
.estimate-rate-form-grid .form-group input,.estimate-rate-form-grid .form-group select,
.estimate-rate-form-grid .form-group textarea{width:100%;box-sizing:border-box}
.estimate-rate-form-grid .estimate-rate-span{grid-column:1/-1}
.estimate-rate-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:16px 0 2px}
.estimate-rate-check{font-size:12px;display:flex;align-items:center;gap:7px}
#estimateRateImportPreview{overflow:auto;max-height:240px;margin:12px 0}
@media(max-width:640px){
 .estimate-rate-form-grid{grid-template-columns:1fr 1fr}
 .estimate-rate-table{min-width:740px}
 .estimate-rate-topbar .form-group{flex-basis:100%}
}

/* Price directory: distinct monetary columns with no wrapped numbers or action buttons. */
#estimateRateManagerModal .estimate-rate-manager-modal{
  width:calc(100vw - 48px);
  max-width:1360px;
  box-sizing:border-box;
}
#estimateRateManagerModal .estimate-rate-table-wrap{
  overflow-x:auto;
  overflow-y:auto;
  max-width:100%;
}
#estimateRateManagerModal .estimate-rate-table{
  width:100%;
  min-width:1200px;
  table-layout:fixed;
  border-collapse:collapse;
}
#estimateRateManagerModal .estimate-rate-table .rate-col-name{width:32%}
#estimateRateManagerModal .estimate-rate-table .rate-col-type{width:12%}
#estimateRateManagerModal .estimate-rate-table .rate-col-unit{width:6%}
#estimateRateManagerModal .estimate-rate-table .rate-col-amount{width:12%}
#estimateRateManagerModal .estimate-rate-table .rate-col-amount:nth-child(5),
#estimateRateManagerModal .estimate-rate-table .rate-col-amount:nth-child(6){width:11%}
#estimateRateManagerModal .estimate-rate-table .rate-col-select{width:46px}
#estimateRateManagerModal .estimate-rate-table th.estimate-rate-num-head,
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-amount{
  text-align:right;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
}
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-amount b{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  font-variant-numeric:tabular-nums;
}
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-unit{
  white-space:nowrap;
}
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-name{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-checkbox-cell{
  text-align:center;
  padding-left:6px;
  padding-right:6px;
}
#estimateRateManagerModal .estimate-rate-checkbox-cell input{
  width:17px;
  height:17px;
  cursor:pointer;
  accent-color:#2563eb;
}
#estimateRateManagerModal .estimate-rate-table tr.estimate-rate-selectable{cursor:pointer}
#estimateRateManagerModal .estimate-rate-table tr.estimate-rate-selectable:hover > td{background:#f8fafc}
#estimateRateManagerModal .estimate-rate-table tr.estimate-rate-row-selected > td{background:#eff6ff}
#estimateRateManagerModal .estimate-rate-table tr.estimate-rate-selectable:focus-visible > td{
  outline:2px solid #2563eb;
  outline-offset:-2px;
}
#estimateRateManagerModal .estimate-rate-topbar button[hidden],
#estimateRateEditorModal #estimateRateEditorDelete[hidden]{display:none}
#estimateModal .estimate-editor-table .estimate-calc{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

/* Show when each organization-owned catalog rate was first added. */
#estimateRateManagerModal .estimate-rate-table .rate-col-added{width:11%}
#estimateRateManagerModal .estimate-rate-table td.estimate-rate-date{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  font-size:12px;
  color:#475467;
}
#estimateRateManagerModal .estimate-rate-table{min-width:1110px}
#estimateRateManagerModal .estimate-rate-table .rate-col-name{width:33%}
#estimateRateManagerModal .estimate-rate-table .rate-col-type{width:13%}
#estimateRateManagerModal .estimate-rate-table .rate-col-unit{width:6%}
#estimateRateManagerModal .estimate-rate-table .rate-col-amount{width:11%}
#estimateRateManagerModal .estimate-rate-table .rate-col-amount:nth-child(6),
#estimateRateManagerModal .estimate-rate-table .rate-col-amount:nth-child(7){width:10%}
#estimateRateManagerModal .estimate-rate-table .rate-col-added{width:12%}
/* Existing estimate: let the user explicitly map legacy rows to exact prices. */
#estimateRateMatchModal .estimate-rate-match-modal{
  width:calc(100vw - 40px);max-width:1060px;max-height:90vh;overflow:auto
}
#estimateRateMatchModal .estimate-rate-match-list{
  max-height:58vh;overflow-y:auto;border:1px solid #e4e7ec;border-radius:8px
}
#estimateRateMatchModal .estimate-rate-match-row{
  display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1fr) minmax(240px,1.5fr);
  align-items:center;gap:12px;padding:11px 12px;border-bottom:1px solid #e4e7ec
}
#estimateRateMatchModal .estimate-rate-match-row:last-child{border-bottom:0}
#estimateRateMatchModal .estimate-rate-match-original{min-width:0;overflow-wrap:anywhere}
#estimateRateMatchModal .estimate-rate-match-original b{font-size:12px}
#estimateRateMatchModal .estimate-rate-match-original small{
  display:block;color:#667085;margin-top:4px;font-size:11px;line-height:1.4
}
#estimateRateMatchModal .estimate-rate-map-search,
#estimateRateMatchModal .estimate-rate-map-select{
  width:100%;min-width:0;min-height:36px;padding:7px;
  border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:12px
}
@media(max-width:760px){
 #estimateRateMatchModal .estimate-rate-match-row{
   grid-template-columns:1fr;gap:7px
 }
}

/* Full official-form metadata, saved on each estimate and reused in KS documents. */
#estimateModal .estimate-official-meta{
  margin:12px 0;padding:10px 14px;border:1px solid #dbe4f0;
  border-radius:9px;background:#fbfcff
}
#estimateModal .estimate-official-meta summary{
  cursor:pointer;font-size:13px;font-weight:700;color:#344054
}
#estimateModal .estimate-official-meta p{
  color:#667085;font-size:12px;line-height:1.45;margin:8px 0 12px
}
#estimateModal .estimate-official-meta-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px
}
#estimateModal .estimate-official-meta-grid .form-group{margin:0;min-width:0}
#estimateModal .estimate-official-meta-grid label{
  display:block;font-size:12px;font-weight:600;color:#344054;margin-bottom:4px
}
#estimateModal .estimate-official-meta-grid input{
  width:100%;max-width:100%;box-sizing:border-box;min-height:35px
}
#estimateModal .estimate-official-meta-grid .estimate-doc-wide{grid-column:1/-1}
@media(max-width:620px){
  #estimateModal .estimate-official-meta-grid{grid-template-columns:1fr}
}
