:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#1f2937;background:#f4f6fa;font-size:14px;--blue:#3456d1}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:225px;background:#172138;color:#c7d0e5;padding:30px 18px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{font-size:23px;font-weight:750;color:white;text-decoration:none}.brand small{font-size:12px;display:block;margin-top:8px;color:#a6b7d8}.nav-label,.eyebrow{font-size:11px;letter-spacing:1.5px;color:#7789ac;margin:32px 0 12px}nav button{width:100%;text-align:left;color:#bdc9df;border:0;background:transparent;padding:11px 12px;margin:2px 0}nav button.active{background:#324e98;color:white}.back{display:block;color:#a8bce6;text-decoration:none;margin-top:30px}main{margin-left:225px;padding:32px 40px;width:calc(100% - 225px)}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{margin:0 0 7px}h1{font-size:26px;letter-spacing:-.5px;margin:0}#description{color:#68768c;line-height:1.7;max-width:900px}button,.button{font:inherit;border:1px solid #d7deeb;border-radius:7px;padding:9px 13px;background:white;color:#273650;cursor:pointer;text-decoration:none}button:hover{filter:brightness(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--blue);border-color:var(--blue);color:white}.panel{background:white;border:1px solid #e1e6ef;border-radius:12px;margin-top:22px;overflow:hidden}.toolbar{display:flex;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid #edf0f5}.toolbar #actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar label{color:#6c778b;font-size:12px;min-width:190px}.toolbar input{margin-top:5px}input,select,textarea{font:inherit;width:100%;padding:10px;border:1px solid #d1d9e7;border-radius:6px;background:white;color:#21304a}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #bdcafd;border-color:var(--blue)}#content{overflow:auto;min-height:180px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;background:#f9fafc;color:#6a768c;font-weight:550}th,td{padding:13px 16px;border-bottom:1px solid #edf0f5}td button{font-size:12px;padding:5px 9px;margin-right:5px}.empty{padding:55px 25px;text-align:center;color:#8590a1}.status{display:inline-block;padding:4px 8px;border-radius:5px;background:#eef2fa;color:#506891}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.metric{padding:20px;background:white;border:1px solid #e1e6ef;border-radius:10px}.metric small{color:#748097}.metric strong{display:block;font-size:24px;margin-top:10px;font-weight:650}#notice{padding:12px 16px;border-radius:7px;background:#e8f1ff;color:#244d8a;margin-top:16px}#notice.error,#formError{color:#ad2839}#notice.error{background:#fff0f1}#identity{font-size:12px;color:#6e7a90;margin-right:12px}dialog{border:0;border-radius:12px;width:min(860px,94vw);max-height:90vh;padding:25px;box-shadow:0 20px 80px #17213844}dialog::backdrop{background:#17213870}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head h2{font-size:20px;margin:0}.dialog-head button{border:0;font-size:23px}#formDescription{color:#68768c;line-height:1.7}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;font-size:13px;color:#526179}.field>input,.field>select,.field>textarea{margin-top:7px}.field.wide{grid-column:1/-1}.help{font-size:11px;color:#8290a3;line-height:1.6;margin:5px 0}.repeat{grid-column:1/-1;border:1px solid #e0e5ee;border-radius:8px;padding:14px}.repeat h3{margin:0 0 12px;font-size:14px}.repeat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 0;border-bottom:1px solid #e9edf4}.repeat-row:last-of-type{margin-bottom:12px}footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.detail-grid dt{color:#7c889b;font-size:12px}.detail-grid dd{margin:7px 0 0;overflow-wrap:anywhere}.detail-section{overflow:auto;margin-top:20px}.upload{padding:14px;background:#f6f8fc;border-radius:8px}.upload input{border:0;padding:5px 0;background:transparent}@media(max-width:850px){aside{position:static;width:100%;padding:16px}body{display:block}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap}.nav-label,.back,.brand small{display:none}main{margin:0;padding:20px;width:100%}.metrics{grid-template-columns:1fr 1fr}.toolbar{flex-direction:column}.fields{grid-template-columns:1fr}.repeat-row{grid-template-columns:1fr 1fr}header{align-items:flex-start}#identity{display:block;margin:0 0 10px}.detail-grid{grid-template-columns:1fr}}@media print{body{background:white}body>aside,body>main,dialog .dialog-head button,dialog button{display:none}dialog[open]{display:block;position:static;width:100%;max-height:none;box-shadow:none}dialog::backdrop{display:none}}

.test-banner{margin:0 0 22px;padding:12px 16px;border:1px solid #e9ca77;border-radius:8px;background:#fff6dd;color:#795509;font-size:13px}

.contract-print h1{font-size:22px}.contract-print h2{font-size:17px;margin-top:24px}.contract-terms{white-space:pre-wrap;line-height:1.9}.signature{margin:35px 0 10px;display:flex;flex-wrap:wrap;gap:25px}.contract-print table{white-space:normal}@media print{.contract-print{font-size:12px}.contract-print th,.contract-print td{padding:8px}.contract-print h2{break-after:avoid}.contract-print tr{break-inside:avoid}}

/* Match the existing production CRM shell; finance is a workspace inside it. */
:root{--blue:#4f46e5;--primary:#4f46e5;--bg:#f5f6fa;--card:#fff;--border:#e6e8ef;--text:#1a1d29;--muted:#7a8095;font-family:-apple-system,"PingFang SC","Helvetica Neue",sans-serif;color:var(--text);background:var(--bg)}
body{height:100vh;min-height:0;overflow:hidden;background:var(--bg)}
body>aside.sidebar{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:232px;height:100vh;padding:0;background:#171a26;color:#c9cdda;overflow:hidden}
.logo{display:flex;align-items:center;gap:10px;padding:20px 18px 16px;flex-shrink:0}
.logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:17px}
.logo-name{font-weight:700;font-size:15px;color:#fff;letter-spacing:.5px}.logo-sub{font-size:10.5px;color:#6b7186;margin-top:1px}
.conn{margin:10px;padding:11px 12px;background:#1f2333;border-radius:11px;font-size:12px;flex-shrink:0}.conn b{color:#e8eaf2;font-weight:600}.conn span{display:block;margin-top:5px;color:#9aa0b5;font-size:11px}
main{display:flex;flex-direction:column;margin:0 0 0 232px;padding:0;width:calc(100% - 232px);height:100vh;min-width:0}
.topbar{height:56px;min-height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0 22px;background:#fff;border-bottom:1px solid var(--border)}
.topbar h1{font-size:15.5px;font-weight:700;letter-spacing:0;white-space:nowrap;margin:0}.crumb{color:#aab0c0;font-size:12.5px;white-space:nowrap}.header-right{margin-left:auto;display:flex;align-items:center;gap:12px}.header-right #identity{margin:0;color:var(--muted);font-size:12px}.header-right button{font-size:12px;padding:6px 12px;border-radius:7px}
.business-content{flex:1;min-height:0;overflow-y:auto;padding:22px}#description{margin:0 0 15px;font-size:13px;color:var(--muted);line-height:1.7}.panel{margin-top:16px}.panel,.metric{border-color:var(--border);border-radius:14px;box-shadow:0 1px 3px rgba(20,24,40,.06),0 8px 24px rgba(20,24,40,.05)}.toolbar{padding:16px 18px}.metrics{margin-top:18px}.metrics:empty{display:none}.metric small{color:var(--muted)}
input,select,textarea{border-color:#d8dcff;border-radius:9px;font-size:13px;color:var(--text)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px #eef0ff}button.primary{background:var(--primary);border-color:var(--primary)}button{border-radius:9px}.status{background:#eef0ff;color:#4f46e5}.test-banner{margin-bottom:16px}
@media(max-width:760px){main{margin:0;width:100%;height:100dvh}.business-content{padding:12px}.topbar{padding:0 12px;gap:10px}.topbar .crumb{display:none}.header-right{gap:6px}.header-right #identity{display:none}.topbar h1{font-size:14px}.logo-sub{display:block}.logo-name{font-size:15px}.logo-mark{flex-shrink:0}}
@media print{body>aside.sidebar,body>main{display:none}}

.business-content > *{max-width:1180px;margin-left:auto;margin-right:auto}.business-content>#description{max-width:1180px}.toolbar #actions{align-items:center;align-self:center}.toolbar #actions>button{min-height:36px}.resource-tabs button.active{background:transparent}
.cf21-section{grid-column:1/-1;border:1px solid #e6e8ef;border-radius:10px;padding:16px;margin:8px 0}.cf21-section h3{margin:0 0 16px;font-size:16px}.cf21-choices{grid-column:1/-1;border:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.cf21-choices legend{margin-bottom:10px}.cf21-choices label{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d8dcff;border-radius:8px}.cf21-choices input{width:auto}.cf21-summary{grid-column:1/-1;padding:12px;background:#f5f6fa;border-radius:8px;line-height:1.8}.cf21-section .help{font-size:13px}.cf21-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.cf21-section table{white-space:normal}.cf21-changed{padding:12px;background:#fff6dd;color:#795509}.cf21-section input[readonly]{background:#f5f6fa}.cf21-section [role=alert]{color:#ad2839}
.business-content .resource-tabs,.business-content #description{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.cf21-section .wide{grid-column:1/-1}.cf21-section .field{min-width:0}.cf21-section{min-width:0;overflow-wrap:anywhere}.cf21-actions{align-items:center}.cf21-section table{table-layout:fixed}dialog .dialog-head{position:sticky;top:-25px;background:white;z-index:2;padding:10px 0}.cf21-section input[type=file]{max-width:100%}@media print{dialog .dialog-head{position:static}.contract-print .detail-grid{display:none}}
.approval-card{border:1px solid #d8d2ff;background:#f7f5ff;padding:16px;border-radius:12px;margin-bottom:12px}.approval-card strong{display:block}.approval-card p{margin:9px 0;font-size:14px}.approval-card button{margin:5px 8px 0 0;min-height:42px}.payment-addendum{border:1px solid #aaa;padding:12px;margin:16px 0;white-space:pre-wrap}@media(max-width:760px){.approval-card button{width:100%;margin:6px 0}.detail-grid{grid-template-columns:1fr}}

/* CF35: readable business detail without recursive snapshots. */
.cf-readable-detail{max-width:100%;overflow-wrap:anywhere}.cf-readable-detail h2{margin:8px 0 18px}.cf-readable-detail .detail-grid{margin:0;gap:12px}.cf-readable-detail .cf21-section{margin-top:18px;padding-top:12px;border-top:1px solid #e2e8f0}.cf-readable-detail table{width:100%;table-layout:fixed}.cf-readable-detail th,.cf-readable-detail td{white-space:normal;overflow-wrap:anywhere}.cf-evidence-link{display:inline-block;margin:4px 16px 4px 0;padding:8px 0}.cf-audit-reference{margin-top:20px;color:#64748b;font-size:12px}.cf-opening-record{padding:8px 12px;background:#f8fafc;margin:8px 0}.cf-detail-note{white-space:pre-wrap}@media(max-width:600px){.cf-readable-detail .detail-grid{grid-template-columns:1fr}.cf-readable-detail th,.cf-readable-detail td{padding:8px 5px;font-size:13px}.cf-readable-detail h2{font-size:20px}}
.cf-readable-detail>header{display:block;border:0;padding:0;background:transparent}

/* Readable document details: business fields first, complete source data on demand. */
#detail{width:min(1060px,94vw);padding:0;border-radius:18px;background:#f5f6fa;overflow:auto}
#detail>.dialog-head{position:sticky;top:0;z-index:1;padding:18px 24px;background:#fff;border-bottom:1px solid #e9eaef}
#detailBody{padding:20px 24px 24px;min-width:0}
.document-details{display:grid;gap:16px;min-width:0;width:100%}
.detail-card{min-width:0;background:#fff;border:1px solid #edeef2;border-radius:14px;padding:20px;overflow:hidden}
.detail-card h3{margin:0 0 16px;font-size:16px;font-weight:650;color:#1a1d29}
.document-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.detail-field{min-width:0;padding:13px 0;border-bottom:1px solid #f0f1f4}
.detail-field dt{font-size:12px;color:#777e8e;line-height:1.5}
.detail-field dd{margin:6px 0 0;font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
.detail-card>summary{cursor:pointer;font-size:15px;font-weight:600;line-height:1.7;overflow-wrap:anywhere}
.detail-card>summary>span{font-weight:400;color:#7a8095;font-size:12px;margin-left:14px}
.detail-card[open]>summary{margin-bottom:16px}
.detail-prose-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;font-size:14px;border-top:1px solid #edf0f5;padding-top:16px}
.detail-table-wrap{max-width:100%;overflow:auto;border-radius:9px;outline-offset:2px}
.detail-table{white-space:normal;min-width:540px;font-size:13px}
.detail-table th{background:#f2f3f5;color:#272a34;font-weight:600;white-space:nowrap}
.detail-table th,.detail-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #eceef2}
.detail-table td{min-width:80px;max-width:300px;overflow-wrap:anywhere;line-height:1.7;white-space:pre-wrap}
.detail-table td:first-child{min-width:48px;color:#777e8e}
.detail-row-extra{min-width:150px;max-width:420px}.detail-row-extra>summary{cursor:pointer;color:#4f46e5;white-space:nowrap}.detail-row-extra .document-details{margin-top:10px}.detail-row-extra .document-fields{grid-template-columns:1fr}
.detail-identifier{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.detail-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;max-width:100%;user-select:text}.detail-identifier>button{padding:3px 8px;font-size:12px;flex-shrink:0}.detail-full-value{width:100%;min-width:0}.detail-full-value summary{font-size:12px;color:#5b64b2;cursor:pointer}.detail-full-value .detail-code{display:block;margin-top:6px;white-space:pre-wrap}
.detail-empty{margin:0;padding:18px;color:#7a8095;text-align:center}.detail-list{margin:0;padding-left:22px;line-height:1.8;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
#fields>.document-details{grid-column:1/-1}
@media(max-width:600px){#detail{width:96vw;max-height:94dvh}#detail>.dialog-head{padding:14px 16px}#detailBody{padding:12px}.detail-card{padding:15px;border-radius:12px}.document-fields{grid-template-columns:1fr}.detail-card>summary>span{display:block;margin-left:17px}.detail-actions>button,.detail-actions>.button{flex:1 1 auto}}
@media print{#detail{width:100%;max-height:none;overflow:visible;background:white}#detail>.dialog-head{position:static}#detailBody{padding:0}.detail-actions{display:none}.detail-table-wrap{overflow:visible}.detail-table{min-width:0}.detail-card{break-inside:avoid}}

.document-fields>.detail-field-wide{grid-column:1/-1}

#detailBody>.document-details+button{margin-top:20px}#detailBody>button{margin-right:8px;margin-bottom:8px}

.detail-prose>summary>.detail-prose-collapse,.detail-prose[open]>summary>.detail-prose-expand{display:none}.detail-prose[open]>summary>.detail-prose-collapse{display:inline}
/* CF37 onsite signing */
.cf37-signing{background:#fafaff;border:1px solid #e2e0f2;border-radius:12px;padding:20px;margin:18px 0}.cf37-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;line-height:1.7}.cf37-check input{width:18px;height:18px;flex-shrink:0;margin-top:4px}.cf37-record{padding:14px 0;border-top:1px solid #e6e8f0}.cf37-record p{color:#667085;margin:7px 0}.cf37-signing [data-qr]:not(:empty){background:white;padding:16px;margin:16px 0;border-radius:10px;text-align:center}.cf37-signing [data-error],.cf37-settings [data-error]{color:#a33232}.cf37-settings{display:grid;gap:18px}.cf37-settings>label{display:grid;gap:8px}.cf37-settings fieldset{border:1px solid #e2e6ef;border-radius:8px;max-height:260px;overflow:auto}.cf37-settings input[type=text],.cf37-settings input:not([type]){padding:10px;border:1px solid #ccd2df;border-radius:6px}
