#contracts-content .panel{min-width:0;padding:22px}
#contracts-content h2,#contracts-content h3,#contracts-content h4{margin:0 0 8px}
#contracts-content h3{font-size:17px}
#contracts-content .panel .btn{margin:0}
#contracts-content p:last-child{margin-bottom:0}
.contract-intro,.contract-editor-head{
 display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap
}
.contract-intro{margin-bottom:16px}
.contract-intro p,.contract-editor-head p{margin:0;overflow-wrap:anywhere}
.contract-actions,.contract-template-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.contract-template-status{margin:-5px 0 18px;justify-content:space-between}
.contract-grid,.contract-editor-grid{display:grid;align-items:start;gap:16px}
.contract-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.contract-editor-grid{grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr)}
.contract-panel .field:first-of-type{margin-top:16px}
.contract-upload input[type=file]{min-width:0;max-width:100%}
.contract-upload .dialog-foot{padding-inline:0}
.contract-app-summary{
 display:grid;gap:3px;border:1px solid #dde6f2;border-radius:9px;background:#f6f9fd;
 padding:14px 16px;margin:12px 0 16px;overflow-wrap:anywhere
}
.contract-app-summary>strong{font-size:18px}
.contract-amount{font-size:22px;font-weight:650;margin-top:4px;font-variant-numeric:tabular-nums}
.contract-amount small{font-size:12px;color:#516078;margin-inline-start:4px}
.contract-values{margin:0 0 18px}
.contract-values>div{
 display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;
 padding:9px 0;border-bottom:1px solid #e6ebf2
}
.contract-values dt{color:#516078}
.contract-values dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.contract-error{color:#9c342b;overflow-wrap:anywhere}
.contract-editor-head{margin-bottom:18px}
.contract-editor-head .text-link{margin-bottom:6px}
.contract-editor>.field{max-width:460px}
.contract-editor-help{margin:0 0 12px}
.contract-preview,.contract-mapping{min-width:0;border:1px solid #dce4ef;border-radius:9px;padding:16px}
.contract-preview{max-height:65vh;overflow:auto;user-select:text}
#contracts-content .contract-preview h3{font-size:13px;color:#516078;margin:14px 0 9px}
#contracts-content .contract-preview h3:first-child{margin-top:0}
.contract-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;cursor:text}
.contract-preview mark{background:#dceaff;color:#17375e;border-radius:3px;cursor:pointer}
.contract-preview mark.contract-marker{background:#ffedbc;color:#573e0b}
.contract-preview mark:focus-visible{outline:2px solid #2364c9;outline-offset:2px}
.contract-mapping{background:#f6f9fd}
.contract-selection{
 padding:9px 11px;margin:8px 0 12px;background:white;border:1px solid #e0e6ee;border-radius:6px;
 overflow-wrap:anywhere;max-height:7.5em;overflow:auto
}
.contract-mapping .field{margin-bottom:10px}
#contract-bindings{margin-top:18px}
#contract-bindings ul{list-style:none;margin:0;padding:0;max-height:36vh;overflow:auto}
#contract-bindings li{padding:8px 0;border-top:1px solid #dce4ef;overflow-wrap:anywhere}
#contract-bindings small{display:block;color:#516078;margin:3px 0}
#contract-bindings .text-link,.contract-editor-head .text-link{color:#215ab0}
@media(max-width:1000px){
 .contract-grid,.contract-editor-grid{grid-template-columns:minmax(0,1fr)}
 .contract-preview{max-height:40vh}
}
@media(max-width:600px){
 #contracts-content .panel{padding:15px}
 .contract-mapping,.contract-preview{padding:12px}
 .contract-values>div{grid-template-columns:minmax(0,1fr);gap:3px}
}

.contract-navigation{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.contract-list{list-style:none;margin:12px 0 0;padding:0}
.contract-list>li{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:12px;padding:12px 0;border-top:1px solid #e6ebf2;overflow-wrap:anywhere
}
.contract-list>li>div:first-child{min-width:0}
#contracts-content #contract-record-more{margin-top:8px}
.contract-filters,.contract-field-grid{display:grid;align-items:start;gap:12px}
.contract-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.contract-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contract-filters .field,.contract-field-grid .field{margin:0 0 12px}
.contract-notice{
 padding:10px 12px;margin:12px 0;border:1px solid #ead7a4;border-radius:7px;
 color:#583f10;background:#fff8e6;overflow-wrap:anywhere
}
@media(max-width:700px){
 .contract-filters,.contract-field-grid{grid-template-columns:minmax(0,1fr);gap:0}
}


.contract-protocol{
 grid-column:1/-1;min-width:0;margin:8px 0 16px;padding:12px;
 border:1px solid #dce4ef;border-radius:8px
}
.contract-protocol legend{padding-inline:4px;font-weight:600}
.contract-protocol p{margin:0 0 8px}
.contract-protocol-row{
 display:grid;grid-template-columns:minmax(100px,2fr) repeat(3,minmax(68px,1fr)) auto;
 gap:8px;align-items:end;margin-bottom:8px
}
.contract-protocol-row .field{margin:0}
.contract-protocol-row .btn{align-self:end}
.contract-protocol-summary{padding:0;margin:0;list-style:none}
.contract-protocol-summary li+li{margin-top:8px}
@media(max-width:1380px){
 #contract-prepared .contract-protocol-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 #contract-prepared .contract-protocol-row .btn{justify-self:start}
}
@media(max-width:760px){
 .contract-protocol-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contract-protocol-row .btn{justify-self:start}
}

