.contract-budget-editor{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper);margin:24px 0;color:var(--ink)}
.contract-budget-editor h3,.contract-budget-detail h4{margin:0 0 12px}.contract-budget-editor p,.contract-budget-detail p{font-size:14px;line-height:1.6;color:var(--muted)}
.contract-budget-editor .field{margin:18px 0}.contract-budget-editor input:not([type=checkbox]),.contract-budget-editor select,.contract-budget-editor textarea{width:100%;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit}
.contract-check{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;margin:20px 0}.contract-check input{width:18px;height:18px;flex:none}
.contract-budget-editor details{padding:16px 0;border-block:1px solid var(--line)}.contract-budget-editor summary,.contract-budget-detail summary{cursor:pointer;font-size:15px;font-weight:600;padding:8px 0}
.contract-schedule-scroll{overflow:auto;max-height:440px;border:1px solid var(--line);border-radius:12px;margin:20px 0}.contract-schedule{width:100%;font-size:14px}.contract-schedule th,.contract-schedule td{padding:12px 16px;white-space:nowrap}.contract-schedule tbody th{background:var(--paper);color:var(--ink);text-transform:none;letter-spacing:0;font-weight:600}.contract-schedule thead{position:sticky;top:0;background:var(--paper)}
.contract-custom-fields{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.contract-custom-row{display:grid;grid-template-columns:1fr 130px 1fr auto;gap:16px;align-items:center}.contract-custom-row .field{min-width:0}
.contract-warning,.invoice-allocation-error{color:var(--red);font-size:14px;line-height:1.5}.invoice-allocation-error{grid-column:1/-1;margin:0;padding:12px;border:1px solid currentColor;border-radius:8px}.invoice-allocation-error:empty{display:none}.portal-intake-line:has(.invoice-allocation-error:not(:empty)){border-color:var(--red)}
.contract-budget-detail{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.contract-summary{display:flex;flex-wrap:wrap;gap:16px;font-size:15px}
.contract-schedule tbody :is(th,td){font-size:14px;line-height:1.5}.contract-schedule thead th{font-size:12px;line-height:1.5}
.unified-project-sync{margin-bottom:24px}.unified-project-sync .clickup-sync-policy{margin-bottom:12px}
.contract-budget-editor .contract-warning{color:var(--red)}
.contract-opening{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.contract-opening h4{font-size:17px;margin:0 0 12px}
.contract-opening [data-opening-summary]{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);font-variant-numeric:tabular-nums}
.contract-budget-editor [hidden]{display:none!important}
.vendor-portal-invoice-form .portal-intake-line{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(90px,.6fr);gap:16px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
.vendor-portal-invoice-form .portal-intake-line label{font-size:14px;line-height:1.5;gap:8px}
.vendor-portal-invoice-form .portal-intake-line label:nth-child(4){grid-column:1/-1}
.vendor-portal-invoice-form .portal-intake-line :is(input,select){min-height:44px;font-size:15px;padding:10px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.invoice-reservation-preview{grid-column:1/-1;margin:0;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:14px;line-height:1.6}
.modal-open #portal-timer{visibility:hidden}
#vendor-bill-review .vendor-intake-line{grid-template-columns:minmax(220px,2fr) minmax(180px,2fr) repeat(3,minmax(85px,.65fr)) 44px;gap:16px;align-items:start;padding:24px 0;border-color:var(--line)}
#vendor-bill-review .vendor-intake-line label{font-size:14px;line-height:1.5;color:var(--ink);gap:8px}
#vendor-bill-review .vendor-intake-line small{font-size:13px;line-height:1.5;color:var(--muted);display:block;margin-top:8px}
#vendor-bill-review .vendor-intake-line :is(input,select){font-size:15px;line-height:1.5;min-height:44px;padding:10px 12px;color:var(--ink);background:var(--paper);border:1px solid var(--line)}
#vendor-bill-review .invoice-comparison{grid-column:1/-1;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
.invoice-comparison-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.invoice-comparison-heading strong{font-size:16px;line-height:1.5}
.invoice-comparison p{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.invoice-comparison.over{border-color:var(--red)!important}.invoice-comparison.over .invoice-comparison-heading strong{color:var(--red)}
.invoice-comparison:is(.missing,.review) .invoice-comparison-heading strong{color:var(--ink);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}
.invoice-comparison-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:20px 0;padding-block:16px;border-block:1px solid var(--line)}
.invoice-comparison-grid dt{font-size:13px;line-height:1.5;color:var(--muted)}.invoice-comparison-grid dd{font-size:20px;line-height:1.4;font-weight:650;margin:8px 0 0;font-variant-numeric:tabular-nums}
.invoice-comparison .invoice-comparison-message{color:var(--ink)}
@media(max-width:1000px){#vendor-bill-review .vendor-intake-line{grid-template-columns:repeat(3,minmax(0,1fr))}#vendor-bill-review .vendor-intake-line>label:nth-child(-n+2){grid-column:1/-1}.invoice-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.invoice-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.invoice-comparison-heading{flex-direction:column}#vendor-bill-review .vendor-intake-line{gap:12px}#vendor-bill-review .invoice-comparison{padding:16px}}
@media(max-width:700px){.vendor-portal-invoice-form .portal-intake-line{grid-template-columns:minmax(0,1fr)}.vendor-portal-invoice-form .portal-intake-line label{grid-column:1/-1}}
@media(max-width:700px){.contract-budget-editor{padding:18px}.contract-custom-row{grid-template-columns:1fr}.contract-custom-row .field{margin:6px 0}.contract-custom-row{padding:16px 0;border-bottom:1px solid var(--line)}}
