.loan-template-dialog{width:min(620px,94vw)}
.loan-template-details{padding:22px 26px}
.loan-template-details p{font-size:13px;color:#536b85}
.loan-template-details label{margin:18px 0}
.loan-file{border:1px solid #e2e8ef;border-radius:7px;padding:12px;margin:9px 0;font-size:12px}
.loan-file a{margin-left:10px}
.loan-file label{margin:10px 0}
.loan-field{padding:9px;border-radius:7px;background:#fafbfc;margin-bottom:8px}
.loan-field label{font-size:12px}
.loan-conflict{border-left:3px solid #bd7a35;background:#fffaf1}
.loan-warning{display:block;color:#95612e;background:#fff7e9;border-radius:5px;padding:8px;overflow-wrap:anywhere}
.loan-ok{background:#eff8f0;border:1px solid #bdddc4;border-radius:6px;padding:12px;margin:15px 0}
#modal-body .loan-blockers{border:2px solid #dc2626;background:#fef2f2;color:#991b1b;border-radius:8px;padding:14px 18px;margin:15px 0;line-height:1.7;font-weight:600;overflow-wrap:anywhere}
#modal[open]{display:flex;flex-direction:column;width:min(1240px,96vw);height:min(88vh,980px);max-height:88vh;overflow:hidden;border:1px solid #d9e2ec}
#modal .modal-head{position:relative;flex:none;box-shadow:0 1px 0 #e3e9f1}
#modal-body{overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-gutter:stable;overscroll-behavior:contain}
#modal-body .loan-review-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
#modal-body .loan-more-fields{margin:20px 0;border:1px solid #dce5ee;border-radius:8px;background:#fafcff;padding:12px 16px}
#modal-body .loan-more-fields summary{cursor:pointer;font-weight:600;color:#304964}
#modal-body .loan-more-fields .field-grid{margin-top:16px}
#modal-body .loan-field{min-width:0;margin:0;padding:16px;border:1px solid #e1e8f0;background:#fff;box-shadow:0 1px 3px #1c344c08}
#modal-body .loan-field label{font-size:12px;font-weight:600;margin-bottom:10px}
#modal-body .loan-field input{min-width:0;margin-top:6px}
#modal-body .loan-field .loan-source-label{display:block;margin-top:10px;margin-bottom:0;font-size:11px;font-weight:400;color:#64748b;letter-spacing:.02em}
#modal-body .loan-field .loan-source-readonly{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px 10px;min-height:54px;max-height:180px;resize:vertical;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;color:#52647a;font-family:Consolas,"SFMono-Regular","Microsoft YaHei",monospace;font-size:12px;font-weight:400;line-height:1.65;letter-spacing:0;cursor:text;overflow-wrap:anywhere}
#modal-body .loan-field .loan-source-readonly:focus{outline:2px solid #cbd5e1;outline-offset:1px;box-shadow:none}
#modal-body .loan-field .loan-source-readonly::placeholder{color:#64748b}
#modal-body .loan-conflict{border-color:#e7c997;border-left:3px solid #bb7830;background:#fffbf5}
#modal-body .loan-field.loan-field-required{border:2px solid #dc2626;background:#fff7f7;scroll-margin-top:18px}
#modal-body .loan-field-required .loan-invalid-control:not([type=checkbox]){border:2px solid #dc2626;background:#fff}
#modal-body .loan-field-required input[type=checkbox].loan-invalid-control{outline:2px solid #dc2626;outline-offset:3px}
#modal-body .loan-required-message{color:#991b1b;font-size:12px;font-weight:600;line-height:1.65;margin:10px 0 0}
#modal-body .loan-blockers{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
#modal-body .loan-blockers[hidden],#modal-body .loan-live-ready[hidden]{display:none}
#modal-body .loan-live-ready{margin:15px 0;padding:12px 16px;border:1px solid #cbded1;border-radius:6px;background:#f3f9f5;color:#315d42;font-size:13px;line-height:1.7}
#modal-body .loan-blockers>span{flex:1 1 380px}
#modal-body .loan-jump-required{flex:none;border:1px solid #b91c1c;color:#991b1b;background:#fff;font-weight:600;white-space:nowrap;padding:8px 14px;border-radius:6px;cursor:pointer}
#modal-body .loan-jump-required:hover{background:#fee2e2}
#modal-body .loan-jump-required:focus-visible{outline:3px solid #dc2626;outline-offset:3px}
#modal-body .loan-required-save-hint{flex-basis:100%;font-size:12px;font-weight:400;color:#9f3434}
#modal-body .loan-jump-target{box-shadow:0 0 0 4px #fee2e2}
#modal-body .sticky-actions .loan-review-required{border:2px solid #dc2626;background:#fff7f7;border-radius:6px;padding:8px 10px;color:#991b1b}
#modal-body .loan-candidates{border-top:1px solid #ead9bd;margin-top:12px;padding-top:3px}
#modal-body .loan-candidates summary{font-weight:600;color:#925e27}
#modal-body .loan-candidates .loan-warning{max-height:180px;overflow:auto;line-height:1.65}
#modal-body .loan-file{background:#fff;border-color:#e1e8f0;overflow-wrap:anywhere}
#modal-body .sticky-actions{bottom:-24px;z-index:3;margin:24px -26px -24px;padding:15px 26px;background:#fff;box-shadow:0 -6px 18px #1c344c12}
#modal[open] #toast{bottom:90px;right:28px;max-width:380px}
@media(max-width:760px){#modal[open]{width:98vw;max-height:94vh;height:94vh}#modal-body .loan-review-fields{grid-template-columns:1fr}#modal-body .sticky-actions{flex-wrap:wrap}}
