/* The approved Emerald document. Kept separate from the workflow interface. */
.contract-paper {
  --ink:#243b31; --accent:#236349; --muted:#53685d;
  --line:#cbdccf; --pale:#edf4ef;
  box-sizing:border-box; display:flex; flex-direction:column;
  width:794px; max-width:none; min-height:1123px; margin:0 auto;
  padding:16px 28px 16px; border:0; border-top:5px solid var(--accent);
  background:#fff; color:var(--ink); text-align:start;
  font:11.5px/1.45 Arial,Tahoma,sans-serif; overflow-wrap:anywhere;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.contract-paper *,.contract-paper *::before,.contract-paper *::after {box-sizing:border-box}
.contract-paper * {min-width:0}
.contract-paper>*,.contract-paper img {flex-shrink:0}
.contract-paper h1,.contract-paper h2,.contract-paper h3,.contract-paper p,
.contract-paper ul,.contract-paper dl,.contract-paper dd {margin:0}
.contract-paper h1 {font-size:28px;font-weight:700;line-height:1.2;color:var(--accent)}
.contract-paper h2,.contract-paper h3 {font-size:14px;line-height:1.3;font-weight:700;color:var(--accent);margin-bottom:5px}
.contract-paper bdi {unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.contract-paper[lang=ar] {font-family:Tahoma,Arial,sans-serif;font-size:11.5px;line-height:1.5}
.contract-paper[lang=ar] h1 {font-size:31px}
.contract-paper .design-header,.contract-paper[lang=ar] .design-header {display:block;width:100%;padding:0;border:0;min-height:0}
.contract-paper .design-original-letterhead {display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.contract-paper .design-contract-title {max-width:none;text-align:center;background:var(--accent);color:#fff;padding:7px 16px;margin-top:4px}
.contract-paper .design-contract-title h1 {font-size:24px;color:#fff;line-height:1.15;letter-spacing:-.015em}
.contract-paper[lang=ar] .design-contract-title h1 {font-size:25px;letter-spacing:0}
.contract-paper .design-contract-title>bdi {display:block;font-size:11px;color:#fff;margin-top:2px;font-weight:500}
.contract-paper .design-top {display:grid;grid-template-columns:1.35fr 1fr;gap:20px;background:var(--pale);margin:8px 0 0;padding:8px 12px;border:0}
.contract-paper .design-customer h2 {font-size:11px;margin-bottom:2px}
.contract-paper .design-customer>strong {font-size:14px;line-height:1.35}
.contract-paper .design-customer>div {display:flex;flex-wrap:wrap;gap:2px 12px;font-size:10px;margin-top:3px;color:var(--muted)}
.contract-paper .design-customer>div:empty {display:none}
.contract-paper .design-meta {display:flex;align-items:center;justify-content:end;gap:20px}
.contract-paper .design-meta span {display:block;color:var(--muted);font-size:10px;margin-bottom:2px}
.contract-paper .design-meta strong {font-size:11px;font-weight:600}
.contract-paper .design-narrative {margin:10px 0 12px}
.contract-paper .design-narrative p {font-size:11.5px;line-height:1.45}
.contract-paper .design-narrative p+p {margin-top:4px}
.contract-paper[lang=ar] .design-narrative p {font-size:11.5px;line-height:1.5}
.contract-paper .design-project-body {display:block;padding:0;border:0}
.contract-paper .design-narrative>h2,.contract-paper .design-components>h2,.contract-paper .design-banks>h2,.contract-paper .design-term>h3 {padding:3px 8px;background:var(--pale);margin-bottom:5px}
.contract-paper .design-term-payment>h3 {background:#e7f1f8;color:#245272}
.contract-paper .design-term-scope>h3 {background:#faf0d9;color:#79591f}
.contract-paper>.design-components {margin:0 0 12px;padding-top:0}
.contract-paper .design-component-list {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.contract-paper .design-components li {display:flex;align-items:baseline;gap:6px;font-size:11.5px;line-height:1.45;border-bottom:1px solid var(--line);padding:3px 0;break-inside:avoid;list-style:none}
.contract-paper .design-component-text {flex:1;min-width:0}
.contract-paper .design-capacity {display:flex;justify-content:space-between;gap:10px;margin-top:5px;font-size:11px;color:var(--muted)}
.contract-paper .design-capacity strong {color:var(--ink)}
.contract-paper .design-finance {background:var(--accent);color:#fff;padding:8px 12px}
.contract-paper .design-finance h2 {font-size:14px;color:#fff;margin-bottom:5px}
.contract-paper .design-finance dl {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;align-items:end}
.contract-paper .design-finance dl>div {display:block;font-size:11px;padding:0}
.contract-paper .design-finance dd {font-weight:600;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.contract-paper .design-finance dd {font-size:16px;margin-top:2px}
.contract-paper .design-finance .design-total {display:block;margin:0;padding:0;padding-inline-start:16px;border:0;border-inline-start:1px solid #7ca58d}
.contract-paper .design-total dt {font-size:10.5px}
.contract-paper .design-total dd {font-size:20px;letter-spacing:-.02em;line-height:1.3;color:#fff}
.contract-paper .design-line-prices {font-size:10px;border-bottom:1px solid #7ca58d;padding-bottom:8px;margin-bottom:8px}
.contract-paper .design-line-prices>div {display:flex;justify-content:space-between;gap:8px;padding:5px 0}
.contract-paper .design-line-prices>div>span {flex:1}
.contract-paper .design-line-prices>div>bdi {max-width:45%;text-align:end;overflow-wrap:anywhere}
.contract-paper .design-terms {margin:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.contract-paper[lang=ar] .design-terms {margin:12px 0}
.contract-paper .design-term {border:0;padding:0}
.contract-paper .design-term:last-child {grid-column:1/-1}
.contract-paper .design-term ul {padding:0;list-style:none}
.contract-paper .design-term li {display:flex;align-items:baseline;gap:6px;font-size:11.5px;line-height:1.45;padding:0;margin:2px 0;list-style:none}
.contract-paper .design-bullet {flex:0 0 8px;font-size:13px;line-height:1;font-weight:700;color:var(--accent);text-align:center}
.contract-paper .design-clause-text {flex:1;min-width:0}
.contract-paper[lang=ar] .design-term li {line-height:1.5}
.contract-paper .design-payment-list li {margin:2px 0}
.contract-paper .design-payment-list li::marker {color:var(--accent)}
.contract-paper .design-banks {border:0;padding-top:0}
.contract-paper .design-banks>div {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contract-paper .design-bank {padding:8px 10px;background:var(--pale);border:1px solid var(--line);font-size:11.5px;line-height:1.45;min-width:0}
.contract-paper .design-bank>.design-bank-name {display:block;color:var(--accent);font-size:14px;line-height:1.3;margin:0 0 5px;font-weight:700}
.contract-paper .design-bank dl {display:grid;gap:2px}
.contract-paper .design-bank-detail {display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px;align-items:baseline}
.contract-paper .design-bank dt {font-size:10.5px;color:var(--muted)}
.contract-paper .design-bank dd {font-size:11.5px;font-weight:600;min-width:0;font-variant-numeric:tabular-nums}
.contract-paper .design-bank bdi {display:block;font-size:11.5px;text-align:start;white-space:normal;overflow-wrap:anywhere}
.contract-paper .design-signoff {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:6px 0 4px}
.contract-paper .design-signoff span {display:block;color:var(--muted);font-size:10px}
.contract-paper .design-signoff strong {font-size:12px}
.contract-paper .design-signoff p {margin-top:2px;font-size:10px;color:var(--muted)}
.contract-paper .design-signoff img {display:block;width:50px;height:50px;object-fit:contain;mix-blend-mode:multiply}
.contract-paper .design-footer {margin-top:auto;padding-top:5px;border-top:2px solid var(--accent);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;line-height:1.5}
.contract-paper .design-footer>* {max-width:65%;overflow-wrap:anywhere}
/* A very tall side-by-side block must not force opposing text lines across a page cut. */
.contract-paper .pdf-flow-linear {grid-template-columns:minmax(0,1fr)!important}
.contract-paper .design-top.pdf-flow-linear .design-meta {justify-content:start;flex-wrap:wrap}
.contract-paper .design-meta {flex-wrap:wrap}
@page {size:A4;margin:4mm}
@media print {
  .contract-paper {max-width:none;box-shadow:none;margin:0}
  .contract-paper [data-pdf-keep],.contract-paper .design-bank,.contract-paper .design-signoff,.contract-paper li {break-inside:avoid;page-break-inside:avoid}
  .contract-paper h2,.contract-paper h3 {break-after:avoid;page-break-after:avoid}
}
