/* FIDIC programme of V.E.C. — digital host: Khallianak. Design: «the contracts shelf» (Oct 31 2026, v2).
   V.E.C. red + ink on a cool drafting-paper ground with a faint blueprint grid; the FIDIC book colours (red, yellow,
   silver, white, gold) appear only where they mean a book. Type: Readex Pro (display; owner's choice Oct 31 2026) + IBM Plex Sans Arabic. */
:root{
  --ink:#16181C;--ink2:#2B3036;--steel:#5B6670;--line:#D9DEE2;--paper:#F3F5F6;--sheet:#FFFFFF;
  --vec:#911A1D;--vec2:#B3282D;--vecdeep:#6E1215;
  --b-red:#B3282D;--b-yellow:#E2B13C;--b-silver:#AEB6BD;--b-white:#FBFBF8;--b-gold:#C69C3F;
  --ok:#1C6B45;--okbg:#E6F3EC;--warn:#7A5300;--warnbg:#FFF3D6;--bad:#9C1B1F;--badbg:#FCEBEC;
  --r:10px;--disp:"Readex Pro","IBM Plex Sans Arabic",Tahoma,sans-serif;--body:"IBM Plex Sans Arabic","IBM Plex Sans",Tahoma,Arial,sans-serif
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;color:var(--ink);font:16.5px/1.8 var(--body);background:var(--paper);
  background-image:linear-gradient(rgba(22,24,28,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(22,24,28,.035) 1px,transparent 1px);background-size:28px 28px}
html[lang=en] body{font-family:"IBM Plex Sans",Arial,sans-serif;line-height:1.65}
html[lang=ar] .l-en,html[lang=en] .l-ar{display:none!important}
a{color:var(--vec)}
:focus-visible{outline:3px solid var(--b-yellow);outline-offset:2px}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}

/* header (built by fidic.js) */
header.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20;border-bottom:3px solid var(--vec)}
header.top .wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap;padding-block:6px}
header.top img{height:42px;width:auto}
header.top .co{font-weight:600;font-size:14px;line-height:1.35}
header.top .co small{display:block;font-weight:400;color:#c9ced4;font-size:12px}
header.top nav{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.lang{background:transparent;color:#fff;border:1px solid #ffffff55;border-radius:6px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.lang:hover{background:#ffffff14}
.navcta{background:var(--vec);color:#fff;text-decoration:none;border-radius:6px;padding:6px 14px;font-size:14px;font-weight:600}
.navcta:hover{background:var(--vec2)}

/* buttons, cards, forms (shared by every page) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--vec);color:#fff;border:0;border-radius:8px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;min-height:48px}
.btn:hover{background:var(--vec2)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
.btn.light{background:#fff;color:var(--ink)}
.card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.lead{color:var(--steel);margin:6px 0 18px;max-width:68ch}
.note{font-size:14px;color:var(--steel)}
.tag{display:inline-block;border-radius:5px;padding:1px 9px;font-size:13px;background:#EEF1F3;color:var(--ink2)}
.tag.open{background:var(--okbg);color:var(--ok)}
.tag.wait{background:var(--warnbg);color:var(--warn)}
.msg{border-radius:8px;padding:10px 12px;margin:10px 0}
.msg.err{background:var(--badbg);color:var(--bad)}
.msg.ok{background:var(--okbg);color:var(--ok)}
.msg.info{background:#EAF0F6;color:#24364F}
.msg:empty{display:none}
.fld{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-weight:600;font-size:15px}
.fld small{font-weight:400;color:var(--steel)}
.fld input{font:inherit;font-weight:400;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;min-height:48px;width:100%}
.fld input:focus{border-color:var(--vec);outline:none;box-shadow:0 0 0 3px #911a1d22}
.agree{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:15px}
.agree input{width:18px;height:18px;margin-top:5px;accent-color:var(--vec);flex:none}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none}
form .pick{display:grid;gap:8px}
form .pick label{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;background:#fff}
form .pick label.on{border-color:var(--vec);background:#FBF3F3}
form .pick input{margin-top:6px;accent-color:var(--vec);width:18px;height:18px;flex:none}
form .pick .x{display:flex;flex-direction:column}
form .pick .x small{color:var(--steel)}
.rows{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:12px 0;background:#fff}
.rows .r{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line);flex-wrap:wrap}
.rows .r:first-child{border-top:0}
.rows .r span{color:var(--steel)}
.total{font-size:21px;font-weight:700;color:var(--ink)}
.pay-opts{display:grid;gap:10px;margin-top:12px}
.ipa{border:1.5px dashed var(--line);border-radius:8px;padding:12px}
.ipa img{width:150px;height:150px;display:block;margin:8px 0}
.skeleton{height:120px;border-radius:var(--r);background:linear-gradient(90deg,#e7ebee,#f2f4f6,#e7ebee);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
.guar{margin-top:14px;background:var(--okbg);border-inline-start:4px solid var(--ok);border-radius:6px;padding:12px 14px;color:#174d33}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps li{counter-increment:s;position:relative;padding-inline-start:44px;min-height:34px}
.steps li::before{content:counter(s);position:absolute;inset-inline-start:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:8px}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.legal h3{color:var(--ink);margin:22px 0 6px;font-size:18px}
.legal table{border-collapse:collapse;width:100%;margin:8px 0;background:#fff}
.legal td,.legal th{border:1px solid var(--line);padding:8px 10px;text-align:start}
.legal th{background:#EEF1F3}

/* footer */
footer.foot{background:var(--ink);color:#C9CED4;padding:28px 0 32px;margin-top:40px;font-size:14px;line-height:1.95}
footer.foot a{color:#F2C6C7}
footer.foot .host{margin-top:22px;padding-top:12px;border-top:1px solid #ffffff22;font-size:12.5px;text-align:center}footer.foot .host a{color:#AEB4BA;text-decoration:none}
@media(max-width:560px){header.top img{height:36px}header.top .co{font-size:12.5px}.navcta{display:none}}

/* CV gift for FIDIC students (Khallianak CV colours: navy + gold) */
.cvgift{margin:16px 0;border:1.5px dashed #1B2559;border-radius:10px;background:#F4F6FB;padding:14px 16px;text-align:start;color:#1d2433}
.cvgift b{color:#1B2559}.cvgift p{margin:6px 0}.cvgift code{font-size:16px;letter-spacing:.06em;background:#fff;border:1px solid #c9d0e2;border-radius:6px;padding:1px 8px}
.cvgift .cvbtns{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.cvgift .btn{background:#1B2559;min-height:40px;padding:8px 14px}.cvgift .btn.ghost{background:transparent;color:#1B2559;border:1.5px solid #1B2559}
.cvgift small{color:#5B6670}
.cvteaser{margin:10px 0 0;font-size:14.5px;color:#1B2559;background:#F4F6FB;border-radius:8px;padding:8px 12px}
