/* ============================================================
   AIM HOLDING — GOVERNANCE DOCUMENTS BASE DESIGN SYSTEM
   Prepared by GreenCPA · جرين للمحاسبة والمراجعة والاستشارات
   ============================================================ */

/* === RESET === */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-print-color-adjust:exact;print-color-adjust:exact}

/* === DESIGN TOKENS — OFFICIAL AIM HOLDINGS PALETTE (Brand Guidelines v1.0) ===
   Charcoal #1a1a1a (structure) · Mocha #463f36 (depth) · Tan #998668 (confidence, logo)
   Sand #d4cdbb (balance) · Clam #efe8de (clarity). Muted architectural tones, low contrast. */
:root{
  /* Structural dark = Mocha, deepest = Charcoal. Names kept for system re-skin. */
  --navy:#463f36;      /* Mocha — primary structural dark */
  --navy-2:#544c40;    /* mocha gradient partner (lighter) */
  --navy-3:#1a1a1a;    /* Charcoal — deepest */
  --charcoal:#1a1a1a;
  --mocha:#463f36;

  /* Accent = Tan (the logo color) */
  --gold:#998668;      /* Tan — grounded confidence (brand accent) */
  --gold-2:#ab9a80;    /* lighter tan */
  --gold-light:#d4cdbb;/* Sand */
  --gold-bg:#efe8de;   /* Clam */
  --tan:#998668;
  --sand:#d4cdbb;
  --clam:#efe8de;

  /* Warm neutral scale (architectural, muted) */
  --ink:#2b271f;       /* warm near-charcoal text */
  --slate:#5c5346;     /* warm slate (mocha-tinted) */
  --muted:#8a8272;     /* warm muted (tan-tinted) */
  --hair:#e7e1d5;      /* warm hairline (sand-tinted) */
  --hair-2:#d4cdbb;    /* Sand */
  --surface:#ffffff;
  --tint:#f6f2ea;      /* soft clam */
  --tint-2:#efe8de;    /* Clam */
  --bg-page:#e8e1d5;   /* warm sand page backdrop */

  /* Status — kept muted to respect "avoid excess contrast" */
  --green-ok:#5c6b4a;
  --green-bg:#eef0e4;
  --amber:#8a6a2e;
  --amber-bg:#f3ead6;
  --red:#8f4231;
  --red-bg:#f3e6df;

  /* GreenCPA preparer identity — USE ONLY for tiny preparer marks */
  --gca:#0EE181;
  --gca-dark:#055229;
}

/* === TYPOGRAPHY — OFFICIAL AIM FONTS ===
   Arabic headings: Brando Arabic · Arabic body: Tajawal
   Latin headings/display: Fiona · Latin body: Myriad Pro */
body{
  font-family:'Tajawal','Myriad Pro',system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg-page);
  line-height:1.8;
  font-size:14px;
  direction:rtl;
  -webkit-font-smoothing:antialiased;
}
.lat{font-family:'Myriad Pro','Fiona',sans-serif}   /* Latin body */
.fiona{font-family:'Fiona','Myriad Pro',serif}        /* Latin display/titles */
.num{font-family:'Myriad Pro',sans-serif}

h1,h2,h3,h4,h5,h6{font-family:'Brando Arabic','Tajawal',sans-serif;color:var(--navy);line-height:1.4}

/* === PAGE WRAPPER === */
.doc-wrap{
  max-width:840px;
  margin:0 auto;
  background:var(--surface);
}
@media print{
  body{background:#fff}
  .doc-wrap{max-width:none;margin:0}
}

/* === A4 PAGE SIMULATION (screen) === */
.a4-page{
  background:var(--surface);
  padding:52px 58px 56px;
  position:relative;
  border-bottom:1px solid var(--hair);
}
@media screen{
  .a4-page{
    box-shadow:0 2px 18px rgba(14,42,71,.09);
    margin-bottom:2px;
  }
}
@media print{
  .a4-page{
    padding:16mm 18mm 18mm;
    border:none;
    box-shadow:none;
  }
  /* Content flows continuously — only front-matter pages start on a fresh sheet.
     (Part dividers, cover, and appendix forms handle their own page breaks.) */
  .doc-control-page,.approval-page,.foreword-page,.toc-page{page-break-before:always}
}

/* === TOP NAV (screen only) === */
.topnav{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--navy);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  height:52px;
  box-shadow:0 2px 12px rgba(14,42,71,.28);
}
.topnav .tn-brand{display:flex;align-items:center;gap:10px;font-family:'Myriad Pro',sans-serif;font-size:13px;font-weight:700;letter-spacing:.03em;color:#fff}
.topnav .tn-brand .tn-mark{width:28px;height:28px;background:var(--gold);border-radius:6px;display:grid;place-items:center;font-family:'Myriad Pro',sans-serif;font-weight:800;font-size:11px;color:#fff;letter-spacing:.05em;flex:none}
.topnav .tn-title{font-size:11px;color:rgba(255,255,255,.7);font-family:'Myriad Pro',sans-serif;letter-spacing:.06em;text-transform:uppercase;flex:1;text-align:center;padding:0 18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.topnav .tn-brand{flex:none}
.topnav .tn-actions{display:flex;align-items:center;gap:10px;flex:none}
@media (max-width:900px){.topnav .tn-title{display:none}}
.topnav .tn-btn{
  background:rgba(176,138,62,.25);
  border:1px solid var(--gold);
  color:var(--gold-2);
  font-family:'Myriad Pro',sans-serif;
  font-size:11px;
  font-weight:600;
  padding:6px 16px;
  border-radius:20px;
  cursor:pointer;
  text-decoration:none;
  letter-spacing:.04em;
  transition:background .2s;
}
.topnav .tn-btn:hover{background:rgba(176,138,62,.42)}
@media print{.topnav{display:none!important}}

/* === PRINT PAGE HEADER/FOOTER === */
@media print{
  @page{size:A4;margin:18mm 18mm 22mm 18mm}
  .print-footer{
    position:running(footer);
    font-family:'Myriad Pro',sans-serif;
    font-size:8.5px;
    color:var(--muted);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:8px;
    border-top:1px solid var(--hair);
  }
  @page{
    @bottom-center{content:element(footer)}
  }
}

/* === COVER PAGE === */
.cover-page{
  background:linear-gradient(148deg,var(--navy-3) 0%,var(--navy) 55%,var(--navy-2) 100%);
  color:#fff;
  padding:0;
  min-height:297mm;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
@media print{
  .cover-page{
    page-break-after:always;
    min-height:0;
    height:auto;
    overflow:hidden;
  }
}
.cover-page .cv-spine{position:absolute;top:0;right:0;width:8px;height:100%;background:var(--gold)}
.cover-page .cv-body{padding:72px 72px 60px 60px;flex:1;display:flex;flex-direction:column}
.cover-page .cv-eyebrow{
  font-family:'Myriad Pro',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:44px;
}
.cover-page .cv-aim-mark{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:52px;
}
.cover-page .cv-aim-mono{
  width:72px;height:72px;
  background:rgba(255,255,255,.1);
  border:2px solid var(--gold);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  gap:2px;
}
.cover-page .cv-aim-mono .cv-aim-en{
  font-family:'Myriad Pro',sans-serif;
  font-weight:800;font-size:22px;color:var(--gold-2);letter-spacing:.08em;
}
.cover-page .cv-aim-mono .cv-aim-ar{
  font-family:'Brando Arabic','Tajawal',sans-serif;
  font-weight:700;font-size:10px;color:rgba(255,255,255,.7);letter-spacing:.02em;
}
.cover-page .cv-aim-name{
  font-family:'Brando Arabic','Tajawal',sans-serif;
}
.cover-page .cv-aim-name .cv-aim-name-ar{
  font-weight:800;font-size:26px;color:#fff;display:block;
}
.cover-page .cv-aim-name .cv-aim-name-en{
  font-family:'Myriad Pro',sans-serif;
  font-weight:500;font-size:13px;color:rgba(255,255,255,.55);letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:3px;
}
.cover-page .cv-rule{width:56px;height:3px;background:var(--gold);margin-bottom:32px;border-radius:2px}
.cover-page .cv-code{
  font-family:'Myriad Pro',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.25em;
  background:var(--gold);color:var(--navy-3);
  display:inline-block;padding:5px 16px;border-radius:20px;
  margin-bottom:20px;
}
.cover-page .cv-title-ar{
  font-size:38px;font-weight:800;color:#fff;line-height:1.3;
  margin-bottom:10px;max-width:560px;
}
.cover-page .cv-title-en{
  font-family:'Myriad Pro',sans-serif;
  font-size:15px;font-weight:400;color:rgba(255,255,255,.6);
  letter-spacing:.05em;margin-bottom:40px;
}
.cover-page .cv-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
.cover-page .cv-meta-pill{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:30px;padding:7px 18px;
  font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:600;
  color:rgba(255,255,255,.85);
}
.cover-page .cv-meta-pill b{color:var(--gold-2)}
.cover-page .cv-class{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(176,138,62,.18);border:1px solid var(--gold);
  border-radius:8px;padding:10px 20px;margin-bottom:auto;
}
.cover-page .cv-class-dot{width:8px;height:8px;background:var(--gold);border-radius:50%}
.cover-page .cv-class-text{font-size:13px;font-weight:700;color:var(--gold-2)}
.cover-page .cv-class-text span{font-family:'Myriad Pro',sans-serif;font-size:11px;color:rgba(255,255,255,.5);display:block;font-weight:400;margin-top:2px}
.cover-page .cv-bottom{
  margin-top:auto;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;gap:16px;
}
.cover-page .cv-gca-strip{
  display:flex;align-items:center;gap:10px;
}
.cover-page .cv-gca-mark{
  width:32px;height:32px;
  background:var(--gca);border-radius:6px;
  display:grid;place-items:center;flex:none;
}
.cover-page .cv-gca-text{font-size:11px;color:rgba(255,255,255,.6)}
.cover-page .cv-gca-text b{color:rgba(255,255,255,.9);display:block;font-size:12px}
.cover-page .cv-decor{position:absolute;bottom:-80px;left:-60px;opacity:.04;pointer-events:none}

/* === DOCUMENT CONTROL PAGE === */
.doc-control-page{padding:56px 60px}
.doc-control-page h1{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:6px}
.doc-control-page .dcp-sub{font-family:'Myriad Pro',sans-serif;font-size:11px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:36px}

/* === APPROVAL PAGE === */
.approval-page{padding:56px 60px}
.sig-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:28px}
.sig-card{border:1px solid var(--hair);border-radius:10px;padding:22px 18px}
.sig-card .sig-role{font-family:'Myriad Pro',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.sig-card .sig-name{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px}
.sig-card .sig-title{font-size:12px;color:var(--muted);margin-bottom:20px}
.sig-card .sig-line{height:1px;background:var(--hair-2);margin-bottom:8px}
.sig-card .sig-field{font-family:'Myriad Pro',sans-serif;font-size:9.5px;color:var(--muted);margin-bottom:6px}
.sig-card .sig-field:last-child{margin-bottom:0}

/* === TOC === */
.toc-page{padding:56px 60px}
.toc-title{font-size:22px;font-weight:800;color:var(--navy);margin-bottom:4px}
.toc-title-en{font-family:'Myriad Pro',sans-serif;font-size:11px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px;display:block}
.toc-list{list-style:none}
.toc-list li{display:flex;align-items:baseline;gap:0;border-bottom:1px dashed var(--hair);padding:8px 0}
.toc-list li .toc-num{font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:700;color:var(--gold);width:36px;flex:none}
.toc-list li .toc-text{font-size:14px;font-weight:700;color:var(--navy);flex:1}
.toc-list li .toc-text-en{font-family:'Myriad Pro',sans-serif;font-size:10px;color:var(--muted);display:block;font-weight:400}
.toc-list li .toc-dots{flex:1;border-bottom:2px dotted var(--hair-2);margin:0 8px;position:relative;top:-4px}
.toc-list li .toc-pg{font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:700;color:var(--navy)}
.toc-group{margin-bottom:8px}
.toc-group-label{font-family:'Myriad Pro',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:6px 0 4px;padding-bottom:3px;border-bottom:2px solid var(--gold-light)}
@media print{.toc-group-label{page-break-after:avoid}}

/* === SECTION DIVIDERS === */
.sec-divider{
  background:linear-gradient(150deg,var(--navy-3) 0%,var(--navy) 60%,var(--navy-2) 100%);
  padding:80px 72px 70px;
  position:relative;
  overflow:hidden;
  min-height:220px;
  display:flex;flex-direction:column;justify-content:center;
}
@media print{.sec-divider{page-break-before:always;page-break-after:auto}}
.sec-divider .sd-part{
  font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:16px;
}
.sec-divider .sd-num{
  font-family:'Myriad Pro',sans-serif;font-size:72px;font-weight:800;
  color:rgba(255,255,255,.06);line-height:1;position:absolute;
  left:60px;top:50%;transform:translateY(-50%);
}
.sec-divider .sd-title{font-size:32px;font-weight:800;color:#fff;line-height:1.3;margin-bottom:8px;position:relative;z-index:2}
.sec-divider .sd-sub{font-family:'Myriad Pro',sans-serif;font-size:14px;font-weight:400;color:rgba(255,255,255,.55);letter-spacing:.08em;position:relative;z-index:2}
.sec-divider .sd-rule{width:56px;height:3px;background:var(--gold);margin-bottom:22px;border-radius:2px;position:relative;z-index:2}
.sec-divider .sd-spine{position:absolute;top:0;right:0;width:8px;height:100%;background:var(--gold)}
.sec-divider .sd-diamond{position:absolute;right:80px;top:50%;transform:translateY(-50%) rotate(45deg);width:120px;height:120px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}

/* === SECTION CONTENT PAGES === */
.section-page{padding:52px 60px 56px}
@media print{.section-page{padding:8mm 0 4mm}}
.section-page .sec-eyebrow{
  display:flex;align-items:center;gap:10px;margin-bottom:22px;
}
.section-page .sec-kdot{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);flex:none}
.section-page .sec-code{font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.section-page .sec-num-badge{
  font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:700;
  background:var(--tint-2);color:var(--navy);
  border-radius:5px;padding:3px 10px;
}
h2.sec{
  font-size:24px;font-weight:800;color:var(--navy);
  margin-bottom:6px;line-height:1.3;
  padding-bottom:16px;
  border-bottom:2px solid var(--hair);
  position:relative;
}
h2.sec::after{content:"";position:absolute;bottom:-2px;right:0;width:56px;height:2px;background:var(--gold)}
h2.sec .sec-en{display:block;font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-top:5px}
h3.sub-sec{
  font-size:17px;font-weight:800;color:var(--navy-2);
  margin:28px 0 12px;
  display:flex;align-items:center;gap:10px;
}
h3.sub-sec .ss-dot{width:10px;height:10px;background:var(--gold);transform:rotate(45deg);flex:none}
h3.sub-sec .ss-en{font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
h4.sub-sub{
  font-size:15px;font-weight:800;color:var(--slate);
  margin:20px 0 8px;
}
p{color:var(--ink);line-height:1.9;margin-bottom:12px}
p.lead{font-size:15.5px;color:var(--slate);font-weight:400;line-height:1.85}

/* === LISTS === */
ul.policy-list,ol.policy-list{
  margin:12px 0 16px;
  padding-right:22px;
}
ul.policy-list li,ol.policy-list li{
  color:var(--ink);line-height:1.8;margin-bottom:8px;
  position:relative;
}
ul.policy-list li::marker{color:var(--gold)}
ol.policy-list{counter-reset:plist}
ol.policy-list li{list-style:none;padding-right:22px}
ol.policy-list li::before{
  counter-increment:plist;
  content:counter(plist)".";
  font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:700;
  color:var(--gold);position:absolute;right:0;top:3px;
}

/* === DEFINITION LIST === */
dl.def-list{margin:16px 0}
dl.def-list dt{
  font-weight:800;color:var(--navy);font-size:14px;margin-bottom:3px;margin-top:14px;
  display:flex;align-items:center;gap:8px;
}
dl.def-list dt .dt-tag{
  font-family:'Myriad Pro',sans-serif;font-size:9.5px;font-weight:700;
  background:var(--tint-2);color:var(--navy);
  border-radius:4px;padding:2px 8px;
}
dl.def-list dt .dt-en{
  font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:600;
  color:var(--muted);letter-spacing:.08em;text-transform:uppercase;
}
dl.def-list dd{color:var(--slate);line-height:1.8;font-size:13.5px;padding-right:24px}

/* === TABLES === */
table.gov-table{
  width:100%;border-collapse:collapse;
  margin:16px 0 20px;
  font-size:13.5px;
  border-radius:8px;overflow:hidden;
  box-shadow:0 2px 12px rgba(14,42,71,.07);
}
table.gov-table thead tr{background:var(--navy)}
table.gov-table thead th{
  padding:12px 15px;text-align:right;
  font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;font-size:13px;
  color:#fff;
}
table.gov-table thead th.lat{font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em}
table.gov-table tbody tr:nth-child(even){background:var(--tint)}
table.gov-table tbody td{
  padding:11px 15px;
  border-bottom:1px solid var(--hair);
  color:var(--ink);vertical-align:top;
  line-height:1.6;
}
table.gov-table tbody tr:hover{background:var(--tint-2)}
table.gov-table tfoot td{
  background:var(--tint-2);padding:10px 15px;
  font-size:12px;color:var(--muted);font-style:italic;
}
/* RACI special */
td.raci-r{background:#eef0e4;color:#5c6b4a;font-weight:800;text-align:center}
td.raci-a{background:#FDF3DC;color:#b07a1a;font-weight:800;text-align:center}
td.raci-c{background:var(--tint-2);color:var(--navy);font-weight:700;text-align:center}
td.raci-i{background:var(--tint);color:var(--muted);font-weight:400;text-align:center}

/* === CALLOUT BOXES === */
.callout{
  display:flex;gap:14px;
  border-radius:10px;padding:16px 18px;
  margin:18px 0;
}
.callout .co-ico{
  width:36px;height:36px;flex:none;
  border-radius:8px;display:grid;place-items:center;
}
.callout .co-ico svg{width:20px;height:20px}
.callout .co-body h4{font-size:14px;font-weight:800;margin-bottom:4px}
.callout .co-body p{font-size:13px;line-height:1.7;margin-bottom:0}
.callout.principle{background:var(--gold-bg);border:1px solid var(--gold-light);border-right:4px solid var(--gold)}
.callout.principle .co-ico{background:var(--gold)}
.callout.principle .co-body h4{color:var(--gold)}
.callout.control{background:var(--tint);border:1px solid var(--tint-2);border-right:4px solid var(--navy)}
.callout.control .co-ico{background:var(--navy)}
.callout.control .co-body h4{color:var(--navy)}
.callout.warning{background:var(--amber-bg);border:1px solid #e8d8a0;border-right:4px solid var(--amber)}
.callout.warning .co-ico{background:var(--amber)}
.callout.warning .co-body h4{color:var(--amber)}
.callout.note{background:var(--tint);border:1px solid var(--hair-2);border-right:4px solid var(--hair-2)}
.callout.note .co-ico{background:var(--hair-2)}
.callout.note .co-body h4{color:var(--slate)}

/* === PROCEDURE BLOCKS === */
.proc-block{
  background:var(--surface);border:1px solid var(--hair);
  border-radius:12px;margin:20px 0;overflow:hidden;
}
.proc-block .pb-header{
  background:var(--navy);padding:14px 20px;
  display:flex;align-items:center;gap:12px;
}
.proc-block .pb-num{
  width:32px;height:32px;background:var(--gold);border-radius:8px;
  display:grid;place-items:center;
  font-family:'Myriad Pro',sans-serif;font-size:13px;font-weight:800;color:var(--navy-3);flex:none;
}
.proc-block .pb-title{font-size:16px;font-weight:800;color:#fff}
.proc-block .pb-title-en{font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:500;color:rgba(255,255,255,.55);letter-spacing:.1em}
.proc-block .pb-body{padding:20px}
.proc-field{margin-bottom:18px}
.proc-field .pf-label{
  font-family:'Myriad Pro',sans-serif;font-size:9.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px;
  display:flex;align-items:center;gap:7px;
}
.proc-field .pf-label::after{content:"";flex:1;height:1px;background:var(--hair)}
.proc-field .pf-content{font-size:13.5px;color:var(--ink);line-height:1.8}

/* === KPI CARDS === */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:14px 0}
.kpi-card{
  background:var(--tint);border:1px solid var(--tint-2);
  border-radius:10px;padding:16px 15px;
  border-top:3px solid var(--gold);
}
.kpi-card .kc-label{font-size:12px;font-weight:800;color:var(--navy);margin-bottom:6px;line-height:1.4}
.kpi-card .kc-target{
  font-family:'Myriad Pro',sans-serif;font-size:15px;font-weight:800;
  color:var(--gold);margin-bottom:4px;
}
.kpi-card .kc-note{font-size:11.5px;color:var(--muted);line-height:1.5}

/* === PROCESS STEP LIST === */
ol.steps{list-style:none;padding:0;margin:12px 0}
ol.steps li{
  display:flex;gap:14px;padding:10px 0;
  border-bottom:1px solid var(--hair);
  align-items:flex-start;
}
ol.steps li:last-child{border-bottom:none}
ol.steps li .step-num{
  width:28px;height:28px;background:var(--navy);color:#fff;
  font-family:'Myriad Pro',sans-serif;font-size:12px;font-weight:700;
  border-radius:50%;display:grid;place-items:center;flex:none;
}
ol.steps li .step-txt{font-size:13.5px;color:var(--ink);line-height:1.75}
ol.steps li .step-txt strong{color:var(--navy);font-weight:800}

/* === TIMELINE === */
.timeline{position:relative;padding-right:28px;margin:16px 0}
.timeline::before{content:"";position:absolute;right:10px;top:0;bottom:0;width:2px;background:var(--hair-2)}
.timeline .tl-item{position:relative;padding:0 26px 22px 0;margin-right:0}
.timeline .tl-item::before{
  content:"";position:absolute;right:-8px;top:5px;
  width:14px;height:14px;border-radius:50%;
  background:var(--gold);border:3px solid #fff;box-shadow:0 0 0 2px var(--gold);
}
.timeline .tl-item:last-child::before{background:var(--navy)}
.timeline .tl-month{
  font-family:'Myriad Pro',sans-serif;font-size:9.5px;font-weight:700;
  letter-spacing:.12em;color:var(--gold);margin-bottom:3px;
}
.timeline .tl-title{font-size:14px;font-weight:800;color:var(--navy)}
.timeline .tl-desc{font-size:13px;color:var(--slate);margin-top:3px;line-height:1.65}

/* === AUTHORITY MATRIX SPECIAL === */
table.auth-table thead th:first-child{width:35%}
.auth-yes{color:var(--green-ok);font-weight:800;text-align:center}
.auth-no{color:var(--muted);text-align:center}
.auth-cond{color:var(--amber);font-weight:700;text-align:center}
.auth-limit{font-family:'Myriad Pro',sans-serif;font-size:11px;font-weight:700;color:var(--navy);text-align:center}
.auth-note{font-size:11.5px;color:var(--muted);font-style:italic}

/* === DECISION DIAMOND CALLOUT === */
.decision-block{
  background:var(--gold-bg);border:1px solid var(--gold-light);border-radius:10px;
  padding:14px 18px;margin:12px 0;
  display:flex;gap:14px;align-items:flex-start;
}
.decision-block .db-diamond{
  width:32px;height:32px;background:var(--gold);transform:rotate(45deg);
  flex:none;border-radius:3px;margin-top:2px;
}
.decision-block .db-text{font-size:13.5px;color:var(--navy);line-height:1.7}
.decision-block .db-text strong{font-weight:800}

/* === SECTION SPINE BAR === */
.page-spine{position:absolute;top:0;right:0;width:5px;height:100%;background:linear-gradient(to bottom,var(--gold) 0%,var(--navy) 100%);opacity:.6}

/* === AVOID BREAK (print) === */
@media print{
  .avoid-break{page-break-inside:avoid}
  tr{page-break-inside:avoid}
  h2,h3{page-break-after:avoid}
  .proc-block,.callout,.decision-block,.principle-grid,.kpi-grid,.svg-fig,.timeline{page-break-inside:avoid}
  /* keep list items and paragraphs from splitting across the sheet bottom (avoids footer overlap) */
  ul.policy-list li,ol.policy-list li{page-break-inside:avoid}
  .section-page p{page-break-inside:avoid;orphans:2;widows:2}
  table.gov-table{page-break-inside:auto}
  /* Appendix form templates — each starts on its own sheet */
  .form-page{page-break-before:always}
  .form-page.form-first{page-break-before:auto}
  table.form-table{page-break-inside:auto}
}

/* ============================================================
   OFFICIAL AIM LOGO LOCKUP + CHESSBOARD GRAPHIC DEVICE
   (logo images provided via assets/logo.css CSS vars)
   ============================================================ */
/* Cover: white AIM Holdings logo on dark mocha cover */
.cv-aim-logo{
  width:230px;height:128px;
  background-image:var(--aim-logo-white);
  background-repeat:no-repeat;background-position:right center;background-size:contain;
  margin-bottom:4px;
}
/* Nav mini gold logo */
.topnav .tn-mark.tn-logo{
  width:52px;height:26px;background:transparent;border-radius:0;
  background-image:var(--aim-logo-gold);
  background-repeat:no-repeat;background-position:center;background-size:contain;
}
/* Section-divider + hub can reuse */
.aim-logo-gold{background-image:var(--aim-logo-gold);background-repeat:no-repeat;background-position:center;background-size:contain}
.aim-logo-white{background-image:var(--aim-logo-white);background-repeat:no-repeat;background-position:center;background-size:contain}

/* Chessboard graphic device — subtle brand pattern */
.aim-chess{
  background-image:
    linear-gradient(45deg,var(--sand) 25%,transparent 25%,transparent 75%,var(--sand) 75%),
    linear-gradient(45deg,var(--sand) 25%,transparent 25%,transparent 75%,var(--sand) 75%);
  background-size:24px 24px;background-position:0 0,12px 12px;opacity:.35;
}

/* Cover eyebrow uses Fiona letterspacing for that architectural feel */
.cover-page .cv-eyebrow{font-family:'Myriad Pro',sans-serif}
.cover-page .cv-title-ar{font-family:'Brando Arabic','Tajawal',sans-serif}
.cover-page .cv-title-en{font-family:'Fiona','Myriad Pro',serif;letter-spacing:.14em}
.cover-page .cv-code{font-family:'Myriad Pro',sans-serif}

/* Section divider big number uses Fiona */
.sec-divider .sd-num{font-family:'Fiona','Myriad Pro',serif}
.sec-divider .sd-sub{font-family:'Fiona','Myriad Pro',serif;letter-spacing:.1em}

/* Warm the cover gradient explicitly to Mocha→Charcoal */
.cover-page{background:linear-gradient(150deg,#1a1a1a 0%,#463f36 58%,#544c40 100%)}
.sec-divider{background:linear-gradient(150deg,#1a1a1a 0%,#463f36 62%,#544c40 100%)}
.cover-page .cv-spine,.sec-divider .sd-spine{background:var(--tan)}
.cover-page .cv-rule,.sec-divider .sd-rule{background:var(--tan)}

/* TOC part label + h2 accent already flow from --gold=Tan. Add Fiona to Latin subtitles */
h2.sec .sec-en,h3.sub-sec .ss-en{font-family:'Myriad Pro',sans-serif}

/* GreenCPA preparer mark stays green but smaller/quieter on warm cover */
.cover-page .cv-gca-mark{background:var(--gca)}

/* ============================================================
   APPENDIX FORMS (Part F) — printable blank templates
   ============================================================ */
.form-page{padding:52px 60px 56px}
@media print{.form-page{padding:8mm 0 4mm}}
.form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid var(--tan);padding-bottom:12px;margin-bottom:18px}
.form-head .fh-code{font-family:'Myriad Pro',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.form-head .fh-title{font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;font-size:19px;color:var(--navy);margin-top:2px}
.form-head .fh-title-en{font-family:'Fiona','Myriad Pro',serif;font-size:12px;letter-spacing:.05em;color:var(--muted);margin-top:2px}
.form-head .fh-mark{width:52px;height:30px;background-image:var(--aim-logo-gold);background-repeat:no-repeat;background-position:center;background-size:contain;flex:none;opacity:.9}
.form-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair-2);border-radius:8px;overflow:hidden;margin-bottom:16px}
.form-meta .fm-cell{padding:9px 13px;border-bottom:1px solid var(--hair);border-left:1px solid var(--hair);font-size:12.5px}
.form-meta .fm-cell:nth-child(2n){border-left:none}
.form-meta .fm-lbl{font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;color:var(--slate);font-size:11.5px}
.form-meta .fm-val{color:var(--muted);border-bottom:1px dotted var(--hair-2);min-height:15px;margin-top:3px}
table.form-tbl{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:12.5px}
table.form-tbl thead tr{background:var(--navy)}
table.form-tbl thead th{color:#fff;font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;font-size:12px;padding:9px 11px;text-align:right;border-left:1px solid rgba(255,255,255,.14)}
table.form-tbl tbody td{border:1px solid var(--hair-2);padding:0;height:30px}
table.form-tbl tbody td.filled{background:var(--tint);padding:8px 11px;height:auto;color:var(--slate);font-weight:600}
table.form-tbl tbody tr:nth-child(even) td{background:#fbf9f5}
.form-note{font-size:11px;color:var(--muted);font-style:italic;margin:4px 0 14px}
.form-sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:26px}
.form-sign .fs-box{border-top:1px solid var(--slate);padding-top:7px;font-size:11.5px}
.form-sign .fs-role{font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;color:var(--navy)}
.form-sign .fs-sub{color:var(--muted);font-size:10.5px;margin-top:2px}
.form-sec-lbl{font-family:'Brando Arabic','Tajawal',sans-serif;font-weight:700;color:var(--navy);font-size:13.5px;margin:14px 0 6px;padding-right:12px;border-right:3px solid var(--tan)}

/* ============================================================
   BIDI FIX — isolate Latin runs inside RTL so they don't
   reorder ("Policy Management Financial") or break mid-word
   ("AUTHORIZ ED"). Applies to all Latin subtitle/label classes.
   ============================================================ */
.lat,.sec-en,.ss-en,.fh-title-en,.fh-code,.cv-title-en,.sd-sub,
.toc-text-en,.sec-code,.co-body .en,.fs-sub{
  direction:ltr;
  unicode-bidi:isolate;
  display:inline-block;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
}
/* uppercase Latin with tracking must never break inside a word */
.sec-en,.ss-en{white-space:normal;word-break:keep-all;letter-spacing:.1em}
/* block-level Latin subtitles keep block display but isolated */
.sec-en,.cv-title-en,.sd-sub{display:block}
/* doc-control / any table cell mixing AR+Latin: isolate the Latin tail */
td .lat,.fm-val .lat,.fm-lbl .lat{unicode-bidi:isolate}

/* diagram figure sizing (prevent 0-height SVG collapse in print) */
.svg-fig{text-align:center}
.svg-fig svg{display:block;max-width:640px;height:auto;margin:0 auto}
.svg-fig .exhibit{display:block;font-family:'Myriad Pro',sans-serif;font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;text-align:right}
.svg-fig .fig-cap{margin-top:14px;font-size:12px;color:var(--slate);text-align:center;line-height:1.7}

/* Chrome paged-media SVG collapse fix: force explicit height in print.
   Height kept compact so the titled diagram flows onto the roles page
   instead of orphaning a near-empty page before it. */
@media print{
  .svg-fig svg{height:290px!important;width:auto!important;max-width:100%!important}
}

/* ============================================================
   ROUND-3 polish: kill mid-word breaks on short Latin labels,
   cover confidential legibility, TOC leader refinement.
   ============================================================ */
/* short uppercase Latin labels: never break INSIDE a word; may wrap between words */
.sec-en,.ss-en,.dt-en,.tn-en,.fh-title-en,.cv-title-en{
  direction:ltr;unicode-bidi:isolate;
  word-break:keep-all;overflow-wrap:normal;hyphens:none;white-space:normal;
}
.dt-en{letter-spacing:.05em}
/* cover confidential: +0.5–1pt for legibility */
.cv-class-text span{font-size:12px;letter-spacing:.02em}
/* TOC dotted leaders: finer + shorter feel */
.toc-dots{border-bottom-width:1px;border-bottom-style:dotted;margin:0 10px}
