/* ---------- Financial proposal document (A4) ---------- */
body.print-mode { background: #5B6B70; }
.doc-toolbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 14px; padding: 10px 20px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.doc-toolbar .primary { margin-inline-start: auto; }
.doc { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 24px 0 60px; }
.page { width: 210mm; height: 297mm; position: relative; overflow: hidden; background: #fff; box-shadow: 0 6px 24px rgba(0,0,0,.3);
  font-family: 'IBM Plex Sans Arabic', sans-serif; color: #22333A; direction: rtl; }
.page small { font-size: .78em; font-weight: 400; opacity: .85; }
.page .num { direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }

/* cover */
.cover { background: url('/img/bg-cover.jpg') center / 100% 100% no-repeat; }
.cv-logos { position: absolute; top: 12mm; right: 18mm; left: 18mm; display: flex; justify-content: space-between; align-items: center; }
.cv-prm { height: 19mm; }
.cv-cli { height: 16mm; max-width: 70mm; object-fit: contain; }
.logo-text { font-weight: 600; color: #09475B; font-size: 12pt; display: flex; align-items: center; }
.cv-title { position: absolute; top: 58mm; left: 20mm; right: 20mm; text-align: center; }
.cv-title .t1 { font-size: 36pt; font-weight: 600; color: #09475B; line-height: 1.45; margin-bottom: 2mm; }
.cv-title .t2 { font-size: 10pt; color: #30888B; font-weight: 500; }
.cv-title .t2 span { letter-spacing: 6px; display: inline-block; }
.cv-title .gold-rule { width: 40mm; height: 0; border-top: 1.2mm solid #C6A149; margin: 7mm auto 9mm; border-radius: 2px; }
.cv-title .t3 { font-size: 16pt; font-weight: 500; line-height: 1.75; }
.cv-title .t4 { font-size: 9.5pt; color: #30888B; margin-top: 4mm; }
.cv-title .t5 { font-size: 9.5pt; color: #5E7176; margin-top: 6mm; }
.cv-card { position: absolute; top: 205mm; left: 50%; transform: translateX(-50%); width: 160mm; border-collapse: collapse; font-size: 9.5pt; }
.cv-card th, .cv-card td { padding: 2.6mm 5mm; color: #fff; text-align: right; border-bottom: .3mm solid #2C7C88; }
.cv-card th { width: 58mm; background: #1B6B79; font-weight: 400; font-size: 8.5pt; }
.cv-card td { background: #0B5165; font-weight: 500; }
.cv-card tr.hl th { background: #C6A149; }
.cv-card tr.hl td { background: #30888B; font-weight: 600; }
.cv-co { position: absolute; bottom: 14mm; left: 0; right: 0; text-align: center; color: #fff; font-size: 10.5pt; font-weight: 500; }
.cv-co .en { font-size: 8pt; color: #BFE0E1; letter-spacing: .5px; font-weight: 400; }

/* inner pages */
.inner { background: url('/img/bg-inner.jpg') center / 100% 100% no-repeat; }
.ph { position: absolute; top: 7mm; right: 20mm; left: 20mm; height: 15mm; display: flex; align-items: center; gap: 6mm; border-bottom: .5mm solid #30888B; padding-bottom: 2mm; }
.ph-prm { height: 11mm; }
.ph-t { flex: 1; text-align: center; line-height: 1.35; }
.ph-t b { display: block; font-size: 9.5pt; color: #09475B; font-weight: 600; }
.ph-t span { display: block; font-size: 7.5pt; color: #30888B; }
.ph-cli { height: 10mm; max-width: 52mm; object-fit: contain; }
.ph .logo-text { font-size: 8.5pt; max-width: 52mm; height: auto; }
.pc { position: absolute; top: 28mm; bottom: 20mm; right: 20mm; left: 20mm; overflow: hidden; }
.pf { position: absolute; bottom: 8mm; right: 20mm; left: 20mm; display: flex; justify-content: space-between; font-size: 8.5pt; color: #09475B; font-weight: 500; }

/* blocks */
.h1 { display: flex; align-items: stretch; margin: 4.5mm 0 3mm; height: 10.5mm; }
.h1 .badge { width: 17mm; background: #09475B; color: #fff; display: grid; place-items: center; font-size: 14pt; font-weight: 600; direction: ltr; }
.h1 .tt { flex: 1; background: #EEF6F6; border-bottom: .6mm solid #30888B; display: flex; align-items: center; padding: 0 5mm; font-size: 14pt; font-weight: 600; color: #09475B; gap: 3mm; }
.h1 .tt small { font-size: 9.5pt; color: #30888B; font-weight: 400; }
.h2 { font-size: 11.5pt; font-weight: 600; color: #30888B; margin: 3.5mm 0 1mm; }
.cap { font-size: 9pt; font-weight: 500; color: #30888B; margin: 1mm 0 1.5mm; }
.p { font-size: 10.5pt; line-height: 1.9; text-align: justify; margin-bottom: 2mm; }
.note { font-size: 8.5pt; color: #5E7176; margin: 1.5mm 0; }
.tw { margin-bottom: 2mm; }
table.dt { width: 100%; border-collapse: collapse; font-size: 9.3pt; }
.dt th { background: #09475B; color: #fff; font-weight: 500; padding: 1.6mm 2mm; text-align: center; font-size: 9pt; line-height: 1.35; }
.dt th small { display: block; color: #BFE0E1; font-size: 7pt; }
.dt td { padding: 1.5mm 2.5mm; border-bottom: .25mm solid #D3E4E5; border-left: .25mm solid #E4EEEF; line-height: 1.55; }
.dt td:last-child { border-left: 0; }
.dt tbody tr:nth-child(even) td { background: #F6FAFA; }
.dt td.c { text-align: center; } .dt td.n { text-align: left; direction: ltr; }
.dt td.b { font-weight: 600; } .dt td.mu { color: #5E7176; } .dt td.nv { color: #09475B; } .dt td.tl { color: #30888B; }
.dt th.k-idx { width: 10mm; } .dt th.k-qty { width: 15mm; } .dt th.k-money { width: 28mm; } .dt th.k-ltr { width: 30mm; }
.dt th.k-text:not(.flex) { width: 24mm; }
.dt.cols-7 td, .dt.cols-8 td, .dt.cols-9 td { font-size: 8.4pt; padding: 1.3mm 1.6mm; }
.dt.cols-8 th.k-money, .dt.cols-9 th.k-money { width: 19.5mm; }
.dt.cols-8 th.k-text:not(.flex), .dt.cols-9 th.k-text:not(.flex) { width: 15mm; }
.dt.cols-8 th.k-qty, .dt.cols-9 th.k-qty { width: 11mm; } .dt.cols-8 th.k-idx, .dt.cols-9 th.k-idx { width: 8mm; }
.dt.cols-8 th, .dt.cols-9 th { font-size: 8pt; padding: 1.3mm 1mm; }
.dt td.sm { font-size: 7.8pt; color: #5E7176; } .dt td.lt { direction: ltr; text-align: left; }
.dt tr.grp td { background: #EEF6F6 !important; color: #30888B; font-weight: 600; }
.dt tr.disc td { color: #B42318; font-weight: 600; }
.lst { margin: 1mm 6mm 3mm 0; padding: 0 5mm 0 0; font-size: 10pt; line-height: 1.85; }
.lst li { margin-bottom: 1mm; } .lst li::marker { color: #30888B; font-weight: 600; }
.dt tr.sub td { background: #E2EFF0 !important; font-weight: 600; color: #09475B; }
.dt tr.tot td { background: #09475B !important; color: #fff; font-weight: 600; border-left-color: #09475B; }
.dt tr.tot td small, .dt tr.sub td small { color: inherit; }
.dt.sum td { padding: 2.3mm 4mm; font-size: 10pt; }
.dt.sum td.n { width: 45mm; font-size: 10.5pt; font-weight: 600; }
.cards { display: flex; gap: 4mm; margin: 4mm 0; }
.kc { flex: 1; background: #EEF6F6; border-top: 1mm solid #30888B; padding: 3mm; text-align: center; }
.kc.g { border-top-color: #C6A149; }
.kc .v { font-size: 17pt; font-weight: 600; color: #09475B; line-height: 1.5; }
.kc .l { font-size: 10pt; color: #30888B; font-weight: 500; }
.kc .e { font-size: 7.5pt; color: #5E7176; }
.kc.hi { background: #09475B; border-top-color: #C6A149; }
.kc.hi .v, .kc.hi .l { color: #fff; } .kc.hi .e { color: #BFE0E1; }
.callout { background: #FBF6EA; border-right: 1.4mm solid #C6A149; padding: 3.5mm 5mm; margin: 3mm 0; }
.callout .ct { font-weight: 600; color: #09475B; font-size: 10pt; }
.callout .cn { font-weight: 600; color: #09475B; font-size: 10pt; margin: 1mm 0; }
.callout .cw { font-size: 10.5pt; line-height: 1.8; }
table.ct-t { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
.ct-t th { width: 62mm; background: #1B6B79; color: #fff; text-align: right; padding: 1.8mm 4mm; font-weight: 500; border-bottom: .4mm solid #fff; line-height: 1.35; }
.ct-t th small { display: block; color: #BFE0E1; font-size: 7.5pt; font-weight: 400; }
.ct-t td { background: #EEF6F6; color: #09475B; font-weight: 600; padding: 1.8mm 4mm; border-bottom: .4mm solid #fff; }

@page { size: A4; margin: 0; }
@media print {
  body.print-mode { background: #fff; }
  .doc-toolbar { display: none !important; }
  .doc { padding: 0; gap: 0; display: block; }
  .page { box-shadow: none; break-after: page; page-break-after: always; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .page:last-child { break-after: auto; page-break-after: auto; }
}

@media print { body.print-mode .alert { display: none !important; } }
