.contract-workbench-dialog .el-dialog__body{max-height:84vh;padding:12px 18px;overflow-y:auto;background:#f5f8fc}.contract-workbench-dialog .el-dialog__header{padding:16px 20px 12px;border-bottom:1px solid #e3ebf5}.contract-workbench-dialog .el-dialog__title{font-size:22px;font-weight:800;color:#0f172a}.contract-workbench-dialog .el-dialog__footer{padding:12px 20px;border-top:1px solid #e3ebf5;background:#fff}.contract-workbench-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) repeat(2,minmax(150px,.75fr));gap:10px;align-items:center;padding:12px 14px;border:1px solid #dbe7f4;border-radius:9px;background:#fff}.contract-workbench-summary span{display:flex;gap:8px;color:#64748b;font-size:12px}.contract-workbench-summary span b{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.contract-workbench-summary>strong{color:#0f4bd8;font-size:15px}.contract-workbench-summary>strong.paid{color:#168247}.contract-workbench-form{margin-top:12px}.contract-workbench-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.contract-workbench-left,.contract-workbench-right{display:grid;gap:12px;min-width:0}.contract-workbench-block{min-width:0;padding:14px;border:1px solid #dce7f3;border-radius:9px;background:#fff;box-shadow:0 5px 16px #0f172a08}.contract-workbench-block h3{margin:0 0 13px;padding-left:9px;border-left:3px solid #2563eb;color:#0f172a;font-size:17px}.contract-workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.contract-workbench-grid .wide{grid-column:1/-1}.contract-workbench-form .el-form-item{margin-bottom:10px}.contract-workbench-form .el-input,.contract-workbench-form .el-select,.contract-workbench-form .el-date-editor,.contract-workbench-form .el-input-number{width:100%}.contract-fee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.contract-fee-grid article{display:grid;gap:8px;min-width:0;padding:11px;border:1px solid #dbe7f4;border-radius:8px;background:#f8fbff}.contract-fee-grid label{color:#334155;font-size:13px;font-weight:700}.contract-fee-grid article.other{grid-template-columns:1fr}.contract-total-row,.contract-payment-totals{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:11px 0;padding:10px 12px;border-radius:8px;background:#eff6ff;color:#174ea6}.contract-total-row strong{font-size:20px}.contract-payment-table{overflow:hidden;border:1px solid #dce7f3;border-radius:8px}.contract-payment-table header,.contract-payment-table article{display:grid;grid-template-columns:minmax(130px,1fr) 110px minmax(140px,1fr);gap:10px;align-items:center;padding:9px 11px}.contract-payment-table header{background:#f1f5f9;color:#64748b;font-size:12px;font-weight:700}.contract-payment-table article{border-top:1px solid #edf2f7}.contract-payment-table article b{color:#334155;font-size:13px}.contract-payment-totals span{display:flex;gap:8px}.contract-payment-totals span:first-child b{color:#168247}.contract-payment-totals span:last-child b{color:#d97706}.contract-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.contract-upload-grid .el-upload{display:block;width:100%}.contract-upload-grid button{width:100%;min-height:76px;border:1px dashed #9fc5f7;border-radius:8px;background:#fbfdff;color:#174ea6;cursor:pointer;font-weight:700}.contract-upload-grid button:hover{border-color:#2563eb;background:#eff6ff}.contract-upload-grid small{display:block;margin-top:6px;color:#94a3b8;font-weight:400}.contract-workbench-dialog .dialog-file-table{margin-bottom:10px}.contract-workbench-dialog .contract-source-card{margin-bottom:12px}@media(max-width:1200px){.contract-workbench-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-workbench-columns{grid-template-columns:1fr}.contract-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.contract-workbench-summary,.contract-workbench-grid,.contract-fee-grid,.contract-upload-grid{grid-template-columns:1fr}.contract-payment-table header,.contract-payment-table article{grid-template-columns:1fr}.contract-payment-totals{align-items:flex-start;flex-direction:column}}
/* Compact contract workbench: desktop 82%/1320px, small screens 90%. */
.contract-workbench-dialog{max-width:1320px}
.contract-workbench-dialog .el-dialog__body{max-height:66vh;padding:10px 14px}
@media(max-width:1366px){.contract-workbench-dialog{width:90vw!important;max-width:90vw}}

/* One-screen overview: compact typography and a three-column contract workspace. */
.contract-workbench-dialog{max-width:1680px}
.contract-workbench-dialog .el-dialog__header{padding:11px 16px 8px}
.contract-workbench-dialog .el-dialog__title{font-size:18px}
.contract-workbench-dialog .el-dialog__body{max-height:80vh;padding:8px 12px;font-size:13px}
.contract-workbench-dialog .el-dialog__footer{padding:8px 16px}
.contract-workbench-summary{gap:6px;padding:8px 10px}
.contract-workbench-summary>strong{font-size:13px}
.contract-workbench-form{margin-top:7px}
.contract-workbench-columns{grid-template-columns:1fr 1fr 1.08fr;grid-template-areas:"base contract payment" "process contract archive";gap:8px}
.contract-workbench-left,.contract-workbench-right{display:contents}
.contract-workbench-left>.contract-workbench-block:nth-child(1){grid-area:base}
.contract-workbench-left>.contract-workbench-block:nth-child(2){grid-area:contract}
.contract-workbench-left>.contract-workbench-block:nth-child(3){grid-area:process}
.contract-workbench-right>.contract-workbench-block:nth-child(1){grid-area:payment}
.contract-workbench-right>.contract-workbench-block:nth-child(2){grid-area:archive}
.contract-workbench-block{padding:9px}
.contract-workbench-block h3{margin-bottom:8px;font-size:15px}
.contract-workbench-form{--el-font-size-base:13px}
.contract-workbench-form .el-form-item{margin-bottom:6px}
.contract-workbench-form .el-form-item__label{height:32px;line-height:32px;font-size:13px}
.contract-workbench-form .el-input__wrapper,.contract-workbench-form .el-select__wrapper{min-height:32px}
.contract-workbench-form textarea{min-height:46px!important;font-size:13px}
.contract-workbench-grid{gap:0 7px}
.contract-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.contract-fee-grid article{gap:5px;padding:7px}
.contract-total-row,.contract-payment-totals{margin:7px 0;padding:7px 9px}
.contract-total-row strong{font-size:16px}
.contract-payment-table header,.contract-payment-table article{grid-template-columns:minmax(88px,1fr) 90px minmax(115px,1fr);gap:6px;padding:6px 8px}
.contract-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}
.contract-upload-grid button{min-height:48px;font-size:12px}
.contract-upload-grid small{margin-top:2px;font-size:11px}
.contract-workbench-dialog .contract-source-card{margin-bottom:7px;padding:7px 10px}
.contract-workbench-dialog .contract-source-card p{display:inline;margin-left:10px;font-size:12px}
.contract-workbench-dialog .dialog-file-table{margin-bottom:6px}

/* Contract report stays inside the content width; the action column no longer overlays data. */
.contracts-page{min-width:0;overflow-x:hidden}
.contract-report-table{width:100%;font-size:13px}
.contract-report-table .el-table__inner-wrapper,.contract-report-table .el-scrollbar__wrap{overflow-x:hidden!important}
.contract-report-table .el-table__cell{padding:9px 0}
.contract-report-table .cell{padding:0 7px;white-space:nowrap}

@media(max-width:1200px){
  .contract-workbench-columns{grid-template-columns:1fr 1fr;grid-template-areas:"base payment" "contract archive" "process process"}
  .contract-report-table{font-size:12px}
  .contract-report-table .cell{padding:0 4px}
}
@media(max-width:760px){.contract-workbench-columns{display:block}.contract-workbench-left,.contract-workbench-right{display:grid}.contract-workbench-block{margin-bottom:8px}}

/* Confirmed medium-compact two-column dialog. */
.contract-workbench-dialog{max-width:1480px}
.contract-workbench-dialog .el-dialog__header{padding:14px 18px 10px}
.contract-workbench-dialog .el-dialog__title{font-size:20px}
.contract-workbench-dialog .el-dialog__body{max-height:70vh;padding:10px 16px;font-size:14px;overflow-y:auto}
.contract-workbench-dialog .el-dialog__footer{padding:10px 18px}
.contract-workbench-summary{gap:8px;padding:10px 12px}
.contract-workbench-summary>strong{font-size:14px}
.contract-workbench-form{margin-top:10px;--el-font-size-base:14px}
.contract-workbench-columns{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);grid-template-areas:none;gap:10px}
.contract-workbench-left,.contract-workbench-right{display:grid;gap:10px;min-width:0}
.contract-workbench-left>.contract-workbench-block,.contract-workbench-right>.contract-workbench-block{grid-area:auto!important}
.contract-workbench-block{padding:12px}
.contract-workbench-block h3{margin-bottom:10px;font-size:16px}
.contract-workbench-form .el-form-item{margin-bottom:8px}
.contract-workbench-form .el-form-item__label{height:36px;line-height:36px;font-size:14px}
.contract-workbench-form .el-input__wrapper,.contract-workbench-form .el-select__wrapper{min-height:36px}
.contract-workbench-form textarea{min-height:54px!important;font-size:14px}
.contract-workbench-grid{gap:0 9px}
.contract-fee-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.contract-fee-grid article{gap:6px;padding:9px}
.contract-total-row,.contract-payment-totals{margin:9px 0;padding:8px 10px}
.contract-total-row strong{font-size:18px}
.contract-payment-table header,.contract-payment-table article{grid-template-columns:minmax(110px,1fr) 100px minmax(130px,1fr);gap:8px;padding:8px 10px}
.contract-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px}
.contract-upload-grid button{min-height:58px;font-size:13px}
.contract-upload-grid small{margin-top:3px;font-size:11px}
.contract-workbench-dialog .contract-source-card{margin-bottom:9px;padding:9px 12px}

@media(max-width:1440px){.contract-workbench-dialog{width:94vw!important;max-width:94vw}}
@media(max-width:900px){
  .contract-workbench-dialog{width:96vw!important;max-width:96vw;top:2vh!important}
  .contract-workbench-dialog .el-dialog__body{max-height:82vh}
  .contract-workbench-columns{grid-template-columns:1fr}
  .contract-fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){.contract-workbench-summary,.contract-workbench-grid,.contract-fee-grid,.contract-upload-grid{grid-template-columns:1fr}}
